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
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:
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. |
Related topic