Maximo automation scripts are a very useful tool to implement custom business logic for your customer. After time you may have many scripts to maintain and it may become hard to understand all the logic you have implemented on a specific object. I easy and useful trick I always use is to modify the Automation Scripts application to be able to display and filter script’s launch points.
You can see in this screenshot how easy it it to understand what scripts are running on each business object.
The Automation Scripts app can be modified in just few minutes and can be a lifesaver in many cases.
Open the Application Designer, search for AUTOSCRIPT application and make the following changes.
Remove the following table columns definitions:
- SCRIPTLANGUAGE – Typically you always use one scripting language so there is no need to search for this field.
- VERSION – I don’t think this is really helpful.
- USERDEFINED – Maximo has no built-in script and you probably use a project-specific prefix.
Add the following columns:
- SCRIPTLAUNCHPOINT.LAUNCHPOINTTYPE
- SCRIPTLAUNCHPOINT.OBJECTNAME
- SCRIPTLAUNCHPOINT.ATTRIBUTENAME
If you prefer to modify the application definition XML instead of using the graphical editor, here is is how the XML will look like.
<tablebody displayrowsperpage="20" filterable="true" filterexpanded="true" id="autoscript_results_showlist_tablebody">
<tablecol dataattribute="autoscript" filterable="false" id="autoscript_results_showlist_column1" mxevent="toggleselectrow" mxevent_desc="Select Row {0}" sortable="false" type="event"/>
<tablecol dataattribute="autoscript" id="autoscript_results_showlist_column2" mxevent="selectrecord" mxevent_desc="Go To %1" type="link"/>
<tablecol dataattribute="description" id="autoscript_results_showlist_column3"/>
<tablecol dataattribute="active" id="autoscript_results_showlist_column5"/>
<tablecol dataattribute="SCRIPTLAUNCHPOINT.LAUNCHPOINTTYPE" id="mxd_LAUNCHPOINTTYPE"/>
<tablecol dataattribute="SCRIPTLAUNCHPOINT.OBJECTNAME" id="mxd_OBJECTNAME"/>
<tablecol dataattribute="SCRIPTLAUNCHPOINT.ATTRIBUTENAME" id="mxd_ATTRIBUTENAME"/>
<tablecol filterable="false" id="autoscript_results_bookmark" mxevent="BOOKMARK" mxevent_desc="Add to Bookmarks" mxevent_icon="btn_addtobookmarks.gif" sortable="false" type="event"/>
</tablebody>
This may not be handy if we have multiple launch points with in a single automation script. As it will always display only one. Adding this to Advance Search will help with better search I believe.
You are definitely right.
I always try to avoid having multiple launch points on the same script. That’s why it work perfectly in my case.
The advanced search is a better technical solution but it is not so quick and consumable as the additional columns.
Thanks for sharing your point of view.