Maximo Integration

 View Only
Expand all | Collapse all

Adding new section in maximo mobile for EAM Technician app

  • 1.  Adding new section in maximo mobile for EAM Technician app

    Posted Mon March 07, 2022 10:41 AM
    Edited by Bala Chendrayudu Mon March 07, 2022 11:10 AM
    Hi , 

    I have requirement to add service request information in technician app next to Report Work button mention in below. I tried to modify xml file to add content but unfortunately system showing xml format issue and while adding object in mxapiwodetails object structure not allowed to add ticket business object. if anyone has implemented this kind of requirement then please suggest approach to be followed to finish.

    This code level change is working fine in xml validator without any issue, but while coping this xml code not working in app editor 

    Bala Chendrayudu

  • 2.  RE: Adding new section in maximo mobile for EAM Technician app

    Posted Tue March 08, 2022 08:47 AM
    I'm going to start with the how do you add related data sets when you can't modify object structures. We are starting to ship object structures that can't be modified to ensure they function as designed. User implemented changes, even changing relationships, could negatively impact functionality that we implement in these applications. 

    Instead, we built a process in the Maximo Application Framework to retrieve child data sets. This also improves the design of the object structures as we don't need to include dozens of objects to surface related information (such as asset data). The object structures can and should stay focused on the data being created inside the application. You could include these records in the same data source using the rel.relationname notation (like we do for inspection results out of the box) or you can make it a dependent data source. As an example of a dependent data source, here's something I did to include hazard & precaution information.
            <maximo-datasource depends-on="woDetailResource" id="emxWoHazards" relationship="wohazard" selection-mode="none" notify-when-parent-loads="true" object-name="wohazard">
                  <attribute name="wohazardid" unique-id="true"/>
                  <attribute name="hazardid"/>
                  <attribute name="hazardtype"/>
                  <attribute name="description--hazarddescription"/>
                  <attribute name="rel.wohazardprec{precautionid,description--precautiondescription}"/>

    When viewing the app in the web, this causes a separate API request to be made to retrieve the data. In Mobile we combine these dependent data sources into a single request to ensure they all complete or fail together. 

    As for the invalid XML, that's really hard to tell without seeing it. Our validation checks more than just that it's valid XML syntax in the traditional sense (such as closing tags). We're checking that the XML is actually valid for our framework such as elements are only nested in controls they're allowed to be nested inside. Utilizing Application Designer terminology, you can't utilize a textbox for a table column, you have to use the tablecol control. 

    Make sure you're using the right version of the docker image for your version of Maximo Mobile. That will vary based on even the IFIX of Maximo Mobile installed. IE if you install Maximo Mobile 8.6.0 IFIX 01 you need to be on 8.6.3 of the docker container. You should get a warning if there's a mismatch on the graphite version between the container and your environment on newer versions of the configuration utility and since you have the properties editor you're at least on the 8.6.0 version of the configuration utility. 

    Steven Shull