× 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.



Language should be RPGLE (your external program is RPGLE), Parameter Style should be GENERAL if you are only receiving the single parameter in your RPGLE program. Not sure about the quotes on External Name. I never qualify, only use library list. If you don't qualify the Procedure it will create in the Current Library (QGPL if there is not a current lib).
This is for *SYS naming, if you are using *SQL naming to create I can't help.

No objects get created for CREATE PROCEDURE (External), it just registers the SP in the database (see QSYS2/SYSPROCS and QSYS2/SYSPARMS).

If you write a procedure in SQL Stored Procedure Language(SPL), then it will convert the SQLcode to C and compile a program object as well as register the SP in the database.

If you aren't checking the SQLSTATE in you T-SQL to see if you SP acutally worked, you might try testing in Run SQL Scripts or even STRSQL with these statements. The joblog might help you debug.

Create or Replace Variable PARM Char(15);
Set PARM = 'Called Parm';
Call RODDACUSTM/TEST_PARM(PARM);
Values PARM;
Drop Variable PARM; --when you are finished testing

--------------------------------------------
On Thu, 3/17/16, Graves, Chuck <cgraves@xxxxxxxxxxxxxx> wrote:

Subject: RE: T-SQL receiving parameter from iSeries
To: "RPG programming on the IBM i (AS/400 and iSeries)" <rpg400-l@xxxxxxxxxxxx>
Date: Thursday, March 17, 2016, 1:35 PM

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

--
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.

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.