3/09/2018

Robust Automation Script Logging

To provide robust and reliable logging of Automation Scripts, we have developed a custom logger function named zLog() to write to the Maximo log files. In Automation Scripts, this function provides advanced functionality and reliability beyond Jython print statements. Many times, print statements failed when the scripts abended. Additionally, we couldn't fully control logging for various log levels (as set in Logging and Automation script modules).

The following is the main function, zLog(), and the required imports. This is in Jython. There are also MBO specific extender functions which provide additional MBO specific logging (see below).

External link:
https://www.ibm.com/developerworks/community/forums/html/topic?id=2552664f-0646-410a-b0fb-33cd6181a474

3/02/2018

Getting the list of SIGOPTION NAMES and APPLICATION NAMES which use specific CONDITION

select APP as "Application", OPTIONNAME as "Signature Option", GROUPNAME as "Security Groups"
from CTRLGROUP where CTRLGROUPID in
(
  select CTRLGROUPID from CTRLCONDITION where
   CONDITIONNUM in (select CONDITIONNUM from CONDITION where
    CLASSNAME = 'com.ibm.tivoli.maximo.script.ScriptCustomCondition')
);
In this example, we are looking for any application and sig.option name which use condition, which use automation script with Condition Launch Point.


FYI: Condition UI Table list:
select * from CTRLGROUP;
select * from CTRLCONDITION;
select * from CTRLCONDPROP;

2/15/2018

How to get Server name for specific Cron task instance

select * from maximo.taskscheduler where taskname='ESCALATION.ESCMSGREPROC';
Task name: ESCALATION.ESC + <Escalation name">

e.g.
if escalation name: SR_CHSTATUS
task name would be: ESCALATION.ESCSR_CHSTATUS



12/04/2017

Useful SQL Queries for getting authorized Security Groups and Users for specific application and security option

Getting an authorized Security Groups
select * from APPLICATIONAUTH order by GROUPNAME, APP;
select * from APPLICATIONAUTH where APP = 'SR' and optionname = 'READ';
Getting an authorized User list
select * from GROUPUSER;
select * from GROUPUSER where GROUPNAME in (select GROUPNAME from APPLICATIONAUTH where APP = 'SR' and optionname = 'READ');

11/23/2017

BMXAA3851E - Connecting to the Server Has Been Temporarily Disabled

Technote (troubleshooting)

Problem(Abstract)

Unable to login to Maximo - receiving errors about connecting to the server has been temporarily disabled.

Symptom

When application server security (LDAP) is enabled and Admin Mode is 'ON'. When the number of administrators logged in meets the Number of Administrative Sessions Allowed setting, the next user logon will not be allow.
..
When logging into Maximo with Admin Mode 'ON' when using application server security receiving BMXAA3851E - Connecting to the server has been temporarily disabled.
If not using application server security - the typical error would be "Connecting to the server has been temporarily disabled.

Diagnosing the problem

Checked in the systemout.log for Admin Mode - you should see something along the line below:
[12/1/10 11:55:26:588 EST] 00000080 SystemOut O 01 Dec 2010 11:55:26:588 [INFO] BMXAA4014I - Setting this server's maxsession active flag to 0.
[12/1/10 11:55:26:588 EST] 00000080 SystemOut O 01 Dec 2010 11:55:26:588 [INFO] BMXAA4032I - Successfully set Admin Mode ON.

Resolving the problem

11/10/2017

Useful queries for getting "signature option" grant values

select * from APPLICATIONAUTH where groupname = 'MAXEVERYONE' and app = 'WOTRACK' and optionname in ('PUBLICREPT','CREATEREPT','RUNREPORTS');
select * from SIGOPTION where optionname in ('PUBLICREPT','CREATEREPT','RUNREPORTS') and app = 'WOTRACK' order by app, optionname;

10/22/2017

How to clear the WebSphere class caches

Technote (troubleshooting)


Problem(Abstract)

Instructions on clearing the java class caches in IBM WebSphere Application Server. Both the JVM's shared class cache and WebSphere Application Server's OSGi class cache.

Resolving the problem

IBM Support may ask you to clear the class cache. There are several reasons for this. After an upgrade, it is possible that the class cache's are still holding onto previous versions of classes. It is also possible that the caches became corrupted.
Please remember there are two caches that will need to be cleared, the JVM's cache and the OSGi cache. The server has to be stopped before clearing the cache.