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
