On 03-Sep-2014 16:59 -0500, Gary Thompson wrote:
From my very limited understanding, having div_lib
as declared as VARCHAR in SQL proc GETLIB was 'the issue'

I changed GETLIB SQL proc to be:

( IN out_loc CHARACTER (4)
, OUT div_lib CHARACTER(10)


Probably not an /issue/ with VARCHAR in the alluded sense; i.e. more likely a difficulty had, than any likely issue to be had, per use of the VARCHAR :-)

I intend SQL proc GETLIB to be a standard utility for us.

Personally, I would [tend to] make the GETLIB routine a scalar User Defined Function (UDF) instead of a PROCEDURE to increase the utility; the GetLib routine could then be referenced directly in queries. Thus using CREATE FUNCTION (scalar); return the value currently defined as OUT for the PROCEDURE, as a scalar VARCHAR [or CHAR] result of the FUNCTION.

Then instead of an SQLRPGLE using the SQL CALL, the request could be a SET; e.g. instead of the first, the second:

Exec SQL
call getlib( :inp_loc , :rtn_libr ) ;
if sqlcod...

Exec SQL
set rtn_libr = getlib(inp_loc) ;
if sqlcod...

This thread ...


Return to Archive home page | Return to MIDRANGE.COM home page