Previous Topic

Next Topic

Book Contents

Book Index

Example

Assume that two files exist:

We would like to total the records in the first file per ATM, and then compare these totals to the second file. This will indicate if any ATM transactions are included in only one of the two files, but not both.

The sample rule below specifies the following:

       LIBRARY : CTB.PROD.RULES                                RULE : ATM2  

 COMMAND ===>                                                    SCROLL===> CRSR

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

   OWNER   M43                      GROUP BANKING_DIVISION                    

   UPDATED 08/08/00  -  12:58:24    BY M43                                    

   DESC                                                                       

   OPTIONS                                                                    

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

   EXECUTE SETUP    UPON                                                   C  

   ON DATA                                                                    

   ALWAYS                                                                     

     DO SET      = RECFUNC='WRITE'                                         C  

     DO SET      = FILE1=1                                                 C  

     DO SET      = FILE2=2                                                 C  

     DO SET      = L6=6                                                    C  

     DO SET      = L8=8                                                    C  

     DO SET      = L0=0                                                    C  

     DO SET      = ARGNUM=5                                                C  

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

   EXECUTE WRITE1   UPON                                                   C  

   ON FILE       FILENAME ATM.FILE1                                           

      MODE DS    LINECT 0000    DATASTAMP                                     

   WHEN LINE 001     - 999     COL 001     - 001              STOP    AND/OR  

        STRING = .AL.                                                         

     DO EXTRACT  = ATMID                                                      

                   LEVEL 0 LINE +000 COL 0010 - 0015 PROCESS          TYP     

     DO EXTRACT  = TRANAMT                                                    

                   LEVEL 0 LINE +000 COL 0040 - 0047 PROCESS          TYP     

     DO CALLUSER = CTBRECL  ARG RECFUNC,FILE1,ARGNUM,L6,ATMID,L0,L8,       C Y

                   TRANAMT                                                 C  

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

   EXECUTE WRITE2   UPON                                                   C  

   ON FILE       FILENAME ATM.FILE2                                           

      MODE DS    LINECT 0000    DATASTAMP                                     

   WHEN LINE 001     - 999     COL 001     - 001              STOP     AND/OR 

        STRING = .AL.                                                         

     DO EXTRACT  = ATMID                                                      

                   LEVEL 0 LINE +000 COL 0070 - 0075 PROCESS          TYP     

     DO EXTRACT  = TRANAMT                                                    

                   LEVEL 0 LINE +000 COL 0050 - 0057 PROCESS          TYP     

     DO CALLUSER = CTBRECL  ARG RECFUNC,FILE2,ARGNUM,L6,ATMID,L0,L8,       C Y

                   TRANAMT                                                 C  

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

   EXECUTE SUMX     UPON                                                   C  

   ON DATA                                                                    

   ALWAYS                                                                     

     DO SET      = RECFUNC='SUMX'                                          C  

     DO SET      = MATCH='NO'                                              C  

     DO SET      = LEN=8                                                   C  

     DO SET      = OFFSET=16                                               C  

     DO SET      = FLDTYPE='ZD'                                            C  

     DO SET      = ARGNUM=3                                                C  

     DO SET      = EXCL=0                                                  C  

     DO CALLUSER = CTBRECL  ARG RECFUNC,MATCH,EXCL,ARGNUM,OFFSET,LEN,FLDTY C Y

                   PE                                                      C  

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

   EXECUTE TEST     UPON                                                   C  

   ON DDNAME     DDNAME SRECOUT1                                              

      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 - 0070 PROCESS          TYP     

     DO PRINT    = %%LINE                                              F   C  

    PLEASE FILL IN RULE DEFINITION.                                     13.00.56

Parent Topic

SUMX