Assume that a file contains records that list customer transactions on Automatic Teller Machines (ATMs). An automatic teller machine identifier (ATMID) is attached to each transaction, in columns 30 through 36. We would like to subtotal the transaction amount field, a signed zoned decimal field in columns 20 through 27, by ATMID.
The sample rule below specifies the following:
Figure 367 SUM Reconciliation Function Example
         LIBRARY : CTB.PROD.RULES                                RULE : ATM   
 COMMAND ===>                                                    SCROLL===> CRSR
 +-----------------------------------------------------------------------------+
   OWNER   M43                      GROUP BANKING_DIVISION                    
   UPDATED 08/08/00  -  12:45:24    BY M43                                    
   DESC                                                                       
   OPTIONS                                                                    
   ===========================================================================
   EXECUTE SETKEY   UPON                                                   C  
   ON DATA                                                                    
   ALWAYS                                                                     
     DO SET      = RECFUNC='SETKEY'                                        C  
     DO SET      = LEN1=7                                                  C  
     DO SET      = OFFSET1=30                                              C  
     DO SET      = ARGNUM=2                                                C  
     DO CALLUSER = CTBRECL  ARG RECFUNC,ARGNUM,OFFSET1,LEN1                C  
   ===========================================================================
   EXECUTE SUM      UPON                                                   C  
   ON DATA                                                                    
   ALWAYS                                                                     
     DO SET      = RECFUNC='SUM'                                           C  
     DO SET      = LEN=8                                                   C  
     DO SET      = OFFSET=20                                               C  
     DO SET      = FLDTYPE='ZD'                                            C  
     DO SET      = ARGNUM=3                                                C  
     DO CALLUSER = CTBRECL  ARG RECFUNC,ARGNUM,OFFSET,LEN,FLDTYPE          C  
     DO PRINT    = 'FOLLOWING ARE THE SUMMED RECORDS:'                 F   C  
                (ENTER "ALWAYS", "IF")                                        
   ===========================================================================
   EXECUTE TEST     UPON                                                   C  
   ON DDNAME     DDNAME SORTOUT                                               
      MODE DS    LINECT 0000    DATASTAMP                                     
   WHEN LINE 001     - 999     COL 001     - 001              STOP    AND/OR  
        STRING = .AL.                                                         
     DO EXTRACT  = LINE                                                       
                   LEVEL 0 LINE +000 COL 0001 - 0036 PROCESS          TYP     
     DO PRINT    = %%LINE                                              F   C  
    PLEASE FILL IN RULE DEFINITION.                                     12.21.20
Parent Topic |