IBM Support

Adding and making an initial configuration on ACM Models with the Maximo Integration Framework

Technical Blog Post


Abstract

Adding and making an initial configuration on ACM Models with the Maximo Integration Framework

Body

Maximo Asset Configuration Manager (ACM) allows the construction, use and management of complex assets. These assets are generated based on structures known as Models. These models are built based on sub components known as build items (cm items).

The ACM 7.5.0.1 patch introduced the ability to use the Maximo Integration Framework (MIF) to perform many ACM functions and load data into associated tables.
 
One of the most common and time consuming functions used within (ACM) is the addition and configuration of complex Models. These operations are now achievable via the MIF and, for better understanding, two separate transactions are presented:
 
1) Addition of CM Items.
2) Addition of a Model, build items and configuration of both and the cm items added in step 1.
 
The object structures: PLUSAMXCMITEM and PLUSAMXMODEL included with the ACM 7.5.0.1 patch exposes these operations and the provided processing classes: psdi.plusa.iface.app.plusaca.MaxPlusACACatProcess and psdi.plusa.iface.app.plusacm.MaxPlusACMModelProcess  contains the logic to perform the transactions.
 
The following xml files give examples of how to perform the actions:

- Addition of CM Items:

<SyncPLUSAMXCMITEM ...>
    <PLUSAMXCMITEMSet>
        <PLUSACACAT action="AddChange">
            <CYCLESPERDAY>0</CYCLESPERDAY>
            <DESCRIPTION>Trent 500</DESCRIPTION> <!--Indicates the CM Item Description -->
            <ITEM>TRENT500</ITEM> <!--Indicates the CM Item or Part Number -->
            <ITEMSETID>SET1</ITEMSETID> <!--Indicates the Set that contains this record -->
            <PART>TRENT500</PART> <!--Indicates the CM Item or Part Number -->
            <SERIALFORMAT>AA9999</SERIALFORMAT> <!--Indicates the format of serial numbers related to a CM item. -->
            <PLUSACACATSR> <!--Indicates Serial Ranges for this CM Item -->
                <ITEMSETID>SET1</ITEMSETID> <!--Indicates the Set that contains this record -->
                <SERIALUOC>SR002</SERIALUOC> <!--Indicates the usable on code. This code is a unique identifier for a serial range expression.  -->
                <SREXPRESSION>BB0001..BB9999</SREXPRESSION> <!--Indicates one or more serial numbers associated with a CM item. -->
            </PLUSACACATSR>
            <PLUSACAXMASTERPM> <!--Indicates Master PMs for this CM Item -->
                <ITEMSETID>SET1</ITEMSETID> <!--Indicates the Set that contains this record -->
                <MASTERPMID>4</MASTERPMID> <!--Indicates the identificator of the Master PM associated -->
            </PLUSACAXMASTERPM>           
        </PLUSACACAT>
    </PLUSAMXCMITEMSet>
</SyncPLUSAMXCMITEM>


- Addition of Models:

