Maximo Open Forum

 View Only

Parent/Child Work Order creation via integration

  • 1.  Parent/Child Work Order creation via integration

    Posted 7 hours ago

    Hello,

    I am currently working on the integration between MPOWER (as an external system) and IBM Maximo. One of the integration scenarios involves group connections (GL), where a single request (REGNUM) from MPOWER represents a group that contains multiple sub-connections. In Maximo, this is expected to be reflected as one parent Work Order with multiple child Work Orders. From a business perspective, a GL represents a single grouped request containing one parent and multiple child elements, and ideally this should be handled as a single payload.

    In Maximo, we are using the object structures MXWO (Definition of Work Order) and MXWOHIER (Work Order Hierarchy Definition) for integrations with external systems related to Work Orders. I have tested in multiple ways via Postman to create both the parent Work Order and its child Work Orders within a single payload, but in all cases only the parent Work Order is created and the children are not. However, when I create the GL Work Order (parent) first, then retrieve the WONUM as the identifier, and in a second step create the child Work Orders by specifying the parent WONUM, this approach works correctly and the children are properly linked. 

    Despite this, this approach becomes quite complex and inefficient for large volumes (hundreds of child records per GL).

    I would appreciate your guidance on this:

    • Is there a recommended way in Maximo to handle parent-child Work Order creation in a single request or batch?
    • Is MXWOHIER expected to support this scenario, and if so, are we missing a specific configuration or payload structure?
    • From your experience, what is the best practice for handling large hierarchical Work Order creation in integrations?

    Below, I am sending the payload that creates only the parent wo:

    {
      "spi:siteid": "XXX",
      "spi:orgid": "ORGXXX",
      "spi:worktype": "MPOWER",
      "spi:status": "WAPPR",
      "spi:regnum": "GLTEST1001",
      "spi:extgroupnum": "GLTEST1001",
      "spi:description": "GROUP GLTEST1001",
      "spi:firstname": "Test",
      "spi:lastname": "User",
      "spi:fathername": "Demo",
      "spi:mobilenumber": "0690000000",
      "spi:address": "Test Address",
      "spi:office": "Office",
      "spi:zone": "Zone-1",
      "spi:category": "Residential",
      "spi:requestedload": "15kw",
      "spi:phase": "1",
      "spi:voltage": "220v",
      "spi:registeredon": "2026-03-30",
      "spi:connectiontype": "TU",
      "spi:cabin": "Cabin-01",
      "spi:feeder": "FDR-01",
      "spi:substation": "SS-01",
      "spi:metertype": "Digital",
      "spi:supervisor": "MXOSUSER",

      "spi:workorder": [
        {
          "spi:siteid": "XXX",
          "spi:orgid": "ORGXXX",
          "spi:worktype": "MPOWER",
          "spi:status": "WAPPR",
          "spi:regnum": "GLTEST1001-1",
          "spi:extgroupnum": "GLTEST1001",
          "spi:description": "CHILD 1",
          "spi:supervisor": "MXOSUSER"
        },
        {
          "spi:siteid": "XXX",
          "spi:orgid": "ORGXXX",
          "spi:worktype": "MPOWER",
          "spi:status": "WAPPR",
          "spi:regnum": "GLTEST1001-2",
          "spi:extgroupnum": "GLTEST1001",
          "spi:description": "CHILD 2",
          "spi:supervisor": "MXOSUSER"
        }
      ]
    }

    As seen below, the work order is created without the children:

    Thanks!


    #Customizations
    #Integrations
    #MaximoApplicationSuite

    ------------------------------
    Raziela Avdylaj
    InfoSoft Business Solutions
    ------------------------------