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 (

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 ( - Use this site to find out additional information and details about the IBM Ideas process and statuses.

IBM Unified Ideas Portal ( - Use this site to view all of your ideas, create new ideas for any IBM product, or search for ideas across all of IBM. - Use this email to suggest enhancements to the Ideas process or request help from IBM for submitting your Ideas.

Status Future consideration
Workspace IBM i
Categories Languages - RPG
Created by Guest
Created on Mar 15, 2023

Allow concatenation in named constants

If I'm working with XML-files I define the structure I like to investigate with constants.

If you have a XML-file with this structure:


Then I would like to define the constants like this

dcl-c  header          '<header>';           
dcl-c address header + '<address>';
dcl-c name address + '<name>';

but compiling it results in errors. I'm not allowed to do it.

So I have to do it the hard way

dcl-c  header          '<header>';           
dcl-c address '<header><address>';
dcl-c name '<header><address><name>';

And I find this is quite clumsy. The constant strings can be quite long.

So I would like that it is possible to define one constant string on the basis of another constant string or strings like the example above.

Idea priority High
  • Admin
    Carmelita Ruvalcaba Cevallos
    Jun 13, 2023

    The CAAC has reviewed this IBM Idea and recommends that IBM view this as a high priority Idea that is important to be addressed.

    This would make the language more normal, this will help improve clarity.

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

    For more information about CAAC, see

    Carmelita Ruvalcaba- CAAC Program Manager

  • Guest
    May 10, 2023
    IBM will use this Idea as input to planning, but no commitment is made or implied. This Idea will be updated in the future if IBM implements it. IBM will use votes and comments from others in the community to help prioritize this Idea.

    If this idea is implemented, it will most likely be support for %CONCAT as a constant value in Definition statements.

    - IBM Power Systems Development
  • Guest
    Apr 26, 2023

    You are very welcome to change the title.

  • Guest
    Apr 25, 2023
    IBM would like to change the title of this Idea to "Allow concatenation in named constants"

    The current title is too broad for the enhancement that could be made to satisfy your Use Case, which is to allow %CONCAT in a named constant definition or as an initialization value.

    Please indicate whether you agree with IBM making this change to your Idea.

    Thank you,
    - IBM Power Systems Development
  • Guest
    Apr 13, 2023

    This might work.

  • Guest
    Apr 12, 2023
    IBM needs more information to further assess your Idea.

    It is not feasible to enhance the RPG compiler to support general expressions for named constants.

    However, it would be possible to support %CONCAT to define a named constant, although the coding is not as nice as using the + operator.

    Would you find it useful to be able to use %CONCAT this way?

    dcl-c header '<header>';
    dcl-c address %concat(*none : header : '<address>');
    dcl-c name %concat(*none : address : '<name>');

    - IBM Power Systems Development
  • Guest
    Apr 12, 2023
    IBM has received your Idea and is evaluating it. IBM will provide a response after evaluation is complete.

    It is not feasible to support general expressions in definition statements as suggested in the description, but there might be a way to handle the specific Use Case of concatenating strings together.

    - IBM Power Systems Development