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

Reply via email to