<SyncPLUSAMXMODEL ...>
    <PLUSAMXMODELSet>
        <PLUSACMMODEL action="AddChange">
            <DESCRIPTION>TRENT500 Model</DESCRIPTION> <!--Indicates the Model Description. -->
            <EXTRAPOLATELIFE>0</EXTRAPOLATELIFE> <!--Indicates whether all the assets that are related to the model have a predicted life meter value. -->
            <INSTALLABLE>0</INSTALLABLE> <!--Indicates whether you can install the corresponding model into another model. -->
            <LABELSYSTEM>ATA</LABELSYSTEM> <!--Indicates the system of labels that identifies build positions in the physical hierarchy of a model. -->
            <LCNSTRUCTURE>1666666</LCNSTRUCTURE> <!--Indicates the number of character positions in each level of an LCN code. -->
            <MEL>0</MEL> <!--Indicates if a position is a minimum equipment list (MEL) position for the corresponding configuration. -->
            <MODEL>TRENT500</MODEL> <!--Indicates the Model name. -->
            <ORGID>EAGLENA</ORGID> <!--Indicates the organization to which this model belongs. -->
            <PROMOTE>0</PROMOTE> <!--Indicates whether the meter readings that are entered at the child item levels are written to all parent asset records. -->
            <SECRESTR>0</SECRESTR> <!--Indicates if the current Model will be subject to security restriction. -->
            <TOPLCN>L</TOPLCN> <!--Indicates the LCN code of the top-level build item in a model. -->
            <PLUSACMBUILDITEM> <!--Indicates the build item associated with this Model. -->
                <NAME>TRENT500</NAME> <!--Indicates the name of a build item. -->
                <ORGID>EAGLENA</ORGID> <!--Indicates the organization to which this build item belongs. -->
                <PLUSACMLABEL> <!--Indicates the label associated with a build item. -->
                    <LABEL>99-99</LABEL> <!--Indicates the component code associated with a build item. -->
                    <LABELSYSTEM>ATA</LABELSYSTEM> <!--Indicates the system of labels that identifies build positions in the physical hierarchy of a model. -->
                    <ORGID>EAGLENA</ORGID> <!--Indicates the organization to which this label belongs. -->
                </PLUSACMLABEL>
                <PLUSACMXCAT> <!--Indicates the parts by build item. -->
                    <ITEM>TRENT500</ITEM> <!--Indicates the CM Item. -->
                    <ISDEFAULT>1</ISDEFAULT> <!--Indicates whether a CM item is the default CM Item for a build position. -->
                    <ORGID>EAGLENA</ORGID> <!--Indicates the organization to which this part belongs. -->
                </PLUSACMXCAT>
                <PLUSACMBUILD> <!--Indicates the build position. -->                   
                    <ALC>00</ALC> <!--Indicates the alternate LCN Code, or ALC, of a build position in a hierarchy. -->
                    <CREATEWO>0</CREATEWO> <!--Indicates whether a work order has to be created for the corresponding configuration. -->
                    <INDENTURE>1</INDENTURE> <!--Indicates the level of a build position in a hierarchy. -->
                    <INDICATOR maxvalue="E">E</INDICATOR> <!--Indicates the code for the type of a build position. Valid values are E (an end item such as an airframe or engine), I (an installation point where you can install another model), and S (a subassembly). -->
                    <LCN>L</LCN> <!--Indicates the logistic support analysis record (LSAR) control number associated with a build item. -->
                    <NONSERIALIZED>0</NONSERIALIZED> <!--Indicates whether a build position is nonserialized. -->
                    <ORGID>EAGLENA</ORGID> <!--Indicates the parts by build item. -->

                    <SKIPBDICHECKS>0</SKIPBDICHECKS> <!--Indicates whether the build data interpreter (BDI) skips the validation of this node and its children. -->
                    <PLUSACMCONFIG>
                        <ABSTRACT>0</ABSTRACT>
<!--Indicates whether a variation of a model is abstract -->
                        <BASE>1</BASE> <!--Indicates whether a variation of a model is the base variation.-->
                        <DESCRIPTION>Base Variation</DESCRIPTION> <!--Indicates the variation description. -->
                        <ORGID>EAGLENA</ORGID> <!--Indicates the organization to which this variation belongs. -->
                        <STATUS maxvalue="ACTIVE">ACTIVE</STATUS> <!--Indicates the current status of this variation. -->
                        <VARIATION>REAPER</VARIATION> <!--Indicates the variation of a model. -->
                    </PLUSACMCONFIG>
                </PLUSACMBUILD>
            </PLUSACMBUILDITEM>
            <PLUSACMREVISION>
                <AUTOUPGRADE>1</AUTOUPGRADE>
<!--Indicates whether the Build Data Interpreter (BDI) automatically upgrades assets with a lower revision to this revision.. -->
                <AUTOUPGRADEOPTOUT>0</AUTOUPGRADEOPTOUT> <!--Indicates the Build Data Interpreter (BDI) automatically upgrades assets in this revision when a higher revision takes effect. -->
                <DESCRIPTION changed="1">REVISION 1</DESCRIPTION> <!--Indicates the description of a revision. -->
                <DRAFT>1</DRAFT> <!--Indicates whether a revision of a model is in Draft status. -->
                <ORGID>EAGLENA</ORGID> <!--Indicates the organization to which this revision belongs. -->
                <REVISION>0</REVISION> <!--Indicates the revision of a model. -->
                <REVISIONDATE>2011-07-29T12:54:19-03:00</REVISIONDATE> <!--Indicates the revision date of a model. -->
            </PLUSACMREVISION>
        </PLUSACMMODEL>
    </PLUSAMXMODELSet>
</SyncPLUSAMXMODEL>
 
  The XMLs above are used to add a CM Item and a Model that is based on this CM Item. The Model structure presented here did not have concepts like Variations, Revisions, Minimum Equipment List and others, which will be presented in another post . This post was meant for an initial configuration of CM Items and Models.
 
  Hope you have enjoyed the reading and more to come soon, for questions and inputs please contact me at alexisrs@br.ibm.com.

[{"Business Unit":{"code":"BU005","label":"IoT"}, "Product":{"code":"SSLKT6","label":"Maximo Asset Management"},"Component":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"","Edition":""}]

UID

ibm11134519