Previous Topic

Next Topic

Book Contents

Book Index

Example

EXECUTE block INPUT extracts personnel information from a report. Statement DO BLOCK calls EXECUTE block CHECK to process this information.

The information extracted from the report is passed as arguments to EXECUTE block CHECK.

EXECUTE block CHECK is located after EXECUTE block FIN that terminates the rule. Block CHECK can only be activated by statement DO BLOCK in block INPUT.

Figure 186 DO BLOCK Statement Example

         LIBRARY : CTB.PROD.RULES                                RULE : RULEMP

 COMMAND ===>                                                    SCROLL===> CRSR

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

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

   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 = #                                                             

     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         -                  STOP    AND/OR   

        STRING =                                                               

     DO                                                                        

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

   EXECUTE FIN      UPON                                                   C   

   ON DATA                                                                     

   ALWAYS                                                                      

     DO PRINT    = +--+---------------+------+-----+                   F   C   

     DO PRINT    = CHECKED %%CNTR USERS, FOUND %%ERR ERRORS            F   C   

     DO REMARK   = CHECKED %%CNTR USERS, FOUND %%ERR ERRORS                    

     DO                                                                        

   IF       ERR > 5                                                        C   

     DO TERMINAT = NOTOK    COD 2000                                           

     DO                                                                        

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

   EXECUTE CHECK    UPON                                                   C   

   ON DATA                                                                     

   ALWAYS                                                                      

     DO SET      = CNTR=CNTR+1                                             C   

     DO                                                                        

   IF       BARG02 > 90 OR BARG03 > 30                                     C   

     DO PRINT    = |  |%%BARG01|  %%BARG02   |   %%BARG03   |          F   C   

     DO SET      = ERR=ERR+1                                               C   

     DO                                                                        

                (ENTER "ALWAYS", "IF" OR "ELSE")                               

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

   EXECUTE          UPON                                                   C   

   ON                                                                          

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

Parent Topic

DO BLOCK: Automated Balancing Statement