Zitat Zitat von Fuerchau
Zu 1: Parameter "by Reference" (VALUE fehlt) können verändert, also zurückgegeben werden.

zu 2: Stimmt ! Nur Prozeduren können im RETURN genau 1 Parameter zurückgeben. Programme erhalten ihre Parameter IMMER per Reference.

zu 3: erklärt sich aus 1+2 von selbst.
Erstmal vielen Dank für die schnelle Antwort. Ich hätte aber noch eine Verständnisfrage. Ich kann also an ein RPG Programm(ohne Prozeduren (P)) Variablen by Reference übergeben(die dann mit PI aufgefangen werden) und diese werden dann bei einem return(ohne parameter) zurückgegeben?

Bsp. für das Programm wäre dann(gnaz vereinfacht) folgendes:

H ...
H ...

F DATEI1 if e disk

D auffang PI
D Feld1 ...
D Feld2 ...
D Feld3 ...
D Feld4 ...

D key klist
D kfld feld1
D kfld feld2
D kfld feld3
D kfld feld4

C key setll datei1
C key reade datei1
C if not %found(datei1)
C eval feld1 = 'nichts gefunden'
C endif
C return

So müsste es funktionieren oder?

Gruss Martin