How TOM interacts with the Active Check Program


TOM uses the following methods to detect whether an object is active, inactive, or abended:

  • Receiving START, STOP, or ABEND validation events outside of a wait-for-start/stop/bounce-request completion.
  • Using the Active Check Program
  • Using the Automatic Detection process by searching for objects in the z/OS system

Related topic

Use the Active Check Program when Automatic Detection is insufficient to determine whether an object is active. Automatic Detection can only determine whether a resource associated with an object is present in the z/OS system but it cannot determine if the object is looping, hung in a wait, abended, or otherwise not responding for some other reason. When you define it, the Active Check Program replaces Automatic Detection for the object.

The Active Check Program can execute a user-written EXEC or a USS shell script to issue commands and examine the responses to more accurately determine the object's health or acceptable level of service. The Active Check Program can also be specified as an MVS-type command with a response that indicates that the state of the object is up/active.  The response can be up to 128 characters and can contain one or more variables.  For a multiple-line response, the line number containing the response can also be specified.

The following is an example of the Active Check Program issued in an EXEC:

/* REXX */                                                              
PARSE ARG EXECNAME PARM1 FILLER                                         
'IMFEXEC CMD 'D J,'PARM1'''                                             
D=0
DO I = 1 TO IMFNOL                                                      
   'IMFEXEC VGET LINE'i' LOCAL'                                         
   IF POS('OWT  S   A',VALUE('LINE'I)) > '0' THEN DO
      D=1                                                              
      LEAVE I                                                          
   END                                                                
END                                                                     
'IMFEXEC MSG 'Active check result code for 'PARM1' will be 'D'''        
'IMFEXEC EXIT CODE('D')'

You must include the IMFEXEC EXIT CODE statement at the end of the EXEC. This statement provides the needed return code to TOM to indicate if the object is active or inactive. The following table describes the valid return codes returned by the Active Check Program.

Return code

Description

0

Object is inactive

1

Object is active

255

Object abended

Other values

Active Check Program cannot determine the status of the object.  TOM keeps the current status of the object.

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*

BMC AMI Ops Automation 8.3.01