I just read "How to Control CHGJOB and ENDJOB" (see TechTalk, MC, December 1997). I have been using modified IBM commands for some time and have found a way to control the system portion of the library list without having to change the system value QSYSLIBL.
I place all of my modified IBM commands in a library called SYSMOD. Then, in the user's initial program, I run a CL program that may or may not modify the system portion of the library list by means of the Change System Library List (CHGSYSLIBL) command.
I find that this method allows for more flexibility by allowing different system library lists based on user-defined criteria. You could even have multiple modified system-object libraries.
Using CHGSYSLIBL is simple. To add library SYSMOD to the top of the system portion of the library list, run the following command:
CHGSYSLIBL LIB(SYSMOD) OPTION(*ADD)
To remove the same library, do this:
CHGSYSLIBL LIB(SYSMOD) OPTION(*REMOVE)
- Bob Schwartz
Editor's Note: The method described above works flawlessly for interactive jobs, since the system runs the user profile's initial program automatically. Batch jobs, however, have no equivalent unless you walk the extra mile of creating a shell program that runs CHGSYSLIBL and then carries out your original request. You then change the subsystem's routing entries. In such cases, changing system value QSYSLIBL is a better method.