Maximo Open Forum

 View Only
  • 1.  Maximo Inbound PO WebService

    Posted 10-07-2020 23:23
    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
    ------------------------------


  • 2.  RE: Maximo Inbound PO WebService

    Posted 10-08-2020 08:55
    You should be able to specify an Action in the XML payload for the inbound Web Service. By default, Maximo uses an Action of Replace which assumes that the record, in this case a Purchase Order, is fully specified. You can use an Action of AddChange which will add new Purchase Order Lines if not previously specified, or update the PO Line if it already exists. See this article for an explanation of integration Actions:

    https://www.ibm.com/support/knowledgecenter/SSWT9A_7.6.1/com.ibm.mif.doc/gp_intfrmwk/r_if_xml_action_attrib.html

    Hope this helps.

    ------------------------------
    Alex Walter
    A3J Group LLC
    ------------------------------



  • 3.  RE: Maximo Inbound PO WebService

    Posted 10-08-2020 09:54
    Thanks Alex for your repsonse.
    Yes with action code added we are able to update  PO records  when using
    <Message1>
    <PO action=Change>
     <POLINE1 action=AddChange>   </message>   etc
    but in this case maximo always updates existing revision and dont create new revision.

    ------------------------------
    Prashant Bavane
    Cognizant
    ------------------------------



  • 4.  RE: Maximo Inbound PO WebService

    Posted 10-09-2020 08:34
    Like Steven said, this one is tricky.

    I haven't tried this before but you might be able to put an Automation Script on the inbound Enterprise Service and have that script generate the new revision for the PO. Then your AddChange action would update the new revision you just created. Again, not sure if this will work but this is what I would try.

    ------------------------------
    Alex Walter
    A3J Group LLC
    ------------------------------



  • 5.  RE: Maximo Inbound PO WebService

    Posted 10-08-2020 09:29
    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
    ------------------------------