PDA

View Full Version : Externe Prozedur gibt Parameter nicht zurück



msost
19-11-10, 09:41
Hallo,

ich habe ein Programm das eine externe Prozedur startet. Die soll einen Wert zurückliefern. In der Return Zeile der Prozedur sieht die Datenstruktur die den Wert beinhaltet super aus.

Das Feld Iniret in der Prozedur ist lokal definiert mit likeds genauso wie die Datensruktur Inireturn. War ne Verzweiflungstat.

Leider kommt im aufrufenden Programm nix an. *grübel.

OS/400 ist V5R4M0.

Wäre für 'n Tip dankbar!

Aufrufendes Programm:

clear Inireturn;
callp UTC_Init();
if not Inireturn.status.error = *on;


Prototyp (In Copystrecke, also in Programm und Przedur gleich):

d UTC_Init PR likeds(Inireturn)

Prozedur:

return Iniret;

Fuerchau
19-11-10, 10:20
Wenn eine Prozedur etwas zurückgibt, dann ist es eine Funktion. Also nicht per callp aufrufen sondern als Funktion:

eval ReturnValue = Function();

msost
19-11-10, 10:27
Immer diese Begrifflichkeiten...

Danke! Läuft.

Grüße und schönes WE!