プロシージャー仕様書

プロシージャー仕様書を使用して、メイン・ソース・セクションの後に 指定されるプロトタイプ・プロシージャーを定義します。定義しない場合、プロトタイプ・プロシージャーはサブプロシージャーとして認識されます。

サブプロシージャーのプロトタイプは、サブプロシージャー定義が含まれている モジュールのメイン・ソース・セクションに定義できます。 プロトタイプが指定されないと、プロシージャー・インターフェースの情報を使用して暗黙的にプロトタイプが定義されます。 プロシージャー・インターフェースも定義されない場合、 戻り値もパラメーターもないデフォルトのプロトタイプが暗黙的に定義されます。

サブプロシージャーには以下のものがあります。
  1. 変更の始まりプロシージャー開始ステートメント (自由形式で DCL-PROC 命令コードを使用するか、 固定形式プロシージャー仕様書の 24 桁目に B を指定します)。変更の終わり
  2. プロシージャー・インターフェース定義。これは、 戻り値およびパラメーターがあった場合に、それらを 指定します。 サブプロシージャーから値が戻されず、また、そのサブプロシージャ ーに渡されるパラメーターがない場合には、プロシージャー・インターフェースの定義はオプションです。プロシージャー・インターフェースは、プロトタイプが指定されていれば、対応するプロトタイプに一致していなければなりません。
  3. 変更の始まり他の定義 (サブプロシージャーで必要とされる、ファイル、変数、定数、およびプロトタイプなど)。 これらの定義はローカル定義です。変更の終わり
  4. プロシージャーのタスクを実行するためには、任意の演算仕様書が必要です。 サブプロシージャーの中に組み込まれたサブルーチンは、 いずれもローカルです。 それらをサブプロシージャーの外で使用することはできません。 サブプロシージャーから値が戻される場合には、そのサブプロシージャーに RETURN 命令がコーディングされていなければなりません。 プロシージャーの終わりに達する前に RETURN 命令が実行されることを確認するこ とが必要です。
  5. 変更の始まりプロシージャー終了ステートメント (自由形式で DCL-PROC 命令コードを使用するか、 固定形式プロシージャー仕様書の 24 桁目に E を指定します)。変更の終わり

変更の始まりプロシージャー・インターフェース定義は他のローカル定義内のどこにでも入れることができますが、 それ以外のサブプロシージャーは上記の順序でコーディングする必要があります。変更の終わり

サブプロシージャーの例については、図 1 を参照してくださ い。