This portal is to open public enhancement requests against IBM Power Systems products, including IBM i. To view all of your ideas submitted to IBM, create and manage groups of Ideas, or create an idea explicitly set to be either visible by all (public) or visible only to you and IBM (private), use the IBM Unified Ideas Portal (https://ideas.ibm.com).
We invite you to shape the future of IBM, including product roadmaps, by submitting ideas that matter to you the most. Here's how it works:
Start by searching and reviewing ideas and requests to enhance a product or service. Take a look at ideas others have posted, and add a comment, vote, or subscribe to updates on them if they matter to you. If you can't find what you are looking for,
Post an idea.
Get feedback from the IBM team and other customers to refine your idea.
Follow the idea through the IBM Ideas process.
Welcome to the IBM Ideas Portal (https://www.ibm.com/ideas) - Use this site to find out additional information and details about the IBM Ideas process and statuses.
IBM Unified Ideas Portal (https://ideas.ibm.com) - Use this site to view all of your ideas, create new ideas for any IBM product, or search for ideas across all of IBM.
ideasibm@us.ibm.com - Use this email to suggest enhancements to the Ideas process or request help from IBM for submitting your Ideas.
This one has been open a while now, and did not make the cut for 7.5 and is unlikely to make it into 7.6. Therefore I am closing it at this time.
IBM Power Systems Development
I've had to do this from time to time... The RTVJOBD SQL Table function (in SQL Tools) returns the current value for LIBL and other attributes. It can then be used to automate updating the jobd using the CHGJOBD command. I recently added SQLTOOLS to all the JOBD's in QGPL that don't begin with the letter 'Q'. This example does extract the QUSRLIBL sysval if the JOBD's LIBL is set to *SYSVAL, however if you don't want that feature, simply comment out the 3 lines of code that checks for that and retrieves it. I did use SQL iQuery script to do this, but an RPG program with the same SQL stmts would also work just as well. Here's the code I ran:
forEach select objname,objlib
INTO :OBJNAME, :OBJLIB
from table(qsys2.object_statistics('QGPL','*JOBD','*ALLSIMPLE')) OL
WHERE left(OBJNAME,1) <> 'Q';
select LIBL INTO :LIBL
FROM TABLE(sqlTools.rtvjobd( '&OBJLIB', '&OBJNAME')) JD;
if (&SQLState < '02000');
if (&LIBL = '*SYSVAL');
select SYSVAL INTO :LIBL FROM TABLE(sqltools.SYSVAL_LIST('QUSRLIBL'));
endif;
&LIBL |= 'NEWLIB';
CL: CHGJOBD JOBD(&OBJLIB/&OBJNAME) INLLIBL(&LIBL);
endif;
endfor;
This request is still under consideration.
We are considering this request, but it may come in a different format, such as an SQL service. Feel free to comment if you dislike that idea.
It's a little quirky to add CHGJOBD function to ADDLIBLE. It seems like it would be better to add a new option or parm(s) to CHGJOBD to make it easier to update a single library in the INLLIBL. But it's a little clunky trying to retrofit that into the existing structure of the command. I'm not ruling this out, as I think you have a good use case. I just don't want to make our existing commands more confusing either...so moving this to "Under consideration" for now. Maybe there is better solution we haven't thought of yet.
j.p.Lamontre - just noticed your feedback - I wasn't looking to "add a lot of ADDLIBLE in many places in many programs, and have to remember to continue this process for each new job or new user", rather do this in a single place/program.
I realize there are plenty of alternatives, yours being one of them, but this RFE was added as a Low Priority item and one that I feel would be a good OS enhancement. Having multiple options is a good thing and sometimes those options are easier than other clunkier techniques.
Due to processing by IBM, this request was reassigned to have the following updated attributes:
Brand - Servers and Systems Software
Product family - Power Systems
Product - IBM i
Component - Core OS
Operating system - IBM i
Source - None
For recording keeping, the previous attributes were:
Brand - Servers and Systems Software
Product family - Power Systems
Product - IBM i
Component - Other
Operating system - IBM i
Source - None
so, instead of doing a one-shot list of CHGJOBD, you think to add a lot of ADDLIBLE in many places in many programs, and have to remember to continue this process for each new job or new user.
not sure it is efficient.
When I have to do this kind of repetitive change, I generally use RunSqlScript + Excel :
1) create a DB2 file with the objects to inspect, here, the *JOBD
2) read this file with RunSqlScript or excel, and filter the data to get the interesting rows, here, the jobd that miss the new library.
Depending of your preference, you can do this filter with Sql in RUNSQLSRIPT or with Excel with Excel-filters
3) finally copy the row of interest to excel
4) use excel functions to transform your rows to generate rows such as CL:CHGJOBD .... ;
5) paste that in RunSqlScript
6) Press the run button