Cameron,
OUTFIL is last on the list of processing. i.e
INCLUDE
INREC
SORT
OUTREC
OUTFIL
So your traceit will be printed after OUTREC. Ideally I would use an
OVERLAY instead of BUILD, so that I can see what exactly what was picked.
I optimized your control cards a bit so (clubbed multiple conditions into a
single condition)
//STEP0100 EXEC PGM=SORT,PARM='JP1"&LIBNAME"'
//SYSOUT DD SYSOUT=*
//SORTIN DD DISP=SHR,DSN=Your IEBPTPCH source
//SORTOUT DD SYSOUT=*
//TRACEIT DD SYSOUT=*
//SYSIN DD *
INCLUDE COND=((2,3,CH,NE,C'//*'),AND, * NO COMMENTS
(((2,11,CH,EQ,C'MEMBER NAME'),OR, * MEMBER NAME
(5,30,SS,EQ,C' EXEC ')),AND, * EXEC PROC
(5,30,SS,NE,C'PGM=')))
INREC IFTHEN=(WHEN=GROUP,
BEGIN=(2,11,CH,EQ,C'MEMBER NAME'),
PUSH=(082:SEQ=8, * SEQUENCE #
091:15,08)), * MEMBER NAME
IFTHEN=(WHEN=(18,05,CH,EQ,C'PROC '),
OVERLAY=(100:23,08, * PROCNAME
SQZ=(SHIFT=LEFT,PREBLANK=C','),
110:JP1, * LIBRARY NAME
160:C'P')),
IFTHEN=(WHEN=(11,05,CH,EQ,C'EXEC ',OR,
12,05,CH,EQ,C'EXEC ',OR,
13,05,CH,EQ,C'EXEC ',OR,
14,05,CH,EQ,C'EXEC '),
PARSE=(%01=(STARTAFT=C'EXEC ',
ENDBEFR=C',',
FIXLEN=8)),
OVERLAY=(100:%01, * PROCNAME
110:JP1, * LIBRARY NAME
162:C'P'))
SORT FIELDS=(091,08,CH,A, * MEMBER NAME
100,08,CH,A) * PROC NAME
SUM FIELDS=NONE
OUTFIL INCLUDE=(162,1,CH,EQ,C'P'),
BUILD=(82,80,SQZ=(SHIFT=LEFT,MID=C';'))
OUTFIL FNAMES=TRACEIT
/*
If you wish to see the contents before SORT and eliminating the dups (SUM),
then it is quite simple
Change your SYSIN to the following (use a COPY operation). By default
DFSORT will write out to the DDname SORTOUT. So check the contents from
position 82 thru 162.
//SYSIN DD *
INCLUDE COND=((2,3,CH,NE,C'//*'),AND, * NO COMMENTS
(((2,11,CH,EQ,C'MEMBER NAME'),OR, * MEMBER NAME
(5,30,SS,EQ,C' EXEC ')),AND, * EXEC PROC
(5,30,SS,NE,C'PGM=')))
INREC IFTHEN=(WHEN=GROUP,
BEGIN=(2,11,CH,EQ,C'MEMBER NAME'),
PUSH=(082:SEQ=8, * SEQUENCE #
091:15,08)), * MEMBER NAME
IFTHEN=(WHEN=(18,05,CH,EQ,C'PROC '),
OVERLAY=(100:23,08, * PROCNAME
SQZ=(SHIFT=LEFT,PREBLANK=C','),
110:JP1, * LIBRARY NAME
160:C'P')),
IFTHEN=(WHEN=(11,05,CH,EQ,C'EXEC ',OR,
12,05,CH,EQ,C'EXEC ',OR,
13,05,CH,EQ,C'EXEC ',OR,
14,05,CH,EQ,C'EXEC '),
PARSE=(%01=(STARTAFT=C'EXEC ',
ENDBEFR=C',',
FIXLEN=8)),
OVERLAY=(100:%01, * PROCNAME
110:JP1, * LIBRARY NAME
162:C'P'))
OPTION COPY
/*
Further if you have any questions please let me know
Thanks,
Kolusu
DFSORT Development
IBM Corporation
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN