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.
The SQL statement using object_statistics took 4.32 minutes running on a Power10 with 6 active cores running V7R5, on the weekend. But I only got a list of the first 100 printer files in that #LIBRARY (why do people still have #LIBRARY on their systems!)
So yes, it is a way to get a list, if you have nothing to do, and all day to do it.
Imagine in IBM BOB or VS CODE using CODE for IBM I generating a list of PRINTER FILE objects, or in my case, a list of *FILE OBJATTR('PRTF') in my own tools that use the QGYOLxxx APIs.
Then there is the authorization issue. Many database files are restricted and end up issuign the NOT AUTHORIZED TO OBJECT xxxxxxxx/xxxxxxx *FILE which has to be addressed by the auditors. So there's that fun stuff to deal with.
Bottom line, while I realize that building a system-wide index over the object attribute is a relative non-trivial undertaking, it is necessary to move forward with modern development tools.
HI Steve. Thanks for the tip. I have used that, but that interface produces a list of all *FILE objects on the system which I do not want to do. I want to generate a list by object attribute (e.g., PRTF) which is currently not possible without materializing all *FILE objects found in the search criteria. This is very slow for any Object Attribute (PF, LF, PRTF, DDMF, etc.) You first have to list "everything" and then go through that pile to find what you want. There are potential security issues in doing that so I would prefer a fast way to go for the object by Object Attribute. Note this this is really only a problem for *FILE objects, not all objects, but I suppose an internal "index" by object type/attribute is necessary to make it fast vs just hiding the processes from the API caller.
The CAAC has reviewed this IBM Idea and recommends that IBM not implement this request.
The example given above should fulfill this need.
Background: The COMMON Americas Advisory Council (CAAC) members have a broad range of experience in working with small and medium-sized IBM i customers. CAAC has a key role in working with IBM i development to help assess the value and impact of individual IBM Ideas on the broader IBM i community and has therefore reviewed your Idea.
For more information about CAAC, see www.common.org/caac
Carmelita Ruvalcaba - CAAC Program Manager
I said "fast". Yes the QGYOLOBJ API and both OBJECT_STATISTICS and my own OBJECT_LIST UDTF can produce a list of objects. But imagine this. you want a list of Printer files. Say there are 20 on the system. Yes your only option is to all all *FILE object (let's say there are 20,000+ on the system) and then once you have that list, filter out all but PRTF files. That's what OBJECT_STATISTICS (and the others) provides.
Hi, if I have understood your primary need correctly and it is to find a fast programmatic way to list all Printer Files on an LPAR, then I think you can do this with the SQL Object Statics to get a list of just printer files pretty quickly
Hope this helps
Steve Bradshaw
The Friendly Techie at RowtonIT.com
IBM Champion, Member of CEAC, TD of i-UG.co.uk
Example below: