Colin,

I do it using IEBGENER:

//         JCLLIB ORDER=pds.with.members.to.use
//SETSTEP  EXEC PGM=IEBGENER
//SYSIN    DD   DUMMY
//SYSPRINT DD   SYSOUT=*
//SYSUT1   DD   *,SYMBOLS=JCLONLY
// INCLUDE MEMBER=xxxxx
//SYSUT2   DD   DISP=SHR,DSN=dataset.to.contain.resolved.member

I don't know if this will work for you, but it works for my needs.

You probably wouldn't want to put the substitution output back into the
original file.
Depending on how you're going to use the result, you could use a temporary
file or a permanent file.

Chuck

On Mon, Jan 8, 2024 at 6:16 AM Colin Paice <[email protected]> wrote:

> I have a PDS with configuration definitions in it and want to make it easy
> to configure.
>
> I want to have PDS members with content like PERMIT ... ACCESS(READ)
> CLASS(...) ID(&ID)
> and want the &ID to be substituted for example in JCL // SET ID=COLIN, and
> be able to change the value on each run.
> However JCL symbols only work with SYSIN DD * type data not within dataset
> members.
>
> What is the best way of doing this?
>
> - I could have an inline IEBUPDTE which does the substitution and creates
> the members.
> - I've found references to IPOUPDTE.  Is there a modern version of this
> provided by IBM?
> - I could write an ISPF macro.
> But none of these match the ease of changing the JCL // SET ID=COLIN
> statement.
>
> Colin
>
> ----------------------------------------------------------------------
> 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