Maximo

Maximo

Come for answers, stay for best practices. All we're missing is you.

 View Only
  • 1.  Custom child object WorkOrder - Maximo Mobile

    Posted 05/07/26 11:48 AM

    Hi All,

    We have a custom child object created in work order. The requirement is to have the same implemented in Maximo Mobile and it should support both read and write operations. Since the OS for the TECHMOBILE is OOB and cannot be modified, the read only requirement can be handled via relationship (just display purposes).

    For update however this custom object needs to be part of MXAPIWODETAIL or we can clone the TECHMOBILE app which uses a different work order object structure.

    We can insert the row in OS from backend but I am worried this can cause issues  in future during updatedb? So preferred approach is to use a similar user define workorder OS. Not sure how feasible is that?

    What is the best approach to navigate this problem and has anyone dealt with such a requirement in the past?

    Thanks

    Abhinav



    ------------------------------
    Abhinav Bhuria
    ------------------------------


  • 2.  RE: Custom child object WorkOrder - Maximo Mobile

    Posted 05/09/26 06:31 AM
    Edited by Bartosz Marchewka 05/09/26 06:43 AM

    Hi @Abhinav Bhuria,

    Unfortunately, I can't advise you on which direction is better, as all of them have advantages and disadvantages from a maintenance perspective. I'd also suggest considering the performance impact of each solution. I can imagine that downloading a Work Order along with all related Child Work Orders (including all the information required for WRITE operations) could have a noticeable impact on MAS Mobile performance, particularly from a synchronization standpoint.

    I had the opportunity to develop a Child Work Orders solution in the TECHMOBILE application for one of the customers we support. Since one of the requirements was that the solution did NOT need OFFLINE support, I chose a different approach, which I'd like to describe below.


    How it works?
    In the Work Order Details (parent) view, I display a list of Child Work Orders with basic information such as WONUM, DESCRIPTION, STATUS, LOCATION, and ASSET.
    For editing, I chose an approach similar to the "Search All Records" (serverSearch) functionality.
    When a user selects a Child Work Order from the list (see the Child Work Order List screenshot - indicators 1 and/or 2), JavaScript sends a request to MAS Manage to find the Work Order based on the WONUM/ORGID/SITEID attributes. It then navigates to the workOrderDetails page, loading the child Work Order returned from MAS Manage.


    Example code - how to search for a Child Work Order in MAS Manage and navigate to the Work Order Details page in TECHMOBILE application

    async searchWoChild(item){
        this.page.state.loading = true;
        try {
          let childWO = this.app.findDatasource('cWOSearch');
          childWO.clearState();
          childWO.resetState();
          await childWO.initializeQbe();
          childWO.setQBE('wonum', '=', item.wonum);
          childWO.setQBE('orgid', '=', item.orgid);
          childWO.setQBE('siteid', '=', item.siteid);
          await childWO.forceSync();
          let childWOItem = childWO.items[0];
          this.app.setCurrentPage({
                name: "workOrderDetails",
                resetScroll: true,
                params: {
                  wonum: childWOItem.wonum,
                  siteid: childWOItem.siteid,
                  href: childWOItem.href,
                  firstLogin: false
                },
                pushStack: true //Back from Child WO to Parent WO
          });
        } finally {
          this.page.state.loading = false;
        }
      }

    Screens from the application:

    1. Work Order Details view - parent WO
      image
    2. List of Child Work Orders - buttons to navigate from the list to Child Work Order Details
      image
    3. Work Order Details - selected child
      image

    Some advantages and disadvantages of this approach:
    - Advantage: It's lightweight - Child Work Order objects are only downloaded when actually needed.
    - Disadvantage: This approach does not support offline scenarios.



    ------------------------------
    Bartosz Marchewka
    IBM Maximo Consultant
    AFRY
    ------------------------------



  • 3.  RE: Custom child object WorkOrder - Maximo Mobile

    Posted 05/21/26 01:42 AM

    @Bartosz Marchewka Thanks for this. It is really helpful. For me the use case is to edit work order specifications which are currently read only in Maximo Mobile for EAM V9.0. IBM has added the edit spec functionality in 9.1 where they added spec object into the OOB OS, I thought I could try doing the same as we are not planning to migrate to MAS any time soon and the functionality is needed



    ------------------------------
    Abhinav Bhuria
    ------------------------------