Maximo Open Forum

 View Only
  • 1.  MxLoader LOTO upload issue

    Posted 20 days ago

    I have setup an object structure defined with the Tagout/Taglock/Lockout tables and their OOB relationships. When I do a Query on a record that has data in each table already in the database the Lockout table is not pulled as part of the query, only the Tagout data.  Does anyone have any ideas why this might occur?  Thanks in advance.


    #Integrations
    #MaximoApplicationSuite

    ------------------------------
    Mark Fresa
    ------------------------------


  • 2.  RE: MxLoader LOTO upload issue

    Posted 19 days ago

    This is a fairly common Maximo MIF/Object Structure issue, especially when working with multi-level relationships such as TAGOUT → TAGLOCK → LOCKOUT.

    Based on your description, the most likely causes are:

    1. Relationship Cardinality or Parent/Child Hierarchy Issue

    Even if all three objects are included in the Object Structure, Maximo only traverses child objects based on the configured hierarchy.

    Verify:

    TAGOUT
    └─ TAGLOCK
    └─ LOCKOUT

    If LOCKOUT was added directly under TAGOUT instead of under TAGLOCK, Maximo may not find the expected records during the query.

    Check:

    • Object Structure application
    • Parent object for LOCKOUT
    • Relationship name used by LOCKOUT

    2. Relationship Returns No Records

    Open Database Configuration and test the relationship.

    For example:

    taglockid=:taglockid
    ``

    or whatever OOB relationship is defined.

    Common issue:

    • Data exists in LOCKOUT table
    • Relationship condition does not match actual data
    • Relationship returns zero rows when evaluated from the current TAGLOCK record

    A quick validation:

    select *
    from lockout
    where taglockid = ?

    using a known TAGLOCK record returned by the query.


    3. Object Structure "Exclude/Support Flat Structure" Settings

    Check whether LOCKOUT is included as:

    Consumed = Yes
    Query = Yes

    Some customers accidentally configure objects only for inbound processing but not query processing.

    Verify in Object Structure:

    • Include? = Yes
    • Query Support = Yes

    4. MBO Security Restrictions

    Another common cause.

    If the integration user:

    MAXADMIN -> works
    MXINTADM -> does not work

    then the issue is security-related.

    Review:

    • Object security
    • Site restrictions
    • Data restrictions
    • Conditional expressions

    Try querying with MAXADMIN to isolate.


    5. Relationship Where Clause Contains Site/Org Criteria

    Many Maximo OOB relationships use:

    siteid=:siteid
    and orgid=:orgid

    If your LOCKOUT record exists but:

    TAGLOCK.SITEID = BEDFORD
    LOCKOUT.SITEID = NULL

    (or different values)

    the relationship will not resolve.

    Check all key fields:

    SITEID
    ORGID
    TAGOUTID
    TAGLOCKID
    LOCKOUTID


    6. Child Object Not Configured for Query in Object Structure

    In the Object Structure application:

    1. Open your Object Structure.
    2. Select LOCKOUT node.
    3. Verify:
      • Include = checked
      • Query = checked
      • Exclude = unchecked

    I have seen cases where TAGOUT and TAGLOCK appear but the final child object does not because the object was added but not enabled for query operations.


    7. Hidden Integration Restriction (Most Likely)

    One thing that frequently catches Maximo administrators:

    When using an Object Structure query, Maximo only returns child records if the parent relationship resolves correctly.

    For example:

    TAGOUT Record
    TAGLOCK Record Found
    TAGLOCK -> LOCKOUT Relationship Returns 0 Records

    Result:

    <TAGOUT>
    ...
    <TAGLOCK>
    ...
    </TAGLOCK>
    </TAGOUT>

    No LOCKOUT section appears even though data exists in the LOCKOUT table.

    The key question is:

    Does the TAGLOCK→LOCKOUT relationship return records when tested directly from the Relationships application or Database Configuration?


    Recommended Troubleshooting Steps

    Enable MIF logging:

    log4j.logger.maximo.integration=DEBUG
    log4j.logger.maximo.mif=DEBUG

    Then run the query and look for:

    Processing child object LOCKOUT
    Relationship returned 0 records

    This usually points directly to the failing relationship.

    SQL Verification

    For a record that should be returned:

    select *
    from tagout
    where tagoutid = ?
    select *
    from taglock
    where tagoutid = ?
    select *
    from lockout
    where taglockid = ?

    Confirm that the exact relationship keys match what Maximo expects.


    My Assessment

    If TAGOUT and TAGLOCK are returned but LOCKOUT is not, and the LOCKOUT records definitely exist, the most probable root cause is that the TAGLOCK → LOCKOUT relationship in the Object Structure is not resolving correctly due to key, site/org, or where-clause criteria.

    That is the first area I would investigate before looking at security or integration settings.

    Additional Maximo-Specific Check

    Try opening a TAGLOCK record in the Maximo UI and using:

    Related Records → Lockout

    or wherever the OOB relationship is exposed. If Maximo itself cannot navigate from TAGLOCK to LOCKOUT, the Object Structure query will not return LOCKOUT either. This is often the fastest way to confirm whether the relationship definition is the problem.



    ------------------------------
    Onkar Jagtap
    American Bureau of Shipping
    ------------------------------



  • 3.  RE: MxLoader LOTO upload issue

    Posted 18 days ago

    I appreciate the help, Mr. Jagtap.  I've checked everything you mention above, it still fails.  I'm beginning to think the MxLoader file is corrupted somehow, as I can't get it to do a simple query.  Thanks for your advice anyway.



    ------------------------------
    Mark Fresa
    ------------------------------



  • 4.  RE: MxLoader LOTO upload issue

    Posted 17 days ago

    Mr. Jagtap, all, I figured out how to get around this.  For some reason the relationship between TAGLOCK and LOCKOUT (version 7.6) was not recognized by MxLoader, so all three tables could not be pulled from one object structure.  I set up new MxLoader sheets to pull the data individually, and it worked.  I guess I'll have to load the new data that way as well.  But at least I don't have to use the MIF.  Hope this helps someone else who might have a similar problem.



    ------------------------------
    Mark Fresa
    ------------------------------



Newest Episode
Ep. 5 | Make Manage Feel Like Home with Configuration, Not Customization

Watch Steven Shull and Phil Runion discuss how IBM Maximo Manage teams can make the system feel more familiar, useful, and aligned to their business through configuration instead of customization.

MORE by Naviam Episode 5 cover
Watch Episode 5
Also available: Ep. 4 | System Properties in IBM Maximo