Come for answers, stay for best practices. All we're missing is you.
When would I consider using the alternate key on an object in an object structure?
For any object in an object structure there is an option to assign an alternate key. When you do this, you are directing the inbound processing logic of the MIF to use that key to ‘find’ the Maximo Business Object (MBO) rather than using its default processing, which is to use the primary key (as defined in DB Configuration) of the MBO.
An example of when you might use this is when you are loading assets from an external application in an asynchronous model (using in inbound JMS queue) and you also plan on providing on-going updates to those asset in Maximo. As well, during the creation of these new assets you are having the Maximo Asset Number assigned using AUTOKEY capability (not providing the asset number within the inbound message). In this case, your external application would not know what asset numbers were assigned for each record sent. In the default configuration, the external system could not send an update for asset without the asset number.
So how can you support updates of those assets in Maximo from the external application? If the external application has a unique identifier that you map to a field, for example externalrefid on the asset record, you can then allow the external system to perform updates based on that field. You would create a new index on the Maximo Asset object/table using DB Configure and the index would contain the externalrefid field. You would then assign the new index as the alternate key on the asset object in your object structure. Once this is done, inbound processing through that object structure (and any enterprise services referencing that object structure) would perform MBO look-ups using externalrefid rather than assetnum/siteid.
Things to consider: