IBM Support

Creating a sig option as a solution to prevent users from selecting "All Records"

Technical Blog Post


Abstract

Creating a sig option as a solution to prevent users from selecting "All Records"

Body

Maximo SysAdm Times

Welcome to the Sysadm Times !!!!!!

 

Introduction:

There is a drop down menu "All Records" on the side navigation toolbar in Maximo and sometimes users ending up clicking on this option which could impact performance seriously if there are millions of records to be returned.

'All Records' query option is hardcoded in the menu.java to always be displayed. You are unable to disable it without a framework code change. Making a code change to achieve this would be an unsupported customization of platform code.

image

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Here is code from menu.java

 item = new HashMap<String,String>();
        item.put("KEY", "useAllRecsQuery"); // key will become mxevent
        item.put("TEXT", wcs.getMaxMessage("jspmessages", "ALL_RECORDS").getMessage()); // set text directly - not through a query name
        item.put("ELEMENTTYPE","OPTION");
        options.put("item_QUERY_ALL",item);
 
When chosen it simply runs this:
        setUserWhere("");
        resetQbe();
        reset();

 

The purpose of this article is to present a technical solution using sig option to prevent users from performing the query. You can create a sig option for each app you want this disabled.

In this example , Asset application will be used:
 

1. Login as MAXADMIN --> Go to Application Designer -->Select Add/Modify Signature Options--> Select New Row

     Add the option _USEALLRECSQUERY

image

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2. Save change and log out of Maximo

 

NOTE:

You have to make sure the user you are about to log in as does not have any active sessions.  Any easy way to insure this would be to restart MxServer or check Manage Sessions in the Users app.

 

End Results:

Log in, go to Asset, select the All Records query and you should see below message.

image

 

 

 

 

 

 

 

 

This is not the best message for this situation (it's used for other actions that can be performed on records) but it still prevents users from performing the query and that's the important part.

 

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSLKT6","label":"IBM Maximo Asset Management"},"Component":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"","Edition":"","Line of Business":{"code":"LOB59","label":"Sustainability Software"}}]

UID

ibm11130565