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 (

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 ( - Use this site to find out additional information and details about the IBM Ideas process and statuses.

IBM Unified Ideas Portal ( - Use this site to view all of your ideas, create new ideas for any IBM product, or search for ideas across all of IBM. - Use this email to suggest enhancements to the Ideas process or request help from IBM for submitting your Ideas.

Status Future consideration
Workspace IBM i
Created by Guest
Created on Aug 7, 2021
Merged idea

This idea has been merged into another idea. To comment or vote on this idea, please visit IBMI-I-1921 DSPPGMREF with SQL.

Create (or expose) an API equivalant of DSPPGMREF Merged

The DSPPGMREF CL command is used pervasively throughout the #IBMi world to build user-created and some 3rd-party "Where Used" applications.
There is a need to retrieve the information provided by the CL command in HLL such as RPG IV and C/C++ on #IBM. The use of the CL command doesn't feel right in this situation.
I would like an API that provides a way to retrieve the information returned by DSPPGMREF (with various formats) so that it can be retrieved using a HLL via API and not only via the OUTFILE support.
The API should support a Library Name or *LIBL/*CURLIB, a base object name (Generic, Full or *ALL) and an Object Type (*PGM or *SRVPGM as well as the DFU/Query things) with multiples as input or *ALL (the default). Also selectively identify which referenced objects are to be included FILE, PGM, Procedures, Data Areas, etc. All as part of the input selection parameter(s).
The output can either be an Open List style API result (probably best) or the classic User Space output. Either works for me provided the User Space method included a Continuation handle.

Use Case:

We are creating applications and need to know what object "this" program users, or what program "this" object is used by. Today the only way to do that is via DSPPGMREF to an OUTFILE and the process it.

My request is to get a good API so that I can use it in code.

Idea priority Low
  • Guest
    Aug 12, 2021

    We already have a "Service" or SQL Function that wraps DSPPGMREF CL command output. I wrote it. It works fine. I'm not asking IBM to do that too.
    I was asking for a low-level API, not a Service so I can bypass the CL command as I do with QUSROBJD, QGYOLOBJ, QSYRUSRI, etc., etc.
    The Services are great, but are often provided as VIEWS which are notoriously slow on larger systems and this would probably fall into that category as well. I would prefer an exposed interface that I could then write my own SQL Function.
    If SQL Services are "the answer" moving forward, that's fine, but they can't just be a VIEW, they have to be public-facing UDTFs with input parameters to help optimize the process and reduce the volume of data being retrieved. Thank you.

  • Guest
    Aug 10, 2021

    RFE 137655 already exists for this request. In a future release a new SQL Service will be delivered that will address the request for these RFEs.