Thursday, November 5, 2020

MXDIFF & MXAPPLY tools to update application screen presentation

As DevOps practices have evolved in recent years in many organizations, we plan to apply screen changes in Maximo applications using a .mxs file. 

.mxs files - files used for applying screen (or application or presentation) changes in Maximo. 

 mxdiff tool - The out of box comparison utility used to generate a differential transactional output file between existing presentation and new presentation changes(add/remove/modify/move). 

parameters 

-b: Existing version baseline file or individual presentation file.

This file is the consolidated single file for all presentation xml in a Maximo version

-f: (optional) baseline file is available in this path maximo\tools\maximo\screen-upgrade\basexxx.xml 

-m: New version of baseline file or modified individual presentation file.

-t: output file with differential changes between existing & new file of .mxs extension

In our example, we choose an individual presentation file instead of complete presentation set as baseline.xml

 

poc\base\inventor.xml is the existing Inventory application presentation file. 

poc\inventor.xml is the modified Inventory file with screen changes

Run mxdiff.bat file against these two files to generate a transactional file. 

mxdiff.bat -bC:\Users\surendar\Desktop\poc\base\inventor.xml                                                                 -mC:\Users\surendar\Desktop\poc\inventor.xml -tC:\Users\surendar\Desktop\poc\testapp.mxs

It generates testapp.mxs file with a differential content - removal of a tag from Inventory List tab.

mxapply.bat in maximo\tools\maximo\screen-upgrade path or runscriptfile.bat file in tools\maximo\en\script path can be used to apply the changes to Maximo system using .mxs file

i) mxapply.bat - Utility to apply screen upgrade changes.

mxapply.bat -tC:\Users\surendar\Desktop\poc\testapp.mxs

ii) runscriptfile.bat 

We need to place the testapp.mxs file in tools\maximo\en\script folder. 

Execute this command - runscriptfile.bat -ftestapp  (filename without an extension)

Courtesy: Siddhartha Upadhyaya


Thursday, October 1, 2020

Multiplication control to create records for multiple Sites or Orgs in Enterprise service

There are scenarios wherein we need to create a record to multiple Organizations or Sites from a single payload.

A multiplication control is a cross-reference control that copies, or multiplies, an inbound message for multiple organizations or sites. 

We can create Cross Reference Control from the Enterprise Services application --> Select Action menu --> Create Integration Controls.
 
In the dialog box, click the button "Add New Control" -->  Select Cross Reference Control (Add New Xref Control).

It has one Default External value and multiple Maximo Default values.


Associate ORGMUL to Enterprise Service. Open an enterprise service from Enterprise Services application. From the Select Action menu --> Associate integration controls
select ORGMUL, then click OK.

Assign Multiplication Control: Open an enterprise service from Enterprise Services application.
Select ORGMUL as the Multiplication Control in the Multiplication Control field.

Create an Enterprise Service Rule to replace the value on an inbound transaction using a key value pair.

Create a Rule, for example, SETORG. Action=Replace. 
Click Add/Modify Conditions. Click New Row in the Conditions section. Click New Row in the XML Field Section. Choose the Field you wish to do the replace on and leave the Evaluation Type as NOTEQUALS and the Evaluate When as ALWAYS. Choose the Value Radio Button and click OK.

Click the Sub-Record Fields button. Click New Row, choose the field you wish to do the Replace on and then choose the Integration Control.


Input XML for testing: 

Reference: https://rb.gy/urcuxa

https://www.ibm.com/support/pages/using-rules-replace-value-list-inbound-transaction