Quick synopsis: * BUILD creates the record from scratch. Also the same as INREC, OUTREC, OUTFIL OUTREC - but nice in that you could move it from one to another.
* OVERLAY overwrites specified fields. Similarly movable. Hoping this helps. Cheers, Martin Martin Packer Systems Investigator & Performance Troubleshooter, IBM +44-7802-245-584 email: [email protected] Twitter / Facebook IDs: MartinPacker Blog: https://mainframeperformancetopics.com Mainframe, Performance, Topics Podcast Series (With Marna Walle): https://anchor.fm/marna-walle Youtube channel: https://www.youtube.com/channel/UCu_65HaYgksbF6Q8SQ4oOvA From: Cameron Conacher <[email protected]> To: [email protected] Date: 26/10/2020 19:31 Subject: [EXTERNAL] Re: DFSORT Question Sent by: IBM Mainframe Discussion List <[email protected]> Sri Could you refer me to some documentation to help me better understand the differences between BUILD and OVERLAY? Sent from my iPhone > On Oct 26, 2020, at 1:10 PM, Sri h Kolusu <[email protected]> wrote: > > 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 ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN Unless stated otherwise above: IBM United Kingdom Limited - Registered in England and Wales with number 741598. Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
