Kirk, Why not just set up the PROC with a default concatenated DD, like this:
//STDENV DD DISP=SHR,DSN=NULLFILE // DD DISP=SHR,DSN=INST.ADD.JAVA.STDENV Then the user overrides with: //JVMPRC80.STDENV DD DSN=user-supplied.data I believe the concatenation will survive that method of override. This stripped-down example was tested and works on z/OS V2.1, printing *two* copies of the JCL: Member TRYME of DSN=&SYSUID..TEST.JCL is: //TSOUSERZ JOB (...),... //JVMPRC80 PROC OUT=* //JAVAJVM EXEC PGM=IEBGENER //SYSIN DD DUMMY //SYSPRINT DD SYSOUT=&OUT //SYSUT2 DD SYSOUT=&OUT //SYSUT1 DD DISP=SHR,DSN=NULLFILE // DD DISP=SHR,DSN=&SYSUID..TEST.JCL(TRYME) // PEND //* //TRYPROC EXEC JVMPRC80 //JAVAJVM.SYSUT1 DD DSN=&SYSUID..TEST.JCL(TRYME) //* HTH Peter -----Original Message----- From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf Of Kirk Wolf Sent: Tuesday, September 29, 2015 4:51 PM To: [email protected] Subject: Way to change a PROC to add a concatenation to existing DD? Consider an existing PROC: //JVMPRC80 PROC JAVACLS=, < Fully Qfied Java class..RQD // ARGS=, < Args to Java class // LIBRARY=’<HLQ>.JZOS.LOADLIB’, < STEPLIB FOR JVMLDM module // VERSION=’80’, < JVMLDM version: 80 // LOGLVL=’’, < Debug LVL: +I(info) +T(trc) // REGSIZE=’0M’, < EXECUTION REGION SIZE // LEPARM=’’ //JAVAJVM EXEC PGM=JVMLDM&VERSION,REGION=®SIZE, // PARM=’&LEPARM/&LOGLVL &JAVACLS &ARGS’ //STEPLIB DD DSN=&LIBRARY,DISP=SHR //SYSPRINT DD SYSOUT=* < System stdout //SYSOUT DD SYSOUT=* < System stderr //STDOUT DD SYSOUT=* < Java System.out //STDERR DD SYSOUT=* < Java System.err //CEEDUMP DD SYSOUT=* //ABNLIGNR DD DUMMY //* //*The following DDs can/should be present in the calling JCL //* //*STDIN DD < OPTIONAL - Java System.in //*STDENV DD < REQUIRED - JVM Environment script //*MAINARGS DD < OPTIONAL - Alt. method to supply args // PEND STDENV is a DD that is opened by the program (JVMLDM80). An installation would like to be able to automatically add control statements to the end of this DD, without changing the JCL. So, instead we would want: //STDENV DD DDNAME=MYENV // DD DISP=SHR,DSN=INST.ADD.JAVA.STDENV but this would require that all JCL that used this PROC would need to change their DD:STDENV to DD:MYENV. Here's my question: is there a way to change the PROC so that the JCL that uses it does not need to be changed? Its even OK to front-end the JVMLDM80 program with an installation-written program that does something and then invokes JVMLDM80. Its not possible (or desirable) to change JVMLDM80. Maybe a front-end program that uses SVC99 to reallocate STDENV as the concatenation? I'm not sure if this can be done without freeing the existing STDENV DD. I guess that the front-end program could create a temporary dataset and then copy the existing STDENV DD to it and then free STDENV and then reallocate the concatenation.... Thanks in advance for any better suggestions. Kirk Wolf Dovetailed Technologies http://dovetail.com ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN This message and any attachments are intended only for the use of the addressee and may contain information that is privileged and confidential. If the reader of the message is not the intended recipient or an authorized representative of the intended recipient, you are hereby notified that any dissemination of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by e-mail and delete the message and any attachments from your system. ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
