This is tricky as it's different than updating other records (like WORKORDER) where you can specify an add/change action and it won't try and drop children records that are not provided. In the case of PO because you're creating a revision, you really need to have all the lines but can't as it's in a completely separate message. Because it's in a separate message, I'm honestly not sure the best way to handle that as you can't write a user exit or anything to access other messages.
Assuming SAP can delete lines, you can't just assume everything is an addition. If the SAP side can never delete lines, and you will never a line number conflict on the PO lines (IE while they're sending them in separate transactions, PR1-Line1 is always line 1, PR1-Line2 is always line 2, PR2-Line1 is always line 3, etc.), and your integration is sequential in (continuous queue would be problematic as it processes multiple messages at once, meaning the lines you need may not have been processed yet), you could potentially create an automation script on your enterprise service to add in the lines referenced previously on the revision. But that's a lot of conditions that I don't expect will be true.
Without that, I honestly don't know best course of action. You may need some sort of staging middle ground where you can take and combine the messages into a single message into Maximo.
------------------------------
Steven Shull
Projetech
------------------------------
Original Message:
Sent: 10-07-2020 23:23
From: Prashant Bavane
Subject: Maximo Inbound PO WebService
We have below use case for Purchase Order inbound integration from SAP to Maximo. Maximo sends PRs to SAP , SAP acknowledges PR(status changes in maximo.) And creates shopping cart (SAP PR) recrods in their system. SAP then creates POs in their system using these PRs. In one use case SAP can create PO with different PRs(lines from multiple PRs to one single PO) combined in one PO. But when SAP send that information it sends multiple transactions ( we are having Maximo enterprise service based WebService to consume this) such as different message/transaction for same PO with only specific PR details e.g. <messge1> <PO>ABC</PO> <POLINE1>PR1-Line1</POLINE1> <POLINE2>PR1-Line1</POLINE2> </message1> and then separate message/s <messge2> <PO>ABC</PO> <POLINE3>PR2-Line1</POLINE3> <POLINE4>PR2-Line1</POLINE4> </message2> in such case maximo inbound processing try to revise PO and try deletion of lines/details which did not sent as part of message. Can you advise how can we avoid this deletion. Currenlty SAP is not going to make any changes on their end to send whole message.,
#Integrations
------------------------------
PDB
------------------------------