Skip to content

v0.14.0: SAP HANA with SAP's data dictionary as tools, and a new OData connector type

Choose a tag to compare

@keysersoft keysersoft released this 27 Sep 10:02
3207957

SAP HANA, with SAP's own data dictionary as tools

SAP HANA is now a database engine (#756): hana://host:port/?databaseName=…&currentSchema=…&sapClient=… connection strings, read-only at the database level (SET TRANSACTION READ ONLY), rows streamed and capped at 1000, a statement timeout, and TLS with one switch (tls=verify|no-verify|off). The bundled driver is SAP's pure-JavaScript hdb; SAP's native @sap/hana-client can be installed by self-hosters and selected per connector (guide).

A new SAP S/4HANA (HANA SQL) connector solves the part that usually makes SQL on SAP useless to a model: tables called BKPF, columns called BUKRS or HSL. Its tools read SAP's data dictionary from the database itself:

  • search tables by description, with their row count, flagging the S/4HANA compatibility views that plain SQL reads wrongly;
  • describe a table with business labels, keys, the currency or unit field of every amount, check tables and foreign-key join conditions;
  • find which table holds a business field ("net due date"), and what the codes of a field mean;
  • search SAP's released CDS views and read their measures, dimensions and labels;
  • the organization structure (company codes with currency and fiscal year variant, plants, sales and purchasing organizations);
  • a guide to the SAP data model for SQL: client, dates, leading zeros, currency decimals, the Universal Journal (signs, ledgers, balance carryforward, open items), sales, inventory, procurement, operations, pitfalls and query recipes.

HR and user/password tables are on its denied-tables list by default. Verified live against an SAP S/4HANA 2025 Private Cloud system: every tool, plus revenue, gross margin, receivables aging, DSO and inventory queries written with it.

A new connector type: OData

OData joins REST, SOAP, GraphQL, Database and MCP. Every OData connector, and every REST connector with OData settings, gets five tools:

  • list the services of an SAP Gateway (V2 and V4 catalogs), searchable;
  • describe a service and an entity set from its $metadata: labels, keys, currency and unit fields, text fields, dimensions and measures, required filters, parameterised views;
  • query an entity set, with field names checked against the model before the call ("did you mean"), server paging followed, and V2 / V4 answers returned as plain rows;
  • read one entity by simple or composite key.

SAP settings (sap-client, sap-language, allowed services) are part of the connector, SAP writes fetch their CSRF token, and Import Tools → OData $metadata turns entity sets into named tools. Verified against public OData V2 and V4 services.

New SAP S/4HANA (OData) connector for on-premise and Private Cloud (Basic auth or OAuth, SAP client), with ready tools for journal entry items, billing documents, sales orders, business partners, material stock and products. The SAP S/4HANA Cloud connector gains the same OData tools over its APIs, and its journal entry tool now calls the right service.

Connectors: 261 → 263.

Also in this release

  • Denied tables for any database connector: a statement that names a listed table is refused (glob patterns, editable in the connector settings).
  • The read-only guard also refuses SELECT … INTO and locking reads (FOR UPDATE, FOR SHARE).
  • Statement and connect timeouts on PostgreSQL, MySQL/MariaDB and Oracle.
  • Static tools can hold a guide split by topic (staticResponses).

Fixes

  • Saving a database connector's settings dropped the catalog adapter's slug and version (logo, catalog re-sync); connector settings are now merged on update.
  • oracle://, mongodb:// and sqlite: connection strings were refused when typed literally, and sqlserver:// was sent to the PostgreSQL driver.