Sap-skills sap-hana-cli

install
source · Clone the upstream repo
git clone https://github.com/secondsky/sap-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/secondsky/sap-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/plugins/sap-hana-cli/skills/sap-hana-cli" ~/.claude/skills/secondsky-sap-skills-sap-hana-cli && rm -rf "$T"
manifest: plugins/sap-hana-cli/skills/sap-hana-cli/SKILL.md
source content

SAP HANA Developer CLI (hana-cli)

Related Skills

  • sap-cap-capire: Use for CAP database development, HDI container management, and CDS syntax comparison
  • sap-btp-cloud-platform: Use for HANA Cloud operations, BTP integration, and cloud instance management
  • sap-abap-cds: Use for comparing CDS syntax between CAP and ABAP or understanding HANA CDS features
  • sap-datasphere: Use when working with SAP Datasphere integration or data warehousing scenarios

A developer-centric command-line interface for SAP HANA database development, particularly useful in non-SAP tooling environments like VS Code.

Repository: https://github.com/SAP-samples/hana-developer-cli-tool-example npm Package: https://www.npmjs.com/package/hana-cli Current Version: 3.202405.1 (April 2024) Node.js Requirement: ≥20.19.0


Table of Contents

Quick Start

Installation

# Install globally via npm (recommended)
npm install -g hana-cli

# Verify installation
hana-cli version

First Connection

# Interactive connection setup
hana-cli connect

# Or specify connection directly
hana-cli connect -n "hostname:port" -u DBUSER -p PASSWORD --save

# Using service key (HANA Cloud)
hana-cli connectViaServiceKey

MCP Integration (AI-Driven Database Operations)

Overview

The hana-mcp-server integration enables natural language database operations through Claude's Model Context Protocol. Use conversational queries alongside traditional CLI commands for a complete development workflow.

Setup

1. Environment Variables

Required configuration (add to ~/.zshrc, ~/.bashrc, or project .env):

export HANA_HOST="your-hana-host.hanacloud.ondemand.com"
export HANA_PORT="443"
export HANA_USER="DBADMIN"
export HANA_PASSWORD="your-password"
export HANA_ENCRYPT="true"  # Optional, defaults to true
export HANA_DATABASE=""     # Optional, for MDC tenant
export HANA_CONNECTION_TYPE="single-container"  # Optional

2. Connection Types

  • single-container (default): Standard HANA databases
  • mdc-system: Multi-tenant system database
  • mdc-tenant: Specific tenant in multi-tenant environment

When to Use: CLI vs MCP

ScenarioRecommended ToolWhy
Exploratory queries, ad-hoc analysisMCPNatural language, no syntax needed
Automation scripts, CI/CD pipelinesCLIScriptable, consistent output
Learning database structureMCPConversational discovery
Generating CDS/EDMX/OpenAPI outputCLISupports 17+ formats
Complex multi-step workflowsCLIFine-grained control
Quick data sampling and inspectionMCPFaster for one-off queries

Example Natural Language Queries

Schema & Table Discovery

  • "Show me all schemas in this HANA database"
  • "List all tables in the SYSTEM schema"
  • "What tables exist in the MY_APP schema?"
  • "Show me all views in the PUBLIC schema"

Table Structure & Metadata

  • "Describe the structure of the USERS table"
  • "What columns does the ORDERS table have?"
  • "Show me the data types for MY_TABLE"
  • "What is the primary key of the CUSTOMERS table?"

Data Sampling & Inspection

  • "Sample 5 rows from the PRODUCTS table"
  • "Show me the first 10 records from SALES_DATA"
  • "Get sample data from ORDER_ITEMS table"
  • "Display a few rows from MY_TABLE"

Query Execution

  • "How many rows are in the CUSTOMERS table?"
  • "Show me distinct values in the STATUS column of ORDERS"
  • "What is the maximum value in the PRICE column of PRODUCTS?"
  • "Find all records in USERS where country is 'USA'"

System Performance & Monitoring

  • "Check the HANA database status"
  • "Show me system performance metrics"
  • "What is the current database version?"

MCP Tools Available

The hana-mcp-server provides these MCP tools:

  • list_schemas
    : Enumerate all schemas
  • list_tables
    : Show tables in a schema
  • describe_table
    : Get table structure and metadata
  • query
    : Execute SQL queries from natural language
  • sample_data
    : Retrieve sample rows
  • system_info
    : Database status and performance

Example: MCP + CLI Workflow

# 1. Use MCP to explore (natural language)
"Show me all tables in the PRODUCTS schema"

# 2. Use MCP to understand structure
"Describe the PRODUCTS.INVENTORY table"

# 3. Use CLI for format conversion (precise output)
hana-cli inspectTable -t INVENTORY -s PRODUCTS -o cds

# 4. Use CLI for HDI operations
hana-cli createContainer -c MY_CONTAINER

Core Command Categories

Database Object Inspection

