目的
プロシージャのエントリ ポイントに制御を移し、オプションでプロシージャに引数を渡します。
構文
CALL reference[([argument][,argument]…)];
パラメーター
- reference
- エントリ名、エントリ変数、またはエントリ値関数を識別します。
- argument
- 式
例
DECLARE E ENTRY (FIXED BINARY, FIXED BINARY, FLOAT BIN);
DECLARE F ENTRY;
DECLARE G ENTRY;
CALL E(A,B,5+X);
CALL F;
CALL G();
制約事項
64 ビット プラットフォームでは、Open PL/I の CALL 文および DECLARE 文で、可変個のパラメーターを受け入れる関数の定義または呼び出しはサポートされていません。
説明
CALL 文は、プロシージャのエントリ ポイントに制御を移し、オプションでプロシージャに引数を渡します。
CALL 文を実行すると、エントリ名、エントリ変数、またはエントリ値関数の参照で識別されるプロシージャ ブロックが有効化されます。そのエントリ値で指定されたプロシージャが呼び出され、参照で与えられた引数が渡されます。したがって、有効化されるプロシージャには、ENTRY 名の宣言に OPTIONS(VARIABLE) 属性が含まれていない限り、RETURNS オプションが含まれていてはならず、参照の引数と同じ数のパラメーターが必要です。引数がないプロシージャは、参照の引数リストを空 () にするか引数リストなしで呼び出すことができます。プロシージャの呼び出しで引数リストを指定した場合、そのリストの各引数が評価され、必要に応じて対応するパラメーターのデータ型に変換されます。引数の引き渡しおよびパラメーターの詳細については、「ストレージ クラス」の章の「パラメーター記憶域クラス」のセクションを参照してください。
CALL 文で参照される引数やその他のコンポーネントが評価される順序に指定はありません。