Hallo,

ich habe folgendes Problem...

Wir haben ein relativ kompliziertes RPGLE-Programm, das zu einem Artikel den Standardpreis und den Aktionspreis ermittelt. Darin wird unter anderem auch ein OUT auf die *LDA durchgeführt. Jetzt habe ich für dieses Programm eine Stored Procedure als Wrapper erstellt mit 3 Input-Parametern und 2 Output-Parametern (Standardpreis und Aktionspreis). Wenn ich das z.B. mit Java teste, funktioniert das auch ohne Probleme.

Jetzt habe ich um diese Stored Procedure herum auch noch eine SQL-Funktion erstellt, mit der ich jeweils nur einen der beiden Preise erhalten möchte. Beim Aufruf dieser SQL-Funktion, die im Prinzip nur die Stored Procedure aufruft, erhalte ich folgenden Fehler:

Code:
Programmstatus . . . . . . . . . . . . :   00413                                                 
             Während der Verarbeitung von Datenbereich  ist ein E/A-Fehler aufgetreten (C G D F).
Code:
Funktion CHGDTAARA nicht zulässig.
Das passiert genau an der Stelle, an der im RPGLE-Programm der OUT auf die *LDA durchgeführt wird.

Kann mir jemand sagen warum ich die Stored Procedure ohne Fehler aufrufen kann, aber bei der SQL-Funktion (als Wrapper) dieser Fehler auftritt?

Vielen Dank,
KM