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 - sap-dependency-security : Use for secure dependency upgrades, exact MCP server pins, npm package hardening, lockfile linting, and cooldown…

\n text = '/category/12345/item/12' ).\n\nIF lo_matcher->match( ).\n DATA(lv_category) = lo_matcher->get_submatch( 1 ). \" 12345\n DATA(lv_item) = lo_matcher->get_submatch( 2 ). \" 12\nENDIF.\n```\n\n### Remove HTML Tags\n\n```abap\nDATA(lo_matcher) = cl_abap_matcher=>create(\n pattern = '\u003c([!A-Za-z][A-Za-z0-9]*)|\u003c/([A-Za-z][A-Za-z0-9]*)>'\n text = lv_html ).\nlo_matcher->replace_all( '' ).\n```\n\n### Common Patterns\n\n| Pattern | Purpose |\n|---------|---------|\n| `[^\\w]+` | Non-alphanumeric characters |\n| `\\s` | Whitespace |\n| `[0-9]` | Digits |\n| `^(AA\\|BB).* sap-hana-cli — Skillopedia | String prefix match |\n| `\\d{5}` | German postal code |\n\n---\n\n## Exception Handling\n\n### TRY...CATCH Block\n\n```abap\nTRY.\n \" Risky operation\n DATA(lv_result) = 1 / 0.\n CATCH cx_sy_zerodivide INTO DATA(lx_error).\n \" Handle exception\n DATA(lv_msg) = lx_error->get_text( ).\nENDTRY.\n```\n\n### Custom Exception Class\n\n```abap\nCLASS lcx_custom_error DEFINITION\n INHERITING FROM cx_static_check.\n PUBLIC SECTION.\n DATA mv_custom_field TYPE string.\n METHODS constructor\n IMPORTING\n iv_custom_field TYPE string OPTIONAL.\nENDCLASS.\n\n\" Raising\nRAISE EXCEPTION TYPE lcx_custom_error\n EXPORTING iv_custom_field = 'Error details'.\n```\n\n### Using CX_T100_MSG\n\n```abap\nCLASS lcx_message DEFINITION\n INHERITING FROM cx_t100_msg.\n PUBLIC SECTION.\n CONSTANTS:\n BEGIN OF error_occurred,\n msgid TYPE symsgid VALUE 'ZMSG',\n msgno TYPE symsgno VALUE '001',\n attr1 TYPE scx_attrname VALUE 'MV_ATTR1',\n END OF error_occurred.\nENDCLASS.\n```\n\n---\n\n## Performance Optimization\n\n### Field Symbols vs. References\n\n```abap\n\" Faster: Field symbols\nLOOP AT it_data ASSIGNING FIELD-SYMBOL(\u003cls_data>).\n \u003cls_data>-field = 'value'.\nENDLOOP.\n\n\" Slower: References\nLOOP AT it_data REFERENCE INTO DATA(lr_data).\n lr_data->field = 'value'.\nENDLOOP.\n```\n\n### COLLECT for Deduplication\n\n```abap\n\" Fastest approach - uses internal hash table\nCOLLECT ls_line INTO it_aggregated.\n```\n\n### Table Copy Efficiency\n\n```abap\n\" Most efficient: Direct assignment\nit_target = it_source.\n\n\" Also efficient: CORRESPONDING\nit_target = CORRESPONDING #( it_source ).\n```\n\n### SQL Best Practices\n\n1. Use JOINs instead of FOR ALL ENTRIES\n2. Use WHERE conditions early\n3. Limit result sets with UP TO n ROWS\n4. Use indexes appropriately\n5. Avoid SELECT * when possible\n\n---\n\n## Useful Classes Reference\n\n| Class | Purpose |\n|-------|---------|\n| `cl_abap_matcher` | Regular expressions |\n| `cl_abap_codepage` | Codepage conversion |\n| `/ui2/cl_json` | JSON serialization |\n| `xco_cp_json` | Modern JSON handling |\n| `cl_xml_document` | XML processing |\n| `cl_salv_table` | ALV display |\n| `cl_gui_alv_grid` | ALV grid control |\n| `cl_abap_typedescr` | Runtime type info |\n| `cl_shdb_seltab` | RANGES to WHERE |\n\n---\n\n*Source: [https://codezentrale.de/category/sap/sap-abap/*](https://codezentrale.de/category/sap/sap-abap/*)\n","content_type":"text/markdown; charset=utf-8","language":"markdown","size":8405,"content_sha256":"34e7b2017beb78a0ed031dd8539a9b2d65bfddaf70ce391f1017fe544e683566"},{"filename":"references/cloud-operations.md","content":"# SAP HANA CLI - Cloud & BTP Operations\n\n**Source**: [https://github.com/SAP-samples/hana-developer-cli-tool-example](https://github.com/SAP-samples/hana-developer-cli-tool-example)\n\nCommands for managing SAP HANA Cloud instances and SAP BTP integration.\n\n---\n\n## BTP CLI Integration\n\nThe hana-cli integrates with SAP BTP CLI for cloud resource management.\n\n### Configure BTP Target\n\n```bash\n# Configure BTP CLI targeting\nhana-cli btp\n```\n\nThis sets up the connection to your BTP global account.\n\n### View BTP Information\n\n```bash\n# Display current BTP target\nhana-cli btpInfo\n```\n\n### List BTP Subscriptions\n\n```bash\n# List subscribed services\nhana-cli btpSubs\n```\n\n---\n\n## HANA Cloud Instance Management\n\n### List All HANA Cloud Instances\n\n```bash\nhana-cli hanaCloudInstances\n```\n\n### Start HANA Cloud Instance\n\n```bash\n# Start a stopped instance\nhana-cli hanaCloudStart [instance]\n```\n\n**Use Cases**:\n- Resume development after break\n- Scheduled startup\n- Cost management (stop during off-hours)\n\n### Stop HANA Cloud Instance\n\n```bash\n# Stop running instance\nhana-cli hanaCloudStop [instance]\n```\n\n**Note**: Stopping instances helps reduce costs. Trial instances auto-stop after inactivity.\n\n---\n\n## Cloud Instance Types\n\n### HDI Instances\n\n```bash\n# List Cloud HDI instances\nhana-cli hanaCloudHDIInstances\n\n# UI version\nhana-cli hanaCloudHDIInstancesUI\n```\n\n### Schema Instances\n\n```bash\n# List Cloud schema instances\nhana-cli hanaCloudSchemaInstances\n\n# UI version\nhana-cli hanaCloudSchemaInstancesUI\n```\n\n### SBSS Instances\n\nService Broker Secure Store instances.\n\n```bash\n# List Cloud SBSS instances\nhana-cli hanaCloudSBSSInstances\n\n# UI version\nhana-cli hanaCloudSBSSInstancesUI\n```\n\n### Secure Store Instances\n\n```bash\n# List Cloud secure store instances\nhana-cli hanaCloudSecureStoreInstances\n\n# UI version\nhana-cli hanaCloudSecureStoreInstancesUI\n```\n\n### UPS Instances\n\nUser-Provided Service instances.\n\n```bash\n# List Cloud UPS instances\nhana-cli hanaCloudUPSInstances\n\n# UI version\nhana-cli hanaCloudUPSInstancesUI\n```\n\n---\n\n## Cloud Connection\n\n### Using Service Keys\n\nConnect to HANA Cloud using service keys:\n\n```bash\n# Interactive service key connection\nhana-cli connectViaServiceKey\n```\n\n### Cloud Connection File\n\n```json\n{\n \"VCAP_SERVICES\": {\n \"hana\": [{\n \"name\": \"hana-cloud\",\n \"credentials\": {\n \"host\": \"xxxxxxxx.hana.trial-eu10.hanacloud.ondemand.com\",\n \"port\": \"443\",\n \"user\": \"DBADMIN\",\n \"password\": \"SecurePass123!\",\n \"encrypt\": true,\n \"sslValidateCertificate\": true\n }\n }]\n }\n}\n```\n\n### SSL Requirements\n\nHANA Cloud requires SSL:\n\n```bash\nhana-cli connect \\\n -n \"instance.hanacloud.ondemand.com:443\" \\\n -u DBADMIN \\\n --encrypt true\n```\n\n---\n\n## Cloud Shell Compatibility\n\nThe hana-cli works in cloud-based development environments:\n\n### SAP Business Application Studio\n\n```bash\n# Open BAS in browser\nhana-cli openBAS\n```\n\n### Google Cloud Shell\n\nFull compatibility with GCP Cloud Shell.\n\n### AWS Cloud9\n\nFull compatibility with AWS Cloud9.\n\n### Video Demo\n\nCloud shell usage: [https://youtu.be/L7QyVLvAIIQ](https://youtu.be/L7QyVLvAIIQ)\n\n---\n\n## Cloud Workflows\n\n### Development Instance Setup\n\n1. **Create instance in SAP BTP Cockpit**\n\n2. **Generate service key**\n\n3. **Connect via hana-cli**:\n ```bash\n hana-cli connectViaServiceKey\n ```\n\n4. **Verify connection**:\n ```bash\n hana-cli status\n hana-cli systemInfo\n ```\n\n### Cost Optimization\n\n1. **Check instance status**:\n ```bash\n hana-cli hanaCloudInstances\n ```\n\n2. **Stop when not needed**:\n ```bash\n hana-cli hanaCloudStop myinstance\n ```\n\n3. **Start when needed**:\n ```bash\n hana-cli hanaCloudStart myinstance\n ```\n\n### HDI Container in Cloud\n\n1. **List cloud HDI instances**:\n ```bash\n hana-cli hanaCloudHDIInstances\n ```\n\n2. **Create container**:\n ```bash\n hana-cli createContainer MY_APP\n ```\n\n3. **Create users**:\n ```bash\n hana-cli createContainerUsers MY_APP\n ```\n\n---\n\n## CDS Bind for Cloud\n\nUse CDS binding for secure cloud credentials:\n\n### Setup\n\n```bash\n# In your CAP project directory\ncds bind --to hana --for hybrid\n```\n\n### .cdsrc-private.json\n\n```json\n{\n \"requires\": {\n \"db\": {\n \"kind\": \"hana\",\n \"binding\": {\n \"type\": \"cf\",\n \"apiEndpoint\": \"https://api.cf.eu10.hana.ondemand.com\",\n \"org\": \"my-org\",\n \"space\": \"dev\",\n \"instance\": \"hana-hdi\"\n }\n }\n }\n}\n```\n\n### Benefits\n\n- No local credential storage\n- Dynamic credential lookup\n- Works with rotated credentials\n- Most secure option\n\n### Tradeoff\n\nEach command execution includes credential lookup, adding slight latency.\n\n---\n\n## Troubleshooting Cloud Connections\n\n### Instance Not Responding\n\n```bash\n# Check if stopped\nhana-cli hanaCloudInstances\n\n# Start if needed\nhana-cli hanaCloudStart myinstance\n```\n\n### SSL Certificate Issues\n\n```bash\n# Ensure encryption enabled\nhana-cli connect --encrypt true\n\n# Custom trust store if needed\nhana-cli connect --trustStore /path/to/DigiCertGlobalRootCA.crt\n```\n\n### BTP Target Issues\n\n```bash\n# Reconfigure BTP\nhana-cli btp\n\n# Verify target\nhana-cli btpInfo\n```\n\n---\n\n## Cloud Resources\n\n- **SAP HANA Cloud**: [https://help.sap.com/docs/hana-cloud](https://help.sap.com/docs/hana-cloud)\n- **SAP BTP**: [https://help.sap.com/docs/btp](https://help.sap.com/docs/btp)\n- **HANA Cloud Getting Started**: [https://developers.sap.com/group.hana-cloud-get-started-1-trial.html](https://developers.sap.com/group.hana-cloud-get-started-1-trial.html)\n\n---\n\n*Reference: [https://github.com/SAP-samples/hana-developer-cli-tool-example*](https://github.com/SAP-samples/hana-developer-cli-tool-example*)\n","content_type":"text/markdown; charset=utf-8","language":"markdown","size":5659,"content_sha256":"fb6299234a82df4d7c3d437756bdda643c8f4b07b09819c63f364342f100cc05"},{"filename":"references/command-reference.md","content":"# SAP HANA CLI - Complete Command Reference\n\n**Source**: [https://github.com/SAP-samples/hana-developer-cli-tool-example](https://github.com/SAP-samples/hana-developer-cli-tool-example)\n**Total Commands**: 91\n\n---\n\n## Table of Contents\n\n1. [Database Object Commands](#database-object-commands)\n2. [Inspection Commands](#inspection-commands)\n3. [Connection Commands](#connection-commands)\n4. [HDI Container Commands](#hdi-container-commands)\n5. [Query & Execution Commands](#query--execution-commands)\n6. [Mass Operation Commands](#mass-operation-commands)\n7. [Cloud & BTP Commands](#cloud--btp-commands)\n8. [User & Role Commands](#user--role-commands)\n9. [System Information Commands](#system-information-commands)\n10. [Development Commands](#development-commands)\n11. [Monitoring Commands](#monitoring-commands)\n12. [Documentation Commands](#documentation-commands)\n\n---\n\n## Database Object Commands\n\n### tables\nList tables in schema.\n\n```bash\nhana-cli tables [schema]\n```\n\n**Options**:\n| Option | Alias | Type | Default | Description |\n|--------|-------|------|---------|-------------|\n| schema | s | string | CURRENT_SCHEMA | Target schema |\n| limit | l | number | 200 | Max results |\n\n**UI Alternative**: `tablesUI`\n\n### views\nList views in schema.\n\n```bash\nhana-cli views [schema]\n```\n\n### procedures\nList stored procedures.\n\n```bash\nhana-cli procedures [schema]\n```\n\n### functions / functionsUI\nList database functions.\n\n```bash\nhana-cli functions [schema]\n```\n\n### indexes / indexesUI\nList database indexes.\n\n```bash\nhana-cli indexes [schema] [table]\n```\n\n### sequences\nList sequences.\n\n```bash\nhana-cli sequences [schema]\n```\n\n### synonyms\nList synonyms.\n\n```bash\nhana-cli synonyms [schema]\n```\n\n### triggers\nList database triggers.\n\n```bash\nhana-cli triggers [schema]\n```\n\n### schemas / schemasUI\nList available schemas.\n\n```bash\nhana-cli schemas\n```\n\n### dataTypes / dataTypesUI\nDisplay HANA data type specifications.\n\n```bash\nhana-cli dataTypes\n```\n\n### objects\nList all database objects.\n\n```bash\nhana-cli objects [schema]\n```\n\n### libraries\nList database libraries.\n\n```bash\nhana-cli libraries [schema]\n```\n\n---\n\n## Inspection Commands\n\n### inspectTable\nInspect table structure with format conversion.\n\n**Aliases**: `it`, `table`, `insTbl`, `inspecttable`, `inspectable`\n\n```bash\nhana-cli inspectTable [schema] [table]\n```\n\n**Options**:\n| Option | Alias | Type | Default | Description |\n|--------|-------|------|---------|-------------|\n| table | t | string | required | Table name |\n| schema | s | string | CURRENT_SCHEMA | Schema name |\n| output | o | string | tbl | Output format |\n| useHanaTypes | hana | boolean | false | Use HANA types |\n| useQuoted | q | boolean | false | Quoted identifiers |\n| useExists | exists | boolean | true | Check existence |\n\n**Output Formats**: `tbl`, `sql`, `sqlite`, `postgres`, `cds`, `json`, `yaml`, `cdl`, `hdbcds`, `hdbtable`, `hdbmigrationtable`, `jsdoc`, `graphql`, `edmx`, `annos`, `edm`, `swgr`, `openapi`\n\n**UI Alternative**: `inspectTableUI`\n\n### inspectView\nInspect view definition.\n\n```bash\nhana-cli inspectView [schema] [view]\n```\n\n### inspectProcedure\nInspect stored procedure.\n\n```bash\nhana-cli inspectProcedure [schema] [procedure]\n```\n\n### inspectFunction\nInspect function definition.\n\n```bash\nhana-cli inspectFunction [schema] [function]\n```\n\n### inspectIndex\nInspect index structure.\n\n```bash\nhana-cli inspectIndex [schema] [index]\n```\n\n### inspectTrigger\nInspect trigger definition.\n\n```bash\nhana-cli inspectTrigger [schema] [trigger]\n```\n\n### inspectUser\nInspect database user.\n\n```bash\nhana-cli inspectUser [user]\n```\n\n### inspectLibrary\nInspect database library.\n\n```bash\nhana-cli inspectLibrary [schema] [library]\n```\n\n### inspectLibMember\nInspect library member.\n\n```bash\nhana-cli inspectLibMember [schema] [library] [member]\n```\n\n### inspectJWT\nInspect and decode JWT token.\n\n```bash\nhana-cli inspectJWT [token]\n```\n\n---\n\n## Connection Commands\n\n### connect\nEstablish and save database connection.\n\n**Aliases**: `c`, `login`\n\n```bash\nhana-cli connect [user] [password]\n```\n\n**Options**:\n| Option | Alias | Type | Default | Description |\n|--------|-------|------|---------|-------------|\n| connection | n | string | - | host:port |\n| user | u | string | - | Database user |\n| password | p | string | - | Password (masked) |\n| userstorekey | U | string | - | User store key |\n| save | s | boolean | true | Save credentials |\n| encrypt | e | boolean | - | Enable SSL |\n| trustStore | t | string | - | SSL certificate path |\n\n### connectViaServiceKey\nConnect using BTP service key.\n\n```bash\nhana-cli connectViaServiceKey\n```\n\n### status\nDisplay current connection status.\n\n```bash\nhana-cli status\n```\n\n### certificates\nList system certificates.\n\n```bash\nhana-cli certificates\n```\n\n---\n\n## HDI Container Commands\n\n### activateHDI\nEnable HDI service for tenant.\n\n```bash\nhana-cli activateHDI [tenant]\n```\n\n### adminHDI\nCreate/assign HDI admin privileges.\n\n```bash\nhana-cli adminHDI [user]\n```\n\n### adminHDIGroup\nAdd HDI group administrator.\n\n```bash\nhana-cli adminHDIGroup [group] [user]\n```\n\n### containers\nList HDI containers.\n\n**Aliases**: `cont`, `listContainers`\n\n```bash\nhana-cli containers [containerGroup] [container]\n```\n\n**Options**:\n| Option | Alias | Type | Default | Description |\n|--------|-------|------|---------|-------------|\n| container | c | string | * | Container filter |\n| containerGroup | g | string | * | Group filter |\n| limit | l | number | 200 | Max results |\n\n**UI Alternative**: `containersUI`\n\n### createContainer\nCreate new HDI container.\n\n```bash\nhana-cli createContainer [container] [group]\n```\n\n### createContainerUsers\nCreate container access users.\n\n```bash\nhana-cli createContainerUsers [container]\n```\n\n### dropContainer\nRemove HDI container.\n\n```bash\nhana-cli dropContainer [container]\n```\n\n### createGroup\nCreate container group.\n\n```bash\nhana-cli createGroup [group]\n```\n\n### dropGroup\nRemove container group.\n\n```bash\nhana-cli dropGroup [group]\n```\n\n---\n\n## Query & Execution Commands\n\n### querySimple\nExecute SQL query with flexible output.\n\n**Aliases**: `qs`, `querysimple`\n\n```bash\nhana-cli querySimple [query]\n```\n\n**Options**:\n| Option | Alias | Type | Default | Description |\n|--------|-------|------|---------|-------------|\n| query | q | string | required | SQL query |\n| folder | f | string | ./ | Output directory |\n| filename | n | string | - | Output filename |\n| output | o | string | table | Output format |\n| profile | p | string | - | Connection profile |\n\n**Output Formats**: `table`, `json`, `excel`, `csv`\n\n**UI Alternative**: `querySimpleUI`\n\n### callProcedure\nExecute stored procedure.\n\n**Aliases**: `cp`, `callprocedure`, `callProc`, `callSP`\n\n```bash\nhana-cli callProcedure [schema] [procedure]\n```\n\n**Options**:\n| Option | Alias | Type | Default | Description |\n|--------|-------|------|---------|-------------|\n| procedure | p | string | required | Procedure name |\n| schema | s | string | CURRENT_SCHEMA | Schema name |\n\n### hdbsql\nDirect SQL execution interface.\n\n```bash\nhana-cli hdbsql\n```\n\n---\n\n## Mass Operation Commands\n\n### massConvert\nBatch convert database objects.\n\n**Aliases**: `mc`, `massconvert`, `massConv`\n\n```bash\nhana-cli massConvert [schema] [table] [view]\n```\n\n**UI Alternative**: `massConvertUI`\n\n### massRename\nBatch rename operations.\n\n```bash\nhana-cli massRename [schema]\n```\n\n### massUsers\nBulk user operations.\n\n```bash\nhana-cli massUsers\n```\n\n---\n\n## Cloud & BTP Commands\n\n### btp\nConfigure BTP CLI targeting.\n\n```bash\nhana-cli btp\n```\n\n### btpInfo\nDisplay BTP target details.\n\n```bash\nhana-cli btpInfo\n```\n\n### btpSubs\nList BTP subscriptions.\n\n```bash\nhana-cli btpSubs\n```\n\n### hanaCloudInstances\nList HANA Cloud instances.\n\n```bash\nhana-cli hanaCloudInstances\n```\n\n### hanaCloudHDIInstances / hanaCloudHDIInstancesUI\nList Cloud HDI instances.\n\n```bash\nhana-cli hanaCloudHDIInstances\n```\n\n### hanaCloudSchemaInstances / hanaCloudSchemaInstancesUI\nList Cloud schema instances.\n\n```bash\nhana-cli hanaCloudSchemaInstances\n```\n\n### hanaCloudSBSSInstances / hanaCloudSBSSInstancesUI\nList Cloud SBSS instances.\n\n```bash\nhana-cli hanaCloudSBSSInstances\n```\n\n### hanaCloudSecureStoreInstances / hanaCloudSecureStoreInstancesUI\nList Cloud secure store instances.\n\n```bash\nhana-cli hanaCloudSecureStoreInstances\n```\n\n### hanaCloudUPSInstances / hanaCloudUPSInstancesUI\nList Cloud UPS instances.\n\n```bash\nhana-cli hanaCloudUPSInstances\n```\n\n### hanaCloudStart\nStart HANA Cloud instance.\n\n```bash\nhana-cli hanaCloudStart [instance]\n```\n\n### hanaCloudStop\nStop HANA Cloud instance.\n\n```bash\nhana-cli hanaCloudStop [instance]\n```\n\n---\n\n## User & Role Commands\n\n### users\nList database users.\n\n```bash\nhana-cli users\n```\n\n### roles\nList database roles.\n\n```bash\nhana-cli roles\n```\n\n### createXSAAdmin\nCreate XSA administrator.\n\n```bash\nhana-cli createXSAAdmin [user]\n```\n\n### createJWT\nGenerate JWT token.\n\n```bash\nhana-cli createJWT\n```\n\n---\n\n## System Information Commands\n\n### systemInfo / systemInfoUI\nDisplay system information.\n\n```bash\nhana-cli systemInfo\n```\n\n### hostInformation\nDisplay host details.\n\n```bash\nhana-cli hostInformation\n```\n\n### version\nDisplay hana-cli version.\n\n```bash\nhana-cli version\n```\n\n### ports\nList database ports.\n\n```bash\nhana-cli ports\n```\n\n### disks\nDisplay disk information.\n\n```bash\nhana-cli disks\n```\n\n### dataVolumes\nDisplay data volume information.\n\n```bash\nhana-cli dataVolumes\n```\n\n### iniFiles\nList INI configuration files.\n\n```bash\nhana-cli iniFiles\n```\n\n### iniContents\nDisplay INI file contents.\n\n```bash\nhana-cli iniContents [file]\n```\n\n---\n\n## Development Commands\n\n### cds\nConvert database objects to CDS format.\n\n```bash\nhana-cli cds [schema] [object]\n```\n\n### createModule\nCreate development module.\n\n```bash\nhana-cli createModule\n```\n\n### copy2DefaultEnv\nCopy credentials to default-env.json.\n\n```bash\nhana-cli copy2DefaultEnv\n```\n\n### copy2Env\nCopy credentials to .env file.\n\n```bash\nhana-cli copy2Env\n```\n\n### copy2Secrets\nCopy credentials to secrets.\n\n```bash\nhana-cli copy2Secrets\n```\n\n### openDBExplorer\nOpen HANA Database Explorer.\n\n```bash\nhana-cli openDBExplorer\n```\n\n### openBAS\nOpen Business Application Studio.\n\n```bash\nhana-cli openBAS\n```\n\n---\n\n## Monitoring Commands\n\n### features / featuresUI\nDisplay database features.\n\n```bash\nhana-cli features\n```\n\n### featureUsage / featureUsageUI\nDisplay feature usage metrics.\n\n```bash\nhana-cli featureUsage\n```\n\n### traces\nList trace files.\n\n```bash\nhana-cli traces\n```\n\n### traceContents\nDisplay trace contents.\n\n```bash\nhana-cli traceContents [trace]\n```\n\n### privilegeError\nDiagnose privilege errors.\n\n```bash\nhana-cli privilegeError\n```\n\n### reclaim\nReclaim database resources.\n\n```bash\nhana-cli reclaim\n```\n\n---\n\n## Documentation Commands\n\n### changeLog / changeLogUI / openChangeLog\nView release changelog.\n\n```bash\nhana-cli changeLog\nhana-cli openChangeLog # Opens in browser\n```\n\n### readMe / readMeUI / openReadMe\nView documentation.\n\n```bash\nhana-cli readMe\nhana-cli openReadMe # Opens in browser\n```\n\n### issue\nReport issue to GitHub.\n\n```bash\nhana-cli issue\n```\n\n### UI\nOpen general web UI.\n\n```bash\nhana-cli UI\n```\n\n---\n\n## Global Options\n\nAll commands support:\n\n| Option | Alias | Description |\n|--------|-------|-------------|\n| --help | -h | Display help |\n| --admin | - | Use admin credentials |\n| --conn | - | Specify connection file |\n| --profile | -p | Connection profile |\n\n---\n\n*Reference: [https://github.com/SAP-samples/hana-developer-cli-tool-example*](https://github.com/SAP-samples/hana-developer-cli-tool-example*)\n","content_type":"text/markdown; charset=utf-8","language":"markdown","size":11507,"content_sha256":"aa7185d8ac639e9a530c2b1ac8356b3902c0ab7487624b873849ec621bcd6a9f"},{"filename":"references/connection-security.md","content":"# SAP HANA CLI - Connection & Security Guide\n\n**Source**: [https://github.com/SAP-samples/hana-developer-cli-tool-example](https://github.com/SAP-samples/hana-developer-cli-tool-example)\n\n---\n\n## Connection Credential Hierarchy\n\nThe hana-cli searches for connection credentials in this priority order:\n\n### 1. default-env-admin.json (Highest Priority)\nUsed when `--admin` flag is specified.\n\n```json\n{\n \"VCAP_SERVICES\": {\n \"hana\": [{\n \"name\": \"hana-admin\",\n \"credentials\": {\n \"host\": \"hostname.hanacloud.ondemand.com\",\n \"port\": \"443\",\n \"user\": \"DBADMIN\",\n \"password\": \"AdminPassword123\",\n \"schema\": \"MYSCHEMA\",\n \"encrypt\": true,\n \"sslValidateCertificate\": true\n }\n }]\n }\n}\n```\n\n### 2. .cdsrc-private.json (cds bind)\nMost secure option for cloud credentials. Uses CAP binding.\n\n```json\n{\n \"requires\": {\n \"db\": {\n \"kind\": \"hana\",\n \"binding\": {\n \"type\": \"cf\",\n \"apiEndpoint\": \"https://api.cf.eu10.hana.ondemand.com\",\n \"org\": \"my-org\",\n \"space\": \"dev\",\n \"instance\": \"my-hana-hdi\"\n }\n }\n }\n}\n```\n\n### 3. .env File\nEnvironment variables with VCAP_SERVICES.\n\n```bash\nVCAP_SERVICES={\"hana\":[{\"credentials\":{\"host\":\"...\",\"port\":\"443\",...}}]}\n```\n\n### 4. --conn Parameter\nSpecify custom connection file.\n\n```bash\nhana-cli tables --conn ./my-connection.json\n```\n\n### 5. ${homedir}/.hana-cli/\nUser-level configuration directory.\n\n### 6. default-env.json\nProject-level default connection.\n\n```json\n{\n \"VCAP_SERVICES\": {\n \"hana\": [{\n \"name\": \"hana-db\",\n \"credentials\": {\n \"host\": \"hostname\",\n \"port\": \"30015\",\n \"user\": \"SYSTEM\",\n \"password\": \"Password123\"\n }\n }]\n }\n}\n```\n\n### 7. ${homedir}/.hana-cli/default.json (Lowest Priority)\nGlobal fallback configuration.\n\n---\n\n## Connection Methods\n\n### Interactive Connection\n\n```bash\n# Prompts for all parameters\nhana-cli connect\n\n# Partial parameters (prompts for missing)\nhana-cli connect -n \"myhost:443\" -u MYUSER\n```\n\n### Direct Connection\n\n```bash\n# Full specification\nhana-cli connect -n \"hostname:443\" -u USER -p PASSWORD --encrypt --save\n\n# Using user store key\nhana-cli connect -U MYKEY\n```\n\n### Service Key Connection (HANA Cloud)\n\n```bash\n# Interactive service key setup\nhana-cli connectViaServiceKey\n```\n\n---\n\n## SSL/TLS Configuration\n\n### Enable Encryption\n\n```bash\nhana-cli connect --encrypt true\n# or\nhana-cli connect -e\n# or\nhana-cli connect --ssl\n```\n\n### Custom Trust Store\n\n```bash\n# Specify certificate file\nhana-cli connect --trustStore /path/to/DigiCertGlobalRootCA.crt\n\n# Alternative aliases\nhana-cli connect --Trust /path/to/cert.pem\nhana-cli connect -t /path/to/cert.pem\n```\n\n### HANA Cloud SSL\n\nFor SAP HANA Cloud, SSL is required. The connection automatically uses:\n- Port 443\n- SSL encryption enabled\n- DigiCert Global Root CA (usually pre-installed)\n\n---\n\n## Credential Storage\n\n### Save Credentials\n\n```bash\n# Save after connection (default behavior)\nhana-cli connect -n \"host:port\" -u USER -p PASS --save\n\n# Don't save\nhana-cli connect --save false\n```\n\n### Credential Files Created\n\n| File | Purpose |\n|------|---------|\n| `default-env.json` | Standard connection |\n| `default-env-admin.json` | Admin connection |\n| `.cdsrc-private.json` | CDS binding (gitignored) |\n\n---\n\n## Security Best Practices\n\n### DO:\n- Use `cds bind` for cloud credentials (no local storage)\n- Add `default-env*.json` to `.gitignore`\n- Add `.cdsrc-private.json` to `.gitignore`\n- Use service keys for HANA Cloud\n- Enable SSL/TLS for all connections\n- Use user store keys when available\n\n### DON'T:\n- Commit credentials to version control\n- Use plaintext passwords in scripts\n- Disable SSL certificate validation in production\n- Share admin credentials\n\n---\n\n## Connection File Templates\n\n### HANA Cloud Connection\n\n```json\n{\n \"VCAP_SERVICES\": {\n \"hana\": [{\n \"name\": \"hana-cloud\",\n \"label\": \"hana\",\n \"credentials\": {\n \"host\": \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.hana.trial-eu10.hanacloud.ondemand.com\",\n \"port\": \"443\",\n \"user\": \"DBADMIN\",\n \"password\": \"SecurePassword123!\",\n \"schema\": \"DBADMIN\",\n \"encrypt\": true,\n \"sslValidateCertificate\": true\n }\n }]\n }\n}\n```\n\n### On-Premise HANA Connection\n\n```json\n{\n \"VCAP_SERVICES\": {\n \"hana\": [{\n \"name\": \"hana-onprem\",\n \"label\": \"hana\",\n \"credentials\": {\n \"host\": \"hana.company.internal\",\n \"port\": \"30015\",\n \"user\": \"DEVELOPER\",\n \"password\": \"Password123\",\n \"schema\": \"MYSCHEMA\"\n }\n }]\n }\n}\n```\n\n### HDI Container Connection\n\n```json\n{\n \"VCAP_SERVICES\": {\n \"hana\": [{\n \"name\": \"hdi-container\",\n \"label\": \"hana\",\n \"credentials\": {\n \"host\": \"hostname\",\n \"port\": \"443\",\n \"user\": \"CONTAINER_USER\",\n \"password\": \"ContainerPass\",\n \"schema\": \"CONTAINER_SCHEMA\",\n \"hdi_user\": \"CONTAINER_USER\",\n \"hdi_password\": \"ContainerPass\"\n }\n }]\n }\n}\n```\n\n---\n\n## Troubleshooting Connections\n\n### Check Status\n\n```bash\nhana-cli status\n```\n\n### Test Connection\n\n```bash\n# Simple query test\nhana-cli querySimple -q \"SELECT CURRENT_USER FROM DUMMY\"\n```\n\n### Common Issues\n\n| Error | Cause | Solution |\n|-------|-------|----------|\n| Connection refused | Wrong host/port | Verify hostname and port |\n| SSL handshake failed | Certificate issue | Add --trustStore |\n| Authentication failed | Wrong credentials | Check user/password |\n| Insufficient privilege | Missing permissions | Check user roles |\n\n### Diagnose Privileges\n\n```bash\nhana-cli privilegeError\nhana-cli inspectUser\n```\n\n---\n\n## Connection Profiles\n\nUse profiles for multiple environments:\n\n```bash\n# Use specific profile\nhana-cli tables --profile dev\nhana-cli tables --profile prod\n\n# Profile stored in connection file\n```\n\n---\n\n*Reference: [https://github.com/SAP-samples/hana-developer-cli-tool-example*](https://github.com/SAP-samples/hana-developer-cli-tool-example*)\n","content_type":"text/markdown; charset=utf-8","language":"markdown","size":5990,"content_sha256":"1ded881725d3819cb4222e9ccf43996f576a368ac0e68398c61c082bb833526c"},{"filename":"references/db-inspection.md","content":"# SAP HANA CLI - Database Inspection Functions\n\n**Source**: [https://github.com/SAP-samples/hana-developer-cli-tool-example/blob/main/utils/dbInspect.js](https://github.com/SAP-samples/hana-developer-cli-tool-example/blob/main/utils/dbInspect.js)\n\nDetailed documentation of the database inspection functions used by hana-cli.\n\n---\n\n## Version & Metadata Functions\n\n### getHANAVersion(db)\n\nReturns HANA version information.\n\n```javascript\n// Returns: { version: \"2.00.045\", versionMajor: 2 }\n```\n\n**System Table**: `M_DATABASE`\n\n### isCalculationView(db, schema, viewId)\n\nChecks if a view is a Calculation View.\n\n**System Table**: `_SYS_BI.BIMC_REPORTABLE_VIEWS`\n\n**Note**: HANA 2.0+ only\n\n---\n\n## Table Inspection Functions\n\n### getTable(db, schema, tableId)\n\nReturns table metadata.\n\n**Returns**:\n| Field | Description |\n|-------|-------------|\n| TABLE_NAME | Table name |\n| TABLE_OID | Object ID |\n| TABLE_TYPE | Table type |\n| HAS_PRIMARY_KEY | Primary key exists |\n| UNLOAD_PRIORITY | Memory priority |\n| IS_PRELOAD | Preload enabled |\n\n**System Table**: `TABLES`\n\n### getTableFields(db, tableOid)\n\nReturns column metadata for a table.\n\n**Returns**:\n| Field | Description |\n|-------|-------------|\n| COLUMN_NAME | Column name |\n| DATA_TYPE_NAME | Data type |\n| LENGTH | Field length |\n| SCALE | Decimal scale |\n| IS_NULLABLE | Nullable flag |\n| DEFAULT_VALUE | Default value |\n| POSITION | Column position |\n\n**System Table**: `TABLE_COLUMNS`\n\n### getConstraints(db, object)\n\nReturns PRIMARY KEY constraints.\n\n---\n\n## View Inspection Functions\n\n### getView(db, schema, viewId)\n\nReturns view metadata.\n\n**Returns**:\n| Field | Description |\n|-------|-------------|\n| VIEW_NAME | View name |\n| VIEW_OID | Object ID |\n| COMMENTS | Documentation |\n| VIEW_TYPE | View type |\n\n**Note**: Version-aware queries (HANA 1.0 vs 2.0+)\n\n### getViewFields(db, viewOid)\n\nReturns view column metadata.\n\n**System Table**: `VIEW_COLUMNS`\n\n### getViewParameters(db, viewOid)\n\nReturns view input parameters.\n\n**System Table**: `VIEW_PARAMETERS`\n\n### getCalcViewFields(db, schema, viewId, viewOid)\n\nReturns Calculation View field metadata.\n\n**System Table**: `_SYS_BI.BIMC_DIMENSION_VIEW`\n\n**Returns**:\n| Field | Description |\n|-------|-------------|\n| POSITION | Field position |\n| DATA_TYPE_NAME | Data type |\n| SCALE | Decimal scale |\n| KEY_COLUMN_NAME | Key indicator |\n\n### getCalcViewParameters(db, schema, viewId, viewOid)\n\nReturns Calculation View parameters.\n\n**System Table**: `_SYS_BI.BIMC_VARIABLE_VIEW`\n\n**Returns**:\n| Field | Description |\n|-------|-------------|\n| PARAMETER_NAME | Parameter name |\n| DATA_TYPE_NAME | Data type |\n| MANDATORY | Required flag |\n| DEFAULT_VALUE | Default value |\n\n---\n\n## Procedure & Function Functions\n\n### getProcedure(db, schema, procedure)\n\nReturns procedure metadata.\n\n**Returns**:\n| Field | Description |\n|-------|-------------|\n| PROCEDURE_OID | Object ID |\n| SQL_SECURITY | Security mode |\n| INPUT_PARAMETER_COUNT | Input params |\n| OUTPUT_PARAMETER_COUNT | Output params |\n| READ_ONLY | Read-only flag |\n| IS_VALID | Validity status |\n\n**System Table**: `PROCEDURES`\n\n### getProcedurePrams(db, procOid)\n\nReturns procedure parameters.\n\n**System Table**: `PROCEDURE_PARAMETERS`\n\n### getProcedurePramCols(db, procOid)\n\nReturns procedure parameter columns (for table-type params).\n\n**System Table**: `PROCEDURE_PARAMETER_COLUMNS`\n\n### getFunction(db, schema, functionName)\n\nReturns function metadata.\n\n**Returns**:\n| Field | Description |\n|-------|-------------|\n| FUNCTION_OID | Object ID |\n| SQL_SECURITY | Security mode |\n| INPUT_PARAMETER_COUNT | Input params |\n| RETURN_VALUE_COUNT | Return values |\n\n**System Table**: `FUNCTIONS`\n\n### getFunctionPrams(db, funcOid)\n\nReturns function parameters.\n\n**Returns**:\n| Field | Description |\n|-------|-------------|\n| PARAMETER_NAME | Parameter name |\n| DATA_TYPE_NAME | Data type |\n| PARAMETER_TYPE | IN/OUT/INOUT |\n\n**System Table**: `FUNCTION_PARAMETERS`\n\n### getFunctionPramCols(db, funcOid)\n\nReturns function parameter columns.\n\n---\n\n## Utility Functions\n\n### getDef(db, schema, Id)\n\nReturns object creation statement.\n\n**System Procedure**: `GET_OBJECT_DEFINITION`\n\n### getGeoColumns(db, object, field, type)\n\nReturns SRS_ID for spatial geometry columns.\n\n### formatCDS(db, object, fields, constraints, type, schema, parent, parameters)\n\nFormats database object as CDS entity.\n\n**Features**:\n- Type mapping (HANA to CDS)\n- Name normalization\n- Constraint handling\n- Parameter support\n\n### parseSQLOptions(output, cdsSource)\n\nExtracts extended SQL syntax via regex:\n- PARTITION clauses\n- UNLOAD PRIORITY\n- AUTO MERGE settings\n\n---\n\n## System Tables Summary\n\n| Table | Purpose |\n|-------|---------|\n| `M_DATABASE` | Version info |\n| `TABLES` | Table metadata |\n| `TABLE_COLUMNS` | Column definitions |\n| `VIEWS` | View metadata |\n| `VIEW_COLUMNS` | View columns |\n| `VIEW_PARAMETERS` | View input params |\n| `PROCEDURES` | Procedure metadata |\n| `PROCEDURE_PARAMETERS` | Procedure params |\n| `PROCEDURE_PARAMETER_COLUMNS` | Table-type columns |\n| `FUNCTIONS` | Function metadata |\n| `FUNCTION_PARAMETERS` | Function params |\n| `_SYS_BI.BIMC_REPORTABLE_VIEWS` | Calc view detection |\n| `_SYS_BI.BIMC_DIMENSION_VIEW` | Calc view fields |\n| `_SYS_BI.BIMC_VARIABLE_VIEW` | Calc view variables |\n\n---\n\n*Reference: [https://github.com/SAP-samples/hana-developer-cli-tool-example/blob/main/utils/dbInspect.js*](https://github.com/SAP-samples/hana-developer-cli-tool-example/blob/main/utils/dbInspect.js*)\n","content_type":"text/markdown; charset=utf-8","language":"markdown","size":5481,"content_sha256":"112fed51e6a346ff8b3f9332c86b7cb10d71c0a8bf67caa29c763aef3ced4462"},{"filename":"references/development-environment.md","content":"# SAP HANA CLI - Development Environment Reference\n\n**Source**: [https://github.com/SAP-samples/hana-developer-cli-tool-example](https://github.com/SAP-samples/hana-developer-cli-tool-example)\n\nConfiguration for development environments, testing, and multi-database support.\n\n---\n\n## DevContainer Setup\n\nThe repository includes VS Code DevContainer configuration for consistent development environments.\n\n### Container Base\n\n```dockerfile\n# Base image: Node.js 22 on Debian Buster\nFROM mcr.microsoft.com/vscode/devcontainers/javascript-node:0-22-buster\n```\n\n### System Packages Installed\n\n```dockerfile\n# Cloud Foundry CLI\napt-get install cf8-cli\n\n# Utilities\napt-get install git jq\n```\n\n### Global npm Packages\n\n```bash\nnpm install -g @ui5/cli\nnpm install -g @sap/cds-dk\nnpm install -g yo\nnpm install -g @sap/generator-hdb-project\nnpm install -g @sap/generator-fiori\nnpm install -g typescript\n```\n\n### VS Code Extensions (21 total)\n\n| Category | Extensions |\n|----------|------------|\n| **SAP Tools** | CDS Language Support, Fiori Tools, SAP UX Pack, HANA Driver, XML Toolkit |\n| **Development** | ESLint, Beautify, IntelliCode, REST Client |\n| **Productivity** | GitLens, Bracket Pair Colorizer, Path IntelliSense |\n| **Other** | Yeoman UI, Version Lens, VS Code Icons |\n\n### Port Forwarding\n\n```json\n\"forwardPorts\": [4004, 3010]\n```\n\n- **4004**: CAP default server port\n- **3010**: hana-cli UI default port\n\n### Post-Creation Setup\n\n```bash\nbash -i install-btp.sh\n```\n\nInstalls BTP CLI from SAP GitHub repository.\n\n---\n\n## Multi-Database Support\n\nThe hana-cli supports multiple database backends through abstraction.\n\n### Database Adapters\n\n| File | Database | Purpose |\n|------|----------|---------|\n| `hanaCDS.js` | SAP HANA | CDS-based connection via CAP |\n| `hanaDirect.js` | SAP HANA | Direct connection via hdb |\n| `postgres.js` | PostgreSQL | PostgreSQL backend |\n| `sqlite.js` | SQLite | SQLite backend |\n\n### Backend Selection\n\nDatabase backend is selected based on:\n1. Connection configuration\n2. CDS profile settings\n3. Command-specific requirements\n\n### Database-Specific Commands\n\n| Command | Purpose |\n|---------|---------|\n| `tablesPG` | List tables (PostgreSQL) |\n| `tablesSQLite` | List tables (SQLite) |\n| `tables` | List tables (HANA default) |\n\n---\n\n## XS API Support (On-Premise)\n\nFor on-premise XSA environments, additional utilities are available.\n\n### XS Configuration Functions\n\n| Function | Purpose |\n|----------|---------|\n| `getCFConfig()` | Read ~/.xsconfig |\n| `getCFOrg()` | Get target organization |\n| `getCFSpace()` | Get target space |\n| `getCFTarget()` | Get API endpoint |\n\n### XS Service Discovery\n\n| Function | Purpose |\n|----------|---------|\n| `getServices()` | List all services |\n| `getServiceGUID(service)` | Get service GUID |\n| `getServicePlans(guid)` | Get service plans |\n| `getHANAInstances()` | List HANA instances |\n| `getHDIInstances()` | List HDI instances |\n\n---\n\n## SQL Injection Prevention\n\nThe tool includes built-in SQL injection protection.\n\n### Validation Functions\n\n| Function | Purpose |\n|----------|---------|\n| `isAcceptableParameter(value, maxToken)` | Validate SQL parameter |\n| `isAcceptableQuotedParameter(value)` | Validate quoted strings |\n| `escapeDoubleQuotes(value)` | Escape \" characters |\n| `escapeSingleQuotes(value)` | Escape ' characters |\n\n### Security Features\n\n- Comment detection (`--` and `/* */`)\n- Quote nesting tracking\n- Token counting\n- Separator boundary enforcement\n\n---\n\n## Testing Configuration\n\n### Test Framework\n\n- **Framework**: Mocha\n- **Reporter**: Mochawesome (HTML reports)\n- **Timeout**: 10 seconds\n- **Parallel**: Enabled\n\n### Configuration (.mocharc.json)\n\n```json\n{\n \"timeout\": \"10s\",\n \"parallel\": true,\n \"reporter\": \"mochawesome\",\n \"require\": [\"./tests/helper.js\", \"mochawesome/register\"]\n}\n```\n\n### Test Files\n\n| Test | Purpose |\n|------|---------|\n| `SystemInfo.Test.js` | System info commands |\n| `btpInfo.Test.js` | BTP info commands |\n| `btpSubs.Test.js` | BTP subscriptions |\n| `callProcedure.Test.js` | Procedure execution |\n| `status.Test.js` | Connection status |\n| `version.Test.js` | Version info |\n\n---\n\n## Fiori LaunchPad Configuration\n\n### Tile Groups\n\n**List Objects** (9 tiles):\n- Containers, Data Types, Functions, Indexes\n- Schemas, Tables, Table Inspection\n- Views, View Inspection\n\n**Admin** (3 tiles):\n- Features, Feature Usage, SQL Query\n\n**CF/XS** (5 tiles):\n- HDI, SBSS, Schema, SecureStore, UPS instances\n\n### Applications\n\n| App | Path | Purpose |\n|-----|------|---------|\n| systemInfo | /systemInfo | System dashboard |\n| readMe | /readMe | Documentation |\n| changeLog | /changeLog | Version history |\n| massConvert | /massConvert | Batch conversion |\n\n---\n\n## Version Checking\n\n### Node.js Version Validation\n\n```javascript\n// Reads engines.node from package.json\n// Current requirement: ≥20.19.0\n```\n\n### Update Notifications\n\nThe CLI includes update notification via `update-notifier` package.\n\n---\n\n## UI5 Configuration\n\n### ui5.yaml Settings\n\n```yaml\nspecVersion: \"1.0\"\ntype: application\nmetadata:\n name: test1\n\nserver:\n customMiddleware:\n - name: fiori-tools-proxy\n configuration:\n backend:\n - path: /sap/opu/odata\n url: http://localhost\n ui5:\n path:\n - /resources\n - /test-resources\n url: https://ui5.sap.com\n```\n\n### Theme Support\n\n- Light: `sap_horizon`\n- Dark: `sap_horizon_dark`\n- Legacy: `sap_fiori_3_dark`\n\n---\n\n## Building from Source\n\n### Prerequisites\n\n```bash\n# Node.js 20.19.0 or higher\nnode --version\n\n# Remove SAP registry if set\nnpm config delete @sap:registry\n```\n\n### Installation\n\n```bash\n# Clone repository\ngit clone https://github.com/SAP-samples/hana-developer-cli-tool-example\n\n# Install dependencies\ncd hana-developer-cli-tool-example\nnpm install\n\n# Link globally\nnpm link\n```\n\n### Using DevContainer\n\n1. Open in VS Code with Remote-Containers extension\n2. Select \"Reopen in Container\"\n3. Wait for container build\n4. Run `npm install && npm link`\n\n---\n\n*Reference: [https://github.com/SAP-samples/hana-developer-cli-tool-example*](https://github.com/SAP-samples/hana-developer-cli-tool-example*)\n","content_type":"text/markdown; charset=utf-8","language":"markdown","size":6149,"content_sha256":"a061ce5708669a3f8ae942f82ac02c9b62b47b00a7c90a44fd7d6ba2ba09bf71"},{"filename":"references/hdi-management.md","content":"# SAP HANA CLI - HDI Container Management\n\n**Source**: [https://github.com/SAP-samples/hana-developer-cli-tool-example](https://github.com/SAP-samples/hana-developer-cli-tool-example)\n\nHDI (HANA Deployment Infrastructure) containers provide isolated runtime environments for database artifacts.\n\n---\n\n## HDI Command Overview\n\n| Command | Purpose |\n|---------|---------|\n| `activateHDI` | Enable HDI service |\n| `adminHDI` | Assign HDI admin privileges |\n| `adminHDIGroup` | Manage group administrators |\n| `containers` | List containers |\n| `createContainer` | Create new container |\n| `createContainerUsers` | Create access users |\n| `dropContainer` | Remove container |\n| `createGroup` | Create container group |\n| `dropGroup` | Remove container group |\n\n---\n\n## Activate HDI Service\n\nEnable HDI for a database tenant.\n\n```bash\n# Activate HDI\nhana-cli activateHDI\n\n# For specific tenant\nhana-cli activateHDI [tenant]\n```\n\n**Prerequisites**: SYSTEM user or equivalent privileges.\n\n---\n\n## HDI Administration\n\n### Assign HDI Admin\n\n```bash\n# Make user an HDI administrator\nhana-cli adminHDI [user]\n```\n\n### Group Administration\n\n```bash\n# Add group administrator\nhana-cli adminHDIGroup [group] [user]\n```\n\n---\n\n## Container Operations\n\n### List Containers\n\n```bash\n# List all containers\nhana-cli containers\n\n# With aliases\nhana-cli cont\nhana-cli listContainers\n\n# Filter by container name pattern\nhana-cli containers -c \"MY_APP*\"\n\n# Filter by group\nhana-cli containers -g \"DEV_GROUP\"\n\n# Limit results\nhana-cli containers -l 50\n```\n\n**Options**:\n| Option | Alias | Default | Description |\n|--------|-------|---------|-------------|\n| container | c | * | Container filter pattern |\n| containerGroup | g | * | Group filter pattern |\n| limit | l | 200 | Maximum results |\n\n**Output**: Container name, group, schema, creator, creation timestamp (UTC).\n\n**UI Alternative**:\n```bash\nhana-cli containersUI\n```\n\n### Create Container\n\n```bash\n# Create new container\nhana-cli createContainer [container] [group]\n\n# Example\nhana-cli createContainer MY_APP_HDI DEV_GROUP\n```\n\n### Create Container Users\n\nCreates the standard HDI access users for a container.\n\n```bash\n# Create users for container\nhana-cli createContainerUsers [container]\n\n# Example\nhana-cli createContainerUsers MY_APP_HDI\n```\n\n**Users Created**:\n- Runtime user (read/execute)\n- Design-time user (deploy artifacts)\n- Admin user (full access)\n\n### Drop Container\n\n```bash\n# Remove container\nhana-cli dropContainer [container]\n\n# Example\nhana-cli dropContainer MY_APP_HDI\n```\n\n**Warning**: This permanently deletes all artifacts in the container.\n\n---\n\n## Container Groups\n\n### Create Group\n\n```bash\n# Create container group\nhana-cli createGroup [group]\n\n# Example\nhana-cli createGroup DEV_GROUP\n```\n\n### Drop Group\n\n```bash\n# Remove container group\nhana-cli dropGroup [group]\n\n# Example\nhana-cli dropGroup DEV_GROUP\n```\n\n**Note**: Group must be empty before deletion.\n\n---\n\n## HANA Cloud HDI Instances\n\nFor SAP HANA Cloud, use cloud-specific commands:\n\n```bash\n# List Cloud HDI instances\nhana-cli hanaCloudHDIInstances\n\n# UI version\nhana-cli hanaCloudHDIInstancesUI\n```\n\n---\n\n## HDI Container Workflow\n\n### Typical Development Workflow\n\n1. **Enable HDI** (if not enabled):\n ```bash\n hana-cli activateHDI\n ```\n\n2. **Create group** (optional organization):\n ```bash\n hana-cli createGroup MY_PROJECT_GROUP\n ```\n\n3. **Create container**:\n ```bash\n hana-cli createContainer MY_APP_HDI MY_PROJECT_GROUP\n ```\n\n4. **Create users**:\n ```bash\n hana-cli createContainerUsers MY_APP_HDI\n ```\n\n5. **Verify**:\n ```bash\n hana-cli containers -c \"MY_APP*\"\n ```\n\n### Cleanup Workflow\n\n1. **List containers**:\n ```bash\n hana-cli containers\n ```\n\n2. **Drop container**:\n ```bash\n hana-cli dropContainer MY_APP_HDI\n ```\n\n3. **Drop group** (if empty):\n ```bash\n hana-cli dropGroup MY_PROJECT_GROUP\n ```\n\n---\n\n## HDI Connection in default-env.json\n\n```json\n{\n \"VCAP_SERVICES\": {\n \"hana\": [{\n \"name\": \"hdi-container\",\n \"label\": \"hana\",\n \"credentials\": {\n \"host\": \"hostname\",\n \"port\": \"443\",\n \"user\": \"MY_APP_HDI_RT\",\n \"password\": \"RuntimeUserPassword\",\n \"schema\": \"MY_APP_HDI\",\n \"hdi_user\": \"MY_APP_HDI_DT\",\n \"hdi_password\": \"DesignTimePassword\",\n \"certificate\": \"-----BEGIN CERTIFICATE-----...\"\n }\n }]\n }\n}\n```\n\n---\n\n## Common Issues\n\n| Issue | Cause | Solution |\n|-------|-------|----------|\n| HDI not activated | Service disabled | Run `activateHDI` |\n| Cannot create container | Insufficient privileges | Get HDI admin rights |\n| Container exists | Name conflict | Use unique name |\n| Cannot drop group | Group not empty | Drop containers first |\n\n---\n\n*Reference: [https://github.com/SAP-samples/hana-developer-cli-tool-example*](https://github.com/SAP-samples/hana-developer-cli-tool-example*)\n","content_type":"text/markdown; charset=utf-8","language":"markdown","size":4862,"content_sha256":"f18fb9d1a5394fa5cf3119a0843ea7d56fb2f6f6a3c1e0ab19827de2cb9013b1"},{"filename":"references/mass-operations.md","content":"# SAP HANA CLI - Mass Operations Reference\n\n**Source**: [https://github.com/SAP-samples/hana-developer-cli-tool-example/blob/main/utils/massConvert.js](https://github.com/SAP-samples/hana-developer-cli-tool-example/blob/main/utils/massConvert.js)\n\nCommands and functions for batch operations on database objects.\n\n---\n\n## Mass Convert Command\n\n### massConvert\n\nBatch convert database objects to various formats.\n\n**Aliases**: `mc`, `massconvert`, `massConv`, `massconv`\n\n```bash\nhana-cli massConvert [schema] [table] [view]\n```\n\n**UI Alternative**: `massConvertUI`\n\n---\n\n## Conversion Types\n\n### HDBTABLE Format\n\nGenerates `.hdbtable` files packaged in ZIP format.\n\n```bash\nhana-cli massConvert -s MYSCHEMA -o hdbtable\n```\n\n**Functions**:\n- `hdbtableTablesSQL()` - SQL-based table conversion\n- `hdbtableTables()` - CDS-compiled table conversion\n- `hdbtableViewsSQL()` - SQL-based view conversion\n- `hdbtableViews()` - CDS-compiled view conversion\n\n### HDBMIGRATIONTABLE Format\n\nGenerates `.hdbmigrationtable` files with version headers.\n\n```bash\nhana-cli massConvert -s MYSCHEMA -o hdbmigrationtable\n```\n\n**Functions**:\n- `hdbmigrationtableTablesSQL()` - SQL-based migration format\n- `hdbmigrationtableTables()` - CDS-compiled migration format\n\n### CDS Format\n\nGenerates unified `.cds` source file.\n\n```bash\nhana-cli massConvert -s MYSCHEMA -o cds\n```\n\n**Functions**:\n- `cdsTables()` - Extracts table definitions\n- `cdsViews()` - Extracts view definitions with parameters\n\n---\n\n## Configuration Options\n\n| Option | Type | Description |\n|--------|------|-------------|\n| `useHanaTypes` | boolean | Apply HANA-specific data types |\n| `keepPath` | boolean | Preserve namespace paths |\n| `noColons` | boolean | Remove colon syntax |\n| `useExists` | boolean | Use EXISTS conditions |\n| `useQuoted` | boolean | Quote identifiers |\n| `useCatalogPure` | boolean | SQL-based catalog extraction |\n| `namespace` | string | CDS namespace prefix |\n| `limit` | number | Restrict result set size |\n| `log` | boolean | Generate JSON audit logs |\n| `table` | string | Pattern filter for tables |\n| `view` | string | Pattern filter for views |\n\n---\n\n## Output Functions\n\n### writeZip()\n\nCompresses files using DEFLATE compression.\n\n### writeCDS()\n\nWrites unified CDS file containing all entities.\n\n### writeSynonyms()\n\nStores synonym mappings for reference.\n\n### writeLog()\n\nCreates JSON execution logs for auditing.\n\n---\n\n## Mass Rename Command\n\n### massRename\n\nBatch rename database objects.\n\n```bash\nhana-cli massRename [schema]\n```\n\n**Use Cases**:\n- Standardize naming conventions\n- Apply prefixes/suffixes\n- Case conversion\n\n---\n\n## Mass Users Command\n\n### massUsers\n\nBulk user operations.\n\n```bash\nhana-cli massUsers\n```\n\n**Use Cases**:\n- Create multiple users\n- Assign roles in bulk\n- User cleanup operations\n\n---\n\n## Workflow Example\n\n### Convert Entire Schema to CDS\n\n```bash\n# Interactive mode\nhana-cli massConvert\n\n# Direct specification\nhana-cli massConvert -s MYSCHEMA\n\n# With options\nhana-cli massConvert -s MYSCHEMA --useHanaTypes --namespace \"my.app\"\n\n# Generate log file\nhana-cli massConvert -s MYSCHEMA --log\n```\n\n### Using the UI\n\n```bash\n# Launch browser-based interface\nhana-cli massConvertUI\n```\n\nThe UI provides:\n- Schema browser\n- Object selection\n- Preview before conversion\n- Download options\n\n---\n\n## Output Structure\n\n### ZIP Archive Contents\n\n```\noutput.zip\n├── src/\n│ ├── CUSTOMERS.hdbtable\n│ ├── ORDERS.hdbtable\n│ ├── PRODUCTS.hdbtable\n│ └── ...\n└── synonyms.json (if applicable)\n```\n\n### CDS File Structure\n\n```cds\nnamespace my.schema;\n\nentity CUSTOMERS {\n key ID : Integer;\n NAME : String(100);\n EMAIL : String(255);\n}\n\nentity ORDERS {\n key ID : Integer;\n CUSTOMER_ID : Integer;\n ORDER_DATE : Date;\n}\n```\n\n---\n\n## Best Practices\n\n1. **Test with limit first**: Use `--limit 10` to verify output format\n2. **Review generated files**: Check for naming conflicts\n3. **Backup before conversion**: Preserve original definitions\n4. **Use namespaces**: Apply consistent CDS namespaces\n5. **Enable logging**: Track what was converted\n\n---\n\n*Reference: [https://github.com/SAP-samples/hana-developer-cli-tool-example/blob/main/utils/massConvert.js*](https://github.com/SAP-samples/hana-developer-cli-tool-example/blob/main/utils/massConvert.js*)\n","content_type":"text/markdown; charset=utf-8","language":"markdown","size":4309,"content_sha256":"769de8e3ba2944ed1eab9f7d1555ce11ee103c4106d6a8e25add8a1224514701"},{"filename":"references/output-formats.md","content":"# SAP HANA CLI - Output Formats Reference\n\n**Source**: [https://github.com/SAP-samples/hana-developer-cli-tool-example](https://github.com/SAP-samples/hana-developer-cli-tool-example)\n\nThe hana-cli supports 17+ output formats for database metadata conversion and export.\n\n---\n\n## Format Overview\n\n| Format | Extension | Use Case |\n|--------|-----------|----------|\n| `tbl` | - | Console table display (default) |\n| `json` | .json | JSON data exchange |\n| `yaml` | .yaml | YAML configuration |\n| `csv` | .csv | Spreadsheet import |\n| `excel` | .xlsx | Excel file export |\n| `cds` | .cds | CAP CDS definitions |\n| `cdl` | .cds | CDS Language format |\n| `hdbcds` | .hdbcds | HANA native CDS |\n| `hdbtable` | .hdbtable | HDB table definitions |\n| `hdbmigrationtable` | .hdbmigrationtable | Migration tables |\n| `sql` | .sql | SQL DDL statements |\n| `sqlite` | .sql | SQLite-compatible SQL |\n| `postgres` | .sql | PostgreSQL-compatible SQL |\n| `edmx` | .edmx | OData EDMX metadata |\n| `edm` | - | OData EDM |\n| `annos` | .xml | OData annotations |\n| `graphql` | .graphql | GraphQL schema |\n| `openapi` | .json | OpenAPI specification |\n| `swgr` | .json | Swagger specification |\n| `jsdoc` | - | JSDoc documentation |\n\n---\n\n## Using Output Formats\n\n### Syntax\n\n```bash\nhana-cli \u003ccommand> --output \u003cformat>\n# or\nhana-cli \u003ccommand> -o \u003cformat>\n```\n\n### Examples\n\n```bash\n# Console table (default)\nhana-cli inspectTable -s SCHEMA -t TABLE\n\n# JSON output\nhana-cli inspectTable -s SCHEMA -t TABLE -o json\n\n# CDS format\nhana-cli inspectTable -s SCHEMA -t TABLE -o cds\n\n# OpenAPI spec\nhana-cli inspectTable -s SCHEMA -t TABLE -o openapi\n```\n\n---\n\n## Format Details\n\n### Console Formats\n\n#### tbl (Table)\nHuman-readable table format for console display.\n\n```bash\nhana-cli tables -o tbl\n```\n\nOutput:\n```\n┌─────────────────┬────────────┬──────────┐\n│ TABLE_NAME │ SCHEMA │ ROWS │\n├─────────────────┼────────────┼──────────┤\n│ CUSTOMERS │ MYSCHEMA │ 1000 │\n│ ORDERS │ MYSCHEMA │ 5000 │\n└─────────────────┴────────────┴──────────┘\n```\n\n---\n\n### Data Exchange Formats\n\n#### json\nStandard JSON format.\n\n```bash\nhana-cli inspectTable -t CUSTOMERS -o json\n```\n\nOutput:\n```json\n{\n \"table\": \"CUSTOMERS\",\n \"schema\": \"MYSCHEMA\",\n \"columns\": [\n {\"name\": \"ID\", \"type\": \"INTEGER\", \"nullable\": false},\n {\"name\": \"NAME\", \"type\": \"NVARCHAR\", \"length\": 100}\n ]\n}\n```\n\n#### yaml\nYAML format for configuration files.\n\n```bash\nhana-cli inspectTable -t CUSTOMERS -o yaml\n```\n\n#### csv\nComma-separated values for spreadsheet import.\n\n```bash\nhana-cli querySimple -q \"SELECT * FROM CUSTOMERS\" -o csv\n```\n\n#### excel\nMicrosoft Excel format (.xlsx).\n\n```bash\nhana-cli querySimple -q \"SELECT * FROM CUSTOMERS\" -o excel -f ./output -n customers\n```\n\n---\n\n### CAP CDS Formats\n\n#### cds\nSAP Cloud Application Programming Model CDS.\n\n```bash\nhana-cli inspectTable -t CUSTOMERS -o cds\n```\n\nOutput:\n```cds\nentity Customers {\n key ID : Integer;\n NAME : String(100);\n EMAIL : String(255);\n CREATED_AT : Timestamp;\n}\n```\n\n#### cdl\nCDS Language format (similar to cds).\n\n```bash\nhana-cli inspectTable -t CUSTOMERS -o cdl\n```\n\n---\n\n### HANA Native Formats\n\n#### hdbcds\nHANA native CDS format.\n\n```bash\nhana-cli inspectTable -t CUSTOMERS -o hdbcds\n```\n\nOutput:\n```cds\ncontext myschema {\n entity CUSTOMERS {\n key ID : Integer;\n NAME : String(100);\n };\n};\n```\n\n#### hdbtable\nHDB table definition format.\n\n```bash\nhana-cli inspectTable -t CUSTOMERS -o hdbtable\n```\n\nOutput:\n```hdbtable\nCOLUMN TABLE \"MYSCHEMA\".\"CUSTOMERS\" (\n \"ID\" INTEGER NOT NULL,\n \"NAME\" NVARCHAR(100),\n PRIMARY KEY (\"ID\")\n)\n```\n\n#### hdbmigrationtable\nMigration table format for HDI.\n\n```bash\nhana-cli inspectTable -t CUSTOMERS -o hdbmigrationtable\n```\n\n---\n\n### SQL Formats\n\n#### sql\nStandard SQL DDL.\n\n```bash\nhana-cli inspectTable -t CUSTOMERS -o sql\n```\n\nOutput:\n```sql\nCREATE TABLE \"MYSCHEMA\".\"CUSTOMERS\" (\n \"ID\" INTEGER NOT NULL,\n \"NAME\" NVARCHAR(100),\n PRIMARY KEY (\"ID\")\n);\n```\n\n#### sqlite\nSQLite-compatible SQL.\n\n```bash\nhana-cli inspectTable -t CUSTOMERS -o sqlite\n```\n\n#### postgres\nPostgreSQL-compatible SQL.\n\n```bash\nhana-cli inspectTable -t CUSTOMERS -o postgres\n```\n\n---\n\n### OData Formats\n\n#### edmx\nOData Entity Data Model XML.\n\n```bash\nhana-cli inspectTable -t CUSTOMERS -o edmx\n```\n\nOutput:\n```xml\n\u003c?xml version=\"1.0\" encoding=\"utf-8\"?>\n\u003cedmx:Edmx Version=\"4.0\">\n \u003cedmx:DataServices>\n \u003cSchema Namespace=\"myschema\">\n \u003cEntityType Name=\"Customers\">\n \u003cKey>\n \u003cPropertyRef Name=\"ID\"/>\n \u003c/Key>\n \u003cProperty Name=\"ID\" Type=\"Edm.Int32\" Nullable=\"false\"/>\n \u003cProperty Name=\"NAME\" Type=\"Edm.String\" MaxLength=\"100\"/>\n \u003c/EntityType>\n \u003c/Schema>\n \u003c/edmx:DataServices>\n\u003c/edmx:Edmx>\n```\n\n#### edm\nOData EDM format.\n\n#### annos\nOData annotations XML.\n\n```bash\nhana-cli inspectTable -t CUSTOMERS -o annos\n```\n\n---\n\n### API Formats\n\n#### openapi / swgr\nOpenAPI/Swagger specification.\n\n```bash\nhana-cli inspectTable -t CUSTOMERS -o openapi\n```\n\nOutput:\n```json\n{\n \"openapi\": \"3.0.0\",\n \"info\": {\"title\": \"CUSTOMERS API\"},\n \"paths\": {\n \"/Customers\": {\n \"get\": {...},\n \"post\": {...}\n }\n }\n}\n```\n\n#### graphql\nGraphQL schema definition.\n\n```bash\nhana-cli inspectTable -t CUSTOMERS -o graphql\n```\n\nOutput:\n```graphql\ntype Customers {\n ID: Int!\n NAME: String\n EMAIL: String\n}\n\ntype Query {\n Customers: [Customers]\n}\n```\n\n---\n\n### Documentation Formats\n\n#### jsdoc\nJSDoc-style documentation.\n\n```bash\nhana-cli inspectProcedure -p MY_PROC -o jsdoc\n```\n\n---\n\n## Mass Conversion\n\nConvert multiple objects at once:\n\n```bash\n# Convert all tables in schema to CDS\nhana-cli massConvert -s MYSCHEMA\n\n# UI version for interactive selection\nhana-cli massConvertUI\n```\n\n---\n\n## Output Options\n\n### HANA Types\n\nUse native HANA data types instead of generic types:\n\n```bash\nhana-cli inspectTable -t CUSTOMERS -o cds --useHanaTypes\n# or\nhana-cli inspectTable -t CUSTOMERS -o cds --hana\n```\n\n### Quoted Identifiers\n\nPreserve case-sensitive identifiers:\n\n```bash\nhana-cli inspectTable -t CUSTOMERS -o sql --useQuoted\n# or\nhana-cli inspectTable -t CUSTOMERS -o sql -q\n```\n\n### File Output\n\nSave to file instead of console:\n\n```bash\nhana-cli querySimple -q \"SELECT * FROM T\" -o json -f ./output -n data\n# Creates: ./output/data.json\n```\n\n---\n\n## Format Compatibility Matrix\n\n| Source | CDS | SQL | EDMX | GraphQL | OpenAPI |\n|--------|-----|-----|------|---------|---------|\n| Tables | Yes | Yes | Yes | Yes | Yes |\n| Views | Yes | Yes | Yes | Yes | Yes |\n| Procedures | Partial | Yes | No | No | No |\n| Functions | Partial | Yes | No | No | No |\n| Calc Views | Yes | Yes | Yes | Yes | Yes |\n\n---\n\n*Reference: [https://github.com/SAP-samples/hana-developer-cli-tool-example*](https://github.com/SAP-samples/hana-developer-cli-tool-example*)\n","content_type":"text/markdown; charset=utf-8","language":"markdown","size":7054,"content_sha256":"06847ee07eedc3f2584452c7f7f1da165bad79bc1351922bdd75e5a6f9e1f2ee"},{"filename":"references/system-admin.md","content":"# SAP HANA CLI - System Administration Reference\n\n**Source**: [https://github.com/SAP-samples/hana-developer-cli-tool-example](https://github.com/SAP-samples/hana-developer-cli-tool-example)\n\nCommands for system monitoring, configuration, and administration.\n\n---\n\n## System Information Commands\n\n### systemInfo\n\nDisplay comprehensive system details.\n\n**Aliases**: `si`, `sysinfo`\n\n```bash\nhana-cli systemInfo\n```\n\n**UI Alternative**: `systemInfoUI`\n\n**Queries**:\n- `SELECT * FROM M_SYSTEM_OVERVIEW`\n- `SELECT * FROM M_SERVICES`\n\n**Output Modes**:\n| Mode | Description |\n|------|-------------|\n| Basic | DB user, HANA version, overview, services |\n| Environment | Connection options, HDI credentials |\n| DBX | DB type, credentials for Database Explorer |\n\n### hostInformation\n\nDisplay host details.\n\n```bash\nhana-cli hostInformation\n```\n\n### version\n\nDisplay hana-cli version.\n\n```bash\nhana-cli version\n```\n\n---\n\n## Database Features\n\n### features\n\nList SAP HANA database features.\n\n**Aliases**: `fe`, `Features`\n\n```bash\nhana-cli features\n```\n\n**Query**: `SELECT * FROM M_FEATURES`\n\n**UI Alternative**: `featuresUI`\n\n### featureUsage\n\nDisplay feature usage metrics.\n\n```bash\nhana-cli featureUsage\n```\n\n**UI Alternative**: `featureUsageUI`\n\n---\n\n## Storage & Resources\n\n### dataVolumes\n\nDisplay data volume information.\n\n```bash\nhana-cli dataVolumes\n```\n\n### disks\n\nDisplay disk information.\n\n```bash\nhana-cli disks\n```\n\n### ports\n\nList database port assignments.\n\n```bash\nhana-cli ports\n```\n\n### reclaim\n\nReclaim database resources.\n\n**Aliases**: `re`\n\n```bash\nhana-cli reclaim\n```\n\n**Operations Executed**:\n1. `ALTER SYSTEM RECLAIM LOB SPACE` - Recover LOB storage\n2. `ALTER SYSTEM RECLAIM LOG` - Free transaction log space\n3. `ALTER SYSTEM RECLAIM DATAVOLUME 105 DEFRAGMENT` - Defragment storage\n\n---\n\n## Configuration Files\n\n### iniFiles\n\nList INI configuration files.\n\n**Aliases**: `if`, `ini`\n\n```bash\nhana-cli iniFiles\n```\n\n**Query**: `SELECT * FROM M_INIFILES`\n\n### iniContents\n\nDisplay INI file contents.\n\n```bash\nhana-cli iniContents [file]\n```\n\n**Query**: `SELECT * FROM M_INIFILE_CONTENTS`\n\n---\n\n## Tracing & Debugging\n\n### traces\n\nList trace files.\n\n**Aliases**: `tf`, `Traces`\n\n```bash\nhana-cli traces\n```\n\n**Query**: `SELECT * FROM M_TRACEFILES`\n\n### traceContents\n\nDisplay trace file contents.\n\n```bash\nhana-cli traceContents [trace]\n```\n\n---\n\n## Data Types\n\n### dataTypes\n\nDisplay HANA data type specifications.\n\n```bash\nhana-cli dataTypes\n```\n\n**Query**: `SELECT TYPE_NAME, COLUMN_SIZE, CREATE_PARAMS FROM DATA_TYPES`\n\n**UI Alternative**: `dataTypesUI`\n\n---\n\n## System Tables Reference\n\n| Table | Purpose | Command |\n|-------|---------|---------|\n| `M_SYSTEM_OVERVIEW` | System overview | systemInfo |\n| `M_SERVICES` | Running services | systemInfo |\n| `M_FEATURES` | Available features | features |\n| `M_TRACEFILES` | Trace file list | traces |\n| `M_INIFILES` | INI file list | iniFiles |\n| `M_INIFILE_CONTENTS` | INI content | iniContents |\n| `DATA_TYPES` | Type definitions | dataTypes |\n\n---\n\n## Common Workflows\n\n### Health Check\n\n```bash\n# System overview\nhana-cli systemInfo\n\n# Check features\nhana-cli features\n\n# Review configuration\nhana-cli iniFiles\n```\n\n### Performance Investigation\n\n```bash\n# View trace files\nhana-cli traces\n\n# Check specific trace\nhana-cli traceContents [tracefile]\n\n# Review feature usage\nhana-cli featureUsage\n```\n\n### Storage Management\n\n```bash\n# Check volumes\nhana-cli dataVolumes\n\n# Check disks\nhana-cli disks\n\n# Reclaim space\nhana-cli reclaim\n```\n\n---\n\n## Output Examples\n\n### systemInfo Output\n\n```\nDatabase User: DBADMIN\nHANA Version: 2.00.059.00\n\nSystem Overview:\n┌────────────────────┬─────────────────────────┐\n│ NAME │ VALUE │\n├────────────────────┼─────────────────────────┤\n│ Database Name │ HXE │\n│ Database Version │ 2.00.059.00 │\n│ Start Time │ 2025-11-22 08:00:00 │\n└────────────────────┴─────────────────────────┘\n```\n\n### features Output\n\n```\n┌───────────────────────────┬─────────┐\n│ FEATURE_NAME │ ENABLED │\n├───────────────────────────┼─────────┤\n│ Calculation Views │ TRUE │\n│ Graph Engine │ TRUE │\n│ Document Store │ TRUE │\n│ Script Server │ TRUE │\n└───────────────────────────┴─────────┘\n```\n\n---\n\n*Reference: [https://github.com/SAP-samples/hana-developer-cli-tool-example*](https://github.com/SAP-samples/hana-developer-cli-tool-example*)\n","content_type":"text/markdown; charset=utf-8","language":"markdown","size":5046,"content_sha256":"a124185ef22ad55a50c6ec3fc3540bed5addf62fb3909bba40a333d63b7e3410"},{"filename":"references/troubleshooting.md","content":"# SAP HANA CLI - Troubleshooting Guide\n\n**Source**: [https://github.com/SAP-samples/hana-developer-cli-tool-example](https://github.com/SAP-samples/hana-developer-cli-tool-example)\n\nCommon issues, diagnostic commands, and solutions.\n\n---\n\n## Diagnostic Commands\n\n### Connection Status\n\n```bash\nhana-cli status\n```\n\nVerify current connection is active.\n\n### Privilege Error Analysis\n\n```bash\nhana-cli privilegeError [guid]\n```\n\n**Aliases**: `pe`, `getInsufficientPrivilegeErrorDetails`\n\nDiagnoses specific privilege errors using the error GUID.\n\n**System Procedure**: `SYS.GET_INSUFFICIENT_PRIVILEGE_ERROR_DETAILS`\n\n### User Inspection\n\n```bash\nhana-cli inspectUser [user]\n```\n\nView user metadata and privileges.\n\n---\n\n## Common Issues\n\n### Connection Problems\n\n| Error | Cause | Solution |\n|-------|-------|----------|\n| Connection refused | Wrong host/port | Verify hostname and port |\n| SSL handshake failed | Certificate issue | Add `--trustStore` |\n| Authentication failed | Wrong credentials | Check user/password |\n| Connection timeout | Network issue | Check firewall rules |\n| Host not found | DNS issue | Use IP address |\n\n**Diagnostic Steps**:\n\n```bash\n# 1. Check current status\nhana-cli status\n\n# 2. Test with explicit credentials\nhana-cli connect -n \"host:443\" -u USER -p PASS --encrypt\n\n# 3. Add trust store if needed\nhana-cli connect --trustStore /path/to/cert.pem\n```\n\n### Permission Errors\n\n| Error | Cause | Solution |\n|-------|-------|----------|\n| Insufficient privilege | Missing role | Grant required roles |\n| Object not found | Wrong schema | Check schema name |\n| Access denied | Object ownership | Check privileges |\n\n**Diagnostic Steps**:\n\n```bash\n# 1. Get error GUID from error message\n# 2. Analyze with privilegeError\nhana-cli privilegeError \u003cguid>\n\n# 3. Check user details\nhana-cli inspectUser\n\n# 4. Review available roles\nhana-cli roles\n```\n\n### HDI Container Issues\n\n| Error | Cause | Solution |\n|-------|-------|----------|\n| HDI not activated | Service disabled | Run `activateHDI` |\n| Cannot create container | No admin rights | Get HDI admin role |\n| Container exists | Name conflict | Use unique name |\n| Cannot drop group | Not empty | Drop containers first |\n\n**Diagnostic Steps**:\n\n```bash\n# 1. Check HDI status\nhana-cli containers\n\n# 2. Verify admin rights\nhana-cli adminHDI\n\n# 3. List container users\nhana-cli createContainerUsers -c CONTAINER --list\n```\n\n### Cloud Connection Issues\n\n| Error | Cause | Solution |\n|-------|-------|----------|\n| Instance not found | Wrong name | Verify instance name |\n| Instance stopped | Not running | Run `hanaCloudStart` |\n| Service key invalid | Expired/revoked | Regenerate key |\n| BTP target wrong | Wrong subaccount | Reconfigure with `btp` |\n\n**Diagnostic Steps**:\n\n```bash\n# 1. Check BTP target\nhana-cli btpInfo\n\n# 2. List instances\nhana-cli hanaCloudInstances\n\n# 3. Start if stopped\nhana-cli hanaCloudStart \u003cinstance>\n\n# 4. Reconfigure BTP\nhana-cli btp\n```\n\n---\n\n## Error Messages Reference\n\n### Connection Errors\n\n**\"ECONNREFUSED\"**\n```\nError: connect ECONNREFUSED 127.0.0.1:30015\n```\nSolution: Check host and port, ensure database is running.\n\n**\"SSL_ERROR_SYSCALL\"**\n```\nError: SSL_ERROR_SYSCALL\n```\nSolution: Enable encryption with `--encrypt` or add trust store.\n\n**\"EHOSTUNREACH\"**\n```\nError: connect EHOSTUNREACH\n```\nSolution: Check network connectivity, VPN if required.\n\n### Authentication Errors\n\n**\"Invalid username or password\"**\n```\nError: authentication failed\n```\nSolution: Verify credentials, check user is not locked.\n\n**\"User is locked\"**\n```\nError: user account is locked\n```\nSolution: Unlock user via HANA Studio or SQL.\n\n### Privilege Errors\n\n**\"Insufficient privilege\"**\n```\nError: insufficient privilege: Not authorized\n```\nSolution: Use `privilegeError` with GUID to diagnose, grant required roles.\n\n---\n\n## Credential File Issues\n\n### Missing Credentials\n\n```bash\n# Check file discovery order\nls -la default-env*.json\nls -la .cdsrc-private.json\nls -la .env\n```\n\n### Invalid JSON\n\n```bash\n# Validate JSON syntax\ncat default-env.json | python -m json.tool\n```\n\n### Wrong Credentials Priority\n\nRemember the priority order:\n1. `default-env-admin.json` (with --admin)\n2. `.cdsrc-private.json` (cds bind)\n3. `.env` file\n4. `--conn` parameter\n5. `default-env.json`\n6. `~/.hana-cli/default.json`\n\n---\n\n## System Resource Issues\n\n### Reclaim Resources\n\n```bash\n# Reclaim storage space\nhana-cli reclaim\n```\n\nExecutes:\n- `ALTER SYSTEM RECLAIM LOB SPACE`\n- `ALTER SYSTEM RECLAIM LOG`\n- `ALTER SYSTEM RECLAIM DATAVOLUME 105 DEFRAGMENT`\n\n### Check Storage\n\n```bash\n# View data volumes\nhana-cli dataVolumes\n\n# View disk info\nhana-cli disks\n```\n\n---\n\n## Debug Mode\n\nEnable debug output:\n\n```bash\n# Set DEBUG environment variable\nDEBUG=* hana-cli \u003ccommand>\n\n# Or use --debug flag if available\nhana-cli \u003ccommand> --debug\n```\n\n---\n\n## Reporting Issues\n\n```bash\n# Open issue on GitHub\nhana-cli issue\n```\n\nOpens browser to create GitHub issue with:\n- Version information\n- Environment details\n- Steps to reproduce\n\n---\n\n## Getting Help\n\n### In-CLI Help\n\n```bash\nhana-cli --help\nhana-cli \u003ccommand> --help\n```\n\n### Documentation\n\n```bash\nhana-cli readMe\nhana-cli openReadMe # Opens in browser\n```\n\n### Changelog\n\n```bash\nhana-cli changeLog\nhana-cli openChangeLog # Opens in browser\n```\n\n---\n\n*Reference: [https://github.com/SAP-samples/hana-developer-cli-tool-example*](https://github.com/SAP-samples/hana-developer-cli-tool-example*)\n","content_type":"text/markdown; charset=utf-8","language":"markdown","size":5424,"content_sha256":"1b932ca6227f99c28d8e60ef8ba0df88a23ee6a9cd746b3399826c84b18ce8d5"},{"filename":"references/web-ui.md","content":"# SAP HANA CLI - Web UI Reference\n\n**Source**: [https://github.com/SAP-samples/hana-developer-cli-tool-example](https://github.com/SAP-samples/hana-developer-cli-tool-example)\n\nThe hana-cli includes a browser-based Fiori LaunchPad interface for visual operations.\n\n---\n\n## Launching the Web UI\n\n### Main UI Command\n\n```bash\nhana-cli UI\n```\n\nOpens a browser-based LaunchPad with all available applications.\n\n### Command-Specific UIs\n\nMany commands have UI alternatives:\n\n| Command | UI Command | Purpose |\n|---------|------------|---------|\n| `tables` | `tablesUI` | Browse tables visually |\n| `containers` | `containersUI` | Manage HDI containers |\n| `massConvert` | `massConvertUI` | Visual mass conversion |\n| `querySimple` | `querySimpleUI` | Query builder interface |\n| `systemInfo` | `systemInfoUI` | System dashboard |\n| `schemas` | `schemasUI` | Schema browser |\n| `functions` | `functionsUI` | Function browser |\n| `indexes` | `indexesUI` | Index browser |\n| `dataTypes` | `dataTypesUI` | Type reference |\n| `features` | `featuresUI` | Feature dashboard |\n| `featureUsage` | `featureUsageUI` | Usage metrics |\n| `inspectTable` | `inspectTableUI` | Table inspector |\n| `changeLog` | `changeLogUI` | Version history |\n| `readMe` | `readMeUI` | Documentation |\n| `hanaCloudInstances` | `hanaCloudHDIInstancesUI` | Cloud instances |\n\n---\n\n## Architecture\n\n### Technology Stack\n\n- **Framework**: SAPUI5 1.142.0\n- **Shell**: SAP Universal Shell (ushell)\n- **Libraries**:\n - `sap.m` - Mobile controls\n - `sap.ushell` - Shell container\n - `sap.ui.layout` - Layout components\n - `sap.ui.rta` - Runtime adaptation\n - `sap.uxap` - Object page components\n\n### Theme Support\n\nAutomatic theme detection:\n- Light mode: `sap_horizon`\n- Dark mode: `sap_horizon_dark`\n\n```javascript\n// Theme detection\nif (window.matchMedia('(prefers-color-scheme: dark)').matches) {\n sap.ui.getCore().applyTheme('sap_horizon_dark');\n}\n```\n\n---\n\n## API Endpoints\n\n### GET /\n\nRetrieves current prompts configuration.\n\n```javascript\n// Returns JSON with current settings\n{ schema: \"MYSCHEMA\", limit: 200, ... }\n```\n\n### PUT /\n\nUpdates prompts configuration.\n\n```javascript\n// Request body\n{ schema: \"NEWSCHEMA\", table: \"MYTABLE\" }\n```\n\n---\n\n## Web Server Configuration\n\n### Default Port\n\nCommands launch on port 3010 by default.\n\n```bash\nhana-cli cds -p 3010\nhana-cli UI -p 4000 # Custom port\n```\n\n### Port Configuration\n\n```bash\n# Specify custom port\nhana-cli \u003ccommand>UI -p \u003cport>\n```\n\nPort range: 1-65535\n\n---\n\n## Route Structure\n\n| Route | Handler | Purpose |\n|-------|---------|---------|\n| `/` | `index.js` | Main prompts API |\n| `/dfa` | `dfa.js` | Digital Assistant routes |\n| `/docs` | `docs.js` | Documentation routes |\n| `/excel` | `excel.js` | Excel export |\n| `/inspect` | `hanaInspect.js` | Object inspection |\n| `/list` | `hanaList.js` | Object listings |\n| `/static` | `static.js` | Static file serving |\n| `/ws` | `webSocket.js` | WebSocket connections |\n\n---\n\n## Application Structure\n\n```\napp/\n├── README.md\n├── ui5.yaml\n├── ui5-local.yaml\n├── appconfig/\n│ └── fioriSandboxConfig.json\n├── dfa/\n│ ├── library.js\n│ ├── library-preload.js\n│ └── help/\n├── resources/\n│ ├── index.html\n│ ├── init.js\n│ ├── favicon.ico\n│ ├── WebAssistant.js\n│ ├── common/\n│ ├── inspect/\n│ ├── massConvert/\n│ ├── systemInfo/\n│ └── tables/\n```\n\n---\n\n## Features\n\n### Interactive Prompts\n\nThe UI provides visual input for all command parameters:\n- Schema selection dropdowns\n- Table/view pickers\n- Output format selectors\n- Limit/offset controls\n\n### Real-Time Results\n\nResults display in formatted tables with:\n- Sorting\n- Filtering\n- Pagination\n- Export options\n\n### Swagger/OpenAPI Documentation\n\nOData and REST endpoints include Swagger UI:\n\n```bash\n# Access API documentation\nhttp://localhost:3010/api-docs\n```\n\n### GraphQL Endpoint\n\nGraphQL support available at:\n\n```bash\nhttp://localhost:3010/graphql\n```\n\n---\n\n## Integration with External Tools\n\n### Open Database Explorer\n\n```bash\nhana-cli openDBExplorer\n```\n\nOpens HANA Database Explorer with current credentials.\n\n**Cloud Region Routing**:\n- us10, us20: US cloud cockpit URLs\n- eu10, eu20: EU cloud cockpit URLs\n- ap10, ap11, ap21: APAC cloud cockpit URLs\n\n**On-Premise**: Queries `M_INIFILE_CONTENTS` for api_url.\n\n### Open Business Application Studio\n\n```bash\nhana-cli openBAS\n```\n\nOpens BAS with current BTP target.\n\n---\n\n## Customization\n\n### Namespace Configuration\n\nCustom UI5 namespace:\n\n```javascript\n\"sap.hanacli.common\": \"./common\"\n```\n\n### Flexibility Services\n\nRuntime UI adaptation via `SessionStorageConnector`.\n\n---\n\n## Security\n\n- Credentials passed via memory (not URL)\n- Same-origin requests only\n- Session-based authentication\n\n---\n\n*Reference: [https://github.com/SAP-samples/hana-developer-cli-tool-example/tree/main/app*](https://github.com/SAP-samples/hana-developer-cli-tool-example/tree/main/app*)\n","content_type":"text/markdown; charset=utf-8","language":"markdown","size":5020,"content_sha256":"19ff31bae76aeb8791f4a3d0d409d706877d54f98fb8135e49f381fe84a95b57"},{"filename":"templates/cdsrc-private.json","content":"{\n \"requires\": {\n \"db\": {\n \"kind\": \"hana\",\n \"binding\": {\n \"type\": \"cf\",\n \"apiEndpoint\": \"https://api.cf.\u003cregion>.hana.ondemand.com\",\n \"org\": \"\u003corg-name>\",\n \"space\": \"\u003cspace-name>\",\n \"instance\": \"\u003chdi-service-instance-name>\",\n \"key\": \"\u003cservice-key-name>\"\n }\n }\n }\n}\n","content_type":"application/json; charset=utf-8","language":"json","size":330,"content_sha256":"722ec255b161a9e6830a27a18d6011a91b35fac7e5a0287c72c84a799514ae46"},{"filename":"templates/default-env.json","content":"{\n \"VCAP_SERVICES\": {\n \"hana\": [\n {\n \"name\": \"hana-db\",\n \"label\": \"hana\",\n \"tags\": [\"hana\", \"database\", \"relational\"],\n \"credentials\": {\n \"host\": \"\u003chostname>\",\n \"port\": \"\u003cport>\",\n \"user\": \"\u003cusername>\",\n \"password\": \"\u003cpassword>\",\n \"schema\": \"\u003cschema>\",\n \"encrypt\": true,\n \"sslValidateCertificate\": true,\n \"sslTrustStore\": \"\u003cpath-to-certificate>\"\n }\n }\n ]\n }\n}\n","content_type":"application/json; charset=utf-8","language":"json","size":484,"content_sha256":"e68fce20e5a1b99c70e4c1ce695f82fb53b1df5dbf8eab3bf70c0d4df37380e3"}],"content_json":{"type":"doc","content":[{"type":"heading","attrs":{"level":1},"content":[{"text":"SAP HANA Developer CLI (hana-cli)","type":"text"}]},{"type":"heading","attrs":{"level":2},"content":[{"text":"Related Skills","type":"text"}]},{"type":"bullet_list","content":[{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"sap-cap-capire","type":"text","marks":[{"type":"strong"}]},{"text":": Use for CAP database development, HDI container management, and CDS syntax comparison","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"sap-btp-cloud-platform","type":"text","marks":[{"type":"strong"}]},{"text":": Use for HANA Cloud operations, BTP integration, and cloud instance management","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"sap-abap-cds","type":"text","marks":[{"type":"strong"}]},{"text":": Use for comparing CDS syntax between CAP and ABAP or understanding HANA CDS features","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"sap-datasphere","type":"text","marks":[{"type":"strong"}]},{"text":": Use when working with SAP Datasphere integration or data warehousing scenarios","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"sap-dependency-security","type":"text","marks":[{"type":"strong"}]},{"text":": Use for secure dependency upgrades, exact MCP server pins, npm package hardening, lockfile linting, and cooldown policy when projects include hana-cli dependencies","type":"text"}]}]}]},{"type":"paragraph","content":[{"text":"A developer-centric command-line interface for SAP HANA database development, particularly useful in non-SAP tooling environments like VS Code.","type":"text"}]},{"type":"paragraph","content":[{"text":"Repository","type":"text","marks":[{"type":"strong"}]},{"text":": ","type":"text"},{"text":"https://github.com/SAP-samples/hana-developer-cli-tool-example","type":"text","marks":[{"type":"link","attrs":{"href":"https://github.com/SAP-samples/hana-developer-cli-tool-example","title":null}}]},{"text":" ","type":"text"},{"text":"npm Package","type":"text","marks":[{"type":"strong"}]},{"text":": ","type":"text"},{"text":"https://www.npmjs.com/package/hana-cli","type":"text","marks":[{"type":"link","attrs":{"href":"https://www.npmjs.com/package/hana-cli","title":null}}]},{"text":" ","type":"text"},{"text":"Current Version","type":"text","marks":[{"type":"strong"}]},{"text":": 3.202405.1 (April 2024) ","type":"text"},{"text":"Node.js Requirement","type":"text","marks":[{"type":"strong"}]},{"text":": ≥20.19.0","type":"text"}]},{"type":"hr","attrs":{"markup":"---"}},{"type":"heading","attrs":{"level":2},"content":[{"text":"Table of Contents","type":"text"}]},{"type":"bullet_list","content":[{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Quick Start","type":"text","marks":[{"type":"link","attrs":{"href":"#quick-start","title":null}}]}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Core Command Categories","type":"text","marks":[{"type":"link","attrs":{"href":"#core-command-categories","title":null}}]}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Output Formats","type":"text","marks":[{"type":"link","attrs":{"href":"#output-formats","title":null}}]}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Connection Configuration","type":"text","marks":[{"type":"link","attrs":{"href":"#connection-configuration","title":null}}]}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Common Workflows","type":"text","marks":[{"type":"link","attrs":{"href":"#common-workflows","title":null}}]}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Bundled Resources","type":"text","marks":[{"type":"link","attrs":{"href":"#bundled-resources","title":null}}]}]}]}]},{"type":"heading","attrs":{"level":2},"content":[{"text":"Quick Start","type":"text"}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Installation","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":"bash"},"content":[{"text":"# Install globally via npm (recommended)\nnpm install -g hana-cli\n\n# Verify installation\nhana-cli version","type":"text"}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"First Connection","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":"bash"},"content":[{"text":"# Interactive connection setup\nhana-cli connect\n\n# Or specify connection directly\nhana-cli connect -n \"hostname:port\" -u DBUSER -p PASSWORD --save\n\n# Using service key (HANA Cloud)\nhana-cli connectViaServiceKey","type":"text"}]},{"type":"hr","attrs":{"markup":"---"}},{"type":"heading","attrs":{"level":2},"content":[{"text":"MCP Integration (AI-Driven Database Operations)","type":"text"}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Overview","type":"text"}]},{"type":"paragraph","content":[{"text":"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.","type":"text"}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Setup","type":"text"}]},{"type":"paragraph","content":[{"text":"The bundled MCP config pins ","type":"text"},{"text":"[email protected]","type":"text","marks":[{"type":"code_inline"}]},{"text":". Use ","type":"text"},{"text":"sap-dependency-security","type":"text","marks":[{"type":"strong"}]},{"text":" before changing this pin because the server receives HANA tenant connection environment variables.","type":"text"}]},{"type":"heading","attrs":{"level":4},"content":[{"text":"1. Environment Variables","type":"text"}]},{"type":"paragraph","content":[{"text":"Required configuration (add to ~/.zshrc, ~/.bashrc, or project .env):","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":"bash"},"content":[{"text":"export HANA_HOST=\"your-hana-host.hanacloud.ondemand.com\"\nexport HANA_PORT=\"443\"\nexport HANA_USER=\"DBADMIN\"\nexport HANA_PASSWORD=\"your-password\"\nexport HANA_ENCRYPT=\"true\" # Optional, defaults to true\nexport HANA_DATABASE=\"\" # Optional, for MDC tenant\nexport HANA_CONNECTION_TYPE=\"single-container\" # Optional","type":"text"}]},{"type":"heading","attrs":{"level":4},"content":[{"text":"2. Connection Types","type":"text"}]},{"type":"bullet_list","content":[{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"single-container","type":"text","marks":[{"type":"strong"}]},{"text":" (default): Standard HANA databases","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"mdc-system","type":"text","marks":[{"type":"strong"}]},{"text":": Multi-tenant system database","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"mdc-tenant","type":"text","marks":[{"type":"strong"}]},{"text":": Specific tenant in multi-tenant environment","type":"text"}]}]}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"When to Use: CLI vs MCP","type":"text"}]},{"type":"table","attrs":{"layout":null},"content":[{"type":"tr","content":[{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Scenario","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Recommended Tool","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Why","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Exploratory queries, ad-hoc analysis","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"MCP","type":"text","marks":[{"type":"strong"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Natural language, no syntax needed","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Automation scripts, CI/CD pipelines","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"CLI","type":"text","marks":[{"type":"strong"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Scriptable, consistent output","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Learning database structure","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"MCP","type":"text","marks":[{"type":"strong"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Conversational discovery","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Generating CDS/EDMX/OpenAPI output","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"CLI","type":"text","marks":[{"type":"strong"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Supports 17+ formats","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Complex multi-step workflows","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"CLI","type":"text","marks":[{"type":"strong"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Fine-grained control","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Quick data sampling and inspection","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"MCP","type":"text","marks":[{"type":"strong"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Faster for one-off queries","type":"text"}]}]}]}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Example Natural Language Queries","type":"text"}]},{"type":"heading","attrs":{"level":4},"content":[{"text":"Schema & Table Discovery","type":"text"}]},{"type":"bullet_list","content":[{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"\"Show me all schemas in this HANA database\"","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"\"List all tables in the SYSTEM schema\"","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"\"What tables exist in the MY_APP schema?\"","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"\"Show me all views in the PUBLIC schema\"","type":"text"}]}]}]},{"type":"heading","attrs":{"level":4},"content":[{"text":"Table Structure & Metadata","type":"text"}]},{"type":"bullet_list","content":[{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"\"Describe the structure of the USERS table\"","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"\"What columns does the ORDERS table have?\"","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"\"Show me the data types for MY_TABLE\"","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"\"What is the primary key of the CUSTOMERS table?\"","type":"text"}]}]}]},{"type":"heading","attrs":{"level":4},"content":[{"text":"Data Sampling & Inspection","type":"text"}]},{"type":"bullet_list","content":[{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"\"Sample 5 rows from the PRODUCTS table\"","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"\"Show me the first 10 records from SALES_DATA\"","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"\"Get sample data from ORDER_ITEMS table\"","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"\"Display a few rows from MY_TABLE\"","type":"text"}]}]}]},{"type":"heading","attrs":{"level":4},"content":[{"text":"Query Execution","type":"text"}]},{"type":"bullet_list","content":[{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"\"How many rows are in the CUSTOMERS table?\"","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"\"Show me distinct values in the STATUS column of ORDERS\"","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"\"What is the maximum value in the PRICE column of PRODUCTS?\"","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"\"Find all records in USERS where country is 'USA'\"","type":"text"}]}]}]},{"type":"heading","attrs":{"level":4},"content":[{"text":"System Performance & Monitoring","type":"text"}]},{"type":"bullet_list","content":[{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"\"Check the HANA database status\"","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"\"Show me system performance metrics\"","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"\"What is the current database version?\"","type":"text"}]}]}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"MCP Tools Available","type":"text"}]},{"type":"paragraph","content":[{"text":"The hana-mcp-server provides these MCP tools:","type":"text"}]},{"type":"bullet_list","content":[{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"list_schemas","type":"text","marks":[{"type":"code_inline"}]},{"text":": Enumerate all schemas","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"list_tables","type":"text","marks":[{"type":"code_inline"}]},{"text":": Show tables in a schema","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"describe_table","type":"text","marks":[{"type":"code_inline"}]},{"text":": Get table structure and metadata","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"query","type":"text","marks":[{"type":"code_inline"}]},{"text":": Execute SQL queries from natural language","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"sample_data","type":"text","marks":[{"type":"code_inline"}]},{"text":": Retrieve sample rows","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"system_info","type":"text","marks":[{"type":"code_inline"}]},{"text":": Database status and performance","type":"text"}]}]}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Example: MCP + CLI Workflow","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":"bash"},"content":[{"text":"# 1. Use MCP to explore (natural language)\n\"Show me all tables in the PRODUCTS schema\"\n\n# 2. Use MCP to understand structure\n\"Describe the PRODUCTS.INVENTORY table\"\n\n# 3. Use CLI for format conversion (precise output)\nhana-cli inspectTable -t INVENTORY -s PRODUCTS -o cds\n\n# 4. Use CLI for HDI operations\nhana-cli createContainer -c MY_CONTAINER","type":"text"}]},{"type":"hr","attrs":{"markup":"---"}},{"type":"heading","attrs":{"level":2},"content":[{"text":"Core Command Categories","type":"text"}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Database Object Inspection","type":"text"}]},{"type":"table","attrs":{"layout":null},"content":[{"type":"tr","content":[{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Command","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Aliases","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Purpose","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"inspectTable","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"it","type":"text","marks":[{"type":"code_inline"}]},{"text":", ","type":"text"},{"text":"table","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Inspect table structure","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"inspectView","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"-","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Inspect view definition","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"inspectProcedure","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"-","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Inspect stored procedure","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"inspectFunction","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"-","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Inspect function definition","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"tables","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"-","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"List all tables in schema","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"views","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"-","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"List all views in schema","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"procedures","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"-","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"List stored procedures","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"functions","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"-","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"List functions","type":"text"}]}]}]}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Query Execution","type":"text"}]},{"type":"table","attrs":{"layout":null},"content":[{"type":"tr","content":[{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Command","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Aliases","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Purpose","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"querySimple","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"qs","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Execute SQL query","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"callProcedure","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"cp","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Execute stored procedure","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"hdbsql","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"-","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Direct SQL execution","type":"text"}]}]}]}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"HDI Container Management","type":"text"}]},{"type":"table","attrs":{"layout":null},"content":[{"type":"tr","content":[{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Command","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Aliases","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Purpose","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"containers","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"cont","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"List HDI containers","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"createContainer","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"-","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Create new container","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"dropContainer","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"-","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Remove container","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"activateHDI","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"-","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Enable HDI service","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"adminHDI","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"-","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Administer HDI privileges","type":"text"}]}]}]}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Cloud & BTP Operations","type":"text"}]},{"type":"table","attrs":{"layout":null},"content":[{"type":"tr","content":[{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Command","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Aliases","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Purpose","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"hanaCloudInstances","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"-","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"List HANA Cloud instances","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"hanaCloudStart","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"-","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Start cloud instance","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"hanaCloudStop","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"-","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Stop cloud instance","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"btp","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"-","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Configure BTP CLI","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"btpInfo","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"-","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Display BTP target info","type":"text"}]}]}]}]},{"type":"hr","attrs":{"markup":"---"}},{"type":"heading","attrs":{"level":2},"content":[{"text":"Output Formats","type":"text"}]},{"type":"paragraph","content":[{"text":"The ","type":"text"},{"text":"--output","type":"text","marks":[{"type":"code_inline"}]},{"text":" / ","type":"text"},{"text":"-o","type":"text","marks":[{"type":"code_inline"}]},{"text":" option supports 17+ formats:","type":"text"}]},{"type":"table","attrs":{"layout":null},"content":[{"type":"tr","content":[{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Format","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Use Case","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"tbl","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Human-readable table (default)","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"json","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"JSON data","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"yaml","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"YAML format","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"csv","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"CSV export","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"excel","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Excel file","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"cds","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"CAP CDS definitions","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"hdbcds","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"HANA CDS format","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"hdbtable","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"HDB Table definitions","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"sql","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"SQL DDL statements","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"edmx","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"OData EDMX metadata","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"openapi","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"OpenAPI/Swagger spec","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"graphql","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"GraphQL schema","type":"text"}]}]}]}]},{"type":"hr","attrs":{"markup":"---"}},{"type":"heading","attrs":{"level":2},"content":[{"text":"Connection Configuration","type":"text"}]},{"type":"paragraph","content":[{"text":"Connection credentials are searched in priority order:","type":"text"}]},{"type":"ordered_list","attrs":{"order":1,"listStyle":"number"},"content":[{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"default-env-admin.json","type":"text","marks":[{"type":"code_inline"}]},{"text":" (with ","type":"text"},{"text":"--admin","type":"text","marks":[{"type":"code_inline"}]},{"text":" flag)","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":".cdsrc-private.json","type":"text","marks":[{"type":"code_inline"}]},{"text":" (via ","type":"text"},{"text":"cds bind","type":"text","marks":[{"type":"code_inline"}]},{"text":")","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":".env","type":"text","marks":[{"type":"code_inline"}]},{"text":" file with VCAP_SERVICES","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"File specified via ","type":"text"},{"text":"--conn","type":"text","marks":[{"type":"code_inline"}]},{"text":" parameter","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"default-env.json","type":"text","marks":[{"type":"code_inline"}]},{"text":" in current/parent directories","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"~/.hana-cli/default.json","type":"text","marks":[{"type":"code_inline"}]}]}]}]},{"type":"paragraph","content":[{"text":"For connection templates, see ","type":"text"},{"text":"templates/default-env.json","type":"text","marks":[{"type":"code_inline"}]},{"text":".","type":"text"}]},{"type":"hr","attrs":{"markup":"---"}},{"type":"heading","attrs":{"level":2},"content":[{"text":"Common Workflows","type":"text"}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Inspect and Convert Table to CDS","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":"bash"},"content":[{"text":"# Inspect table structure\nhana-cli inspectTable -s MYSCHEMA -t MYTABLE\n\n# Convert to CDS format\nhana-cli inspectTable -s MYSCHEMA -t MYTABLE -o cds","type":"text"}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Mass Convert Schema Objects","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":"bash"},"content":[{"text":"# Convert all objects in schema to CDS\nhana-cli massConvert -s MYSCHEMA","type":"text"}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Execute Query with Export","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":"bash"},"content":[{"text":"# Run query and export to JSON\nhana-cli querySimple -q \"SELECT * FROM MYTABLE\" -o json\n\n# Export to Excel file\nhana-cli querySimple -q \"SELECT * FROM MYTABLE\" -o excel -f ./output -n report","type":"text"}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Manage HDI Containers","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":"bash"},"content":[{"text":"# List all containers\nhana-cli containers\n\n# Create new container\nhana-cli createContainer -c MY_CONTAINER -g MY_GROUP\n\n# Create container users\nhana-cli createContainerUsers -c MY_CONTAINER","type":"text"}]},{"type":"hr","attrs":{"markup":"---"}},{"type":"heading","attrs":{"level":2},"content":[{"text":"UI Commands","type":"text"}]},{"type":"paragraph","content":[{"text":"Many commands have browser-based UI alternatives (suffix ","type":"text"},{"text":"UI","type":"text","marks":[{"type":"code_inline"}]},{"text":"):","type":"text"}]},{"type":"bullet_list","content":[{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"tablesUI","type":"text","marks":[{"type":"code_inline"}]},{"text":" - Browse tables visually","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"containersUI","type":"text","marks":[{"type":"code_inline"}]},{"text":" - Manage containers in browser","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"massConvertUI","type":"text","marks":[{"type":"code_inline"}]},{"text":" - Visual mass conversion","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"querySimpleUI","type":"text","marks":[{"type":"code_inline"}]},{"text":" - Query builder interface","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"systemInfoUI","type":"text","marks":[{"type":"code_inline"}]},{"text":" - System dashboard","type":"text"}]}]}]},{"type":"hr","attrs":{"markup":"---"}},{"type":"heading","attrs":{"level":2},"content":[{"text":"Key Features","type":"text"}]},{"type":"bullet_list","content":[{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Multi-database support","type":"text","marks":[{"type":"strong"}]},{"text":": HANA, PostgreSQL, SQLite backends","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Format conversion","type":"text","marks":[{"type":"strong"}]},{"text":": 17+ output formats including CDS, EDMX, OpenAPI","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"HDI management","type":"text","marks":[{"type":"strong"}]},{"text":": Full container lifecycle management","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Cloud integration","type":"text","marks":[{"type":"strong"}]},{"text":": SAP BTP CLI and HANA Cloud support","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Interactive prompts","type":"text","marks":[{"type":"strong"}]},{"text":": Missing parameters prompted automatically","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Service key auth","type":"text","marks":[{"type":"strong"}]},{"text":": Secure cloud authentication","type":"text"}]}]}]},{"type":"hr","attrs":{"markup":"---"}},{"type":"heading","attrs":{"level":2},"content":[{"text":"Detailed References","type":"text"}]},{"type":"paragraph","content":[{"text":"For comprehensive documentation:","type":"text"}]},{"type":"bullet_list","content":[{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"All 91 Commands","type":"text","marks":[{"type":"strong"}]},{"text":": See ","type":"text"},{"text":"references/command-reference.md","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Connection & Security","type":"text","marks":[{"type":"strong"}]},{"text":": See ","type":"text"},{"text":"references/connection-security.md","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"HDI Management","type":"text","marks":[{"type":"strong"}]},{"text":": See ","type":"text"},{"text":"references/hdi-management.md","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Output Formats","type":"text","marks":[{"type":"strong"}]},{"text":": See ","type":"text"},{"text":"references/output-formats.md","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Cloud Operations","type":"text","marks":[{"type":"strong"}]},{"text":": See ","type":"text"},{"text":"references/cloud-operations.md","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Database Inspection","type":"text","marks":[{"type":"strong"}]},{"text":": See ","type":"text"},{"text":"references/db-inspection.md","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Mass Operations","type":"text","marks":[{"type":"strong"}]},{"text":": See ","type":"text"},{"text":"references/mass-operations.md","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"System Administration","type":"text","marks":[{"type":"strong"}]},{"text":": See ","type":"text"},{"text":"references/system-admin.md","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Web UI Interface","type":"text","marks":[{"type":"strong"}]},{"text":": See ","type":"text"},{"text":"references/web-ui.md","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Troubleshooting Guide","type":"text","marks":[{"type":"strong"}]},{"text":": See ","type":"text"},{"text":"references/troubleshooting.md","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Development Environment","type":"text","marks":[{"type":"strong"}]},{"text":": See ","type":"text"},{"text":"references/development-environment.md","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"ABAP Programming Patterns","type":"text","marks":[{"type":"strong"}]},{"text":": See ","type":"text"},{"text":"references/abap-programming.md","type":"text","marks":[{"type":"code_inline"}]}]}]}]},{"type":"hr","attrs":{"markup":"---"}},{"type":"heading","attrs":{"level":2},"content":[{"text":"Troubleshooting","type":"text"}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Connection Issues","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":"bash"},"content":[{"text":"# Check current connection status\nhana-cli status\n\n# Test with explicit credentials\nhana-cli connect -n \"host:443\" -u USER -p PASS --encrypt true\n\n# Use SSL trust store\nhana-cli connect --trustStore /path/to/certificate.pem","type":"text"}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Permission Errors","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":"bash"},"content":[{"text":"# Diagnose privilege errors\nhana-cli privilegeError\n\n# View current user info\nhana-cli inspectUser","type":"text"}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Version Compatibility","type":"text"}]},{"type":"bullet_list","content":[{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Node.js","type":"text","marks":[{"type":"strong"}]},{"text":": Requires ≥20.19.0","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"@sap/cds","type":"text","marks":[{"type":"strong"}]},{"text":": Uses 9.4.4","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"@sap/cds-dk","type":"text","marks":[{"type":"strong"}]},{"text":": Requires ≥8.9 for cds bind","type":"text"}]}]}]},{"type":"hr","attrs":{"markup":"---"}},{"type":"heading","attrs":{"level":2},"content":[{"text":"Bundled Resources","type":"text"}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Reference Documentation","type":"text"}]},{"type":"bullet_list","content":[{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"references/command-reference.md","type":"text","marks":[{"type":"code_inline"}]},{"text":" - Complete command reference with all options","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"references/abap-programming.md","type":"text","marks":[{"type":"code_inline"}]},{"text":" - ABAP-specific programming patterns","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"references/development-environment.md","type":"text","marks":[{"type":"code_inline"}]},{"text":" - Development setup and environment guidance","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"references/connection-security.md","type":"text","marks":[{"type":"code_inline"}]},{"text":" - Secure connection and credential handling","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"references/troubleshooting.md","type":"text","marks":[{"type":"code_inline"}]},{"text":" - Common errors and recovery steps","type":"text"}]}]}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Templates","type":"text"}]},{"type":"bullet_list","content":[{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"templates/default-env.json","type":"text","marks":[{"type":"code_inline"}]},{"text":" - Local connection template for CAP-style bindings","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"templates/cdsrc-private.json","type":"text","marks":[{"type":"code_inline"}]},{"text":" - CAP private configuration template","type":"text"}]}]}]},{"type":"heading","attrs":{"level":2},"content":[{"text":"Resources","type":"text"}]},{"type":"bullet_list","content":[{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"GitHub","type":"text","marks":[{"type":"strong"}]},{"text":": ","type":"text"},{"text":"https://github.com/SAP-samples/hana-developer-cli-tool-example","type":"text","marks":[{"type":"link","attrs":{"href":"https://github.com/SAP-samples/hana-developer-cli-tool-example","title":null}}]}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Intro Video","type":"text","marks":[{"type":"strong"}]},{"text":": ","type":"text"},{"text":"https://youtu.be/dvVQfi9Qgog","type":"text","marks":[{"type":"link","attrs":{"href":"https://youtu.be/dvVQfi9Qgog","title":null}}]}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Cloud Shells Demo","type":"text","marks":[{"type":"strong"}]},{"text":": ","type":"text"},{"text":"https://youtu.be/L7QyVLvAIIQ","type":"text","marks":[{"type":"link","attrs":{"href":"https://youtu.be/L7QyVLvAIIQ","title":null}}]}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"SAP HANA Cloud","type":"text","marks":[{"type":"strong"}]},{"text":": ","type":"text"},{"text":"https://help.sap.com/docs/hana-cloud","type":"text","marks":[{"type":"link","attrs":{"href":"https://help.sap.com/docs/hana-cloud","title":null}}]}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"SAP CAP","type":"text","marks":[{"type":"strong"}]},{"text":": ","type":"text"},{"text":"https://cap.cloud.sap/docs/","type":"text","marks":[{"type":"link","attrs":{"href":"https://cap.cloud.sap/docs/","title":null}}]}]}]}]},{"type":"hr","attrs":{"markup":"---"}},{"type":"paragraph","content":[{"text":"Last Updated: 2025-11-26 | Version: 1.1.0","type":"text","marks":[{"type":"em"}]}]}]},"metadata":{"date":"2026-11-02","name":"sap-hana-cli","author":"@skillopedia","source":{"stars":487,"repo_name":"sap-skills","origin_url":"https://github.com/secondsky/sap-skills/blob/HEAD/plugins/sap-hana-cli/skills/sap-hana-cli/SKILL.md","repo_owner":"secondsky","body_sha256":"15417293b9e9ad5e22cbe0f93439087bc21a31ab2e02342b8fe77ea962e77a2f","cluster_key":"5e8b5687163b836eda27c43c4c0c5ec83ac4315c9997fdd59d5b8fb51628566a","clean_bundle":{"format":"clean-skill-bundle-v1","source":"secondsky/sap-skills/plugins/sap-hana-cli/skills/sap-hana-cli/SKILL.md","text_bytes":81952,"source_commit":"652a861d3ed422b71f01c8805f9ec03b14017cd8","skills_sh_rank":15450,"attachment_count":16,"text_attachments":16,"attachment_storage":"skill_attachments","binary_attachments":0},"cluster_size":1,"skill_md_path":"plugins/sap-hana-cli/skills/sap-hana-cli/SKILL.md","import_metadata":{"date":"2026-11-02","author":"@skillopedia","version":"v1","category":"data-analytics","category_label":"Data"},"exact_dupes_collapsed_into_this":0},"license":"GPL-3.0","version":"v1","category":"data-analytics","metadata":{"version":"2.4.1","website":"https://sap-ai-skills.com","maintainer":"Eduard Jiglau","last_verified":"2025-11-26","maintainer_email":"[email protected]"},"import_tag":"skills-sh-top20k-2026-11","description":"Assists with SAP HANA Developer CLI (hana-cli) for database development and administration.\nUse when: installing hana-cli, connecting to SAP HANA databases, inspecting database objects\n(tables, views, procedures, functions), managing HDI containers, executing SQL queries,\nconverting metadata to CDS/EDMX/OpenAPI formats, managing SAP HANA Cloud instances,\nworking with BTP CLI integration, or troubleshooting hana-cli commands.\nCovers: 91 commands, 17+ output formats, HDI container management, cloud operations.\n"}},"renderedAt":1793676481523}

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 - sap-dependency-security : Use for secure dependency upgrades, exact MCP server pins, npm package hardening, lockfile linting, and cooldown…