Maximo Open Forum

 View Only
  • 1.  Using MXRECEIPT Object Structure via REST API

    Posted 6 hours ago

    Hi, 

    I need to push GRN/PO-Receiving of the inventory items. For this, according to the IBM documentation (https://www.ibm.com/docs/en/masv-and-l/maximo-manage/cd?topic=objects-receipts-object-materials-services) I prepared the json body but when I try to run Post via Postman, I always get the error :

            "reasonCode""BMXAA3247E",
            "message""BMXAA3247E - The specified purchase order does not exist.",
            "statusCode""400"

    I have given every object structure + receiving application authorization to the user via a security group but still the same result!!!

    URL : https://oauatcmms.ads/maximo/oslc/os/mxapireceipt?lean=1

    Headers:

    Body:

    {
        "issuetype""RECEIPT",
        "orgid""OAMC",
        "siteid""MCT",
        "positeid""MCT",
        "ponum""651155",
        "orderunit""EA",
        "porevisionnum"0,
        "polinenum"1,
        "itemnum""10012653",
        "itemsetid""ITEMSET1",
        "linetype""ITEM",
        "inspectionrequired"false,
        "rotating"false,
        "receiptquantity"5,
        "tobin""ELECTRICAL",
        "tostoreloc""MCT-CENTRAL",
        "externalrefid""GRN-1126-1",
        "sourcesysid""EBS"
    }
    I would like to know what I'm missing and the usual end to end process of REST APIs to post the receiving data in Maximo.
    Regards,

    #Integrations

    ------------------------------
    Shahid Saeed Khan
    Oman Airports Management Company
    ------------------------------


  • 2.  RE: Using MXRECEIPT Object Structure via REST API

    Posted 2 hours ago

    This object structure exists for good reason, particularly when trying to progress receipts when you don't have the original matrectransid of the receipt. But if that limitation doesn't exist, you may find progressing receipts using an alternate process provides you significantly more capabilities. It's not as well documented but you can dynamically change the relationship the REST API uses for child objects to progress receipts using the same relationships as Maximo UI framework which would enable invoking a similar flow.

    Regarding your specific issue, I'm not seeing it at a glance. PONUM, POLINENUM, POREVISIONNUM, & POSITEID are all critical fields here in creating the receipt via the PO service. It's possible one of these fields was incorrectly excluded on the object structure which is preventing it from being found. I would double check in the object structures application using the Exclude/Include fields to make sure nothing was accidentally excluded. Some of them are checked and should throw a different error but not all the attributes are.

    Also, you can turn on SQL logging for the PO object because what's failing is Maximo is unable to find the PO. It could be a data restriction, the missing values, etc. That might help you narrow down the specific problem. 



    ------------------------------
    Steven Shull
    Naviam
    ------------------------------