Technical Blog Post
BiLog: Maximo 76...Massive...Report Server Limits
My bucket list is massive...how is yours? I got recently sidetracked with snow, sea lions and and rabbit ears - but will be back on track with the list with the long summer days ahead! .
Automatically cancelling reports containing massive numbers of records is another item you can cross off your work list with Maximo 76. Prior to 76, report record limits prevented a user from accidentally executing reports against very large parent record set in an application - before the report job is submitted to run.
But what happens when there are a small number of parent records - - but numerous child, grandchild, great-grandchildren and even more lower levels of a hierarchy? For example, a user could run a work order report against 200 parent work order records - and each of those 200 records has multiple lower levels of the hierarchy including - Assets, Locations, Job Plans, Work Logs, Planned Materials, Labor, Services and Tools, Actual Materials, Labor, Services and Tools and many, many more!
The parent record set of 200 quickly grows exponentially to include all those hierarchy records, and performance issues can result.
To prevent these performance issues from occurring, report server limits were introduced in Maximo 76. Report server limits stop complex reports from executing AFTER the report job is submitted. The server limit value is the number of records in the entire record set hierarchy, including the child and grandchild objects. When a report executes, a count of records is made throughout its hierarchy - and if the server record limit is exceeded - the report will stop executing. This occurs whether the report is run immediately or via a scheduled job.
The Server Limit value (also known as stop limits) is defined in the 'Set Security Group Limit' action in Report Administration . This value is set at the Security Group level, and should be set to a very high figure because of the amount of objects and records that can quickly be included within a single report.
The example shown here shows a value of 500,000 records for the server limit value. You should individually evaluate your users and your report needs when setting this value.
A demo recording of report server limits in Maximo 76 is can be seen here and a listing of Best Practices for applying this limit below.
Best Practices: Report Server Limits
1. Report server limits supplement the existing report record limits.
-Report record limits at defined for individual reports. They define the maximum number of parent records - and prevent users from submitting very large reports.
-Server limits are set at the security group level. They define the total of all records in the report hierarchy - and cancel reports from processing when the record limit is exceeded.
2. Report server limits should be set very high -- at a number which is significantly higher than the record limit value.
3. You may want to set report server limits for a subset of your security groups only. For example, you may not want to set it for your Business or Power users - but you may want to set it for your enterprise users.
4. When defining report server limits, you may also want to define Ad Hoc Preview and Schedule limit values. These values are:
Ad Hoc Preview Limits: The maximum number of application records an Ad Hoc report can run against when creating or previewing its content. This can prevent performance issues resulting from users previewing an ad hoc report multiple time against very large record set.
Schedule Limits: Maximum number of scheduled reports a user can have. This prevents unnecessary report jobs from continuously executing as users are forced to manage their scheduled report jobs - - and delete those that are no longer required.