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 Feb 14, 2021

Allow reserved words as qualified DS subfield names

Allow reserved words to be specified as data structure subfield names.


Use Case:

The following DS is not allowed because of subfields Read, Update, and Delete, requiring non-standard names for those authorities:

DCL-DS ObjectAuthority QUALIFIED;
Operational CHAR(1);
Management CHAR(1);
Existence CHAR(1);
Read CHAR(1);
Add CHAR(1);
Update CHAR(1);
Delete CHAR(1);
Execute CHAR(1);
Alter CHAR(1);
Reference CHAR(1);
END-DS;


Idea priority Low
  • Guest
    Reply
    |
    Feb 17, 2021

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

  • Guest
    Reply
    |
    Feb 16, 2021

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

    You can define already subfields with reserved names in free-form definitions by using DCL-SUBF.
    dcl-ds myDs1 qualified;
    dcl-subf read char(10);
    end-ds;
    dcl-ds myDs2;
    dcl-subf read char(10);
    end-ds;

    If the data structure is qualified, you can use the subfield in any calculations:
    myDs1.read = 'abcde';
    if myDs1.read = *blanks;

    However, if the data structure is not qualified, and you want to assign a value to the subfield, you must use the EVAL operation:
    eval read = 'abcde';

    Other uses of the unqualified subfield are allowed in calculations without any special syntax:
    if read = *blanks;

  • Guest
    Reply
    |
    Feb 15, 2021

    You will be allowed to use those reserved names if you specify dcl-subf before the name (you can also specify it on all sub-fields for consistency if you'd like).

    dcl-subf Read CHAR(1);

    Hope this helps.

  • Guest
    Reply
    |
    Feb 15, 2021

    A
    Your request make much sense in the ways that RPG works to day, but your request might have some consequences for the future roadmap of RPG:

    As long as we are talking subfields in qualified structures everything appears to make sense - since they will always be in the given context - the structure DOT name. so it will be clear to both compiler and user.


    However consider if: Suppose one day IBM will introduce some OO features in RPG - then this request might burn some bridges: Because the opcode will then address the data structure aka the class ... ex:

    CUSTOMER.READ

    Is that at method or an data structure subfield?

  • Guest
    Reply
    |
    Feb 15, 2021

    Yes it is a bit of a pain but you can prefix the DS fields with dcl-subf. So dcl-subf update is allowed.