IBM Support

IBM Maximo Application Suite - Manage Component patch 8.7.20

Fix Readme


Abstract

On 5 May 2025, IBM released IBM® Maximo® Application Suite Manage Component patch 8.7.20. As with all patches, it is cumulative. In addition to the new fixes listed here, all fixes from earlier patches for this version are included.

Content

For Industry Solutions Patches, go to:
*Not updated from Patch 8.7.18 in this release.

Manage and Mobile APAR and Known Issue Fixes
When an APAR or Known Issue has Manual Change in the first column, click the link or go to the Manual Changes section for directions.
When an APAR or Known Issue has Behavior Change in the first column, click the link or go to the Behavioral Changes section for information.
When an APAR or Known Issue has Database Change in the first column, click the link or go to the Database Change Details section for information.
APAR Application Name Description
DT178586 Database configuration In the Database Configuration application, creating a simple view from LABTRANS causes an error.
DT247027 Purchase orders Complete Receipts in PO does not trigger an event if the PO has more than 2 PO Lines.
DT389960 Work Order (RBA) In the Work Orders role-based application, creating a Work Order allows the selection of an invalid contract.
DT394083
Manual Change

Behavioral Change

Database Change
Purchase orders User is able to save Purchase Order record with duplicate POLINE numbers.
DT395000 Report Unable to sync Cognos users in MAS Manage due to class file missing bracket
DT397288
Manual Change
Classifications In the Classifications application, the Classification Attributes for Linear Asset and Feature Specifications of the  'DATEVALUE' attribute operate inconsistently.
DT399980 Preventive maintenance Changing the status of a Preventive Maintenance record associated with an inactive Job Plan references an incorrect inactive Job Plan.
DT408944 Work Order Tracking In Work Order Tracking, a user can select a value from lookup when the Inspection Form field is read-only.
DT417169 Location Removing a Location from a Network does not remove Ancestor records.
DT418781 Mobile In a non-English base language environment in the Technician role-bases app, receiving Material in a work Order causes error BMXAA4024E - "The synonym value ISSUE is not valid for the domain ISSUETYP, siteid=XXX, orgid=YYY. Specify a valid synonym value. You can find a list of valid values using the Domain application." to display.
DT419672 System (Object) When Locale is set to en_CA, entering Time values into any field causes error BMXAA4155E - "The time format is not valid. Make sure a valid value is entered that conforms to the date time properties of the current locale.".
DT422017 Assets In Assets, an image added to the rotating Item Master record is not added to Rotating Asset records.
DT422988 Spatial Resetting the mobile app does not delete the Vector Tile Package (VTPK) on the device.
DT423185 System (Object) If SMTP is not enabled, Escalations and Cron Tasks fail.
DT423211 Work Order Tracking In Work Order Tracking, saving a generated Work Order with an associated a non-linear Asset fails to update the Total Work Unit field.
DT423260 UI The longdescreadonly property, intended to override the Long Description default value of read-only, does not work correctly.
DT423394 Scheduler/Crew In Scheduler Data Manager, validating a query does not display the number of records.
DT423612 Crontask set up The inventory reorder feature is currently encountering a hiccup when it comes to generating Purchase Requisitions (PR) or Purchase Orders (PO) for multiple items, some of which may be faulty or substandard.
DT423692 Manage Inspections Forms Clicking "Revise Inspection Form" does not work and causes BMXAA9238E - "An error occurred when the Application Service WebMethod was started. The nested stack trace gives details of the error. null" to be written to the log.
DT423860 Work Order Tracking In the Work Order Tracking application, Storeroom Material Status is showing as COMP instead of PARTIAL, even though there are Work Order materials that are still in BACKORDER reservation.
DT424011 System (Object) Cannot apply the Customization Archive from the Azure Blob container in private Azure storage.
DT424145
Manual Change
Classifications In the Item Master application, users cannot search for data type DATE on Attributes in the Classifications section.
DT424155 Mobile Multiple timers start when the Mobile user switches between List view and Map view.
DT424163 System (Object) Protocol reference in JSON file response under response info href is http instead of https
DT424186 Mobile Answers using multiple Inspection Form revisions are saved for the same Inspection.
DT424293 Count Book Changing Count Book status to complete when reconcile button is enabled for multiple Count Book lines for an item with multiple bins causes warning BMXAA8229W - "Record INVBALANCES : Item=XXX Storeroom=XXX Bin=XXX Lot= Condition Code= Site=BEDFORD Item Set=SET1 has been updated by another user. Your changes have not been saved. Refresh the record and try again." to display.
DT424321 Mobile Labor and Failure Reporting Details visible in Manage are not visible in the mobile Technician application.
DT424373  Scheduler/Crew In Scheduler Data Manager, when a shift has been defined with a Pattern that is not a multiple of 7, Calendar validation throws the error "Shifts must be applied for the entire span of the schedule.".
DT424526 Job Plans When a user updates a Job Plan record in the Job Plans application, saving the change does not update the Changed By field.
DT424836 Work Order Tracking In the Work Order application, modifying the Service Address, the Description field of the modified service is not displayed.
DT424897 Spatial GIS Maps do not display on Mobile apps and Role-Based applications.
DT425583 System (Object) In Work Order Tracking, selecting a record, and clicking GL Account lookup causes error BMXAA6714E - "The data for the next record in the mboset could not be retrieved for the SQL query.".
DT425606 UI Page will scroll down as its focusing on "Select Groups" to the bottom of the page.
DT425706 Mobile In Mobile, modifying a Work Order with e-signature enabled does not save the ESIGTRANSID to the audit table.
DT425833 Scheduler/Crew In Graphical Assignment, Labor records that do not share the same Skill Level and match Labor 1 in Work Order requirements are highlighted in blue.
DT425897 Work Order Tracking When a Workflow cancels a Work Order generated by PM, an error is incorrectly written to the log file.
DT426626 Scheduler/Crew In Graphical Assignment, Emergency Cron Task execution subsequently removes the ability to make changes to the record.
DT426766 Preventive maintenance In an environment where Event Listener and Enable Message Tracking are enabled on the MXWOInterface Publish Channel, when PMWoGen generates a Work Order that is missing required fields, the system rolls back the changes because the fields are not validated before the message is sent.
DT433136 UI When the dropdown of a Lookup field is open, the 'Next' option is disabled.
DT433198 Mobile Flow-controlled Work Orders do not work as expected.
DT433401 Mobile After revision, Inspection Forms with 400+ questions, each with a condition, do not appear in Manage.
DT433905 Mobile In Inspection Forms, the Executed Date field turns red when cleared, as expected for a required field. However, the form still allows submission, and the previously entered date is saved despite the field being cleared.
DT434308 Mobile Filtering large Inspection Forms with many conditions takes longer than expected.
DT434309
Behavioral Change

