I was going to suggest "diff". Not sure if it works on DB2 files though.
-----Original Message-----
From: midrange-l-bounces@xxxxxxxxxxxx
[mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of Peter Connell
Sent: Saturday, July 20, 2013 4:43 PM
To: Midrange Systems Technical Discussion
Subject: RE: Flat file comparision
Paul,
Qshell has the cmp command for just this purpose.
Here's a CLP example where the file names are hard coded and I just send an
*INFO msg to demonstrate but you could execute whatever you like.
PGM
DCL &FILE1 *CHAR 50 VALUE('/tmp/tstfile1.txt')
DCL &FILE2 *CHAR 50 VALUE('/tmp/tstfile2.txt')
DCL &CMD *CHAR 128
DCL &MSGID *CHAR 7
DCL &MSGDTA *CHAR 4
CHGVAR &CMD ('cmp -s' *BCAT &FILE1 *BCAT &FILE2)
QSH CMD(&CMD)
RCVMSG MSGTYPE(*COMP) MSGDTA(&MSGDTA) MSGID(&MSGID)
IF (&MSGID=QSH0005 *AND %BIN(&MSGDTA)=1 ) DO
SNDPGMMSG MSGID(CPF9898) MSGF(QCPFMSG) MSGDTA('Files are different')
ENDDO
ENDPGM
Peter
-----Original Message-----
From: midrange-l-bounces@xxxxxxxxxxxx
[mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of A Paul
Sent: Sunday, 21 July 2013 1:08 a.m.
To: Midrange Systems Technical Discussion
Subject: Flat file comparision
Below is my code
IF COND(Z10_A = 'ADMFILE' & Z10_B = &LIB) THEN(DO)
ALCOBJ OBJ((Z10_B/Z10_A *FILE *EXCL)) WAIT(500)
MONMSG MSGID(CPF1002 CPF1085) EXEC(GOTO CMDLBL(RETRY))
CALL PGM(ADMPGMC)
CLRPFM FILE(&LIB/ADM.FILE)
MONMSG MSGID(CPF3142) EXEC(CRTPF FILE(&LIB/ADM.FILE)
CPYF FROMFILE(&LIB/ADMFILE) TOFILE(&LIB/ADM.FILE) MBROPT(*REPLACE)
COMMANDC P1(ADM.FILE) P2(&LIB)
DLTF FILE(&LIB/ADMFILE)
ENDDO
I receive a flat file by name ADMFILE into AS/400, This flat file does not
contain any date in it. I apply the contents of the file(to my in house
files) by calling an internal program. I copy the contents of the file into
another file (flat file in our system contain dot)and delete it.
What I am trying to do is compare the file as soon as it received with
previous day file and if both are same send an email alert ( if both are
different dont do anything and go to next step) and if the file is not
received by certain time send an email alert.
I am looking for AS/400 utility(or if any code) that does the job and also
open for suggestions to change my existing code. I need to keep check for
the file for an hour time and send an alert as well.
Thanks
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe, unsubscribe,
or change list options,
visit:
http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take a
moment to review the archives at
http://archive.midrange.com/midrange-l.
############################################################################
#########
This correspondence is for the named person's use only. It may contain
confidential or legally privileged information, or both. No confidentiality
or privilege is waived or lost by any mistransmission. If you receive this
correspondence in error, please immediately delete it from your system and
notify the sender. You must not disclose, copy or rely on any part of this
correspondence if you are not the intended recipient.
Any views expressed in this message are those of the individual sender,
except where the sender expressly, and with authority, states them to be the
views of Veda.
If you need assistance, please contact Veda on either :- Australia
1300-762-207 or New Zealand +64 9 367 6200
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe, unsubscribe,
or change list options,
visit:
http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take a
moment to review the archives at
http://archive.midrange.com/midrange-l.
As an Amazon Associate we earn from qualifying purchases.