Stellungsparameter werden ohne den vorangestellten Parameternamen, durch Kommas voneinander getrennt, angegeben.
Wenn Prozedurparameter als Stellungsparameter übergeben werden, muss die Reihenfolge beachtet werden, in der die Parameter in der aufgerufenen Prozedur mit DECLARE-PARAMETER deklariert sind. Sie werden in dieser Reihenfolge zugeordnet.
Das heißt, wenn in jedem DECLARE-PARAMETER-Kommando nur ein Prozedurparameter deklariert ist, wird der erste angegebene Prozedurparameter auf den Parameter(-namen) abgebildet, der im ersten DECLARE-PARAMETER-Kommando deklariert ist, der Zweite auf den Parameternamen im zweiten DECLARE-PARAMETER-Kommando usw.
Werden in einem DECLARE-PARAMETER-Kommando mehrere Prozedurparameter deklariert, werden die übergebenen Prozedurparameter in der Reihenfolge auf sie abgebildet, in der die Parameternamen deklariert sind.
Bei der Prozedurparameter-Deklaration können Prozedurparameter bereits mit einem gültigen Wert vorbelegt, das heißt initialisiert werden. Diese Prozedurparameter können bei der Parameterübergabe im Prozeduraufruf „übergangen“ werden, wenn ihr Anfangswert gültig bleibt. Bei der Übergabe von Stellungsparametern ist zu berücksichtigen, wo die zu „übergehenden“ Prozedurparameter in der Deklarationsfolge stehen.
Im Prozeduraufruf brauchen Prozedurparameter, die bereits initialisiert sind, nicht berücksichtigt zu werden, wenn sie die letzten Prozedurparameter der Deklarationsfolge sind.
Folgen auf diese bereits initialisierten Prozedurparameter aber andere Prozedurparameter, für die ein aktueller Wert übergeben wird, müssen sie als leere Parameter übergeben werden: für den zu übergehenden Parameter muss ein Komma gesetzt werden.
Beispiel
Prozedur PROC1
/... /CALL-PROCEDURE PROC2, PROCEDURE-PARAMETERS = (MUELLER, EDUARD, GOETHE- /STRASSE, , , 1234567)
Prozedur PROC2
/SET-PROCEDURE-OPTIONS /BEGIN-PARAMETER-DECLARATION / DECLARE-PARAMETER (NAME (*NONE, *STRING), VORNAME (*NONE, *STRING)) / DECLARE-PARAMETER STRASSE(*NONE, *STRING) / DECLARE-PARAMETER ORT('HAMBURG', *STRING) / DECLARE-PARAMETER (VORWAHL('040', *STRING), TEL(*NONE, *STRING)) /END-PARAMETER-DECLARATION
Beim Prozeduraufruf werden an PROC2 sechs Prozedurparameter übergeben: Name (MUELLER), Vorname (EDUARD) und Straße (GOETHESTRASSE). Für die beiden Parameter ORT und VORWAHL werden keine Werte übergeben, für sie werden nur Kommas eingesetzt. Als letzter Wert wird die Telefonnummer übergeben. Die Prozedurparameter ORT und VORWAHL sind vorbelegt mit den Werten HAMBURG und 040 (zum Beispiel, weil es sich um Adresslisten eines Hamburger Unternehmens handelt). Da TRANSFER-TYPE = *BY-VALUE voreingestellt ist, werden die angegebenen Prozedurparameter als Werte-Angaben behandelt.