1. It works in SQL without any problems (that's why I used the SQL Syntax as
proposal).
2. In SQL you can mix the old and new Style, i.e. simply listing the
parameters or using the argument list and even mixing both.
So, why not providing the same type of parameter passing to RPG procedures.
Have you ever had to work in a new/old/grown over the time environment where
procedures with x parameters are called as follows:
Procedure(Fld1, *Blanks, '', '0', *Zeros, '0', '1', *Blanks, *Blanks,
*Blanks, *Blanks, 'ABC', Fld7);
Also have you ever been in a situation where you only have to pass the first
and then the 17th parameter?
No Documentation, why code is self-describing!
Mit freundlichen Grüßen / Best regards
Birgitta Hauser
Modernization ? Education ? Consulting on IBM i
Database and Software Architect
IBM Champion since 2020
"Shoot for the moon, even if you miss, you'll land among the stars." (Les
Brown)
"If you think education is expensive, try ignorance." (Derek Bok)
"What is worse than training your staff and losing them? Not training them
and keeping them!"
"Train people well enough so they can leave, treat them well enough so they
don't want to. " (Richard Branson)
"Learning is experience ? everything else is only information!" (Albert
Einstein)
-----Original Message-----
From: RPG400-L <rpg400-l-bounces@xxxxxxxxxxxxxxxxxx> On Behalf Of Luca
Giammattei
Sent: Friday, 27 February 2026 15:52
To: rpg400-l@xxxxxxxxxxxxxxxxxx
Subject: Re: New IBM idea - Named Parameters at Program and Procedure Calls
Il 27/02/2026 08:44, Birgitta Hauser ha scritto:
I have added a new IBM idea, to allow specifying Parameter Names (and
assigning the parameter values) at program/procedure calls (in the
same way as you can do it with SQL Stored Procedures, UDFs and UDTFs)
https://ideas.ibm.com/ideas/IBMI-I-4826
Please LIKE if you think it would be helpful/useful
Interesting idea, although one of the things I've always loved about our
compiler's parameter management style is that it doesn't care about their
names; what really matters is their nature and order. So I don't see it as
easy to implement in contexts with legacy code or even a mix of legacy and
free. Perhaps it should be limited to the fully free language, and even here
I'm not sure. I wouldn't want to be constrained by the parameter name rather
than its nature, even though today, when everyone programs with advanced
tools like VS Code or RDi (right?), managing these aspects is much simpler.
What if the parameters are also used to pass messages from one program to
another? Nothing would change, right?
I'm thinking of the case where pgm1 calls pgm2, passing it two parameters:
one containing data to be used within pgm2's processing and the other as a
sort of return code for the outcome of the processing.
something like
foopgm(parm1:rtncode);
if rtncode=*blanks;
//successful execution
elseif rtncode <> *blanks;
//something went wrong, let's log the error endif;
--
This is the RPG programming on IBM i (RPG400-L) mailing list To post a
message email: RPG400-L@xxxxxxxxxxxxxxxxxx To subscribe, unsubscribe, or
change list options,
visit:
https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives at
https://archive.midrange.com/rpg400-l.
Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related
questions.
As an Amazon Associate we earn from qualifying purchases.