IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

variable in library name within a PROC.


IBM Mainframe Forums -> JCL & VSAM
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
Jordi Bornay

New User


Joined: 19 Oct 2022
Posts: 8
Location: Spain

PostPosted: Mon Feb 17, 2025 3:44 pm
Reply with quote

hello Colleagues,
Is it possible to put a variable inside the name of a library of a procedure??
For example, put the corresponding symbol to avoid a version change or maintenance causing a cancellation of the STC.
Old name: PEPE.IDIE10.SIDIAUTH
New name: PEPE.IDIF10.SIDIAUTH
Variable (if possible): PEPE.IDIE10.SIDIAUTH => PEPE.IDI&10.SIDIAUTH

Thanks
Back to top
View user's profile Send private message
Jordi Bornay

New User


Joined: 19 Oct 2022
Posts: 8
Location: Spain

PostPosted: Mon Feb 17, 2025 4:52 pm
Reply with quote

This would be the normal solution: create an Alias ​​​​within the Catalog that always points to the dataset and on the day the maintenance is done, run an annex job that updates the alias.... but I am looking to modify the DFsms type name (PEPE.IDI%10.SIDIAUTH) if possible.
Back to top
View user's profile Send private message
Joerg.Findeisen

Senior Member


Joined: 15 Aug 2015
Posts: 1387
Location: Bamberg, Germany

PostPosted: Mon Feb 17, 2025 6:44 pm
Reply with quote

You could start the PROC with the parameter for the version.

Code:
//WHATEVER PROC VERSION=F                             
//IEFBR14  EXEC PGM=IEFBR14                           
//ALLOC    DD DISP=SHR,DSN=PEPE.IDI&VERSION.10.SIDIAUTH 
//         PEND                                       
//*                                                   
//DO       EXEC WHATEVER                               
//DO       EXEC WHATEVER,VERSION=E


Means define a default, but be able to override it. See the sample.
Back to top
View user's profile Send private message
Jordi Bornay

New User


Joined: 19 Oct 2022
Posts: 8
Location: Spain

PostPosted: Mon Feb 17, 2025 6:52 pm
Reply with quote

Hallo Jörg,
... but it would be in the same situation... Maintenace does not notify us of the version change... we find out at dawn (OCD)
Back to top
View user's profile Send private message
sergeyken

Senior Member


Joined: 29 Apr 2008
Posts: 2209
Location: USA

PostPosted: Mon Feb 17, 2025 9:08 pm
Reply with quote

Jordi Bornay wrote:
Hallo Jörg,
... but it would be in the same situation... Maintenace does not notify us of the version change... we find out at dawn (OCD)

Your issue is unclear.

The initial question was strictly about "a variable inside the name of a library of a procedure".

The latest note is about "Maintenace does not notify us of the version change".

What exactly is "the version change", and why it may happen only "at dawn"? For instance: can it happen at sunset, too?
Back to top
View user's profile Send private message
Jordi Bornay

New User


Joined: 19 Oct 2022
Posts: 8
Location: Spain

PostPosted: Mon Feb 17, 2025 9:56 pm
Reply with quote

Your problem is not clear. --> maybe I expressed myself wrong.

The initial question was strictly about "a variable inside the name of a library of a procedure". --> putting a variable that accepts JES2 in the name of a library inside a procedure, like a DFsms routine with %%. Example, PEPE.IDIE10.SIDIAUTH (old lib) --> PEPE.IDIF10.SIDIAUTH (new lib), the variable would go inside the second qualifier IDI%10, in this way, whenever they modify that qualifier, it would not affect the PROC and would cancel (dataset not found)

The last note is about "Maintenance does not notify us of version changes". Peculiarities that did not occur in the past because you had the colleague in the same room and he would notify you... what can I say...

What exactly is "version change" and why can it only happen "at dawn"? For example: can it also happen at dusk? --> because IPLs for change of resident (maintenance) are usually performed when one has the deepest sleep even though they are on-duty
Any other questions, I'd be happy to clarify.
Back to top
View user's profile Send private message
Willy Jensen

Active Member


Joined: 01 Sep 2015
Posts: 745
Location: Denmark

PostPosted: Tue Feb 18, 2025 2:05 am
Reply with quote

Don't know if this helps, but you can put assignments etc in a proclib member and then have a
// INCLUDE MEMBER=name
in you other procedures. Then you only have one place to maintain.
Back to top
View user's profile Send private message
Pedro

Global Moderator


Joined: 01 Sep 2006
Posts: 2608
Location: Silicon Valley

PostPosted: Tue Feb 18, 2025 2:30 am
Reply with quote

I think "Maintenace" needs to be the one that edits the proc that Joerg provided. And when you run your job, the updated proc will provide the new name.

Or alternatively, they can update the catalog alias as you suggested.
Back to top
View user's profile Send private message
Jordi Bornay

New User


Joined: 19 Oct 2022
Posts: 8
Location: Spain

PostPosted: Tue Feb 18, 2025 12:47 pm
Reply with quote

Willy Jensen wrote:
Don't know if this helps, but you can put assignments etc in a proclib member and then have a
// INCLUDE MEMBER=name
in you other procedures. Then you only have one place to maintain.


Thanks Willy Jensen, it's what I've been using... it was so I wouldn't have to modify anything and consider all the possible changes
Back to top
View user's profile Send private message
Jordi Bornay

New User


Joined: 19 Oct 2022
Posts: 8
Location: Spain

PostPosted: Tue Feb 18, 2025 12:50 pm
Reply with quote

Pedro wrote:
I think "Maintenace" needs to be the one that edits the proc that Joerg provided. And when you run your job, the updated proc will provide the new name.

Or alternatively, they can update the catalog alias as you suggested.


Thank's Pedro... The origin of the problem is Maintenance's 'forgetfulness' to notify us... if they had notified us, I would change my INCLUDE MEMBER before the IPL's.
Back to top
View user's profile Send private message
Pete Wilson

Active Member


Joined: 31 Dec 2009
Posts: 593
Location: London

PostPosted: Tue Feb 18, 2025 2:11 pm
Reply with quote

Perhaps you could use a system symbolic? If by "maintenance" you mean the System Programmers then they should update the symbolic relating to the particular piece of software during the upgrade process. Maybe they already do this. You could check your symbols using the D SYMBOLS command in SDSF to see what's already there.
Back to top
View user's profile Send private message
Jordi Bornay

New User


Joined: 19 Oct 2022
Posts: 8
Location: Spain

PostPosted: Tue Feb 18, 2025 2:32 pm
Reply with quote

Pete Wilson wrote:
Perhaps you could use a system symbolic? If by "maintenance" you mean the System Programmers then they should update the symbolic relating to the particular piece of software during the upgrade process. Maybe they already do this. You could check your symbols using the D SYMBOLS command in SDSF to see what's already there.


It's not a bad idea... I could request that they add it and forget to modify my INCLUDE MEMBER... let them do it... it's something else, since it represents 'more work' for them... but thanks anyway
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> JCL & VSAM

 


Similar Topics
Topic Forum Replies
No new posts REXX/CMS How to place command console... CLIST & REXX 4
No new posts Starting a PROC with parameters from ... CLIST & REXX 6
No new posts CA7 count with DATE variable CA Products 0
No new posts Extracting Variable decimal numbers f... DFSORT/ICETOOL 17
No new posts Calling an Open C library function in... CICS 1
Search our Forums:


Back to Top