Question & Answer
How can I transform data from an External System? An integration with External Systems may need a transformation layer before the message is processed in MIF.
The External System has a different schema than Maximo (TPAE), so a transformation is required.
There are two ways to achieve this:
1 - Writing a custom UserExit: A UserExit is a JAVA class written to apply extra logic on MIF.
2 - Using XSLT: ( EXtensible Stylesheet Language Transformation) can be used to transform the inbound message when it arrives MIF. This does not require any code customization.
As Maximo has its own schema, we need to have the external schema reference to create a XSL file to convert it.
For this example, the standard MXASSETInterface will be used to update an existing ASSET description.
IMPORTANT: The XSL creation will not be covered in this Technote as it is beyond the scope of Maximo support. Its creation requires either XSL skill or a third party tool to automatically convert the schema.
Sample XSL ( for demonstration only )
Enterprise Service Settings:
In order to use the XSL to transform the inbound message, it needs to be associated with the Enterprise Service:
1 - Copy the XSL file to [MEA_GLOBAL_DIR]\schema\external folder.
If the external folder does not exist, it needs to be created.
2 - Go to > Integration > Enterprise Services > "MXASSETInterface"
2.1 - Check the "Use External Schema?" option so both "XSL Map" and "Split Tag" fields will turn editable.
2.2 - In the "Split Tag" field, set its value as "MPCDocument" which is the main element from the external schema.
2.3 - In the "XSL Map" field, set the path to the XSL file as specified in Step 1.
3 - Save the Enterprise Service
4 - Import data using a different schema
Sample XML to be Imported ( A new ASSET record will be created as MPC1 )
The XSLT will act over the inbound XML and transform it to the internal Maximo schema
5 - Check in the ASSETs application, the MPC1 Asset record has been created
17 June 2018