CALL

目的

プロシージャのエントリ ポイントに制御を移し、オプションでプロシージャに引数を渡します。

構文

CALL reference[([argument][,argument]…)];

パラメーター

reference
エントリ名、エントリ変数、またはエントリ値関数を識別します。
argument

説明

CALL 文は、プロシージャのエントリ ポイントに制御を移し、オプションでプロシージャに引数を渡します。

CALL 文を実行すると、エントリ名、エントリ変数、またはエントリ値関数の参照で識別されるプロシージャ ブロックが有効化されます。そのエントリ値で指定されたプロシージャが呼び出され、参照で与えられた引数が渡されます。したがって、有効化されるプロシージャには、ENTRY 名の宣言に OPTIONS(VARIABLE) 属性が含まれていない限り、RETURNS オプションが含まれていてはならず、参照の引数と同じ数のパラメーターが必要です。引数がないプロシージャは、参照の引数リストを空 () にするか引数リストなしで呼び出すことができます。プロシージャの呼び出しで引数リストを指定した場合、そのリストの各引数が評価され、必要に応じて対応するパラメーターのデータ型に変換されます。引数の引き渡しおよびパラメーターの詳細については、「ストレージ クラス」の章の「パラメーター記憶域クラス」のセクションを参照してください。

CALL 文で参照される引数やその他のコンポーネントが評価される順序に指定はありません。

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 文で、可変個のパラメーターを受け入れる関数の定義または呼び出しはサポートされていません。