Re: SQL UDF to call RPG without service program
Charles Wilt <[email protected]> Tue, 3 Mar 2026 13:24:04 -0700
| Newsgroups | gmane.comp.lang.as400.rpg |
|---|---|
| Message-ID | <CAJ=Tnc5oGBNyL=HFBkFAPC+eAay6PD=QjTCMc2jhH3f042AMjQ@mail.gmail.com> |
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 > at https://archive.midrange.com/rpg400-l. > > Please contact [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.