Previous Topic

Next Topic

Book Contents

Book Index

Examples

Example 1

EXECUTE block INIT performs certain initialization steps before processing the report. These steps should be performed every time the rule is invoked. Therefore, ON DATA statement ALWAYS is specified.

Figure 253 ON DATA 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 013     - 014              STOP    AND/OR  

       STRING = .AL.                                                         

    DO EXTRACT  = NAME                                                       

 PLEASE FILL IN RULE DEFINITION.                                        16.48.58

Example 2

The EXECUTE block CHECK processes Control-M/Analyzer variables. This rule uses statement IF to determine which DO statements to execute depending on the value of Control-M/Analyzer variable SUM.

Figure 254 ON DATA Statement – Example 2

         LIBRARY : CTB.PROD.RULES                                RULE : RULCURR

 COMMAND ===>                                                    SCROLL===> CRSR

 +-----------------------------------------------------------------------------+

  EXECUTE CHECK    UPON                                                   C  

  ON DATA                                                                    

  ALWAYS                                                                     

    DO PRINT    = TOTAL SUM IS : %%SUM                                F   C  

    DO                                                                       

  IF       SUM > 1000000.00                                               C  

    DO SHOUT    TO U-M18               URGENCY R                             

     = PLEASE CHECK CURRENCY FILE; SUM COMPUTED IS %%SUM                     

    DO REMARK   = SUM IS OVER 1000000: SUM=%%SUM                             

    DO COND     = NOTOK-%%SYSJOBNAME   0704 +                                

    DO TERMINAT = NOTOK    COD 0055                                          

    DO                                                                       

  ELSE                                                                       

    DO REMARK   = SUM IS NOT OVER 1000000: SUM=%%SUM                         

    DO TERMINAT = OK       COD 0000                                          

    DO                                                                       

               (ENTER "ALWAYS", "IF")                                        

  ===========================================================================

  EXECUTE          UPON                                                   C  

  ON                                                                         

 PLEASE FILL IN RULE DEFINITION.                                        16.44.10

Example 3

This is an example of a cross-run comparison. EXECUTE block PROCESS uses statement IF to compare the current and previous values of Control-M/Analyzer Database variable CURRENT_TOTAL.

Figure 255 ON DATA Statement – Example 3

     LIBRARY : CTB.PROD.RULES                                RULE : RUNCHK

 COMMAND ===>                                                    SCROLL===> CRSR

 +-----------------------------------------------------------------------------+

  ===========================================================================

  EXECUTE PROCESS  UPON                                                   C  

  ON DATA                                                                    

  IF       (DB_CURRENT_TOTAL - DB_CURRENT_TOTAL@G01)> 10000               C  

    DO SHOUT    TO OPER                URGENCY R                             

     = -- REPORT IS OUT OF BALANCE --- CALL 714-5678 - JOHN SMITH            

    DO TERMINAT = NOTOK    COD 1501                                          

    DO                                                                       

  ELSE                                                                       

    DO TERMINAT = OK       COD 0000                                          

    DO                                                                       

               (ENTER "ALWAYS", "IF")                                        

  ===========================================================================

  EXECUTE          UPON                                                   C  

  ON                                                                         

 ======= >>>>>>>>>>>>>>> END OF RULE DEFINITION PARAMETERS <<<<<<<<<<<<<<< =====

 PLEASE FILL IN RULE DEFINITION.                                        17.08.10

Parent Topic

ON DATA: Data Selection Statement