Database Change
Preventive maintenance Generating Assets with Asset Template / Master PM, then cancelling a PM with one of those assets generates the errors BMXAA4590E - "Could not change Work Order XXXXX status to CAN." and BMXAA3175E - "Meter reading for a PM meter should be greater than zero.".
DT434507
Manual Change
Invoices In the Invoices application, modifying the line cost value where Invoice type='CREDIT' causes the invoice amount to be calculated incorrectly.
DT435138 UI Scheduled Start/Scheduled Finish fields automatically select the current date.
DT435373 Mobile SR Mobile incorrectly displays sub-categories.
DT435467 Mobile Cannot select options in Multiple Choice Domain responses.
IJ38063
Manual Change
Budget Monitoring In an environment with a very large number of Work Order and LABTRANS records, updating Budget Lines causes error BMXAA7387E - "While attempting to retrieve 100001 of LABTRANS, the operation was terminated because the preset limit of 10000 was exceeded for retrieving LABTRANS into a single set. Reduce the number of selected objects for the operation.".
IJ47801 Work Order Tracking On a duplicated Work Order, the Failed Date field on the Failure Reporting tab is copied from the original Work Order.
IJ47834 Assets Deleting an Attribute from a Classification does not delete the Attribute on all Assets if the Attribute is on more than 3,000 Assets.
IJ48283 Item Master Adding a new item results in errors BMXAA7136E - "Validation failed when the database default values were set. See the associated message for more information." and BMXAA7831I - "Do you want to apply the tax-exempt status to the organization level for the item, and to the vendor level for the item?".
IJ49380 Escalations In Escalations Application, Action Group field allows the use of another type of Action other than the Group Action.
IJ49455 Integration Using the export functionality in the External System where a batch size is defined using JSON format, depending on whether the result is under or overthe batch limit, fields are suppressed.
IJ50268 Report The Inventory ABC Transaction Date Analysis report Grand Total is incorrect.
IJ51021 Work Order Tracking When Security Group restricts User from seeing other Users' assignments, the Work Order Status displays as COMP when the User completes all the visible, open assignments when there are still open assignments for other Users. This scenario occurs when assignments are made at the the Work Order header level.
IJ51365 Create Requisition In Create Requisition, adding a Company contact to an MRLINE causes the error BMXAA0314E - "Company Contact is not valid.".

