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.
RPG already supports nested /COPY. As already suggested in an earlier comment, you can split up a large copy member into smaller members and change the large copy member to just have /COPY statements. Programmers can then copy the larger file if they want to copy all the members, or they can copy individual members.
- IBM Power Systems Development
I do not think this idea should be implemented...
It is widely accepted in the industry that imports should not be generic. Generic imports pollute your code and namespaces, and you may end up with unintended functions and data in your code. Instead, be very specific in your imports and only import the bare minimum.
Instead you could take advantage of the fact that /COPY and /INCLUDE can be nested. In your case you would split the monolithic copy file into smaller files and change the original file to just include the smaller files. Or you could build copy files by function or scope.
Best regards,
Christian Jorgensen, CEAC member
excellent idea
This is a good idea. It lowers barriers to modular development on the IBM i. Programmers could use this feature to provide an interface to a set of modules and service programs the way Java does with package imports.
This syntax with *ALL has been supported since day 1 of RPG IV.
I've asked fro generic member support before in other interfaces, and was declined. But I like the idea although today it would be a low (not medium) priority for me. More of a nice to have.
However, the example you show, I hope is just an example and not considered "clever" to use names like "copyxx" for copy members. 🤔 If you had, for example an manufacturing system with a set of prototypes and put them in MSGWHSE MFFINVTRY MFGPLAN etc. then I get it. /copy prodsrc/qcpysrc,mfg* would be helpful.
But a very niche market and until the database supports such features (today it does not) then I don't see how RPG would do it without writing their own customer member open handler and I wouldn't expect them to do that. But it would be helpful outside of this "idea".
I like the idea of the wild card.
I do not like the idea of the *all. My fear is everyone will get lazy & put that in their programs, rather than just the copies they need.
(added to idea text)
(added to idea text)