Technical Blog Post
Abstract
10 minute Tip – What to do with Scheduled reports for users who have left?
Body
0 minute Tip – Scheduled reports for users who have left the company
Scheduled reports in Maximo are owned by the user who requests them. Sometimes you may want the reports to continue to run even after that user leaves (or becomes inactive). In fact, if the user does leave you will likely see messages in the log similar to the following:
[ERROR] [MXServer] [CID-CRON-122] BMXAA0021E - User name and password combination are not valid. Try again.
psdi.util.MXAccessException: BMXAA0021E - User name and password combination are not valid. Try again.
Usually these occur because there is a scheduled report that wants to run, but it cannot because the userid is no longer valid. A quick way to verify whether this is the situation you are facing is to execute the SQL statement shown below:
If the above statement returns records the you have scheduled reports that need to be addressed. This is not an urgent matter, but you should clean it up as soon as you can.
You have a few of options at this point…
- Find, and delete the scheduled report(s)
- Change the userid that is tied to this/these report request(s)
- Do nothing and continue to ignore the messages in the log
1) Delete the existing scheduled report
The select statement from above will have returned an attribute called reportsched.userid. You will use this as you perform the following in Maximo while logged in as an Administrator
a) Go to Administration > Reporting > Report Administration
b) Select Action > Scheduled Reports
c) Delete the scheduled job(s) for the users you identified above
2) Change the userid of an existing scheduled report
Use this option if you want to continue running the reports as opposed to asking the new person to reschedule everything. This option requires data manipulation from the back-end so it’s not supported and a backup is always a GREAT idea!
You will need to edit the following 2 attributes
- REPORTSCHED.USERID
- CRONTASKINSTANCE.RUNASUSERID
I don’t have the specific sql you need to run – you want to have some fun, I’m sure and figure this out yourself, - but something along these lines is my suggestion
(use the appropriate reportname and userid in place of my samples, of course. Even exclude the reportname filter if you want to look at all scheduled reports for a given user)
This may return more than one row. What you need to make note of is the INSTANCENAME because you will use it to find the appropriate record in the CRONTASKINSTANCE table.
Use SQL UPDATE statements to make the change to the userid in both tables. (or, if your database tool allows, you can possibly edit it right in the resultset)
I’m sure there’s a way to write a statement to update both at the same time but I’ll leave that fun for you should you wish to make it more automated. I prefer the one-at-a-time approach
Again, please backup before ever running any database update statements.
3) Do nothing
Move along, nothing to see here
Until next time …
UID
ibm11130721