APAR status
Closed as program error.
Error description
PROBLEM DESCRIPTION: 7612 - UpdateDB - Drop_App Statement Leaves Residual References The installation of Maximo 7.6.1.2 with Scheduler 7.6.8 deletes the old Applet-based Graphical Scheduler (SCHEDULER) and Graphical Assignments (GRPASSIGN) applications. This occurs in the V7680_86.dbc script which contains the following: <script author="QPM" scriptname="V7680_86"> <description>aremove oldGS,GA applet apps</description> <statements> <drop_app app="SCHEDULER"/> <drop_app app="GRPASSIGN"/> </statements> </script> The UpdateDB log shows the following: Calling the dbchange file : V7680_86 Tue May 11 12:47:13 MST 2021 --------------------------------------------------------------- ---- /* * drop_app SCHEDULER */ delete from longdescription where ldkey = 715 and ldownertable = 'MAXAPPS' and ldownercol = 'DESCRIPTION' ; // Deleted 0 records. delete from maxapps where app = 'SCHEDULER' ; // Deleted 1 record. delete from sigoption where app = 'SCHEDULER' ; // Deleted 65 records. delete from appfielddefaults where app = 'SCHEDULER' ; // Deleted 0 records. delete from applicationauth where app = 'SCHEDULER' ; // Deleted 40 records. delete from appdoctype where app = 'SCHEDULER' ; // Deleted 3 records. delete from maxlabels where app = 'SCHEDULER' ; // Deleted 806 records. delete from maxmenu where (menutype = 'MODULE' and elementtype = 'APP' and keyvalue = 'SCHEDULER') or (menutype != 'MODULE' and moduleapp = 'SCHEDULER') ; // Deleted 63 records. delete from bookmark where app = 'SCHEDULER' ; // Deleted 0 records. delete from defaultquery where app = 'SCHEDULER' ; // Deleted 0 records. delete from excludedactions where app = 'SCHEDULER' ; // Deleted 0 records. delete from maxpresentation where app = 'SCHEDULER' ; // Deleted 1 record. delete from query where app = 'SCHEDULER' ; // Deleted 0 records. delete from wfapptoolbar where appname = 'SCHEDULER' ; // Deleted 0 records. commit ; /* * drop_app GRPASSIGN */ delete from longdescription where ldkey = 719 and ldownertable = 'MAXAPPS' and ldownercol = 'DESCRIPTION' ; // Deleted 0 records. delete from maxapps where app = 'GRPASSIGN' ; // Deleted 1 record. delete from sigoption where app = 'GRPASSIGN' ; // Deleted 53 records. delete from appfielddefaults where app = 'GRPASSIGN' ; // Deleted 0 records. delete from applicationauth where app = 'GRPASSIGN' ; // Deleted 17 records. delete from appdoctype where app = 'GRPASSIGN' ; // Deleted 0 records. delete from maxlabels where app = 'GRPASSIGN' ; // Deleted 654 records. delete from maxmenu where (menutype = 'MODULE' and elementtype = 'APP' and keyvalue = 'GRPASSIGN') or (menutype != 'MODULE' and moduleapp = 'GRPASSIGN') ; // Deleted 60 records. delete from bookmark where app = 'GRPASSIGN' ; // Deleted 0 records. delete from defaultquery where app = 'GRPASSIGN' ; // Deleted 0 records. delete from excludedactions where app = 'GRPASSIGN' ; // Deleted 0 records. delete from maxpresentation where app = 'GRPASSIGN' ; // Deleted 1 record. delete from query where app = 'GRPASSIGN' ; // Deleted 0 records. delete from wfapptoolbar where appname = 'GRPASSIGN' ; // Deleted 0 records. commit ; -- updating MaxVar update maxvars set varvalue = 'V7680-86' where varname = 'SKDUPG' ; // Updated 1 record. commit ; -- Script: Successful But there are many more table that do, or could contain records referencing an Application. Try running the following script: SELECT * FROM MaxAttribute WHERE COALESCE(SameAsAttribute, AttributeName) IN ('APP', 'APPNAME') ORDER BY ObjectName, AttributeName ; That will show you all the attributes that could contain an Application Name assuming there are no attribute for an Application Name called something else without a Same As reference. As you will see, the list of objects and attributes is quite long. You can also run the following script to find generate SQL statement to check all these Objects for records that actually do reference the applications that were deleted: SELECT 'SELECT * FROM ' || ObjectName || ' WHERE ' || AttributeName || ' IN (''SCHEDULER'', ''GRPASSIGN'') ;' FROM MaxAttribute WHERE COALESCE(SameAsAttribute, AttributeName) IN ('APP', 'APPNAME') and ColumnName IS NOT NULL ORDER BY ObjectName, AttributeName ; In my MaxDemo environment, the following objects still contain references to the deleted applications: CtrlGroup - This table contains 8 records that should have been deleted along with related records in the CtrlCondition and CtrlCondProp tables. Other objects may have related records that may need to be deleted as well. LoginTracking - I found no references to the deleted applications in MaxDemo but this is an example of a table where the data should be left alone because it is an audit-related table. MaxApps (OriginalApp) - I found no references to the deleted applications in MaxDemo but this is an example of a table with a reference to the deleted applications which may require special handling. If the Scheduler or GrpAssign applications were cloned, the cloned applications should probably be deleted as well. Rather than automatically deleting them, it might make more sense for the Integrity Checker to raise an Error for MaxApps records where the Original App does not exist in the MaxApps table. Of course, then the client would need an easy way to delete those applications. MaxGroup (DfltApp) - I found no references to the deleted applications in MaxDemo but this is an example of a table with a reference to the deleted applications where the column value should just be cleared rather than deleting the record. MaxLicAppAccess and MaxLicProdApps - Both of these have records referring to the deleted applications as well as related records that could contain references if the License Usage Monitor application (LicTrack) is being used. Failure to delete these records could result in error when the UserAnalyzer Cron Task runs. SigOptFlag - There are 36 records in MaxDemo for the deleted applications. All the records referencing the deleted applications in MaxDemo should have been deleted (or updated) but many of the other tables identified by the above SQL could also include references to the delete applications in a client's environment and should have been deleted (or updated) as well. And there should also be a simple process for users to clean up custom applications that are no longer needed without having to figure out all the affected tables every time. Ideally, there should be an Action in Application Designer to delete an application and all relevant references. Action Taken: Issue not replicated in house. Found simmilar behavior when, instead of Downloading and installing the 7.6.1.2-TIV-MAMMT-FP0002 as per instructions at: https://www.ibm.com/support/pages/ibm-maximo-asset-management-f eature-pack-7612, Users simply launched IBM Installation Manager and clicked on "Update" to upgrade Maximo 710 and Scheduler and Service provider all from there to MAM 7612 and Scheduler 768. Client confirmed that He downloaded the FixPack and installed it as indicated in the instructions above. He had the V7680_86.dbc script file have ended up in his directory structure to be executed by UpdateDB. The problem here is that the "<drop_app" command in .dbc files is not checking all objects that could have references to the application being dropped. Either the UpdateDB class files that handle that command should be modified or freeform SQL needs to be included whenever an app is being dropped to check all the other objects. STEPS TO REPRODUCE: N/A REPORTED IN ENVIRONMENT: IBM Maximo Asset Management Scheduler 7.6.8.0 IBM Maximo Asset Management 7.6.1.2
Local fix
N/A
Problem summary
**************************************************************** * USERS AFFECTED: * * MAXIMO * **************************************************************** * PROBLEM DESCRIPTION: * * drop_app dbc script is not deleting records from CTRLGROUP * * and SIGOPTFLAG. * ****************************************************************
Problem conclusion
The fix for this APAR is contained in the following maintenance package: Manage 9.0
Temporary fix
Comments
APAR Information
APAR number
IJ33268
Reported component name
MAXIMO ASST MGM
Reported component ID
5724R46AM
Reported release
761
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2021-06-16
Closed date
2023-12-03
Last modified date
2023-12-03
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
MAXIMO ASST MGM
Fixed component ID
5724R46AM
Applicable component levels
[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSLKT6","label":"Maximo Asset Management"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"761","Line of Business":{"code":"LOB59","label":"Sustainability Software"}}]
Document Information
Modified date:
04 December 2023