APAR Change instructions
To solve this issue, a unique index might need to be created on the following columns: ponum, revisionnum, polinenum, and siteid.
 
Steps to be Performed Before Creating the Unique Index:
 
Step 1: Remove Duplicate Records
1. Ensure that there are no duplicate entries for ponum, revisionnum, polinenum, and siteid.
2. Run the following query to check for duplicates:
SELECT
	ponum,
	revisionnum,
	polinenum,
	siteid,
	count(*)
FROM
	poline
GROUP BY
	ponum,
	revisionnum,
	polinenum,
	siteid
having
	count(*) > 1;
3. If this query returns any records, manually address the duplicates (either by deleting or correcting them) before proceeding. This ensures that data integrity is maintained before the index is enforced.

Step 2: Check for Existing Index
1. Run the following query to check if an index already exists on these columns. Alternatively, go to Database Configuration, search for POLINE Object and check the list of Indexes on the Index tab to verify if any such index already exists on POLINE object.
Note: The out-of-the-box POLINE_NDX10 index exists on these columns but is not unique.
Query to Find Existing Index (SQL Server):
SELECT
	i.name AS IndexName,
	i.is_unique AS IsUnique
FROM
	sys.indexes i
JOIN sys.index_columns ic ON
	i.index_id = ic.index_id
	AND i.object_id = ic.object_id
JOIN sys.columns c ON
	ic.column_id = c.column_id
	AND ic.object_id = c.object_id
WHERE
	i.object_id = OBJECT_ID('dbo.poline')
	AND c.name IN ('ponum', 'revisionnum', 'polinenum', 'siteid')
GROUP BY
	i.name,
	i.is_unique
HAVING
	COUNT(c.name) = 4;
Query to Find Existing Index (Oracle database):
SELECT
	i.index_name,
	i.uniqueness AS IsUnique
FROM
	user_indexes i
JOIN user_ind_columns c ON
	i.index_name = c.index_name
WHERE
	i.table_name = 'POLINE'
	AND c.column_name IN ('PONUM', 'REVISIONNUM', 'POLINENUM', 'SITEID')
GROUP BY
	i.index_name,
	i.uniqueness
HAVING
	COUNT(c.column_name) = 4;
Query to Find Existing Index (Db2):
SELECT
	i.NAME AS IndexName,
	i.UNIQUERULE AS IsUnique
FROM
	MAXIMO.MAXSYSINDEXES i
JOIN MAXIMO.MAXSYSKEYS k ON
	i.NAME = k.IXNAME
WHERE
	i.TBNAME = 'POLINE'
	AND k.COLNAME IN ('PONUM', 'REVISIONNUM', 'POLINENUM', 'SITEID')
