Here all unmatched records from file2 and unmatched records from file1 but 'Y' of file1 records is to be replaced with 'N'.Also here all the matched records is to be eliminated and records with 'N' value from file1 is to be also eliminated. for e.g:2345N
1)Match F1 and F2 based on 1-5 position
2)Get all unmatched records from F1 into output file
3)Get all unmatched records from F2 but replace 'Y' by 'N'
4)Eliminate blindly if any records from F1 is suffixed with 'N'.
Joined: 09 Mar 2011 Posts: 7309 Location: Inside the Matrix
Rohit Umarjikar wrote:
1)Match F1 and F2 based on 1-5 position
2)Get all unmatched records from F1 into output file
3)Get all unmatched records from F2 but replace 'Y' by 'N'
4)Eliminate blindly if any records from F1 is suffixed with 'N'.
So, you already know you want JOINKEYS.
Code:
JOIN UNPAIRED,F1,F2,ONLY
Will get you all the unmatched records.
In the JNFN1CNTL you can INCLUDE/OMIT the 'N's blindly.
From the REFORMAT record, replace any 'Y' on F2 by 'N'.
This will be for file 2 and same I have to do it for File1 as well and then concatenate both the files. But I was looking somitng to do it in one step.
1)Match F1 and F2 based on 1-5 position
2)Get all unmatched records from F1 into output file
3)Get all unmatched records from F2 but replace 'Y' by 'N'
4)Eliminate blindly if any records from F1 is suffixed with 'N'.
To cover point #2 from your requirement, you would need JOIN UNPAIRED,F1,F2,ONLY as communicated earlier.
1)Match F1 and F2 based on 1-5 position
2)Get all unmatched records from F1 into output file
3)Get all unmatched records from F2 but replace 'Y' by 'N'
4)Eliminate blindly if any records from F1 is suffixed with 'N'.
1117(Y/N) is an unpaired record from file1. Your requirement doesn't state anything about replacing unpaired records from file1 with Y to N. Rather it is to do the same for file2 records. Same with the other 2 records. 1119(Y/N) and 2347(Y/N) are unpaired records from File2 with Y and you wanted Y be replaced with N for unmatched FILE2 records.
1)Match F1 and F2 based on 1-5 position
2)Get all unmatched records from F2 into output file
3)Get all unmatched records from F1but replace 'Y' by 'N'
4)Eliminate blindly if any records from F1 is suffixed with 'N'.
Amended.
Sorry for all the confusion.Your understanding is perfectly right,
ICE411I 0 THIS IS THE JOINKEYS MAIN TASK FOR JOINING F1 AND F2
ICE416I 0 JOINKEYS IS USING THE F1 SUBTASK FOR SORTJNF1 - SEE JNF1JMSG MESSAGES
ICE416I 1 JOINKEYS IS USING THE F2 SUBTASK FOR SORTJNF2 - SEE JNF2JMSG MESSAGES
ICE419I 0 JOINED RECORDS: TYPE=F, LENGTH=11
ICE201I H RECORD TYPE IS F - DATA STARTS IN POSITION 1
ICE162I 0 ICEIEXIT CHANGED ONE OR MORE OPTIONS IN EFFECT
ICE751I 0 C5-K76982 C6-K90026 C7-K58148 C8-K67572 E9-K60824 C9-BASE E5-K76585
ICE143I 0 BLOCKSET COPY TECHNIQUE SELECTED
ICE250I 0 VISIT http://www.ibm.com/storage/dfsort FOR DFSORT PAPERS, EXAMPLES AN
ICE000I 1 - CONTROL STATEMENTS FOR 5694-A01, Z/OS DFSORT V1R12 - 14:37 ON TUE NO
JOINKEYS FILE=F1,FIELDS=(1,5,A)
JOINKEYS FILE=F2,FIELDS=(1,5,A)
JOIN UNPAIRED,F1,F2,ONLY
REFORMAT FIELDS=(F1:1,5,F2:1,5,?)
INREC IFTHEN=(WHEN=(11,1,CH,EQ,C'2',AND,10,1,CH,EQ,C'Y'),
OVERLAY=(10:C'N'))
SORT FIELDS=COPY
OUTREC IFOUTLEN=5,IFTHEN(WHEN=(11,1,CH,EQ,C'2'),OVERLAY=(1:6,5))
ICE411I 0 THIS IS THE JOINKEYS MAIN TASK FOR JOINING F1 AND F2
ICE416I 0 JOINKEYS IS USING THE F1 SUBTASK FOR SORTJNF1 - SEE JNF1JMSG MESSAGES
ICE416I 1 JOINKEYS IS USING THE F2 SUBTASK FOR SORTJNF2 - SEE JNF2JMSG MESSAGES
ICE419I 0 JOINED RECORDS: TYPE=F, LENGTH=11
ICE201I H RECORD TYPE IS F - DATA STARTS IN POSITION 1
ICE162I 0 ICEIEXIT CHANGED ONE OR MORE OPTIONS IN EFFECT
ICE751I 0 C5-K76982 C6-K90026 C7-K58148 C8-K67572 E9-K60824 C9-BASE E5-K76585
ICE193I 0 ICEAM1 INVOCATION ENVIRONMENT IN EFFECT - ICEAM1 ENVIRONMENT SELECTED
ICE252I 1 PARMLIB OPTIONS WERE MERGED WITH INSTALLATION MODULE DEFAULTS
ICE089I 0 RFYYY13A.PS010 . , INPUT LRECL = 11, TYPE = F
ICE093I 0 MAIN STORAGE = (MAX,6291456,6262784)
ICE156I 0 MAIN STORAGE ABOVE 16MB = (6201133,6201133)
ICE127I 0 OPTIONS: OVFLO=RC0 ,PAD=RC0 ,TRUNC=RC0 ,SPANINC=RC16,VLSCMP=N,SZERO=Y,
ICE128I 0 OPTIONS: SIZE=6291456,MAXLIM=1048576,MINLIM=450560,EQUALS=N,LIST=Y,ERE
ICE129I 0 OPTIONS: VIO=N,RESDNT=ALL ,SMF=SHORT,WRKSEC=Y,OUTSEC=Y,VERIFY=N,CHALT=
ICE130I 0 OPTIONS: RESALL=4096,RESINV=0,SVC=109 ,CHECK=N,WRKREL=Y,OUTREL=Y,CKPT=
ICE130I 0 OPTIONS: RESALL=4096,RESINV=0,SVC=109 ,CHECK=N,WRKREL=Y,OUTREL=Y,CKPT=
ICE131I 0 OPTIONS: TMAXLIM=6291456,ARESALL=0,ARESINV=0,OVERRGN=65536,CINV=Y,CFW=
ICE132I 0 OPTIONS: VLSHRT=N,ZDPRINT=N,IEXIT=Y,TEXIT=N,LISTX=N,EFS=NONE ,EXITC
ICE133I 0 OPTIONS: HIPRMAX=0 ,DSPSIZE=0 ,ODMAXBF=0,SOLRF=Y,VLLONG=N,VSAMI
ICE235I 0 OPTIONS: NULLOUT=RC0
ICE236I 0 OPTIONS: DYNAPCT=10 ,MOWRK=Y
ICE084I 0 BSAM ACCESS METHOD USED FOR SORTOUT
ICE751I 1 EF-BASE F0-K66717 E8-K70685
ICE421I 0 JOINED RECORDS: COUNT=4
ICE090I 0 OUTPUT LRECL = 5, BLKSIZE = 5, TYPE = FB
ICE055I 0 INSERT 4, DELETE 0
ICE054I 0 RECORDS - IN: 0, OUT: 4
ICE052I 0 END OF DFSORT