Maximo Open Forum

 View Only
  • 1.  RETURN Item using OSLC API from PO

    Posted 12-13-2023 16:23

    Hi All,

    We have an object structure with parent PO and child MATRECTRANS and we are able to receive item using this OS and we are using OSLC API.

    We would like to know how to return an item uisng OSLC API with parent PO and child MATRECTRANS. Unfortunately we are not allowed to use OOB MXRECEIPT OS .

    We are trying to send this data to Maximo to return an Item but we are getting error "BMXAA3268E - The status of the purchase order should be Approved or In Progress". The PO is in APPR status we have received items.

    URL: http://localhost:9080/maximo/oslc/os/TXPO/<POID>/?lean=1

    {
        "matrectrans": [
            {
     
                "ponum": "1013",
                "siteid": "HYD",
                "positeid": "HYD",
                "polinenum": 1,
                "linetype": "ITEM",
                "itemnum": "000611190725",
                "tostoreloc": "STORE100",
                "receiptquantity": -2,
                "receivedunit": "STORE100",
                "conversion": 1.00,
                "issuetype": "RETURN",
                "status": "COMP",
                "receiptref":33
     
            }
        ]
    }


    #Integrations

    ------------------------------
    Ajay Kotapati
    BEUMER GROUP
    ------------------------------


  • 2.  RE: RETURN Item using OSLC API from PO

    Posted 12-14-2023 13:33

    Maximo integrations are complicated and you do not want to use a non-standard flow because it will lead to issues that you may not get support for. In the UI, MATRECTRANS is not created directly for receipts. We're using the non-persistent RECEIPTINPUT with different relationships based on the action being taken. For traditional integrations, we expect customers to use the MXRECEIPT object. It does not need to the MXRECEIPT object structure itself (it could be a cloned object structure) but you would typically use the MXRECEIPT object. 

    In the REST API, we did something special in recent releases (a recent 7.6.1.3 IFIX or Manage 8.6/8.7) to support overriding the relationship name on the object structure. This was done to support use cases like this where we want to use the non-persistent object and the relationship name is important for how that operates. We haven't documented it on the REST API wiki (https://ibm-maximo-dev.github.io/maximo-restapi-documentation/npmbo) yet but if you add a header called reloverride you can dynamically switch it to the relationship you need. 

    The format of it would look something like: 
    PO/RECEIPTINPUT:RETURNRECEIPTINPUT

    You have to map to which object you are trying to override (since there can be multiple) and the relationship that you want to use. If you're on a version that can use this and you absolutely cannot use MXRECEIPT, I would look at trying to use the non-persistent RECEIPTINPUT object like this. Use similar values as you would see in the UI. 



    ------------------------------
    Steven Shull
    IBM
    ------------------------------



  • 3.  RE: RETURN Item using OSLC API from PO

    Posted 12-15-2023 16:59

    Thank you Steven for the detail information and this is very helful. 



    ------------------------------
    Ajay Kotapati
    BEUMER GROUP
    ------------------------------