Previous Topic

Next Topic

Book Contents

Book Index

Example

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:

         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

SUM