GROUP BY
	i.NAME,
	i.UNIQUERULE
HAVING
	COUNT(DISTINCT k.COLNAME) = 4;
2. If the result of the above query is not empty. Check if a unique index already exists on the same four columns. If it is already a unique index, the user might not need to create a new unique index.

Step 3: Handling Non-Unique Index
1. If the index is not unique, take note of the index (for example out-of-box non-unique index, POLINE_NDX10), which might be the existing non-unique index.
2. Go to Database Configuration Application and Remove the non-unique index from the Alternate Index field for the POLINE object on the Object tab.
3. Go to the Index Tab, and delete the non-unique index (POLINE_NDX10).
4. Save the record.

Step 4: Create a New Unique Index
1. Go to Database Configuration Application > Go to the Index Tab > Add a new index
2. Index name: UNIQUE_POLINE_NDX10
3. Storage Partition: MAXINDEX
4. Enforce Uniqueness? Yes
5. Add columns in the following order - PONUM, REVISIONNUM, POLINENUM, SITEID
6. Set the newly created UNIQUE_POLINE_NDX10 index as the alternate index (MAXOBJECTCFG.ALTIXNAME) for the POLINE object from the Database Configuration Application on the Object tab.
7. Save and apply the configuration changes. Be sure to take a database backup and perform the changes in Admin Mode.

 
DT424145
1. Open Application Designer.
2. Click Export System XML.
3. Click the icon next to LIBRARY. Save the file as library.xml.
4. Search for 'tablecol id="classspec_table_tablebody_4"'.
5. Remove the entire line it is in.
6. In its place, add the line
<tablecol id="classspec_table_tablebody_4" dataattribute="SPECVALUE" sortable="false" lookup="" smartfilloff="true"/>
7. Search for 'tablecol id="searchAttributeItem_table_tablebody_7"'.
8. Remove the entire line it is in.
9. In its place, add the line
<tablecol id="searchAttributeItem_table_tablebody_7" dataattribute="specvalue" lookup="" label="Search Value" smartfilloff="true"/>
10. Search for 'tablecol id="SEARCHATTR_table_tablebody_7"'.
11. Remove the entire line it is in.
12. In its place, add the line
<tablecol id="SEARCHATTR_table_tablebody_7" dataattribute="specvalue" lookup="" label="Search Value" smartfilloff="true"/>
13. Save the modified library.xml file.
14. In Application Designer, import the modified library.xml file.
15 Save changes.
DT397288
A. Database Configuration
Add a date value attribute for the FEATURESPEC and ASSETFEATURESPEC objects. For example:
1. Open Database Configuration.
2. Filter for the FEATURESPEC application.
3. Click the Attributes tab.
4. Add a date value attribute:
  • Attribute: DATEVALUE
  • Type: DATE
  • Title: Date Value
  • Description:- Date Value
  • Length: 4
  • Leave the Persistent? toggle on
Repeat for the ASSETFEATURESPEC object.
Follow the steps in the documentation at Adding attributes to objects
 
Modify the ASSETATTRID attribute for FEATURESPEC and ASSETFEATURESPEC objects. For example:
1. Open Database Configuration.
2. Filter for the FEATURESPEC application.
3. Click the Attributes tab.
4. Filter for the ASSETATTRID attribute.
Change the Class name: Class - psdi.app.ticket.FldTKCommonSpecAssetAttrid
Save.
Repeat for the ASSETFEATURESPEC object ASSETATTRID attribute.
Once Database Configuration changes are done, apply them by following the steps in the documentation at Configuring the database in administration mode.

