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:
Figure 368 Reconciliation Function SUMX Example
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 |