View previous topic :: View next topic
|
Author |
Message |
Sysaron
New User
Joined: 28 Sep 2005 Posts: 55 Location: USA
|
|
|
|
Good morning all,
Every year we need to change 80+ PROCs to include the current year in the mainframe DSN.
2013 = SYSIC.EXPL13.DATA
2014 = SYSIC.EXPL14.DATA
2015 = SYSIC.EXPL15.DATA
I want to create a PROC copy member that has a symbolic that will be moved to the DSN later in the PROC. The objective is to only chg this one PROC each year, and it will be copied into the 80+ PROCs.
They wont accept a GDG file. Thanks for your help.
Original:
//TCSPROC1 PROC YEAR=15
used for
SYSIC.EXPL&YEAR..DATA
New (doesn’t work):
//TCSPROC1 PROC
// INCLUDE MEMBER=TCSDATE
II YEAR=15
CAY6006S VERB 'YEAR=15' IS UNKNOWN
MEMBER TCSDATE contents are:
// YEAR=15 |
|
Back to top |
|
|
Bill Woodger
Moderator Emeritus
Joined: 09 Mar 2011 Posts: 7309 Location: Inside the Matrix
|
|
|
|
In your original, YEAR=15 is a symbol which gets passed to the PROC.
In your new example, your JCL-checker is telling you that YEAR=15 is not a VERB, by which I guess it means "is not JCL". Which it isn't. You need to find ways, which are valid JCL, to set a value to a symbol. |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8696 Location: Dubuque, Iowa, USA
|
|
|
|
Look at SET in the JCL Reference manual. |
|
Back to top |
|
|
Sysaron
New User
Joined: 28 Sep 2005 Posts: 55 Location: USA
|
|
|
|
Can anyone think of a way to use the DFSORT DD CARD //SYMNAMES
as
CURYR2,S'&LYR2'
to accomplish what I am trying to do with an external DSN? |
|
Back to top |
|
|
Sysaron
New User
Joined: 28 Sep 2005 Posts: 55 Location: USA
|
|
|
|
IT WORKED - YAHOOOO!! We only have to Change one member for all the PROCS Every Year!
THANK YOU Robert Simple for pointing me to the "Set" Command
XXP9UP9999 PROC
XX INCLUDE MEMBER=TCUDDATE
XXSETYR SET YR=15
DSN=SYSIC.EXPL&YR..DATA,
IEFC653I SUBSTITUTION JCL - DSN=SYSIC.EXPL15.DATA, |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8696 Location: Dubuque, Iowa, USA
|
|
|
|
Good to hear you got it working -- even if you did get my name wrong! |
|
Back to top |
|
|
Pete Wilson
Active Member
Joined: 31 Dec 2009 Posts: 580 Location: London
|
|
|
|
Another approach is to use IDCAMS utility to define a NONVSAM ALIAS, so in the JCL you never have to change the dataset name, you just change the ALIAS to point to another underlying file each year. (Both file names must be in the same catalog)
e.g.
In your JCL you always specify the name as SYSIC.EXPL.DATA and it doesn't change, it is not even a physical dataset, just a pointer in the catalog to the real underlying physical dataset...
so for year 2013:
DEFINE ALIAS(NAME(SYSIC.EXPL.DATA) -
RELATE(SYSIC.EXPL13.DATA) )
year 2014..repoint the alias to the 2014 year dataset..
DEFINE ALIAS(NAME(SYSIC.EXPL.DATA) -
RELATE(SYSIC.EXPL14.DATA) ) |
|
Back to top |
|
|
Willy Jensen
Active Member
Joined: 01 Sep 2015 Posts: 712 Location: Denmark
|
|
|
|
if you are on z/OS 2.1 then you can use a system symbol and do away with that include. |
|
Back to top |
|
|
|