I have an updated C run time library. How do I test it on z/OS, bearing in mind the libraries are in the linklist (dataset available to every one), and I want to use them from Unix.
You can refresh the Linklist, by creating a new definition using console commands, and activating it.
Because you may need to update more that one library as part of the update, you update the definitions, then activate them. If you update linklist one data set at a time, you could get inconsistent libraries in the link list for a short period.
You have one active (current list) and can have multiple other list definitions.
You can
- copy the current definitions
- add data sets
- remove data sets
- activate a definition
To display what is in the current link list you can use the SDSF option LNK, or use the operator command D PROG,LNKLST
D PROG,LNKLST
CSV470I 12.06.05 LNKLST DISPLAY 605
LNKLST SET LNKLST00 LNKAUTH=LNKLST
ENTRY APF VOLUME DSNAME
1 A B3RES1 SYS1.LINKLIB
2 A B3RES1 SYS1.MIGLIB
3 A B3RES1 SYS1.CSSLIB
4 A B3RES1 SYS1.SIEALNKE
5 A B3RES1 SYS1.SIEAMIGE
6 A B3RES1 SYS1.SHASLNKE
7 A B3RES1 SYS1.SERBLNKE
8 A B3RES1 SYS1.SGRBLINK
9 A B3RES1 SYS1.SHASMIG
10 B3RES1 SYS1.SCBDHENU
...
For example to create a new definition called MY, and activate it
SETPROG LNKLST,DEFINE,NAME=MY,COPYFROM=CURRENT
bSETPROG LNKLST,ADD,NAME=MY,DSN=CEE.SCEERUN.NEW
SETPROG LNKLST,delete,NAME=MY,dsname=CEE.SCEERUN
SETPROG LNKLST,ADD,NAME=MY,DSN=CEE.SCEERUN2.NEW
SETPROG LNKLST,delete,NAME=MY,dsname=CEE.SCEERUN2
SETPROG LNKLST,ACTIVATE,NAME=MY
After doing this I did not have to logoff to get the new libraries. They were available after the activate command completed successfully.
Once you’ve done the activate
Thanks to Todd Burch for reminding me that you need to refresh the Link List Lookaside(LLA).
f lla,refresh
Any new jobs will use the updated LNKLST.
Previously running jobs will continue to use the old LNKLST, unless you tell the the jobs, they can use the new LNKLIST, with the UPDATE option.
setprog LNKLST,UPDATE,JOB=*
If you use LLA, be sure to refresh it too.
LikeLike
Thank you, I’ve updated it, and given you the credit
LikeLike
You have some duplicate lines in your example. You add twice and delete twice. There’s no need to delete at all. You should also issue the LNKLST,UPDATE JOB=* command at the end.
LikeLike
Thank you, I mis-copied I had sceerun and screerun2… If I didnt delete there were
CEE.SCEERUN and
CEE.SCEERUN.NEW in the list.
The doc is not clear as to which would be used is it the first in the list or the last in the list.
Doing a delete makes it obvious.
If you say the last is the list takes precedence, I’ll raise a doc commment on this.
LikeLike