|
I want to return a BLOB field from an RPG program that is being used as
a stored procedure. I can create the BLOB field and get the data in it
that I want but when I add the BLOB field to the *ENTRY parameter list
to pass it back I get a compiler error that the BLOB field can be
initialized.
I defined a large string and a BLOB like this
MyString S 20000
MyBlob S SQLTYPE(BLOB:20000)
I put the data I want to return in MyString and then use this SQL
command to put in the BLOB field
C/EXEC SQL
C+ SET :MYBLOB = BLOB(:MYSTRING)
C/END-EXEC
Doing this compiles OK and I can run the app and see the data in both
MyString and MyBlob in debug.
When I add this line of code I get the compiler error
C *ENTRY PLIST
C PARM MyBlob
*RNF7306 20 1 The initial value for a pointer field is not valid.
The initial value for pointer field SQL_00006 is not valid.
DS
SQL_00000 1 2B 0 INZ(128)
SQL_00001 3 4B 0 INZ(1)
SQL_00002 5 8B 0 INZ(0)
SQL_00003 9 9A INZ('0')
SQL_00004 10 128A
SQL_00005 129 20128A
SQL_00006 * INZ(%ADDR(MYBLOB))
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 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.