Dfname C CONST('ATMTRAN') C* DTrgBuffer DS D TFileName 10 D TLibName 10 D TMemName 10 D TEvent 1 D TTime 1 D TCommitLock 1 D TFiller1 3 D TCCSID 10I 0 D TRelRecNbr 10I 0 D TFiller2 10I 0 D TOldOffset 10I 0 D TOldLength 10I 0 D TOldNullOff 10I 0 D TOldNullOffset 10I 0 D TNewOffset 10I 0 D TNewLength 10I 0 D TNewNullOff 10I 0 D TNewNullOffset 10I 0 DTrgBufferLen S 10I 0 D* D* Record format for New and Old Records. D* D OldRecord E DS ExtName(ATMTRAN) D Prefix(O_) D Based(OldRecPtr) D NewRecord E DS ExtName(ATMTRAN) D Prefix(N_) D Based(NewRecPtr) C* D* D* Record layout for New and Old Null Maps. D* D OldNullMap DS Based(OldNullPtr) D ONullFld 1 DIM(4) D NewNullMap DS Based(NewNullPtr) D NNullFld 1 DIM(4) D* C *ENTRY PLIST C PARM TrgBuffer C PARM TrgBufferLen C* C 'ATMTRG 'DSPLY C fname DSPLY C TFileName DSPLY C* C Eval OldRecPtr = %ADDR(TrgBuffer) + TOldOffSet C Eval NewRecPtr = %ADDR(TrgBuffer) + TNewOffSet C* C Eval OldNullPtr = %ADDR(TrgBuffer) + TOldNullOff C Eval NewNullPtr = %ADDR(TrgBuffer) + TNewNullOff C* C 'Old Info 'DSPLY C OldRecord DSPLY C 'New Info 'DSPLY C NewRecord DSPLY C 'Old Null Map'DSPLY C OldNullMap DSPLY C 'New Null Map'DSPLY C NewNullMap DSPLY C* C 'Call ATMUPD 'DSPLY C CALL 'ATMUPD' C PARM OldRecord C PARM NewRecord C 'Call Done. 'DSPLY C 'ATMTRG Done 'DSPLY C Eval *InLR = *On DDS for ATMTRAN file. *************** Beginning of data ************************************* * ATM Transactions UNIQUE R ATMTRANR ATMID 5A COLHDG('ATM ID') ACCTID 5A COLHDG('Account #') TCODE 1A COLHDG('Txn Code') AMOUNT 7S 2 COLHDG('Txn Amount') K ATMID K ACCTID ****************** End of data ****************************************