File A : LRECL = 80
File B : LRECL = 1000
File C : LRECL = 300
Matching field : 12345
Can its done by DFSORT? Please let me know if u want any clarification?
1. Does FILE B also have duplicates?
2. What is the position and format of the KEY in both files?
3. You mention that output length is 300. Assuming you are getting first 80 bytes from file A , where do you get the 220 bytes from FILEB?
4. Run the following job and show me the sysout which helps to determine the PTF level
SIT http://www.ibm.com/storage/dfsort FOR DFSORT PAPERS, EXAMPLES AND MORE
CONTROL STATEMENTS FOR 5694-A01, Z/OS DFSORT V1R5 - 00:30 ON FRI JUN 19, 2009 -
SORT FIELDS=COPY 00060000
ECORD TYPE IS F - DATA STARTS IN POSITION 1
5-K90013 C6-K90013 C7-K90000 C8-K90013 E9-K90013 C9-BASE E5-K35433 E7-K24705
ORTMSG NOT FOUND - SYSOUT USED
CEAM1 ENVIRONMENT IN EFFECT - ICEAM1 INSTALLATION MODULE SELECTED
I3030U .STEP0100. , INPUT LRECL = 80, BLKSIZE = 80, TYPE = FB
AIN STORAGE = (MAX,8192000,8178782)
AIN STORAGE ABOVE 16MB = (8101342,8101342)
PTIONS: OVFLO=RC0 ,PAD=RC0 ,TRUNC=RC0 ,SPANINC=RC16,VLSCMP=N,SZERO=Y,RESET=Y,VSA
PTIONS: SIZE=8192000,MAXLIM=2097152,MINLIM=204800,EQUALS=N,LIST=Y,ERET=RC16 ,MSG
PTIONS: VIO=Y,RESDNT=ALL ,SMF=FULL ,WRKSEC=Y,OUTSEC=Y,VERIFY=N,CHALT=N,DYNALOC=N
PTIONS: RESALL=24000,RESINV=0,SVC=109 ,CHECK=Y,WRKREL=Y,OUTREL=Y,CKPT=N,STIMER=Y
PTIONS: VLSHRT=N,ZDPRINT=Y,IEXIT=N,TEXIT=N,LISTX=N,EFS=NONE ,EXITCK=S,PARMDDN
PTIONS: HIPRMAX=OPTIMAL,DSPSIZE=128 ,ODMAXBF=0,SOLRF=Y,VLLONG=N,VSAMIO=N,MOSIZE=
You haven't told me the position from where the 220 bytes needs to be picked in your 1000 byte file. So I assumed that it is from pos 6. If it is different then just change ONLY the CTL1CNTL card . you need to change the position highlighted here to your desired location in 81:6,220) . The following DFSORT/ICETOOL JCL will give you the desired results