cancel
Showing results for 
Search instead for 
Did you mean: 

OData Gateway Service with multiple delta-enabled ODP extractors

Jan_van_Ansem
Contributor

Hi,

I am creating an ODATA connection from S/4HANA using the ODP Extraction with ODP context 'Datasources/Extractors'. This mechanism is expertly described in blogs by melbarbary1 and pruthvi.renukarya (many thanks both!)

Distributing-data-from-bw-system-using-odp-based-data-extraction-and-odata
Exposing-sap-bw-extractors-via-odp-as-an-odata-service/

Both blogs describe a simple scenario and I have no problem getting the same to work. When I upscale the scenario, I see some challenges though.
The specific challenge I am facing now is that when I add more entities to the project, only the first one has automatically the correct entity types and associations included for delta-enablement. For all subsequent extractors, I need to manually add some components, which is labour intensive and prone to errors.

I'll check with SAP to see if this is a product issue with the wizard, but for now I would be happy if anyone has a better workaround for this?

Below is the workaround I am currently using.

Step 1:

Create a model with 0CUSTOMER_ATTR and 0MATERIAL_ATTR. On the last screen of the wizard, it shows that Entity type DeltaLinksOfEntity and the Association are only generated for the datasource I selected first (0CUSTOMER_ATTR).

What is missing is the DeltaLinksOfEntityOf0MATERIAL_ATTR and the Association for entityOf0MATERIAL_ATTR.

Step 2:

Manually adjusted the model, creating the required Entity Types, Entity Sets, Associations and association sets:

The model generates the runtime objects successfully.

Further testing evidence:

Once the service is added in /IWFND/MAINT_SERVICE the EntitySets come up as expected:

For both Customer and Material, the initial (full) load work fine and subscription created correctly: (ODQMON)

The DeltaLinksOfEntityOf0MATERIAL_ATTR can successfully be used to fetch the DeltaToken:

And next deltas can be loaded without further issues.

So - technically it is possible to include multiple delta-enabled extractors in a ODATA gateway project but it does mean some manual crafting as the wizard only creates the correct objects for the first one.

Any solutions or better work-arounds would be much appreciated!

Jan.

Accepted Solutions (0)

Answers (0)