Can you give me your definition of datatable ? I’m returning a fixed multiple occurrence data structure i think ? :)
Regards,
Richard Schoen
Director of Document Management
e. richard.schoen@xxxxxxxxxxxxxxx
p. 952.486.6802
w. helpsystems.com
________________________________
From: Jose Perez <joseenocperez.jp@xxxxxxxxx>
Sent: Wednesday, April 3, 2019 6:31 AM
To: RPG programming on IBM i
Cc: Richard Schoen
Subject: Re: Calling RPG Program as Stored Procedure without Declaring As A Stored Procedure - Seems to Work in V7R3
Result set can be even used internally in RPG program, besides result set a data table can be returned too.
On Tue, Apr 2, 2019 at 11:19 PM Richard Schoen via RPG400-L <rpg400-l@xxxxxxxxxxxxxxxxxx<mailto:rpg400-l@xxxxxxxxxxxxxxxxxx>> wrote:
Maybe I've been living in a cave, but I always thought that if I wanted to call a program and pass parms to it from the Client Access/400 database drivers I needed to first declare a stored procedure unless of course I was using the old OLEDB drivers.
Then in my .Net code I would declare a cmd object and pass the parms in and out of the stored procedure call individually as command parameters.
This has always been a bit painful because of the need to declare a stored procedure to call an RPG program.
Since I have been recently been testing some of the DB2 CLI functionality I have now found that I can send the following in as a standard SQL statement instead of a SQL SELECT:
call libname.userauth1('USER1 ','PASS1 ')
The SQLRPGLE program has a multi-element data structure declared with xx number of elements. I then process my business logic, populate the array with data and return it as a resultset instead of parms and I can simply read the result set fields in .Net or any other language that can get resultsets including using the DB2 CLI command from PASE.
This opens up the world of calling pretty much any RPG program with parms that can then return a list of parm values in a single record or multi-record resultset rather than passing back as parms.
It has the added benefit of no more creating stored procedure wrappers if this is true.
Does anyone else make calls to RPG logic using this technique of passing back a resultset from RPG instead of parm returns and not having to register a stored procedure ?
Feedback welcome.
Regards,
[
http://static.helpsystems.com/hs/email/templates/signatures-final/images/hs-logo2.png]
Richard Schoen
Director of Document Management
e. richard.schoen@xxxxxxxxxxxxxxx<mailto:richard.schoen@xxxxxxxxxxxxxxx><mailto:richard.schoen@xxxxxxxxxxxxxxx<mailto:richard.schoen@xxxxxxxxxxxxxxx>>
p. 952.486.6802
w. helpsystems.com<
http://helpsystems.com><
http://www.helpsystems.com/>
[cid:image002.jpg@01D1A545.4C2BF250]<
http://www.linkedin.com/in/richardschoen>[cid:image003.jpg@01D1A545.4C2BF250]<
http://www.twitter.com/richardschoen>
--
This is the RPG programming on IBM i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx<mailto: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<mailto:RPG400-L-request@xxxxxxxxxxxxxxxxxx>
Before posting, please take a moment to review the archives
at
https://archive.midrange.com/rpg400-l.
Please contact support@xxxxxxxxxxxx<mailto:support@xxxxxxxxxxxx> for any subscription related questions.
Help support midrange.com<
http://midrange.com> by shopping at amazon.com<
http://amazon.com> with our affiliate link:
https://amazon.midrange.com
As an Amazon Associate we earn from qualifying purchases.