sap-hana-cli
The sap-hana-cli skill provides a command-line interface for SAP HANA database development and management, enabling developers to execute database operations, manage connections, and perform schema operations directly from terminal environments like VS Code. Use this skill when building or maintaining SAP HANA databases outside traditional SAP tooling, managing HDI containers, executing SQL queries, or integrating HANA operations into development workflows.
git clone --depth 1 https://github.com/secondsky/sap-skills /tmp/sap-hana-cli && cp -r /tmp/sap-hana-cli/plugins/sap-hana-cli/skills/sap-hana-cli ~/.claude/skills/sap-hana-cliSKILL.md
# 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 - **dependency-upgrade**: Use for secure dependency upgrades (npm package hardening, lockfile linting, and cooldown policy) when projects include hana-cli dependencies 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](https://github.com/SAP-samples/hana-developer-cli-tool-example) **npm Package**: [https://www.npmjs.com/package/hana-cli](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](#quick-start) - [Core Command Categories](#core-command-categories) - [Output Formats](#output-formats) - [Connection Configuration](#connection-configuration) - [Common Workflows](#common-workflows) - [Bundled Resources](#bundled-resources) ## Quick Start ### Installation ```bash # Install globally via npm (recommended) npm install -g hana-cli # Verify installation hana-cli version ``` ### First Connection ```bash # 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): ```bash 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 | Scenario | Recommended Tool | Why | |----------|------------------|-----| | Exploratory queries, ad-hoc analysis | **MCP** | Natural language, no syntax needed | | Automation scripts, CI/CD pipelines | **CLI** | Scriptable, consistent output | | Learning database structure | **MCP** | Conversational discovery | | Generating CDS/EDMX/OpenAPI output | **CLI** | Supports 17+ formats | | Complex multi-step workflows | **CLI** | Fine-grained control | | Quick data sampling and inspection | **MCP** | Faster 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 ```bash # 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 | Command | Aliases | Purpose | |---------|---------|---------| | `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 | Command | Aliases | Purpose | |---------|---------|---------| | `querySimple` | `qs` | Execute SQL query | | `callProcedure` | `cp` | Execute stored procedure | | `hdbsql` | - | Direct SQL execution | ### HDI Container Management | Command | Aliases | Purpose | |---------|---------|---------| | `containers` | `cont` | List HDI containers | | `createContainer` | - | Create new
Analyze a codebase and recommend Claude Code automations (hooks, subagents, skills, plugins, MCP servers). Use when user asks for automation recommendations, wants to optimize their Claude Code setup, mentions improving Claude Code workflows, asks how to first set up Claude Code for a project, or wants to know what Claude Code features they should use.
Audit and improve CLAUDE.md files in repositories. Use when user asks to check, audit, update, improve, or fix CLAUDE.md files. Scans for all CLAUDE.md files, evaluates quality against templates, outputs quality report, then makes targeted updates. Also use when the user mentions "CLAUDE.md maintenance" or "project memory optimization".
Secure dependency upgrades with supply chain protection, cooldowns, and staged rollout. Use when upgrading deps, configuring security policies, or preventing supply chain attacks.
Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree. Use when user wants to stress-test a plan, get grilled on their design, or mentions "grill me".
Comprehensive SAP ABAP CDS (Core Data Services) reference for data modeling, view development, and semantic enrichment. Use when creating CDS views or view entities, defining data models with annotations, working with associations and cardinality, implementing input parameters, using built-in functions, writing CASE expressions, implementing access control with DCL, handling CURR/QUAN data types, troubleshooting CDS errors, querying CDS views from ABAP, or displaying data with SALV IDA. Covers ABAP 7.4+ through ABAP Cloud.
|
|
|