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 Delivered
Workspace IBM i
Categories Db2 for i
Created by Guest
Created on Aug 25, 2022

Add parameter to CHGPF to ignore CPA32B2

Our CI/CD software uses SSH to communicate with IBM i. In addition to installing ILE program objects, IFS files, ... it can also execute CHGPF.

When removing a column from a PF IBM i will send the message CPA32B2 which will be automatically answerded with the default answer C (cancel).

To avoid this IBM describes to use "CHGJOB INQMSGRPY(*SYSRPYL)" and "ADDRPYLE SEQNBR(17) MSGID(CPA32B2) RPY('I')" (https://www.ibm.com/support/pages/handling-inquiry-messages-database-server-jobs). But we don't want to change the system reply list on a customer system.

As a workaround we wanted to execute the following CL commands using the bash buildin cl, which will execute the commands in the same job:

CRTMSGF MSGF(QTEMP/X)

MRGMSGF FROMMSGF(QSYS/QCPFMSG) TOMSGF(QTEMP/X) SELECT(CPA32B2)

CHGMSGD MSGID(CPA32B2) MSGF(QTEMP/X) DFT(I)

OVRMSGF MSGF(QCPFMSG) TOMSGF(QTEMP/X)

CHGPF ...

OVRMSGF will not work in bash because the bash buildin command cl will internally execute QCMDEXC in a default activation group. Because of the default activation group the scope of the override will be changed to call level. Therefore the override is automatically removed after QCMDEXC (OVRMSGF) ends.

To fix this we must call a CL-program from bash which includes the above commands.


This workaround is not very nice. So we need some extension in IBM i. For example:

  • A new parameter in CL command CHGPF to ignore the message CPA32B2 (like option *IGNINQMSG in CL command DLTJRNRCV)

  • An environment variable to ignore that message (should be easier to deliver in a current IBM i release via PTF)

  • A new parameter OVRSCOPE (*JOB) in CL command OVRMSGF (like in all other OVR-commands), so that we can call the above commands directly from bash cl buildin

Idea priority High
  • Guest
    Reply
    |
    Sep 13, 2022

    Thanks for the information. That will solve my issue.

  • Guest
    Reply
    |
    Sep 12, 2022
    IBM believes that a solution for the Idea described is available through the use of the SUPPRESS_INQUIRY_MESSAGES QSQQINI option.

    It was added in fall of 2019 for IBM i 7.4 with SF99704 Level 4 and IBM i 7.3 with SF99703 Level 16.

    Documentation can be found here:
    https://www.ibm.com/support/pages/node/1116729
    https://www.ibm.com/docs/en/i/7.5?topic=qaqqini-query-options
    https://www.ibm.com/docs/en/i/7.5?topic=services-override-qaqqini-procedure

    The following example shows how it can be used:

    call qsys2.override_qaqqini(1);
    call qsys2.override_qaqqini(2, 'SUPPRESS_INQUIRY_MESSAGES', '*YES');
    alter table toystore.sales drop column extra1;
    call qsys2.override_qaqqini(3);