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

Reply via email to