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.
James Elser, if the concern is defining the key list in one place, have you considered a %KDS?
IBM does not intend to provide a solution to this request at this time, so it is being closed.
This team has quite a long list of higher priority requirements, so this request is not likely to be implemented anytime soon.
Thanks for the clarification.
It does work to use the chain(key1: key2) File but if I want to change what keys I am using I have to change everyplace this is used instead of just changing the key list in one place.
A free-form key list already exists.
For example
chain (Cust : Invc#) fmt1;
chain (Cust : DtOrder) fmt2;
If this does not satisfy the requirement, please give more information about what you are unable to do.
Due to processing by IBM, this request was reassigned to have the following updated attributes:
Brand - Servers and Systems Software
Product family - Power Systems
Product - IBM i
Component - Languages - RPG
Operating system - IBM i
Source - None
For recording keeping, the previous attributes were:
Brand - Servers and Systems Software
Product family - Programming Languages
Product - Developer for Power Systems
Component - RPG/COBOL Development Tools
Operating system - IBM i
Source - None
I can't image IBM investing in RPG 3 or even RPG IV anymore; especially when there is a free form solution or two as Barbara and Mark pointed out.
Why don't you read these resources to learn more about how to do what you want to do. Note how long ago they were written.
https://www.mcpressonline.com/programming/rpg/techtip-no-klist-what-do-i-do-now
https://www.rpgpgm.com/2015/01/how-to-replace-key-lists.html
https://www.tug.ca/tec/Sessions/Handouts/PDF/23A-RPGTipsAndTechniques.key.pdf
with the last one look at slide 24.
Please don't take this terse post as a rebuke, and please keep making suggestions that will improve programming.
And if you want to use a data structure, you would do it like this:
dcl-ds key1 LikeRec(: *key);
dcl-ds key2 LikeRec(: *key);
...
chain key1 Fmt1;
chain key2 Fmt2;
I don't think this RFE would be an effective use of development resources, given the existing flexibility that the free-format CHAIN affords. As for sorting subfile columns in different sequences, this might be better achieved using embedded (dynamic) SQL.
It is already possible to specify a list of keys in free-form using the same key in different lists.
CHAIN (Cust : Invc#) Fmt1;
CHAIN (Cust : DtOrder) Fmt2;