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
Created by Guest
Created on Mar 16, 2018

Enhance CL/ILE CALLPRC command to support External Programs

Via prototype and the EXTPGM keyword, RPG/ILE is able to invoke external programs using the CALLP op code. This has several advantages over the RPG CALL op code and I would like to be able to use at least one of those advantages in CL/ILE programming. That advantage is the use of the *OMIT special value in the parameter list.

CL/ILE and the CALLPRC command are analogous to the RPG/ILE CALLP op code except that CALLPRC cannot invoke external programs -- even though CALLPRC also supports the *OMIT special value in its parameter list. It seems to me that it would be a relatively simple matter to enhance the CALLPRC command to include the ability to invoke external programs.


Use Case:

In lieu of creating prototype support for CL/ILE, additional parameters can be added to the CALLPRC command to support prototype-like features where they make sense. For example:

CALLPRC ... EXTPGM(*YES) /* mutually exclusive of the RTNVAR +
parm and with a default of *NO for backward compatibility */

-- or --

CALLPRC ... EXTPGM(name) /* mutually exclusive of the RTNVAR +
parm and with a default of *NONE for backward compatibility */


Idea priority High
  • Guest
    Reply
    |
    May 6, 2020

    Since RPG have no plan to provide ways to call CL directly from RPG, close this RFE. If the customer want the original feature, "Enhance CL/ILE CALL command to support *OMIT special value like CALLPRC command", please open another RFE, thanks.

  • Guest
    Reply
    |
    Dec 19, 2018

    Even if RPG did have support to call CL commands directly, I don't think it would address the requirement. I don't think CL programmers would want to have to do some of their code in RPG to get additional functionality.

    Note that is very unlikely that RPG would support directly calling CL commands using CL syntax.

  • Guest
    Reply
    |
    Dec 13, 2018

    We may be able to support "CALL PGM ('x' *OMIT 'y')", but need more consideration and evaluation about calling CL commands from RPG using the /CL syntax.

  • Guest
    Reply
    |
    Apr 10, 2018

    We are getting to a point that everyting in the RPG laguage we would like in CL.

    And everything in CL to have in RPG. We have already FREE format RPG, like CL.

    Why not unite both languages together, it will save maintenance, learning curve. No need to write a separate CL program for just 3-4 lines of code.

    Just add the ability to run CL commands directly from within RPG.

    The syntax will be similar to running SQL commands:

    /CL RTVOBJD OBJ(MYFILE) OBJTYPE(*FILE) RTNLIB(&MYLIB)

    /CL CRTDUPOBJ OBJ(MYFILE) FROMLIB(&MYLIB) OBJTYPE(*FILE) TOLIB(QTEMP)

  • Guest
    Reply
    |
    Mar 19, 2018

    It was suggested to me that it might be better to ask that the CL/ILE CALL command support the *OMIT keyword for parameters. They suggested that it was nicer to code:

    CALL PGM ('x' *OMIT 'y')

    --than--

    CALLPRC PGM ('x' *OMIT 'y') EXTPGM(*YES)

    I am in favor of either approach.