Re: SQL UDF to call RPG without service program

Vern Hamberg via RPG400-L <[email protected]> Tue, 3 Mar 2026 14:55:56 -0600
Newsgroups gmane.comp.lang.as400.rpg
Message-ID <[email protected]>
That's exactly what I expected, with the more recent support for 
parameter markers - love that feature!

*Regards*

*Vern Hamberg*

IBM Champion 2025 <cid:[email protected]> CAAC 
(COMMON Americas Advisory Council) IBM Influencer 2023


On 3/3/2026 2:24 PM, Charles Wilt wrote:
> You can get the output parms back with just a '?' in RSS...
> (not originally, but that functionality has been there a while now)
>
> IN/OUT parms, you'd have to use variables in RSS.
>
> Charles
>
> On Tue, Mar 3, 2026 at 12:54 PM Vern Hamberg via RPG400-L <
> [email protected]> wrote:
>
>> I think we are agreeing a bit violently on some of this!   :) I'm still
>> focusing on the basic feature that IBM i SQL will treat a call to an
>> existing program as a stored procedure call with GENERAL style and
>> IN/OUT parameters - at least, that's what I see in the docs. And if the
>> RPG or even CL changes the values of a parameter, that change is
>> available to what did the CALL.
>>
>> Now I hear you say, and it seems sensible, that to get the changed
>> parameter value, you need to do the CALL within some kind of SQL
>> environment, be it function or procedure or maybe dynamic compound
>> statement - and maybe in RSS if you declare some variables and use them
>> in parameters for a CALL - I'm just dreaming, now.
>>
>> *Regards*
>>
>> *Vern Hamberg*
>>
>> IBM Champion 2025<cid:[email protected]> CAAC
>> (COMMON Americas Advisory Council) IBM Influencer 2023
>>
>>
>> On 3/3/2026 11:46 AM, Charles Wilt wrote:
>>> Vern,
>>>
>>> You can get something back from stored procs or functions.
>>>
>>> Functions can only return 1 piece of data (could be an array now-a-days)
>> ,
>>> stored procs can have multiple output (or IN/OUT) parms.
>>>
>>> Just like an RPG Program, an SQL stored proc usually does some
>>> significant chunk of work.  Whereas a a SQL function or RPG Procedure
>> tends
>>> to do some smaller (usually repeated) work.
>>>
>>> Repeated invocation is the point for UDFs, as shown in Roberts example:
>>> SELECT
>>>          ivwhid AS "Warehouse",
>>>          ivitm# AS "Item Number",
>>>          GETUPCHARGEFUNC(ivwhid, ivitm#) AS "Up Charge"
>>>     FROM invmasp
>>>    WHERE ivwhid = 90
>>>      AND ivitm# = 5
>>>    ORDER BY 1, 2;
>>>
>>> Charles
>>>
>> --
>> This is the RPG programming on IBM i (RPG400-L) mailing list
>> To post a message email:[email protected]
>> To subscribe, unsubscribe, or change list options,
>> visit:https://lists.midrange.com/mailman/listinfo/rpg400-l
>> or email:[email protected]
>> Before posting, please take a moment to review the archives
>> athttps://archive.midrange.com/rpg400-l.
>>
>> Please [email protected] for any subscription related
>> questions.
>>
>>
-- 
This is the RPG programming on IBM i (RPG400-L) mailing list
To post a message email: [email protected]
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: [email protected]
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.

Please contact [email protected] for any subscription related questions.