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 Jun 24, 2017

DB2 SQL Engine should pass the descriptor operator information to RPGLE so that ALL *SRVPGM procedures can be called

IBM talks about application modernization but the main player SQL (stored procedures and functions) can not properly execute the majority of our RPGLE service programs. Most service programs heavily rely on the %PARMS function to determine the number of parameters passed and then action accordingly. The only way around this is to write RPGLE wrapper programs but that is not what we want (more work, more code, more testing, more money) Isn't that weird? Should we not have a better interface between SQL and RPGLE (to pass the operational descriptor) ?
I am just very surprised about this.


Use Case:

SQL Function calls RPGLE service program and passed two input parameters. The RPGLE service program contains code like this:

if %parms >=1
....
endif

if %parms>=2
...
endif

The bodies within the "if statement " will never get executed because %parms = -1


Idea priority High
  • Guest
    Reply
    |
    Nov 27, 2018

    This function has been released and documented as part of the 09/2018 TRs -- IBM i 7.3 TR 5 and IBM i 7.2 TR 9. The following PTFs contain the new support:

    7.2 5770SS1 SI67232
    7.3 5770SS1 SI67233

    Here is one reference to external documentation:

    https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/IBM%20i%20Technology%20Updates/page/Optional%20parameter%20support%20for%20External%20procedures%20and%20functions

  • Guest
    Reply
    |
    Sep 18, 2018

    The CAAC has reviewed this requirement and recommends that IBM view this as a high priority requirement that is important to be addressed. The full capability of calling service program functions would be opened up with this RFE.

    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 RFEs on the broader IBM i community, and has therefore reviewed your RFE.

    For more information about CAAC, see www.common.org/caac

    For more details about CAAC's role with RFEs, see http://www.ibmsystemsmag.com/Blogs/i-Can/May-2017/COMMON-Americas-Advisory-Council-%28CAAC%29-and-RFEs/

    Nancy Uthke-Schmucki - CAAC Program Manager

  • Guest
    Reply
    |
    Feb 21, 2018

    1) Yes implementation for PARAMETER STYLE GENERAL is fine for me.

    2) Yes that is fine with me too (*SRVPGM only).

    3) Yes, external SQL procedures and external SQL scalar functions only is OK.

    4) This support would be provided on IBM i releases 7.2 and 7.3. It would not be provided on earlier IBM i releases. ? No problem at all.

  • Guest
    Reply
    |
    Feb 20, 2018

    The status for this RFE should have been changed to "Need More Information" to let the Community know we are looking for your clarification and feedback. The Submitter, and any others interested in this RFE, should please respond to the questions and design proposal in the Comment below. Just post your response as a Comment for this RFE. Thanks!

  • Guest
    Reply
    |
    Aug 10, 2017

    I have some questions for clarification and comments about a proposed solution.

    1) I believe the most obvious usage of this support would require that the SQL procedure or SQL function be declared with PARAMETER STYLE GENERAL. That indicates to SQL that no additional parameters are to be passed to the external SQL procedure or external SQL function. If %PARMS was used within an RPG procedure which had a different parameter style, e.g. PARAMETER STYLE SQL, the %PARMs builtin would indicate the total number of parameters, including those added for additional SQL information. This would still work properly, but any style other than PARAMETER STYLE GENERAL would require RPG source changes. In order to avoid any RPG source changes, PARAMETER STYLE GENERAL would be required. Does that match your desire as to how this would work?

    2) This support would only work for external SQL routines within a *SRVPGM. An external routine within a *PGM is called with a different call mechanism which does not work with %PARMS.

    3) This support would be provided for external SQL procedures and external SQL scalar functions. It would not be provided for external SQL table functions.

    4) This support would be provided on IBM i releases 7.2 and 7.3. It would not be provided on earlier IBM i releases.

    Does that sound like it would be sufficient for your needs? Or do you have concerns with the proposed support?