PackagePackagetypeA library you install and call yourself.See every one →What this type is →by a community orgby a community orgoriginPublished by a community organisation, so it outlives any one maintainer.See every one →

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.js 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

Last pushLicenceMIT

Where it sits

Lives in
Provides
ODataABAPODatacapabilityExposing data and operations through OData, including the service model, metadata and protocol versions clients require. Version differences affect which clients can consume a service and which query features they can use.
Optional
Node.jsNode.jsoutside the atlasrunning it and its tests locally, with NodeJS 16 or later

Who is behind it

open-abapopen-abapOrganisationMaintains this
In the atlas: maintains 9
@open-abap
maintainerTimofei BazhukovPersonContributes to this
In the atlas: contributes to 2
@BazhukovTima
Lars HvamPersonContributes to this
In the atlas: maintains 13, contributes to 92, wrote 1
@larshp
Alice V.PersonContributes to this
In the atlas: maintains 6, contributes to 12
@oisee
3 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

Connections2

README

quoted from open-abap/open-abap-odata under MIT, read
open-abap/open-abap-odata/README.mdOn GitHub

open-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.

Overview

MIT, read
OData
  1. launchpad-kpiPuts a number from an abap2UI5 app on a Fiori launchpad tilefrom ABAP
  2. com.sap.cds:cds-adapter-odata-v2OData V2 protocol adapter built into the CAP Java runtimefrom CAP
  3. com.sap.cds:cds-adapter-odata-v4OData V4 protocol adapter for CAP Java Application Servicesfrom CAP
  4. @cap-js-community/odata-v2-adapterExposes a CAP service as OData V2from CAP
  5. odata-fwABAP framework for OData services with one class per entityfrom ABAP
  6. @odatano/coreCAP plugin serving the Cardano blockchain as OData V4from CAP
  7. @odatano/nightgateCAP plugin indexing the Midnight blockchain, exposed as OData V4from CAP
  8. open-steamgateLocal ABAP server serving /IWBEP/ OData v2 without an SAP systemfrom ABAP
  9. @root3287/cap-segwCompiler from a CDS service to SEGW model and data provider classesfrom CAP
  10. @sap/cdsCAP Node.js runtimefrom CAP
  11. OData Batch CreatorBuilds OData batch request payloads from an uploaded $metadata filefrom ABAP

Details

Sources3
Added by handdiscovered herechecked
github.com/open-abap/open-abap-odatatree, pushes, contributors, CIchecked
README.mdquoted, and what the entry declareschecked

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
discovered viaAdded by hand
first seen in the atlas
ecosystem and domainabap, protocols-and-apis
abaplint
issues under its own abaplint configuration0
lines6,563
statements3,874
objects129
files104
analysed, main
abaplint version2.120.84
Flavors2
Standard ABAP
“Multi-target ABAP libraries. Run on ECC + Steampunk + Node.js” — open-abap.orgchecked
ABAP Cloud
“OData shims for Node.js and Steampunk” — open-abap/open-abap-odata — READMEchecked
Contributors3

From the repository’s contributor list, .

History in the atlas1
  1. First seen.
For your agent
Ref
artifact:open-abap-open-abap-odata
JSON
/artifacts/open-abap-open-abap-odata.json
MCP
Connecting an agent