Skolusu
Senior Member
Joined: 07 Dec 2007 Posts: 2205 Location: San Jose
|
|
|
|
escapa,
You need two Joinkey steps to perform the match. Here is a DFSORT JCL which will give you the desired results.
Code: |
//STEP0100 EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//INA DD DSN=Your actual 80 byte input file,DISP=SHR
//INB DD DSN=Your supplier 10 byte file,DISP=SHR
//SORTOUT DD DSN=&&TEMP,DISP=(,PASS),SPACE=(CYL,(X,Y),RLSE)
//SYSIN DD *
OPTION COPY
JOINKEYS F1=INA,FIELDS=(81,5,A)
JOINKEYS F2=INB,FIELDS=(01,5,A)
JOIN UNPAIRED,F1
REFORMAT FIELDS=(F1:1,93,?)
OUTFIL IFTHEN=(WHEN=(94,1,CH,EQ,C'B',AND,1,4,CH,EQ,C'SEGD'),
OVERLAY=(94:5,4)),
IFTHEN=(WHEN=NONE,OVERLAY=(94:4X))
//JNF1CNTL DD *
INREC IFTHEN=(WHEN=GROUP,BEGIN=(1,4,CH,EQ,C'CNTL'),
PUSH=(81:5,5,SEQ=8))
//*
//STEP0200 EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//INA DD DSN=&&TEMP,DISP=SHR
//INB DD DSN=Your referencer 7 byte file,DISP=SHR
//SORTOUT DD SYSOUT=*
//SYSIN DD *
JOINKEYS F1=INA,FIELDS=(94,4,A)
JOINKEYS F2=INB,FIELDS=(04,4,A)
JOIN UNPAIRED,F1
REFORMAT FIELDS=(F1:1,93,?,F2:1,3)
SORT FIELDS=(81,13,CH,A),EQUALS
OUTREC IFOUTLEN=80,IFTHEN=(WHEN=(94,1,CH,EQ,C'B'),OVERLAY=(5:95,3,X))
//* |
|
|