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).
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:
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 an idea.
Get feedback from the IBM team and other customers to refine your idea.
Follow the idea through the IBM Ideas process.
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.
IBM does not intend to provide a solution to this request, so it is being closed.
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;
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.
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?
Yes it is a bit of a pain but you can prefix the DS fields with dcl-subf. So dcl-subf update is allowed.