B. Application Designer
Make XML changes required in asset.xml and feature.xml to implement UI changes for the Date Value field.
1. Open Application Designer.
2. Filter for the ASSET application, and click it.
3. Export Application Definition. Save the file as asset.xml
4. Open the asset.xml file in a text editor.
5.1 Search for id "AssetFeature_specifications_table_tablebody_4"
5.2 After that, add the line
<tablecol dataattribute="datevalue" id="AssetFeature_specifications_table_tablebody_date_11" lookup="datelookup"/>
5.3 Search for id "AssetFeature_specifications_table_1_griddetails2_3b"
5.4 After that, add the line
<textbox dataattribute="datevalue" id="AssetFeature_specifications_table_1_griddetails2_date_8" lookup="datelookup" smartfilloff="true"/>
6. Save asset.xml
7. In Application Designer, import the modified asset.xml file.
8. Save changes
 
9. Filter for the FEATURE application, and click it.
10. Export Application Definition. Save the file as feature.xml
11. Open the feature.xml file in a text editor.
12.1 Search for id "specification_featurespectable_tablebody_4"
13.2 After that, add the line
<tablecol id="specification_featurespectable_tablebody_4b" dataattribute="datevalue" lookup="datelookup"/>
13.3 Search for id "specifications_specifications_table_1_griddetails1_row_col2_sec"
13.4 After that, add the line
<textbox id="specification_featurespectable_1_griddetails_date_4b" dataattribute="datevalue" lookup="datelookup" smartfilloff="true"/>
14. Save feature.xml.
15. In Application Designer, import the modified feature.xml file.
16. Save changes.
DT434507 To add new message, follow these steps:
1. Log into Manage as an administrative user.
2. Go to Database Configuration.
3. In the More Actions section, click Messages.
4. Click the New Row icon (plus sign inside a circle)
5. For the new row, enter these details:
  •   Message Group: invoice
  •   Message Key: matchSignOfPOLineCost
  •   Display Method: MSGBOX
  •   Message ID Prefix: BMXAA
  •   Message ID Suffix: E
  •   Display ID?: Checked
  •   Value: The PO Line cost is \{0}. The credited cost against this line must be \{1}.
  •   Button Ok?: Checked
When finished, click OK.
 
IJ38063 Associate the object's classstrucureid to each budget rule for newly added workorder focal points. The attribute should be CLASSSTRUCTUREID, WORKORDER.CLASSSTRUCTUREID, or REFWO to define the appropriate associations against each rule. This is a list of associations for each Rules by object.
  • LABTRANS: WORKORDER.CLASSSTRUCTUREID
  • WPLABOR: WORKORDER.CLASSSTRUCTUREID
  • WPMATERIAL: WORKORDER.CLASSSTRUCTUREID
  • WPSERVICE: WORKORDER.CLASSSTRUCTUREID
  • WPTOOL: WORKORDER.CLASSSTRUCTUREID
  • MATRECTRANS: WORKORDER.CLASSSTRUCTUREID
  • MATUSETRANS: WORKORDER.CLASSSTRUCTUREID
  • POLINE: CLASSSTRUCTUREID
  • PRLINE: CLASSSTRUCTUREID
  • SERVRECTRANS: REFWO
  • TOOLTRANS: REFWO

APAR Change information
To ensure there is no conflict before applying the current fix, it is important to verify that the attribute LASTPMWOGENREADING does not already exist on the WOMETERobject.
DT394083 Duplicate poline numbers would not be possible to add or retain on purchase order records after the index is implemented.
APAR Change details
DT434309 The attribute LASTPMWOGENREADING is added on WOMETER object as a part of the fix for this issue to store LASTPMWOGENREAD value on PMMETER while the WO is generated.
DT394083 The APAR requires manual changes to be made at the database level. The uniqueness of the poline number can be ensured by creating a new unique index on ponum, revisionnum, polinenum, and siteid.

[{"Type":"MASTER","Line of Business":{"code":"LOB77","label":"Automation Platform"},"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSRHPA","label":"IBM Maximo Application Suite"},"ARM Category":[{"code":"a8m3p000000hB0QAAU","label":"Manage"}],"ARM Case Number":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"8.7.0"}]

Document Information

Modified date:
20 June 2025

UID

ibm17231537