Wenn Du Prototyp und Procedure Interface anlegst und diese korrekt erfolgt eine Parameter-Prüfung bereits zur Compile-Zeit, Du kannst Input Only Parameter definieren und optionale Parameter prüfen.

Durch eine Erweiterung in den letzten TRs bist Du nicht mehr gezwungen für jedes Programm mit Procedure Interface einen Prototypen anzulegen, d.h. beim Umwandeln des Programms genügt jetzt das Procedure Interface. Das macht Sinn, wenn ein Programm z.B. nur aus CL-Programmen aufgerufen wird.

Wenn Du allerdings ein Programm im RPG-Free-Format aufrufen willst, bauchst Du einen Prototypen, der dem Procedure-Interface zumindest was die Anzahl und Definition der einzelnen Parameter-Felder angeht.

Um sicher zugehen dass Prototyp und Procedure Interface übereinstimmen, sollte man den Prototypen auch in dem Programm, in dem das Procedure Interface definiert ist einbinden. Sofern ein Prototyp eingebunden ist wird dieser beim Compilieren mit den Procedure Interface abgeglichen. Stimmen beide nicht überein, kann das Programm nicht umgewandelt werden.

Eine Mischung aus *ENTRY PLIST, Prototypen, CALL-Statements würde ich nicht empfehlen.

Birgitta