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.