CommandAliasesPurpose
inspectTable
it
,
table
Inspect table structure
inspectView
-Inspect view definition
inspectProcedure
-Inspect stored procedure
inspectFunction
-Inspect function definition
tables
-List all tables in schema
views
-List all views in schema
procedures
-List stored procedures
functions
-List functions

Query Execution

CommandAliasesPurpose
querySimple
qs
Execute SQL query
callProcedure
cp
Execute stored procedure
hdbsql
-Direct SQL execution

HDI Container Management

CommandAliasesPurpose
containers
cont
List HDI containers
createContainer
-Create new container
dropContainer
-Remove container
activateHDI
-Enable HDI service
adminHDI
-Administer HDI privileges

Cloud & BTP Operations

CommandAliasesPurpose
hanaCloudInstances
-List HANA Cloud instances
hanaCloudStart
-Start cloud instance
hanaCloudStop
-Stop cloud instance
btp
-Configure BTP CLI
btpInfo
-Display BTP target info

Output Formats

The

--output
/
-o
option supports 17+ formats:

FormatUse Case
tbl
Human-readable table (default)
json
JSON data
yaml
YAML format
csv
CSV export
excel
Excel file
cds
CAP CDS definitions
hdbcds
HANA CDS format
hdbtable
HDB Table definitions
sql
SQL DDL statements
edmx
OData EDMX metadata
openapi
OpenAPI/Swagger spec
graphql
GraphQL schema

Connection Configuration

Connection credentials are searched in priority order:

  1. default-env-admin.json
    (with
    --admin
    flag)
  2. .cdsrc-private.json
    (via
    cds bind
    )
  3. .env
    file with VCAP_SERVICES
  4. File specified via
    --conn
    parameter
  5. default-env.json
    in current/parent directories
  6. ~/.hana-cli/default.json

For connection templates, see

templates/default-env.json
.


Common Workflows

Inspect and Convert Table to CDS

# Inspect table structure
hana-cli inspectTable -s MYSCHEMA -t MYTABLE

# Convert to CDS format
hana-cli inspectTable -s MYSCHEMA -t MYTABLE -o cds

Mass Convert Schema Objects

# Convert all objects in schema to CDS
hana-cli massConvert -s MYSCHEMA

Execute Query with Export

# Run query and export to JSON
hana-cli querySimple -q "SELECT * FROM MYTABLE" -o json

# Export to Excel file
hana-cli querySimple -q "SELECT * FROM MYTABLE" -o excel -f ./output -n report

Manage HDI Containers

# List all containers
hana-cli containers

# Create new container
hana-cli createContainer -c MY_CONTAINER -g MY_GROUP

# Create container users
hana-cli createContainerUsers -c MY_CONTAINER

UI Commands

Many commands have browser-based UI alternatives (suffix

UI
):

  • tablesUI
    - Browse tables visually
  • containersUI
    - Manage containers in browser
  • massConvertUI
    - Visual mass conversion
  • querySimpleUI
    - Query builder interface
  • systemInfoUI
    - System dashboard

Key Features

  • Multi-database support: HANA, PostgreSQL, SQLite backends
  • Format conversion: 17+ output formats including CDS, EDMX, OpenAPI
  • HDI management: Full container lifecycle management
  • Cloud integration: SAP BTP CLI and HANA Cloud support
  • Interactive prompts: Missing parameters prompted automatically
  • Service key auth: Secure cloud authentication

Detailed References

For comprehensive documentation:

  • All 91 Commands: See
    references/command-reference.md
  • Connection & Security: See
    references/connection-security.md
  • HDI Management: See
    references/hdi-management.md
  • Output Formats: See
    references/output-formats.md
  • Cloud Operations: See
    references/cloud-operations.md
  • Database Inspection: See
    references/db-inspection.md
  • Mass Operations: See
    references/mass-operations.md
  • System Administration: See
    references/system-admin.md
  • Web UI Interface: See
    references/web-ui.md
  • Troubleshooting Guide: See
    references/troubleshooting.md
  • Development Environment: See
    references/development-environment.md
  • ABAP Programming Patterns: See
    references/abap-programming.md

Troubleshooting

Connection Issues

# Check current connection status
hana-cli status

# Test with explicit credentials
hana-cli connect -n "host:443" -u USER -p PASS --encrypt true

# Use SSL trust store
hana-cli connect --trustStore /path/to/certificate.pem

Permission Errors

# Diagnose privilege errors
hana-cli privilegeError

# View current user info
hana-cli inspectUser

Version Compatibility

  • Node.js: Requires ≥20.19.0
  • @sap/cds: Uses 9.4.4
  • @sap/cds-dk: Requires ≥8.9 for cds bind

Bundled Resources

Reference Documentation

  • references/command-reference.md
    - Complete command reference with all options
  • references/abap-programming.md
    - ABAP-specific programming patterns
  • references/quick-start.md
    - Quick start guide and examples

Scripts

  • scripts/hana-setup.sh
    - HANA development environment setup script
  • scripts/migration-helper.sh
    - Migration helper script for existing projects

Resources


Last Updated: 2025-11-26 | Version: 1.1.0