Example 1
BMC recommends that EXECUTE block names (that are specified by statement EXECUTE) represent the purpose of the block. In this example, the first EXECUTE block is called INIT because it performs initialization procedures. The second EXECUTE block is called INPUT because it extracts data from a file as input to Control-M/Analyzer variables. These variables are checked in subsequent EXECUTE blocks of the rule.
Figure 230 DO EXECUTE Statement – Example 1
LIBRARY : CTB.PROD.RULES RULE : RULEMP
COMMAND ===> SCROLL===> CRSR
+-----------------------------------------------------------------------------+
===========================================================================
EXECUTE INIT UPON C
ON DATA
ALWAYS
DO SET = CNTR=0 C
DO SET = ERR=0 C
DO PRINT = UNREASONABLE SICK/VACATION DAYS F C
DO PRINT = ================================= F C
DO PRINT = +--+---------------+------+—----+ F C
DO PRINT = | | NAME | SICK | VAC | F C
DO PRINT = +--+---------------+------+-----+ F C
DO
(ENTER "ALWAYS", "IF")
===========================================================================
EXECUTE INPUT UPON C
ON FILE FILENAME CTB.PROD.EMPREP
MODE PG LINECT 0060 DATASTAMP
WHEN LINE 001 - 060 COL 015 - 015 TYPE STOP AND/OR
STRING = #
DO EXTRACT = NAME
PLEASE FILL IN RULE DEFINITION. 10.31.08
Example 2
EXECUTE block INPUT extracts information from each line in a file and executes EXECUTE block CHECK to check each line. EXECUTE block CHECK is located at the end of the rule. If the current line is exceptional (for example, the employee has taken more than 90 sick days or more than 30 vacation days), a line is printed to the Control-M/Analyzer Rule Activity report.
Figure 231 DO EXECUTE Statement – Example 1
LIBRARY : CTB.PROD.RULES RULE : CHKEMP1
COMMAND ===> SCROLL===> CRSR
+-----------------------------------------------------------------------------+
===========================================================================
EXECUTE INPUT UPON C
ON FILE FILENAME CTB.PROD.EMPREP
MODE PG LINECT 0060 DATASTAMP
WHEN LINE 001 - 060 COL 015 - 015 TYPE STOP AND/OR
STRING = #
DO EXTRACT = NAME
LEVEL 0 LINE +000 COL -002 - +013 PROCESS TYP
DO EXTRACT = SICK
LEVEL 0 LINE +000 COL +087 - +088 PROCESS TYP
DO EXTRACT = VAC
LEVEL 0 LINE +000 COL +093 - +094 PROCESS TYP
DO BLOCK = CHECK ARG NAME,SICK,VAC C
DO
WHEN LINE - COL - TYPE STOP AND/OR
STRING =
DO
===========================================================================
.
.
.
===========================================================================
EXECUTE CHECK UPON BARG02 > 90 | BARG03 > 30 C
ON DATA
ALWAYS
DO PRINT = | |%%BARG01| %%BARG02 | %%BARG03 | F C
DO
(ENTER "ALWAYS", "IF")
===========================================================================
EXECUTE UPON C
ON
======= >>>>>>>>>>>>>>> END OF RULE DEFINITION PARAMETERS <<<<<<<<<<<<<<< =====
Parent Topic |