open-abap-odata
A set of OData and Gateway shims in ABAP that serve services built the SEGW way, from a model provider and a data provider class, on Node.js and in "Steampunk".
Serves OData services built the SEGW way, from a model provider class and a data provider class, on Node.jsNode.jsA cross-platform JavaScript runtime that servers, command line tools and scripts written in JavaScript are run with. For the things here, the prerequisite a repository names when its build is a set of npm scripts. and in "Steampunk". A service is registered by name with its two classes before the first request, the way SEGW registration does it on a real system, and ZCL_OAO_HTTP_HANDLER resolves /sap/opu/odata/sap/<service>/... through that registry and creates the classes dynamically, so the shim holds no concrete service class and can be consumed as a transpiler library. It stops at the handler: the IF_HTTP_EXTENSION and IF_HTTP_SERVICE_EXTENSION scaffolding is implemented separately on the target system and calls the handler's methods. Running it locally takes NodeJS 16 or later.
Facts
Where it sits
Who is behind it
In the atlas: maintains 9@open-abapmaintainerTimofei BazhukovContributes to this
In the atlas: contributes to 2@BazhukovTimaLars HvamContributes to this
In the atlas: maintains 13, contributes to 92, wrote 1@larshpAlice V.Contributes to this
In the atlas: maintains 6, contributes to 12@oisee3 contributors
What it declares
Every artifact
- Type
- Package
- Origin
- By a community org
As a package
- Where it runs
- does not say
- Distributed through
- does not say
Connections
Exposing data and operations through OData
A cross-platform JavaScript runtime that servers, command line tools and scripts written in JavaScript are run with. For the things here, the prerequisite a repository names when its build is a set of npm scripts.
Download
README
quoted from open-abap/open-abap-odata under MIT, readopen-abap-odata
OData shims for Node.js and Steampunk
Run locally with NodeJS 16+, npm install && npm test
Scaffolding of IF_HTTP_EXTENSION and IF_HTTP_SERVICE_EXTENSION must be implemented separately on the target system by calling ZCL_OAO_HTTP_HANDLER methods.
Services are registered by name before the first request, the same way SEGW registration does it on a real system:
zcl_oao_registry=>register(
iv_service = 'ZSEGW_SRV'
iv_mpc = 'ZCL_ZSEGW_MPC_EXT'
iv_dpc = 'ZCL_ZSEGW_DPC_EXT' ).
ZCL_OAO_HTTP_HANDLER resolves /sap/opu/odata/sap/<service>/... through the registry and instantiates the classes dynamically, so the shim can be consumed as a transpiler lib without any concrete service class in it. See test/start.mjs for the Node.js side of the registration.
Others providing
Compare all 12 on the OData page →- launchpad-kpilaunchpad-kpiAn OData service and a one-method ABAP interface that put a number from an abap2UI5 app on a SAP Fiori launchpad tile.community org, abapPuts a number from an abap2UI5 app on a Fiori launchpad tilefrom ABAP
- com.sap.cds:cds-adapter-odata-v2com.sap.cds:cds-adapter-odata-v2The OData V2 protocol adapter for CAP Java, which the runtime serves natively once this beta module is on the classpath, so a V2 frontend keeps working without a change to the CDS model.sap official, capOData V2 protocol adapter built into the CAP Java runtimefrom CAP
- com.sap.cds:cds-adapter-odata-v4com.sap.cds:cds-adapter-odata-v4The OData V4 protocol adapter for CAP Java, auto-exposing every Application Service in the model at /odata/v4/<Service> without protocol code of its own, active by default in the CDS Maven Archetype.sap official, capOData V4 protocol adapter for CAP Java Application Servicesfrom CAP
- @cap-js-community/odata-v2-adapter@cap-js-community/odata-v2-adapterExposes a CAP service as OData V2 for clients that cannot move to V4.community org, capExposes a CAP service as OData V2from CAP
- odata-fwodata-fwA framework for building OData services in ABAP with each entity implemented as its own class, reusable across services, so a model change no longer forces the SEGW service to be regenerated.independent, abapABAP framework for OData services with one class per entityfrom ABAP
- @odatano/core@odatano/coreA CAP plugin that serves the Cardano blockchain as OData V4, giving enterprise-shaped access to a public chain, funded through Cardano Catalyst.independent, capCAP plugin serving the Cardano blockchain as OData V4from CAP
- @odatano/nightgate@odatano/nightgateIndexes the Midnight blockchain and submits transactions to it from CAP, exposed as OData V4, with command-line tools for schema deltas, key rotation and migration.independent, capCAP plugin indexing the Midnight blockchain, exposed as OData V4from CAP
- open-steamgateopen-steamgateAn ABAP application server you clone and run on your own machine: transpiled ABAP serving classic /IWBEP/ OData v2 to Fiori over a local database, with no SAP system attached.independent, abapLocal ABAP server serving /IWBEP/ OData v2 without an SAP systemfrom ABAP
- @root3287/cap-segw@root3287/cap-segwA CAP build tool that compiles a CDS service into the ABAP Model Provider and Data Provider classes a SAP Gateway SEGW project expects, for OData V4 by default or V2.independent, capCompiler from a CDS service to SEGW model and data provider classesfrom CAP
- @sap/cds@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, capCAP Node.js runtimefrom CAP
- OData Batch CreatorOData Batch CreatorBuilds the payload for an OData batch request from an uploaded $metadata XML file, generating sample data from the metadata rather than asking for it by hand.independent, abapBuilds OData batch request payloads from an uploaded $metadata filefrom ABAP
Details
Sources
Sources are graph entities: the same page may back several entries, and an unreachable source flags every row that rests on it.
Compatibility and provenance
abaplint
Flavors
“Multi-target ABAP libraries. Run on ECC + Steampunk + Node.js” — open-abap.org
“OData shims for Node.js and Steampunk” — open-abap/open-abap-odata — README
Contributors
History in the atlas
- First seen.
For your agent
- Ref
artifact:open-abap-open-abap-odata- JSON
- /artifacts/open-abap-open-abap-odata.json
- MCP
- Connecting an agent