Actions are used in Workflow and Escalations; they will also be found in Service Level Agreements (SLA) as there is an Escalation tab. This article will discuss the Action application and the standard action records provided in Maximo, the practical use of these actions will be followed up with articles on SLAs, Escalations and eventually Workflow.
A quick glance at the List tab will show that actions are based on an object against which the action takes place and there are several different types of action which we will look at in turn.
Change Status (CHANGESTATUS)
If we query by type CHANGESTATUS for the SR object we see one record for each status that you could change a Service Request to:
- SR QUEUED – Will change the Service Request to a status of QUEUED
- SR INPROG – Will change the Service Request to a status of INPROG
- SR PENDING – Will change the Service Request to a status of PENDING
- SR RESOLVED – Will change the Service Request to a status of RESOLVED
- SR CLOSED – Will change the Service Request to a status of CLOSED
You would not be surprised to find that there are a similar set of 5 records each for Incidents and Problems, for example INCIDENT QUEUED or PROBLEM QUEUED.
There are 6 records to help change status of a work order, WO WAPPR, WO APPR, WO INPRG, WO COMP, WO CANCEL, and WO CLOSE. There are only 3 for the object WOCHANGE (Change) and none for WORELEASE or WOACTIVITY, but they can be easily created.
There are also Change Status actions for MR, PR, RFQ, PO and INVOICE. Other records exist for SLA, and the 5 contract types. The Contract Change Status Actions when used with an Escalation are how you automatically approve (APPR) or expire (EXPIRD) a contract at its start and end date.
If we look at the first of these, the SR QUEUED action, its Object is SR, the Type is Change Status, and Accessible From is set to ALL, all of these fields are mandatory. The Value field is used to set the status, the Select Value lookup shows the statuses for the domain associated with the Status field.
You can add a Memo for the status change. The memo field is only available to the action of type Change Status, it is read-only for other types.
The Accessible From has the options of ALL, WORKFLOW or ESCALATION, there is no APPS. If you are creating your own actions from within the Actions application, it will default to ALL, but you can change to one of the other settings. If you are creating an action from within the Escalations application it would default to ESCALATION, similarly if an action is created from within Workflow it would be WORKFLOW. You cannot see a WORKFLOW action from an Escalation and vice versa. Actions marked as Accessible From ALL can be seen from both Escalations and Workflow. You must be creating a new action for a purpose, and I would be inclined to change this to ESCALATION or WORKFLOW so that others know where it is used.
Notice there is no Status field, so if an action is no longer needed or used your only option is to Delete it. The Deletions Rules can be found here – https://www.ibm.com/docs/en/mam/220.127.116.11?topic=overview-deletion-rules-actions.
Application Action (APPACTION)
There are a limited set of Application Actions, just 16 records and most are associated with creating one type of record from another or applying an SLA:
- For the SR object there are actions to create an Incident, Problem, Change, or Work Order or to apply an SLA.
- For the INCIDENT object there are actions to create a Problem, Change, or Service Request or to apply an SLA.
- For the PROBLEM object there are actions to create an Incident or a Service Request.
- For the WOACTIVITY object there is an action to apply an SLA.
- For the PM object there are actions to generate a work order, generate a forecast, delete a forecast or to reforecast a pending forecast.
If we look at the SR CREATEINCIDENT action to create an incident record from the Service Request the Value field is CREATEINCIDENT. This is not the action you would see in Application Designer and Add/Modify Signature Options or Add/Modify Select Action Menu, here it is CREATEINC. There are 17 specific actions that have been coded for the Application Action, this is not all the actions you will see in an application.
The Parameter/Attribute field’s Select Value when the Application Action is creating a ticket record will provide a look up to a Ticket Template of the type of record being created. If the Value is CREATEWO the lookup is to active Job Plans.
You can also create an Application Action on LOCATIONS or ASSET object with value of CREATESR or CREATEINCIDENT and select a Ticket Template as a Parameter. Similarly, to use CREATEWO and select a Job Plan as a Parameter.
For PM based actions:
- The Action GENERATE FORECAST takes a Parameter/Attribute of the number of days to forecast for.
- The Action GENERATE WORKORDER takes two parameters separated by a colon, the example shows 1:0 which means Use Frequency Criteria and Generate Work Order Due Today, plus 0 days.
- There is no parameter for DELETE FORECAST and REFORECAST. See https://www.ibm.com/docs/en/mam/18.104.22.168?topic=forecasting-callable-actions-pm
There are 4 Workflow specific Application Actions for the Value field:
- WFACCEPT – Used with an escalation to accept a workflow assignment and route it down the positive path
- WFREJECT – Used with an escalation to reject a workflow assignment and route it down the negative path
- WFESCALATE – Reassign an assignment to the escalation role
- WFINITIATE – Initiate workflow on the object. The Parameter/Attribute field’s Select Value will show the active workflow processes for the object.
For the object of INVOICE, the application action with a Value of REVERSEINVOICE will take a parameter of the status to move the invoice to, APPR (Approved) or PENDREV (Pending Reverse).
The other Application Action Value is COPYDOCLINKTOWO which would be used on a WORKORDER object, it doesn’t take a parameter. This is implementing the action which will be found in the Work Order Tracking application.
The IBM Documentation Link for Action Types may be of interest https://www.ibm.com/docs/en/mam/22.214.171.124?topic=processes-action-types
Set Value (APPACTION)
The Set Value action is used to set an attribute to a specific value. The Value field is either a literal enclosed in single quotes, our example shows ‘TIER1’, or it may be an expression for example :wopriority = :wopriority + 1. The detail menu on the Value field will open the Expression Builder where you can build an expression and then test it, before returning the expression to the field. The details menu on the Parameter/Attribute field is the Select Field dialog which shows the fields of the Object followed by the relationship tree allowing you to select a field from a relationship.
In the example shown when the Set Value action fires it will set the OWNERGROUP field on the SR object to ‘TIER1’.
The Set Value in this second example will increment the WORKORDER wopriority field by 1 when the action is applied. The Value field is set to :wopriority = :wopriority + 1. I have made this Accessible From ESCALATION.
Custom Class (CUSTOM)
The Custom Class action is a set of prebuilt actions that do something specific. For example, the action DELEXPMSG will delete expired bulletin messages. It runs from the object BULLETINBOARD and is Accessible From ESCALATION. For Custom Class actions the Value field is a class name that must exist, in our example it is psdi.util.PmDeleteBulletinExpMsg. If the class doesn’t exist, you will receive the error message “BMXAA0278E – Class does not exist in the path specified.”
Some Custom Class actions will accept a Parameter. For example, OSLCTXNCLEANUP is used by an Escalation of the same name and purges old OSLC transaction records, the parameter is the number of days a transaction will be kept before it is deleted, the Parameter/Attribute value defaults to 5.
Other Custom Class actions are not against a specific Object, for example OKSTATUS, NOSTATUS which are used in Workflow processes, the NOSTATUS blocks manual changing of a status, OKSTATUS allows manual changing of a status. PVSTATUS is also used in the Workflow process, see https://www.ibm.com/support/pages/disabling-status-changes-records-workflow.
Many of the other CUSTOM actions are to do with:
- Email Listener (14) – they start with LSNR
- Email Interaction Setup (6) – they start with MFMAIL
- Discovered IT Assets (3) – they start with PROMOTE
- User Self Registration (2) – they start with SELFREG
- Asset Health Action (1) – EXPACTION – used to execute asset health formulas
- SEND_FAILED – Used to reprocess failed sent emails.
Command Line Executable (EXECUTABLE)
Used to run a program on the server, perhaps a batch file. The name of the program including its path is given in the Value field. There is no example of this in the MAXDEMO database.
Action Group (GROUP)
The Action Group type is a way of grouping actions of other types together so that they fire one after the other. In the example shown:
- A Set Value action sets the SITEID attribute to ‘BEDFORD’
- A Set Value action sets the OWNERGROUP attribute to ‘TIER1’
- An Application Action applies an SLA
There is no New Row button, the rows are added using the Select Members button. This shows actions of the same object which are not of type Action Group, and it will also show actions which have no object type, most likely a custom class type. When selected the Sequence number is incremented in intervals of 10, the sequence will be used as the order in which the actions are applied.
The sequence field is the only field that can be modified in the Members table window. There is a Delete Row button.
When you are in the Escalations application and you go to associate an action Maximo will always create these actions in an Action Group, so you may find many action groups with only one action, this is not a problem, it does allow you to easily extend the action group with other actions which you can do from either the Escalations or Actions applications. An Escalation Point only refers to an Action Group and not an individual action.
Automation Scripts – Action Launch Point
An Action can also be created from the Automation Scripts application when using the action Create Script with Action Launch Point. The Action identifier will be set to the same name you give for the Launch Point, although you can change this it would not be recommended. The Launch Point for the script references an Object.
After the script has been created you can find it in the Actions application with the type of Custom Class and against the same object, in this case WORKORDER. The Value will always be com.ibm.tivoli.maximo.script.ScriptAction. The Parameter/Attribute field has three parameters, Script Name, Launch Point Name, Action Identifier. As I aligned the script name with the launch point name this resulted in a Parameter/Attribute field value of SETSCHED, SETSCHED, SETSCHED. (See https://www.ibm.com/docs/en/mam/126.96.36.199?topic=points-script-action-launch-point).