Thank you Greg, Paul and Max for your informative replies!

On Tue, 5 Jan 2021 at 15:12, Massimo Biancucci <[email protected]> wrote:

> I tried to develop you hints:
>
> // EXPORT SYMLIST=*
> // SET INPMOD=oldmd
> // SET OUTMOD=newmod
> // SET INPLIB=myold.lib
> // SET OUTLIB=mynew.lib
> // SET AMBDSN=AMBLIST3
> // SET DSP='MOD,PASS'      DSP='MOD,CATLG'
> //*-------------------------------------------------------------------*
> //*                                                                   *
> //*-------------------------------------------------------------------*
> //ST010  EXEC PGM=AMBLIST
> //SYSPRINT DD DSN=&SYSUID..&AMBDSN,DISP=(&DSP),
> // SPACE=(TRK,(5,5),RLSE)
> //LOADLIB  DD DISP=SHR,DSN=&INPLIB
> //SYSIN    DD *,SYMBOLS=(JCLONLY,SYMBLOG)
>  LISTIDR DDN=LOADLIB,MEMBER=&INPMOD
> /*
> //*-------------------------------------------------------------------*
> //*                                                                   *
> //*-------------------------------------------------------------------*
> //ST020  EXEC PGM=SORT
> //SYSOUT DD SYSOUT=*
> //SORTIN  DD DSN=&SYSUID..&AMBDSN,DISP=SHR
> //SORTOUT DD DSN=&SYSUID..&AMBDSN..CMD,DISP=(&DSP),
> // SPACE=(TRK,(5,5),RLSE),DCB=(LRECL=80,RECFM=FB,DSORG=PS)
> //SYSIN    DD *,SYMBOLS=(JCLONLY,SYMBLOG)
>  SORT FIELDS=COPY
>  OUTFIL FNAMES=SORTOUT,REMOVECC,
>   INCLUDE=(2,10,CH,EQ,C'CSECT:    ',AND,
>            12,8,CH,NE,C'&OUTMOD'),
>  OUTREC=(C' REPLACE ',12,8,80:X),
>   TRAILER1=(' INCLUDE SYSLIB(&INPMOD)',/,
>    ' NAME &OUTMOD(R)')
> /*
> //*-------------------------------------------------------------------*
> //*                                                                   *
> //*-------------------------------------------------------------------*
> //ST030    EXEC PGM=HEWL,
> //         PARM='LET,XREF,MAP,LIST,NCAL'
> //SYSPRINT DD  SYSOUT=*
> //SYSUT1   DD  DSN=&&SYSUT1,SPACE=(1024,(120,120),,,ROUND),
> // DCB=BUFNO=1
> //*YSLIN   DD DISP=SHR,DSN=J48017.OSET.LOAD(IRXINIT)
> //SYSLIB   DD  DISP=SHR,DSN=&INPLIB
> //SYSLMOD  DD  DISP=SHR,DSN=&OUTLIB(&OUTMOD)
> //SYSLIN   DD  DISP=SHR,DSN=&SYSUID..&AMBDSN..CMD
> //*-------------------------------------------------------------------*
> //*                                                                   *
> //*-------------------------------------------------------------------*
> //ST040  EXEC PGM=AMBLIST
> //SYSPRINT DD SYSOUT=*
> //LOADLIB  DD DISP=SHR,DSN=&OUTLIB
> //SYSIN    DD *,SYMBOLS=(JCLONLY,SYMBLOG)
>  LISTIDR DDN=LOADLIB,MEMBER=&OUTMOD
>  LISTLOAD DDN=LOADLIB,MEMBER=&OUTMOD
> /*
>
> and it seems it's still working.
> I'm sure it's possible to further optimize, anyway I think it's a kind of
> tool you use not so often.
> Anyway take the two of them as POC.
>
> Best regards.
> Max
>
> <
> https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail
> >
> Mail
> priva di virus. www.avast.com
> <
> https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail
> >
> <#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
>
> Il giorno lun 4 gen 2021 alle ore 18:44 Paul Gilmartin <
> [email protected]> ha scritto:
>
> > On Mon, 4 Jan 2021 16:32:47 +0100, Massimo Biancucci wrote:
> > >
> > >I've tried to use sort to help.
> > >
> > >// EXPORT SYMLIST=*
> > >// SET INPMOD=oldmd
> > >// SET OUTMOD=newmod
> > >// SET INPLIB=myold.lib
> > >// SET OUTLIB=mynew.lib
> > >
> > I like that sort of parameterizing.  It puts the variables up front,
> > viewable at a glance.  I'd add the AMBLIST2 DSNs to the SET list.
> >
> > Can something such as "SET DISP={PASS|CATLG} be used to control
> > temp vs. permanent workfiles?
> >
> > >//*                                                                   *
> > >//*-------------------------------------------------------------------*
> > >//ST010  EXEC PGM=IDCAMS
> > >//SYSPRINT DD SYSOUT=*
> > >//SYSIN DD *,SYMBOLS=(JCLONLY,SYMBLOG)
> > > DELETE &SYSUID..AMBLIST2
> > > IF MAXCC=8 THEN SET MAXCC=0
> > >/*
> > >//*-------------------------------------------------------------------*
> > >//*                                                                   *
> > >//*-------------------------------------------------------------------*
> > >//ST020  EXEC PGM=AMBLIST
> > >//SYSPRINT DD DSN=&SYSUID..AMBLIST2,DISP=(,CATLG),
> > >// SPACE=(TRK,(5,5),RLSE)
> > >//LOADLIB  DD DISP=SHR,DSN=&INPLIB
> > >//SYSIN    DD *,SYMBOLS=(JCLONLY,SYMBLOG)
> > > LISTIDR DDN=LOADLIB,MEMBER=&INPMOD
> > >/*    ...
> > My very peculiar preference is to omit the IDCAMS steps and code either:
> >     //HANDLE DD DSN=&SYSUID..AMBLIST2,DISP=(MOD,CATLG),
> >     // SPACE=(TRK,(5,5),RLSE)
> >     //SYSPRINT  DD  DISP=OLD,DSN=*.HANDLE,VOL=REF=*.HANDLE
> >
> > Or:
> >     //HANDLE DD DSN=&SYSUID..AMBLIST2,DISP=(MOD,DELETE),
> >     // SPACE=(TRK,(5,5),RLSE)
> >     //SYSPRINT DD DSN=&SYSUID..AMBLIST2,DISP=(MOD,CATLG),
> >     // SPACE=(TRK,(5,5),RLSE)
> >
> > But, performance?  Is a failing IDCAMS step less overhead than
> > an otiose DISP=(MOD,DELETE) etc.?
> >
> > >I used "no-temp" dataset to better help in understanding the process.
> >
> > -- gil
> >
> > ----------------------------------------------------------------------
> > 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
>

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to