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 |