Application Restrictions

It’s not an unusual requirement for records to be restricted from being viewed in an application. There are several ways you can achieve this in Maximo, but today I am only going to focus on one: Application Restrictions. An Application Restriction is really a “where clause” that is applied to the application behind the scenes. It specifies all of the records that are available to the application. However, a critical aspect of the Application Restriction is that it’s invisible to the user. It does not show up in the Advanced Search Where Clause. The where clause used in the application is tacked onto the application restriction. This means that users can’t cheat the restriction by using the “All Records” saved query or deleting the Advanced Search Where Clause.

A great case study for the utility this configuration is a company with multiple business units such as gas and electric. At such a company, applications like Work Order Tracking may be required to be duplicated and configured to meet the different work processes of each unit. In this scenario, it is important to ensure that the records that belong to each unit are available only in their respective applications. Below I have provided an example that restricts records in a duplicated work order tracking application specific to a company’s electric business unit.

  • Navigate to the Application Designer application
  • Open up your desired application. In this case, I am opening Work Order Tracking (ELECTRIC), a duplicate of the OOTB Work Order Tracking application.
  • Right-click the “presentation…” control and select “Properties.”

 

  • In the dialogue that appears, enter the where clause in the Application Restrictions field that retrieves the record you want to see in the application.

  • Save the application definition.

Back in the front end of my Work Order Tracking (ELECTRIC) application, only records with a Business Unit value of ELECTRIC are displayed.

 

However, when I open up the Advanced Search Where Clause, no evidence of the restriction is found. Only the default application Where Clause is visible:

This method of restricting record access certainly has its benefits over others. It requires less infrastructure than the use of a view, it is logically less complex than a global data restriction, and it is not possible to circumvent like other methods such as a defaulted saved query. The technical ease with which it’s implemented certainly doesn’t hurt either. However, like any configuration, it does have its drawbacks. A start center result set connected to the restricted application does not inherently take the restriction into account when retrieving records. If several applications require the same restriction, it would have to be applied to each application individually. Finally, if you have other methods of restricting records, this would spread out the configurations, which is tougher to maintain long term.

 

Application Restrictions are beneficial. However, they are not a one-size-fits-all method of restricting records from appearing in an application. Hopefully, this post has provided you with the knowledge to decide if they are the right method for you and your needs.

About the Author

Myles Vivian

Myles Vivian is an application consultant at Ontracks. He mostly spends his days performing large scale data migrations, configuring system infrastructure, writing automation scripts and writing Maximo blog posts. For the past year, he has also been involved with helping members of the IBM team develop their open source project called the maximodev-cli.