× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Thanks for the note.

Good to know it's always worked. Never tried until last week.

I think this is great because there is no special DB maintenance needed to be able to use the RPG pgm as a proc, especially if using DB2 CLI program calls in PASE.

I understand the need to pass each parm as char thing, but data validation can be handled in the RPG program when it gets the parms without the added DB definition. Just have to pad appropriately.

To me it's acceptable to use this technique in a production environment as long as you enforce all appropriate error handling and validation.

It makes the process soooooo......... much more dynamic.

Only loss is ability to simply return parms. I consider that OK.

Regards,
Richard Schoen
Director of Document Management
e. richard.schoen@xxxxxxxxxxxxxxx
p. 952.486.6802
w. helpsystems.com
----------------------------------------------------------------------

message: 1
date: Wed, 3 Apr 2019 07:17:38 -0600
from: Charles Wilt <charles.wilt@xxxxxxxxx>
subject: Re: Calling RPG Program as Stored Procedure without Declaring
As A Stored Procedure - Seems to Work in V7R3


On Tue, Apr 2, 2019 at 9:19 PM Richard Schoen via RPG400-L < 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 ')



Always been that way...only works with simple character parms IIRC. But yeah, basically every *PGM is implicitly a stored procedure.

Best practice is to explicitly define the Stored Procedure interface.

Charles







As an Amazon Associate we earn from qualifying purchases.

This thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.