Support Note KB0396114
Email
Extrinsic Node Mapping Issue: CI9 SAP Business Network adapter for SAP Netweaver - Purchase Order Scenario
Issue

In CI9 SAP Business Network adapter version, the output cXML message generated after the second step of PI mapping (MM_Custom_ORDERS_ORDERS05_2_CDF_cXML_XSD) in the Purchase Order scenario for SAP Business Network adapter, the extrinsic node at Path: “/ns0:Messages/ns0:Message1/cXML/Request/OrderRequest/ItemOut/BlanketItemDetail/Extrinsic” is not taking values from the source node when mapped using one-to-one mapping.

Cause

A User defined java function "setParentNode" is missing in the mapping and this needs to be used to map this node instead of one-to-one mapping to pass the value to the parent node . A user-defined java function with a logic to set the Parent node with value when used in the mapping of the Extrinsic node will solve the issue. This function is used in CI8 version of the SAP Business Network Adapter Custom Mapping and is missing from the CI9 Custom Mapping.

Solution

Please follow the below steps as a workaround for the resolution of this mapping issue in CI9 Ariba SAP Business Network adapter version, for Purchase Order scenario.

  1. Create a user-defined function in the custom mapping “MM_Custom_ORDERS_ORDERS05_2_CDF_cXML_XSD” which is under the namespace
    http://ariba.com/xi/ASN/PurchaseOrder under the Software Component Version ARIBA_NETWORK_ADAPTER CI9 of ariba.com

    1. Go to the Functions Tab, add a new Function named “setParentNode” in the Functions Area as shown below

    Set the Title accordingly and the Execution Type as “Single Values”

    b. Signature Variables: This function contains one input argument of type String, name it as “input” as shown below


    c. Add the logic to return the value to the parent node container as shown below

    d. Save the Message mapping and activate it
  2. Adding the mapping logic to use the user-defined function in the mapping of /ns0:Messages/ns0:Message1/cXML/Request/OrderRequest/ItemOut/BlanketItemDetail/Extrinsic node in Message mapping editor
    1. Navigate to the path /ns0:Messages/ns0:Message1/cXML/Request/OrderRequest/ItemOut/BlanketItemDetail/Extrinsic in the output mapping as shown below

    1. Switch to edit mode, and click on the User-defined function from the drop down of the functions menu as shown below

    You should now be able to see the newly created function “setParentNode” for your use in the mapping

    1. Drag the function to the mapping editor and map it as below

    1. Save the mapping and activate it

    Successful Test of mapping with a sample payload:

    1. After the above change, test the mapping with a sample payload with values in the “Extrinsic” node and you can now see that the target node is picking up the values from the source node as expected

Additional Information

Note: Alternatively, you can refer to the same custom mapping of CI8 SAP Business Network adapter version which has this user-defined mapping in place for this scenario. The steps of how to add this user-defined function in CI9 Version for this mapping are explained above in detail.

The screenshot of the CI8 Version mapping of the same scenario is shown below for your reference

Extrinsic Node Mapping Issue: CI9 SAP Business Network adapter for SAP Netweaver - Purchase Order Scenario.pdf652.34 KB

Applies To

SAP Business Network for Procurement & Supply Chain

Terms of Use  |  Copyright  |  Security Disclosure  |  Privacy