VALUE kann für den Aufruf zwischen Prozeduren benutzt werden, nicht für den Aufruf von Programmen.

Bei VALUE wird der komplette String übergeben und keine Adresse.
Im aufgerufenen Programm kann ein mit VALUE übergebener Parameter beliebig geändert werden.

RPGIII kennt nur Parameterübergabe by Reference (Adressen).

Die Parameter-Übergabe mit CONST erfolgt ebenfalls über Adresse. Bei abweichendem Feldtyp wird jedoch ein temporäres Feld mit der erwarteten Definition erstellt und diese Adresse an die rufende Prozedur weitergegeben.
Deshalb kann CONST auch für den Aufruf von RPGIII-Programmen verwendet werden.

Wird ein Prototyp mit Parametern mit CONST-Definition eingebunden, kann in der aufgerufenen Prozedur dieses Feld nicht geändert werden. (Fehler bei der Compilierung)

Durch diese Erklärung müsste auch klar sein, dass CONST und VALUE nicht für das gleiche Parameter-Feld verwendet werden können.

Birgitta