Es scheint tatsächlich zu gehen, wenn man in der stored Procedure die Parameter als clob deklariert und im RPG-Programm einen varchar-Parameter mit passender Länge deklariert.
Ich habe etwas getestet und keine Probleme festgestellt.
Hier mein funktionierendes Beispiel:
-- Stored Procedure:
-- SQL Funktion:Code:create or replace procedure scr/prcA ( in text1 clob(1M), out text2 clob(1M) ) Language RPGLE Not Deterministic modifies sql data called on null input Parameter Style general external name 'SCR/A';
Code:create or replace function scr/fktA( text1 clob(1M) ) returns clob(1M) language sql modifies sql data not deterministic begin declare text2 clob(1M); set text2 = ''; CALL scr.prcA(text1, text2); return text2; end;
//RPG:
Code:**free //================================================================================== //Main: //================================================================================== dcl-pi *n; clob1 varchar(1000000) const; clob2 varchar(1000000); end-pi; clob2 = 'hallo ' + clob1 + ' ende'; *inlr = *on; return;
Beispielaufruf:
select scr.fktA('Test') from sysdummy1;
=> Ergebnis: hallo Test ende
![[NEWSboard IBMi Forum]](images/duke/nblogo.gif)



Mit Zitat antworten
Bookmarks