Z... Here is another approach i use this: //BULDREL JOB SYSTEMS,MSGLEVEL=(1,1),MSGCLASS=X,CLASS=A,PRTY=8, // NOTIFY=&SYSUID,REGION=0M //*------------------------------------------* //* BUILD FOR IDF RACF RELEASES * //* . PRODEXP = EXPRESS PIONEER ONLY * //* . PRODENT = ENTERPRISE EDITION * //* . PROD = ORACLE RELEASE * //*------------------------------------------* //SETP1 SET ITYPE=PROD //SETP2 SET OTYPE=PROD //SETO SET ORG=IDF //SETH1 SET IHLQ=ORA9418 //SETH2 SET OHLQ=ORA9419 //SET1I SET IDSN=&ORG..&ITYPE..&IHLQ..JCLLIB //SET1O SET ODSN=&ORG..&OTYPE..&OHLQ..JCLLIB //SETM1 SET ORECFM=FB //SETM2 SET OLRECL=80 //SETM3 SET OBLOCK=3120 //SETM4 SET OVOLSER=JASYS3 //SET2I SET IDSN1=&ORG..&ITYPE..&IHLQ..PROCLIB //SET2O SET ODSN1=&ORG..&OTYPE..&OHLQ..PROCLIB //SET3I SET IDSN2=&ORG..&ITYPE..&IHLQ..PARMLIB //SET3O SET ODSN2=&ORG..&OTYPE..&OHLQ..PARMLIB //SET4I SET IDSN3=&ORG..&ITYPE..&IHLQ..LINKLIB //SET4O SET ODSN3=&ORG..&OTYPE..&OHLQ..LINKLIB //SET5I SET IDSN4=&ORG..&ITYPE..&IHLQ..CLISTLIB //SET5O SET ODSN4=&ORG..&OTYPE..&OHLQ..CLISTLIB //STEP1 EXEC PGM=IEFBR14 //*-------------------------------------------------------* //* IEFBR14 ALLOC OUTPUT LIBRARIES //*-------------------------------------------------------* //INDD1 DD DSN=&ODSN, // DCB=(DSORG=PO,RECFM=&ORECFM,LRECL=&OLRECL, // BLKSIZE=&OBLOCK),UNIT=SYSDA,SPACE=(TRK,(300,100,60)), // DISP=(NEW,CATLG),VOL=SER=&OVOLSER //INDD2 DD DSN=&ODSN1, // DCB=(DSORG=PO,RECFM=&ORECFM,LRECL=&OLRECL, // BLKSIZE=&OBLOCK),UNIT=SYSDA,SPACE=(TRK,(300,100,60)), // DISP=(NEW,CATLG),VOL=SER=&OVOLSER //INDD3 DD DSN=&ODSN2, // DCB=(DSORG=PO,RECFM=&ORECFM,LRECL=&OLRECL, // BLKSIZE=&OBLOCK),UNIT=SYSDA,SPACE=(TRK,(300,100,60)), // DISP=(NEW,CATLG),VOL=SER=&OVOLSER //INDD4 DD DSN=&ODSN4, // DCB=(DSORG=PO,RECFM=&ORECFM,LRECL=&OLRECL, // BLKSIZE=&OBLOCK),UNIT=SYSDA,SPACE=(TRK,(300,100,60)), // DISP=(NEW,CATLG),VOL=SER=&OVOLSER //INDD5 DD DSN=&ODSN3, // DCB=(DSORG=PO,RECFM=U,LRECL=0, // BLKSIZE=6144),UNIT=SYSDA,SPACE=(TRK,(2000,100,60)), // DISP=(NEW,CATLG),VOL=SER=&OVOLSER //IFGOD1 IF (STEP1.RC = 0) THEN ......so on so forth.....
Depends on what you are doing ... Scott J Ford Software Engineer http://www.identityforge.com ________________________________ From: Bill Ashton <bill00ash...@gmail.com> To: IBM-MAIN@bama.ua.edu Sent: Wednesday, April 18, 2012 9:51 AM Subject: Re: Execute certian steps based on input parm Why not pass the the version in as a symbolic: //ABC PROC VER=620 //PGMNAME EXEC PGM=PGM //STEPLIB DD DNS=LOADMOD.V&ver Then you can call it from your JCL: //STEP1 EXEC PROC=ABC,VER=620 or //STEP1 EXEC PROC=ABC (This will default to 620) and then if you have a new version, you can change some JCL: //STEP2 EXEC PROC=ABC,VER=710 Another option, if you want to change the version all at once, is to use dataset alias definitions. To do this, you set your proc up like this: //ABC PROC //PGMNAME EXEC PGM=PGM //STEPLIB DD DNS=LOADMOD.PROD.VERSION Then, your JCL would have only this: //STEP1 EXEC PROC=ABC To set this up, you would use IDCAMS like this: //STEP0 EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * DEL LOADMOD.PROD.VERSION ALIAS DEF ALIAS(NAME(LOADMOD.PROD.VERSION) - REL(LOADMOD.V620)) That way, everyone who uses LOADMOD.PROD.VERSION, in JCL or ISPF browse, etc, will automatically get LOADMOD.V620. Then, when you want to upgrade, you just run the IDCAMS for the new version: //STEP0 EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * DEL LOADMOD.PROD.VERSION ALIAS DEF ALIAS(NAME(LOADMOD.PROD.VERSION) - REL(LOADMOD.V710)) Your proc doesn't need to change, your JCL doesn't change, any CLIST or REXX programs don't change, and everything processes the same way, just on a different version. Of course before you upgrade, you can perform testing by either using a JCL STEPLIB override to the absolute version, or you can define an alias of LOADMOD.TEST.VERSION... This will give you a lot of options, if this is what you are looking for. I hope this is some help to you. Billy On Wed, Apr 18, 2012 at 9:02 AM, Victor Zhang <victor_wor...@yahoo.com.cn>wrote: > Ok, the proc is like: > //ABC PROC VER='620' > //PGMNAME EXEC PGM=PGM > //STEPLIB DD DNS=LOADMOD.V620 > > IF VER NOT = '620' i want proc be: > //PGMNAME EXEC PGM=PGM > //STEPLIB DD DNS=LOADMOD.V710 > > So I code: > //ABC PROC VER='620' > //IF620 IF (&VER=620) THEN > //PGMNAME EXEC PGM=PGM > //STEPLIB DD DNS=LOADMOD.V620 > // ELSE > //PGMNAME EXEC PGM=PGM > //STEPLIB DD DNS=LOADMOD.V710 > // ENDIF > > But it does not work. > > Please help. > > ---------------------------------------------------------------------- > For IBM-MAIN subscribe / signoff / archive access instructions, > send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN > -- Thank you and best regards, *Billy Ashton* ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN