cancel
Showing results for 
Search instead for 
Did you mean: 

Mapping problem extending OData SAPCpiOutboundOrder edmx structure

08-09-2019 6:28 PM
4166 views 4 comments
SAP Managed Tags
Subscribe

Hi,

I want to add some fields to the SAPCpiOutboundOrder OData entity structure that is part of the CPI Standard content from "Replicate-Orders-From-SAP-Comerce-Cloud-To-SAP-ERP" package.

I've downloaded the according SAPCpiOutboundOrder.edmx file which contains the SAPCpiOutboundOrder entitiy as well as several sub-entities. After adding the fields in the edmx file I've uploaded it into CPI. Unfortunately the new fields aren't shown in the according mapping "MapOrderIDoc" out of the box.

To make the new fields usable in the mapping I try to replace the source edmx structure in the mapping by "edit source"

when replacing the source structure with the adjusted edmx

I'm asked to select an element - and a list of entities in the edmx is shown:

I select the Top-Level entitiy but unfortunately it seems that only this entity is loaded and not the other ones that belong to the mapping. So once I leave the Source and Target messages screen with Ok I see the mapping with 59 warnings

and all sub entity mappings claim to have a missing source.

So my question is how can I change (add fields) to an OData mapping with multiple (hierarchical) entities.Any help is highly appreciated.Markus

Accepted Solutions (0)

Answers (2)

Answers (2)

Hi,

found the solution myself 🙂

The actual mapping isn't really refering to the edmx structure but uses a XSD "SAPCpiOutboundOrdersEntityPOST.xsd" as source instead.

After extending the XSD with the new fields they are usable in the mapping.

Hope that'll help somebody else.

Kind regards

Markus

alexander_medina
Explorer
0 Likes

Hi Markus,

can you tell me from where you got the SAPCpiOutboundOrdersEntityPOST.xsd file?

MarkusHe
Discoverer
0 Likes

Hi Alexander,

create an outbound OData channel in CPI, in properties on Processing tab click Select button of Resource path

Now choose “Local EDMX File” in Connection Source

and either use an already imported EDMX resource or upload one from File system (will be saved into Resources by the Upload)

Then click on “Step 2” to select operation and entity to be used.

Under Entity choose the root entity you want to create the XSD for.

Now set the Sub-Levels that you want to support – this is necessary if you also want to include other referenced entities into the generated XSD. I used Sub-Level 5 to allow all referenced entities to be shown.

Setting the “Generate XML Schema Definition” allows you to generate the XSD with the given name.

By ticking “Select All Fields” you select all immediate childs of the selected root entity.

For sublevel entities you need to select each level manually). Adding “Batch Processing“ will generate an additional layer for OData Batch processing in the generated XSD.

Once you click “Finish” an according XSD will be generated. It can be found by switching to the Ressources Tab of the iFlow. There it also can be downloaded.

Hope that helps

Markus

David_A_C
Participant
0 Likes

Thanks Markus