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 - RPG
Created by Guest
Created on May 20, 2021

Meta procedure (or API) for ILE (RPG)

With PCML we have the information needed to call any ILE ( RPG) program from any other language, or environment and knowing the parameter types and data going back and forth.

However this requires that the PCML file is available and deployed along with the program / service program.

This however, might cause issues with versions since program and PCML are dependent but can be deployed separately and/or the PCML need to be available.

An idea is to be able to include the PCML data as metal function that can be called and returns a string containing the PCML data. The name might be called __METAINFO__ .

When service program are build, then an array of modules PCML meta info are concatenated into the result of all exported procedures. It would be nice if at leat services programs could have this feature.

For "plain" programs it might be more difficult to implement and interact with this feature.

Perhaps an API could be used to retrieve the meta data instead of a meta function. This will work for both programs and service programs.

The CRTRPGMOD already have the PGMINFO(*PCML *MODULE) , so perhaps the data is already there. However I can not find an API nor documentation how this works.


Use Case:

1) When RDi or any other IDE refers to a certain service program or program, then the current version of procedures list and parameters will be available with the correct signature.

2) microservices will be able to produce an automatic and correct openAPI (swagger) interface with this feature.

3) webservices will be able to produce an automatic and correct WSDL with this feature.

4) Dynamic calls between environments (java / node / python etc.) can bed made correct and automatic.

5) Integration with openShift

6) Integration with brokers like Cammel

7) dynamic service decoupling like feign-clients will be possible


Idea priority High
  • Guest
    Reply
    |
    Aug 31, 2021

    IBM does not intend to provide a solution to this request at this time, so it is being closed.

    If you specify PGMINFO(*MODULE), the PCML is embedded in the module itself, and in any program or service program that the module is bound to. As noted in the comments, the PCML can then be retrieved using the QBNRPII API.

    You can specify PGMINFO(*MODULE) using the command parameter, or as a Control specification keyword.

    Here is the documentation for the Control specification PGMINFO keyword:
    https://www.ibm.com/docs/en/ssw_ibm_i_74/rzasd/pgminfokw.htm

  • Guest
    Reply
    |
    Aug 24, 2021

    The CAAC has reviewed this requirement and recommends that IBM not implement this request. As indicated in earlier comments, the solution already exists.

    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

    Nancy Uthke-Schmucki - CAAC Program Manager

  • Guest
    Reply
    |
    May 27, 2021

    As other have indicated, this functonality is available.

    I started a project on GitHub to allow Java programs to extract the PCML directly from an object. https://github.com/fallingrock/pcmltools

  • Guest
    Reply
    |
    May 23, 2021

    This Support document has a program that retrieves the PCML using QBNRPII.

    https://www.ibm.com/support/pages/node/1118271

  • Guest
    Reply
    |
    May 21, 2021

    You can retrieve the PCML information from the module with the QBNRPII API.