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 Not under consideration
Workspace IBM i
Categories Languages - Other
Created by Guest
Created on Aug 10, 2016

Add binder source prompt to CRTSQLRPGI for lib/file(member)

Allow binder source file other than QSRVSRC for CRTSQLRPGI command when creating a service program object. All other methods for creating service program objects allow the binder source library/file/member to be specified. This allows binder source to be organized along with other application source for different ILE language types. This is NOT the case with ILE SQL service programs created using the CRTSQLRPGI command. It will only locate the binder source when it resides in a QSRVSRC source file within the library list and the member name must match the resulting service program source name for the create command to complete successfully. This is a complete departure from the other ILE languages and a major step backward for what is arguably the most important development language on the system.


Use Case:

Actor: ILE Developer

1. Prompt CRTSQLRPGI.
2. Select OBJTYPE to be *SRVPGM
3. A qualified prompt appears for library/file(member). Note: Could default to *LIBL/QSRVSRC(*OBJ) for backward compatibility in other environments.


Idea priority High
  • Guest
    Oct 2, 2018

    Currently, all of the ILE compilers have two versions of their commands. One version allows a one step build process. As an example, consider the command CRTBNDRPG. This is used to create a *PGM from an RPG source file. The second version is for a two step build process. The command CRTRPGMOD is used to create a *MODULE from an RPG source file. Then the CRTPGM or CRTSRVPGM command is used to create a *PGM or *SRVPGM from the *MODULE. With the ILE compilers, creating a *PGM from multiple *MODULEs must use the two step build process of CRTRPGMOD followed by CRTPGM. Likewise, creating a *SRVPGM (whether from a single *MODULE or multiple *MODULEs) must use the two step build process of CRTRPGMOD followed by CRTSRVPGM.

    The SQL precompilers follow a similar pattern. Although CRTSQLRPGI is only a single command, it allows both a one step build process or a two step build process. CRTSQLRPGI with OBJTYPE(*PGM) or OBJTYPE(*SRVPGM) allows a *PGM or *SRVPGM to be created with a single step. CRTSQLRPGI with OBJTYPE(*MODULE) can be used along with the CRTPGM or CRTSRVPGM commands to create a *PGM or a *SRVPGM with a two step process.

    The one step build process does not handle all possible situations - if multiple *MODULEs are contained within the *PGM or *SRVPGM, OBJTYPE(*MODULE) must be used and the *PGM or *SRVPGM created in a second step by CRTPGM or CRTSRVPGM. And, building a *SRVPGM with the one step build process requires that the service program source be located in *LIBL/QSRVSRC(*OBJ). If it is desired that the service program source be located elsewhere, then the two step build process will need to be used with OBJTYPE(*MODULE) specified on the CRTSQLRPGI command and SRCFILE/SRCMBR specified on the CRTSRVPGM command.

    The two step build process - using CRTSQLRPGI OBJTYPE(*MODULE) followed by CRTSRVPGM with SRCFILE/SRCMBR - should integrate well with a multi-language development environment.

  • Guest
    Aug 11, 2016

    Creating a new RFE based on Community RFE #92819 in product IBM i.