on 04-01-2015 10:04 PM
Hello PI Pro's,
Let me start by saying I am a PI newbie. I have faced several challenges and have managed to overcome but I have one I am stuck with. I have an XML message the gets generated by ECC, sent to PI, and forwarded on to APO/SNC system. All standard setup from SAP.
The problem comes when I send an XML message to PI and it has a complete Node missing. This is from a SAP delivered standard XML message.
The abbreviated structure is similar to the following:
<PurchaseOrder>
<Item>
element:ID
element:...
<Product>
element:ManufacturerID
element:VendorID
element:SellerID
element:...
</Product>
</Item>
</PurchaseOrder>
What I am seeing is the PurchaseOrderXML comes to PI with 4 Items (01,02,03,and 04)
Item01 contains a Product Node with values
Item02 has no Product Node
Item03 contains a Product Node with values
Item04 contains a Product Node with values
During mapping, Item02 has no product node so I add it. (If not node.exists then createNode)
Once I get the product Node created with visual mapping tool, then the queue values associated with Item03 get moved into the newly created Product Node for Item02 instead of letting me insert my custom values (mapwithdefault)
This continues for Item03 containing the Product values from Item04 and Item04 gets an empty Product node.
I think this is a context / queue issue but I do not know yet how to properly deal with it and could use some assistance from the SOA Community.
Thanks in advance for any useful help you can provide.
>>>During mapping, Item02 has no product node so I add it. (If not node.exists then createNode)
If the node doesn't exists why are you creating it? Does your target system need's this info?
However can you share target structure too? Share source xml as well.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thank you Hareesh for your reply and questions. This will be valuable information for further discussions.
We are using standard delivered Configuration Scenario from SAP for SNC with no modifications yet. The source and target stuctures are as close to identical as you could imagine by the names:
ERP XML OUT: PurchaseOrderERPReplenishmentOrderCollaborationNotification_Out
SNC XML IN : PurchaseOrderERPReplenishmentOrderCollaborationNotification_In
I am not sure of the rules regarding attaching actual SAP structures so I will refrain from doing so.
Our dilema comes from using what our organization calls Service PO's or Text PO's that do not have a real product associated. When ERP creates the XML message, it naturally leaves the node out because there is no real product. I believe this is normal and expected. Because of this scenario, my requirement is to fill in the product node with DUMMY values to keep the entire PO with each line item and associated texts consistent with source system.
Any thoughts on how to insert a missing node and sub-elements?
Sorry i don't have the access to system to import SNC content and verify structures.
However If both the structures are identical and if you have mapping between them, just simply use mapwithdefault at every field level. (don't use create if function as such) which should create blank structures ?
Did you try that?
Another newbie helped by the super heroes at PI & SOA Community! Thank you Praveen.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Chris,
Do like this
Manufacture Id --->MapWithDefault----->Remove Context----->Split By Each Value---->Manufacture ID
Regards,
Suhale Shaik.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
84 | |
10 | |
10 | |
10 | |
7 | |
6 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.