Does anyone know how to call a SQL Stored procedure from RPG and pass in integer and receive the response back in the output variable?

We are having an issue where the input parameter doesn't appear to be mapped to the input parameter (RTID), and the CREDSTRING output variable is always blank.

We are able to successfully call the procedure using straight SQL. It just doesn't work from RPG.

Here is the SQL Stored procedure def:

CREATE PROCEDURE TESTLIB.GETCREDSTRING (
IN RTID INTEGER ,
OUT CREDSTRING VARCHAR(50) )
LANGUAGE SQL
SPECIFIC TESTLIB.GETCRDSP
NOT DETERMINISTIC
MODIFIES SQL DATA
CALLED ON NULL INPUT
SET OPTION ALWBLK = *ALLREAD ,
ALWCPYDTA = *OPTIMIZE ,
COMMIT = *NONE ,
DECRESULT = (31, 31, 00) ,
DFTRDBCOL = TESTLIB,
DYNDFTCOL = *NO ,
DYNUSRPRF = *USER ,
SRTSEQ = *HEX
BEGIN
....
...
END ;

One input parameter RTID (integer), and one output parameter (credstring)

Our RPG program is as follows:

CTL-OPT DATFMT(*USA) DEBUG(*YES) DFTACTGRP(*NO) ALWNULL(*USRCTL);

DCL-S InParm int(10);
DCL-S OutParm VARCHAR(50);
InParm = 0000600002;
EXEC SQL
call getcrdsp (:Inparm, :Outparm);
*INLR = *ON;
Return;


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:

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

This mailing list archive is Copyright 1997-2022 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.