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 Db2 for i
Created by Guest
Created on Aug 14, 2026

Enhancement request: Add option to QSYS2.PTF_INFO to return all known PTFs, including PTFs for non-installed product options

  1. Only PTFs for installed products/options, which would preserve the current behavior.
  2. All PTFs known to the system, including PTFs for non-installed product options, matching the broader visibility available through DSPPTF.
Idea priority Medium
  • Guest
    Aug 19, 2026

    I agree that it should be nice to have an SQL service that returns all released PTF's.

    IBM updates a CSV file every week with all (or almost) all PTF's released for a specific release as SF97xxx.csv (where xxx is the release) at https://public.dhe.ibm.com/services/us/igsc/PSP/
    The information is currently available for 710, 720, 730, 740, 750 and 760.


    If you have the IBM i Open Source repo installed, i.e curl is installed, you can easily create your own table function to download an query this information.

    This is a simple example how to create an table function for this, change to fit your needs:

    -- description: Create Function to list PTF's released for a specific release
    create or replace function MYLIB.PTFLIST (
    IBMI_VRM char(3) default '750'
    )

    returns table (
    PRODUCT char(7),
    VRM char(6),
    PTF char(7),
    PKG char(6),
    AVAIL_DATE date,
    MRI_FEATURE char(4),
    REPLACED_BY char(7),
    CATEGORIES char(3),
    ABSTRACT varchar(120)
    )
    language SQL
    specific PTFLIST
    not deterministic
    modifies sql data
    no external action
    disallow parallel
    not fenced

    begin
    declare CMDTEXT varchar(1024);
    set CMDTEXT = 'QSYS/ADDENVVAR ENVVAR(QIBM_MULTI_THREADED) VALUE(Y) LEVEL(*JOB) REPLACE(*YES)';
    call QSYS2.QCMDEXC(CMDTEXT);
    set CMDTEXT = 'QSYS/QSH CMD(''PATH=/QOpenSys/pkgs/bin:$PATH;export PATH;curl -o /tmp/SF97' concat
    IBMI_VRM concat
    '.csv https://public.dhe.ibm.com/services/us/igsc/PSP/SF97' concat
    IBMI_VRM concat '.csv'')';
    call QSYS2.QCMDEXC(CMDTEXT);
    drop table if exists QTEMP.PTFLIST;
    create or replace table QTEMP.PTFLIST (
    PRODUCT char(7),
    VRM char(6),
    PTF char(7),
    PKG char(6),
    AVAIL_DATE date,
    MRI_FEATURE char(4),
    REPLACED_BY char(7),
    CATEGORIES char(3),
    ABSTRACT varchar(120)
    );
    set CMDTEXT = 'QSYS/CPYFRMIMPF FROMSTMF(''/tmp/SF97' concat IBMI_VRM concat
    '.csv'') TOFILE(QTEMP/PTFLIST) MBROPT(*REPLACE) RCDDLM(*LF) STRDLM(*NONE) FROMRCD(2)';
    call QSYS2.QCMDEXC(CMDTEXT);
    set CMDTEXT = 'QSYS/RMVLNK OBJLNK(''/tmp/SF97' concat IBMI_VRM concat '.csv'')';
    call QSYS2.QCMDEXC(CMDTEXT);

    return select PRODUCT,
    VRM,
    PTF,
    PKG,
    timestamp_format(char(AVAIL_DATE), 'YYYY-MM-DD') as AVAIL_DATE,
    MRI_FEATURE,
    REPLACED_BY,
    CATEGORIES,
    ABSTRACT
    from QTEMP.PTFLIST
    where AVAIL_DATE is not null;
    end;



    To run the table function, just change the input parameter to the release you are interested in:
    -- description: List Available PTF, in this example for V7R6M0
    select * from table(MYLIB.PTFLIST('760'));