Data updates or changes are relatively common in any database, and IBM Maximo is no exception. Often these data updates require you to update fields in bulk on records meeting a certain set of criteria. In some cases, you can perform data updates en masse using SQL by interfacing with the database directly, though this should be handled with caution, particularly if you are unfamiliar with Maximo’s business rules and how different records interact with each other.
Tools and Methods for Bulk Update
If you don’t have direct access to your IBM Maximo database there are a couple of tools that can facilitate bulk data updates. Two of these methods (Application Import and Automation Scripting) are fairly advanced and require a bit of setup, but option #3 (Escalations and Actions) can be used to quickly set a few fields based on the criteria you define.
Before we dig into this let’s set up an example scenario. Say we need to update your Person records with new Job Titles. In our scenario we only want to replace the Job Title of ‘Maintenance Lead’ with ‘Maintenance Supervisor’, and only for Active records. This equates to the following SQL update statement:
update person set title=’Maintenance Supervisor’ where status=’ACTIVE’ and title=’Maintenance Lead’
Step 1 in your bulk data update is creating one Action for each field you need to update. First, navigate to the Actions app (System Configuration, Platform Configuration, Actions) and create a new Action record. You can either name the Action something you’ll remember or keep the Action number it gives you, but you should set the description to something you can find later. Most critically, set the following four fields as appropriate:
- Object: [The Maximo Object or Database Table you want to update, in our example this is PERSON]
- Type: Set Value
- Value: [The new value you want to apply to the field, in our example this is ‘Maintenance Supervisor’ (including the quotes)]
- Parameter/Attribute: [The Maximo Attribute or Database Field you want to update, in our example this is TITLE (no quotes)]
Once those four fields are populated you can save the Action record and make a note of the Action number. If you need to update more than one field (with the same criteria) you can create multiple Actions and group them using an Action Group. For more detail on Actions and how they can be used check out this IBM Knowledge Center article.
Step 2 in this process is to create an Escalation, which is the component that applies your Action(s) and where you define the condition logic to restrict the updates. To start, navigate to the Escalations app (System Configuration, Platform Configuration, Escalations) and create a new Escalation Record. As with the Action we created earlier, the Escalation Number can be changed if you prefer, just make sure the Description is something meaningful. In the top section of the Escalation record we need to set the Schedule (something in the neighborhood of 5-15 minutes should be fine, but don’t go below 5 minutes) and set the Condition field as follows:
status=’ACTIVE’ and title=’Maintenance Lead’
Note that the Condition matches the where clause of the update statement from our example earlier.
Once the Condition field is set, add a new row to the Escalation Points table (you don’t need to set anything here in our example) and then add your Action to the Actions table. Once that is done you just need to save the Escalation and Activate it using the Activate/Deactivate Escalation option under More Actions or the Select Action menu. Once the desired fields have been updated it’s best practice to come back and Deactivate the Escalation to prevent it from running unnecessarily. More detail on creating Escalations is available on the IBM Knowledge Center.
IBM Maximo Solutions Consultant
Follow Tim on Twitter TFerrill