All,
Thanks for the suggestions...
Thus far, NO combination of language(RPGLE or C), Contains SQL or NO SQL(it does not), or parameter style has made a difference. I'm still not getting the modified parameter returned. Obviously I'm missing something...
Originally I compiled the program as RPGLE, got nothing, and re-compiled is as SQLRPGLE even though it contains NO SQL...Does it matter?
-----Original Message-----
From: RPG400-L [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Monnier, Gary
Sent: Thursday, March 17, 2016 11:06 AM
To: RPG programming on the IBM i (AS/400 and iSeries) <rpg400-l@xxxxxxxxxxxx>
Subject: RE: T-SQL receiving parameter from iSeries
CREATE PROCEDURE RODDACUSTM/TEST_PARM(
INOUT STATUS CHAR ( 15))
LANGUAGE C
SPECIFIC RODDACUSTM/TEST_PARM
NOT DETERMINISTIC
CONTAINS SQL
CALLED ON NULL INPUT
EXTERNAL NAME 'RODDACUSTM/TEST_PARM'
PARAMETER STYLE GENERAL;
The language is C because when you create a stored procedure the system generates C code that it then compiles to create the stored procedure. The C object calls your RPG program. So, you are actually calling a C program that is wrapped around your RPG program.
Thanks,
Gary Monnier
-----Original Message-----
From: RPG400-L [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Graves, Chuck
Sent: Thursday, March 17, 2016 10:50 AM
To: rpg400-l@xxxxxxxxxxxx
Subject: T-SQL receiving parameter from iSeries
I have a T-SQL stored procedure on MS-SQL server, calling a procedure on iSeries, which changes the parameter @Parm from "Called Parm" TO "Returned Parm".
The iSeries SQLRPGLE program is:
C *entry plist
C parm Parm 15
C*
/free
eval Parm='Returned Parm';
/end-free
C eval *inlr = '1'
C return
I ran this command from within SQL400:
CREATE PROCEDURE RODDACUSTM/TEST_PARM(INOUT Parm CHAR ( 15)) LANGUAGE RPGLE SPECIFIC RODDACUSTM/TEST_PARM NOT DETERMINISTIC NO SQL EXTERNAL NAME RODDACUSTM/TEST_PARM PARAMETER STYLE SQL
The T-SQL procedure is:
Code snippet....
DECLARE @parm CHAR(15)
set @parm = 'Called Parm'
execute ('Call RODDACUSTM.TEST_PARM(?)', @Parm) at LS_ISERIES
insert into test_parms
VALUES(@Parm)
The only values that end-up in the test_parm table are "Called Parm"
Why do I not get a parameter back?
[Rodda Paint Company]
Chuck Graves
Director of Information Systems
Rodda Paint Co.<
http://www.roddapaint.com>
6107 N. Marine Drive
Portland, Oregon 97203
(503) 737-6042
--
This is the RPG programming on the IBM i (AS/400 and iSeries) (RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit:
http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives at
http://archive.midrange.com/rpg400-l.
Please contact support@xxxxxxxxxxxx for any subscription related questions.
--
This is the RPG programming on the IBM i (AS/400 and iSeries) (RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit:
http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives at
http://archive.midrange.com/rpg400-l.
Please contact support@xxxxxxxxxxxx for any subscription related questions.
[Rodda Paint Company]
Chuck Graves
Director of Information Systems
Rodda Paint Co.<
http://www.roddapaint.com>
6107 N. Marine Drive
Portland, Oregon 97203
(503) 737-6042
As an Amazon Associate we earn from qualifying purchases.