Previous Topic

Next Topic

Book Contents

Book Index

Execution Logic

The diagram below illustrates the sequence of invoked actions:

Figure 414 Sequence of Invoked Actions

slide1new

USER PROGRAM issues a call to the CTBSSCL module with OPTION=INIT. The CTBSSCL module performs the initial settings, suspends execution of the USER PROGRAM, and attaches Control-M/Analyzer as a subtask.

Control-M/Analyzer is started and the CTBSSSM rule is called. This rule initializes the interface and should not be changed. The CTBSSSM rule is executed up to (but not including) the statement GET: CALL CTBSSGET (…….). The Control-M/Analyzer subtask is suspended and the USER PROGRAM resumes execution.

Each time USER PROGRAM gets a record, it calls the CTBSSCL module with OPTION=CHECK. The USER PROGRAM task is moved into wait state and the Control-M/Analyzer subtask continues execution using the record that was received from the USER PROGRAM. The CTBSSGET routine retrieves the contents of the record that was passed as a parameter, stores the contents of the record in corresponding Control-M/Analyzer variables, and calls the TSTCHECK rule, passing to it the arguments LINE, LINEID and TOLER.

The TSTCHECK rule is loaded and compiled only once during the session. Each subsequent call simply passes new parameter values to it. The TSTCHECK rule performs the required checks and returns the LINE and TOLER parameters to the USER PROGRAM. (These parameters can be changed by the rule.) The Control-M/Analyzer subtask is suspended and the USER PROGRAM gets the next record.

After the last record has been checked, USER PROGRAM calls the CTBSSCL module with OPTION=KILL. The CTBSSCL module detaches Control-M/Analyzer and USER PROGRAM ends execution.

Parent Topic

Single Startup API