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

Reply via email to