Insufficient maintenance information in TBSM

Technote (troubleshooting)


When a service is set to a maintenance state in TBSM 6.1,
Omnibus only received only one (1) row of information instead of two (2) rows.


Only one row returned as result.


This has been identified as a product defect under APAR IV28221.

It has been determined that two events are being sent but, one of the events is being removed by the Object server. This is because the event is being sent by TBSM with a Severity value of 0 (or clear). So, as soon as the automation on the Object server finds this clear event, it removes it. 

Resolving the problem

Work-around while waiting for the official fix to be released:

The root cause of the issue is with the TBSM Impact policy -- TBSM_SLAUpdateServiceEvent.ipl.
This policy has the following statement, which is using the wrong input variable and resetting
the known "NewStateName" value. The line at fault contains this statement:

NewStateName= SLARuleStatus.BestCase_Thresholds.Current.Name;

In reality, that line should not be there at all!

To correct the issue, you will need to update the policy, locate the above listed line (around line 182) and just comment it out (by surrounding the line with these characters /* */, as follows:

/* NewStateName= SLARuleStatus.BestCase_Thresholds.Current.Name; */

The above listed policy can be updated via the TBSM Dashboard GUI.
Just navigate to "System Configuration" > "Event Automation" and click on the "Policies" page.
On the Policies page, select the TBSMCLUSTER (if only one Impact is running, the selection will be grayed out).

For the Project, select "TBSM_BASE". Once the list of policies is loaded, locate the SLAUpdateServiceEvent policy, right click on it and select 'Edit'. Once the policy is loaded on the editor, go to line 182 and comment out the above listed line.

While on the policy editor, go to line number 247, which looks like this:

FieldsToUpdate.Summary = "The current maintenance window started at " + formatduration(int(FieldsToUpdate.RAD_TimeWindowStart)) + " and will end at " + formatduration(int(FieldsToUpdate.RAD_TimeWindowEnd))

Change the line to look like this:

FieldsToUpdate.Summary = "The current maintenance window started at " + LocalTime(int(FieldsToUpdate.RAD_TimeWindowStart)) + " and will
end at " + LocalTime(int(FieldsToUpdate.RAD_TimeWindowEnd));

The above change, will now display the correct date/time format on the Summary that is sent when the OverallAttributeMaintenance message is sent to the object server; making it look something like this:

"The current maintenance window started at 2012-09-19 17:05:00.000 and will end at 2012-09-19 17:10:00.000 "

Once the policy changes are completed, save the policy.

NOTE: There is no need to re-start anything... the change is going to be automatically picked up and executed with the next Maintenance window change.

For further details and assistance, kindly contact IBM Support.

Product Alias/Synonym


Document information

More support for:

Tivoli Business Service Manager

Software version:


Operating system(s):

Linux, Windows

Reference #:


Modified date:


Translate my page

Content navigation