by | Mar 29, 2023

    Customizing Attachment Visibility in Maximo

    The enterprise asset management software Maximo offers a common feature known as attachment functionality that allows users to attach various types of documents, such as PDFs, DOCX, JPGs, and other supported file formats. In the case of work orders, users can add attachments to both the parent work order record and any associated child tasks or activities.

    It is worth noting that if an attachment is added to a work order task, it will not be visible when viewing the parent work order record. However, the attachment will be accessible if the active record is the specific task or activity that the attachment was attached to. This can be seen in the screenshot below, which shows that the tasks associated with a work order do not display any attachments that may be associated with them.

    This feature allows users to easy identify which tasks have attachments and view them accordingly.

    The attachment functionality in Maximo is a useful feature that provides flexibility to users to view attachments without selecting the task record. This feature saves time and effort by eliminating the need to navigate through different records to access the attachments. By using hide and unhide with conditional UI, the configuration of this feature becomes easy and requires no downtime.

    The hide/unhide feature in Maximo is an out-of-the-box feature that can be customized to meet specific requirements. For instance, a request may be made to display an attachment icon in the task tab of a work order application. This icon should only be visible if an attachment is available for that specific task; otherwise, it should be hidden. To achieve this, several steps need to be taken, including:

    • Create a new sig-option
    • Create a new conditional expression
    • Make screen changes
    • Create a new dialog for attachment

    Here’s how to set this feature step by step: 

    Conditional Attachment Icon in Task

    1. Create new sig-option in WOTRACK application and grant this new sig-option into EVERYONE. This is to associate with the conditional expression that is going to be use for hide/unhide the attachment icon.

    2. Create a new condition expression, to get the total count of attachment record for the respective work order. In this case the count of the attachment is against the activity/task level.

      Clause: (select count(1) from doclinks where doclinksid in (select doclinksid from doclinks where (ownertable='WOACTIVITY' and ownerid=:workorderid))) > 0

    3. Add the following dialog (View Attachment) in LIBRARY.xml, Which we can use this as part of the event in the task table.

      <dialog id="bpdviewattachments" label="BPD View Attachments" relationship="DOCLINKS">
              <table id="bpdviewattachments_table" inputmode="readonly">
                  <tablebody id="bpdviewattachments_tablebody">
                      <tablecol dataattribute="document" id="bpdviewattachments_table_tablebody_4" label="Document" type="openurl" urlattribute="weburl"/>
                      <tablecol dataattribute="docinfo.description" id="bpdviewattachments_table_tablebody_6" label="Description" sortable="false"/>
                      <tablecol dataattribute="doctype" id="bpdviewattachments_table_tablebody_3" label="Document Folder"/>
                      <tablecol dataattribute="docversion" id="bpdviewattachments_table_tablebody_5" label="Document Version"/>
                      <tablecol dataattribute="printthrulink" id="bpdviewattachments_table_tablebody_9" label="Print"/>
                      <tablecol dataattribute="ownertable" id="bpdviewattachments_table_tablebody_1" label="Application"/>
                      <tablecol filterable="false" hidden="false" id="bpdviewattachments_table_tablebody_7" mxevent="drlinkproperties" mxevent_desc="Attachment Properties" mxevent_icon="img_information.gif" sortable="false" type="event"/>
                      <tablecol filterable="false" hidden="false" id="bpdviewattachments_table_tablebody_8" mxevent="instantdelete" mxevent_desc="Delete Row" mxevent_icon="btn_delete.gif" sortable="false" type="event"/>
              <buttongroup id="bpdviewattachments_2">
                  <pushbutton default="true" id="bpdviewattachments_2_1" label="OK" mxevent="dialogok"/>

    4. Add the following code in WOTRACK.xml to add additional column in the task table for the icon attachment and include the sig-option which already created earlier and include “bpdviewattachments” in the event to call the attachment dialog.

      <tablecol filterable="false" id="plans_task_table_tablebody_7a" mxevent="bpdviewattachments" mxevent_desc="View Attachment" mxevent_icon="designer/attachments.gif" sigoption="BPDHIDEATTACH2" sortable="false" synchronous="false"/>

    5. Apply the conditional UI using the conditional expression which was created earlier on the said new object.

    6.  Result.



    Overall, the attachment feature in Maximo provides users with the ability to maintain accurate records and enhances work processes. By understanding how this feature works and how it can be customized to meet specific requirements, users can take full advantage of this functionality and streamline their work.


    Sign up to our free newsletter to explore emerging technologies, industry events and Maximo best practice.