Skip to Main Content
IBM Power Ideas Portal


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).


Shape the future of IBM!

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:

Search existing ideas

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 your ideas
  1. Post an idea.

  2. Get feedback from the IBM team and other customers to refine your idea.

  3. Follow the idea through the IBM Ideas process.


Specific links you will want to bookmark for future use

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.

Status Submitted
Workspace IBM i
Categories Print
Created by Guest
Created on Mar 3, 2026

Provide a fast way to list PRINTER FILE objects

There is currently no scalable, programmatic interface dedicated to retrieving a list of printer files (*PRTF) on IBM i.

To obtain a list of printer files today, applications must use any of these interfaces:

DSPFD OUTPUT(*OUTFILE),

QGYOLOBJ,

QSYS2.OBJECT_STATISTICS (IBM i Services), or

SQLTOOLS.OBJECT_LIST (SQL Tools)

and specify Object Type = *FILE and then filter that result set for only PRTF file attribute (in this case).

On systems with large file counts, this becomes unnecessarily expensive and slow. And most systems have large numbers of *FILE objects.

Why This Is a Print Domain Issue

Printer files are not just generic objects — they are core to:

Output governance

Form control

Compliance review

Spool behavior management

Print modernization initiatives

Administrative tooling frequently needs to evaluate attributes such as:

Lines Per Page

Unprintable Character replacement setting

Overflow line

Device type

etc.

Today, gathering that data requires first enumerating every *FILE object on the system, which is unrelated to print management. and then throwing away the vast majority of data that was just produced.

There is no print-focused list API.

Proposed Enhancement

Provide a dedicated Open List API for printer files, conceptually similar to existing Open List APIs, for example:

QGYOLPRTF – Open List of Printer Files

Capabilities:

Support specific name, generic name, or *ALL

Return core printer file attributes

Optimized internally to select only *FILE objects with attribute=PRTF

Follow standard Open List patterns (receiver variable, continuation handle, etc.)

This would:

Eliminate unnecessary full *FILE object scans.

Improve performance

Enables user-written and scalable administrative and compliance tooling

Provides a print-focused API aligned with modern IBM i Services patterns

Reduces the need for sluggish workarounds

This would modernize print object management in a way consistent with other subsystem-focused APIs.

Idea priority Medium
  • Guest
    May 2, 2026

    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. 

  • Guest
    Apr 26, 2026

    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. 

  • Admin
    Carmelita Ruvalcaba
    Apr 14, 2026

    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

  • Guest
    Mar 8, 2026

    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.

  • Guest
    Mar 5, 2026

    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:

    Select Objname As File_Name,
    Objlib As Library,
    Objtype As Object_Type,
    Objattribute As Attribute,
    Objtext As Text_Description,
    Objcreated As Creation_Date,
    Objowner As Owner,
    Objdefiner As Definer,
    Objsize As Size_Bytes,
    Last_Used_Timestamp,
    Days_Used_Count
    From Table (
    Qsys2.Object_Statistics('*ALL', '*FILE')
    ) As Obj
    Where Objattribute = 'PRTF'
    Order By Objlib,
    Objname
    Limit
    100;