Code: |
//STEP0100 EXEC PGM=IKJEFT01 //SYSTSPRT DD DSN=&&L, // DISP=(,PASS), // SPACE=(CYL,(1,1),RLSE), // DCB=(LRECL=80,RECFM=FB,BLKSIZE=0) //SYSTSIN DD * LISTCAT ENT('YOUR.GDG.BASE.NAME') ALL //* //STEP0200 EXEC PGM=SORT //SYSOUT DD SYSOUT=* //SORTIN DD DSN=&&L,DISP=(OLD,PASS) //SORTOUT DD SYSOUT=* //SYSIN DD * OPTION COPY INCLUDE COND=(01,8,CH,EQ,C'GDG BASE',OR, 04,7,CH,EQ,C'NONVSAM',OR, 37,8,CH,EQ,C'CREATION') INREC IFTHEN=(WHEN=GROUP,RECORDS=2,PUSH=(81:17,44), BEGIN=(1,8,CH,EQ,C'GDG BASE',OR,4,7,CH,EQ,C'NONVSAM')), IFTHEN=(WHEN=(37,8,CH,EQ,C'CREATION'), OVERLAY=(53:53,8,UFF,M11,LENGTH=7,X)) OUTFIL INCLUDE=(37,8,CH,EQ,C'CREATION'), BUILD=(81,44,C' CREATED ON : ',53,7,Y4T,TOGREG=Y4T(-),80:X) //* |
BobGilbert wrote: |
Thank you, I saw the information in the tricks manual,
My issue I am having is in the middle of a proc. I have a symbolicly resolved dataset name with the version as a (0), (-3) etc... The DFSORT gets them all. I need the specific one being read in the proc at the time. I had once thought I could just write all out with the syncsort and create a temporary lookup table and cound backwards (or soemthing like that) but again I am getting complicated. There may not be any un complicated way? |
Code: |
// SET IGDG='Your.GDG.Base' // SET IGEN='-3' //* //STEP0100 EXEC PGM=IKJEFT01,PARM='LISTCAT ENT(''&IGDG'') ALL' //SYSTSPRT DD DSN=&&L,DISP=(,PASS),SPACE=(CYL,(1,1),RLSE), // DCB=(LRECL=80,RECFM=FB,BLKSIZE=0) //SYSTSIN DD DUMMY //* //STEP0200 EXEC PGM=SORT,PARM='JP1"&IGEN"' //SYSOUT DD SYSOUT=* //SYMNOUT DD SYSOUT=* //SORTIN DD DSN=&&L,DISP=(OLD,PASS) //SORTOUT DD SYSOUT=* //SYSIN DD * INCLUDE COND=(01,8,CH,EQ,C'GDG BASE',OR, 04,7,CH,EQ,C'NONVSAM',OR, 37,8,CH,EQ,C'CREATION') INREC IFTHEN=(WHEN=GROUP,RECORDS=2,PUSH=(81:17,44), BEGIN=(1,8,CH,EQ,C'GDG BASE',OR,4,7,CH,EQ,C'NONVSAM')), IFTHEN=(WHEN=(37,8,CH,EQ,C'CREATION'), OVERLAY=(53:53,8,UFF,M11,LENGTH=7,X)) SORT FIELDS=(81,44,CH,D),EQUALS OUTREC IFTHEN=(WHEN=GROUP,KEYBEGIN=(81,44),PUSH=(135:ID=3)), IFTHEN=(WHEN=INIT,OVERLAY=(135:135,3,ZD,SUB,+1,M11,LENGTH=3, 140:JP1,6X,140:140,8,UFF,M11,LENGTH=3,5X)) OUTFIL INCLUDE=(37,8,CH,EQ,C'CREATION',AND,(135,3,CH,EQ,140,3,CH)), BUILD=(81,44,C' CREATED ON : ',53,7,Y4T,TOGREG=Y4T(-),80:X) //* |
BobGilbert wrote: |
Thank you very much! One step and I can add the version as another parm, which I had intended to do anyhow! |
output generated using printer-friendly topic mod. All times are GMT - 5 Hours