Previous Topic

Next Topic

Book Contents

Book Index

Examples

Example 1

EXECUTE block INPUT processes sequential file CTB.PROD.EMPREP.

Figure 238 ON Statement – Example 1

     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 015     - 015              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                                                                    

 PLEASE FILL IN RULE DEFINITION.                                        16.00.22

Example 2

Statement ON CLASS in the first EXECUTE block identifies the output of class X as the source of the information to be balanced. This information is compared with corresponding information from the previous run by statement ON DATA in EXECUTE block PROCESS.

Figure 239 ON Statement – Example 2

LIBRARY : CTB.PROD.RULES                                RULE : RUNCHK

 COMMAND ===>                                                    SCROLL===> CRSR

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

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

  EXECUTE EXTRACT  UPON                                                   C  

  ON CLASS      = X        EXTWTR          DEST              FORM            

                                                    MODE PG     LINECT 0060  

  WHEN LINE 004     - 020     COL 001     - 080              STOP    AND/OR  

       STRING = TOTALS:                                                      

    DO EXTRACT  = DB_CURRENT_TOTAL                                           

                  LEVEL   LINE +000 COL +002 - +008 PROCESS          TYP     

    DO                                                                       

  WHEN LINE         -         COL         -                  STOP    AND/OR  

       STRING =                                                              

    DO                                                                       

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

  EXECUTE PROCESS  UPON                                                   C  

  ON DATA                                                                    

  LABEL:                                                                     

  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.                                        16.18.5

Parent Topic

ON Statement: Data Selection Statement