初期化呼び出しの説明

I/O 出口は、どのデータ・セットについても、最初 (および唯一) の初期化呼び出しを使用して必ず呼び出されます。これは、出口がデータ・セットに対して行う処理のタイプ (ストレージを割り振るなど) を示す機会となります。

初期化の時点で、出口は、データ・セットを処理すべきかどうか、さらに、必要な場合は、動的ストレージを取得すべきかどうかを決定します。
  • データ・セットを処理すべきかどうかの決定: I/O 出口制御ブロックでは、データ・セット名およびその他の情報が使用可能です。データ・セット名およびその他の情報から、出口がデータ・セットを処理すべきでないと「判断」した場合は、File Manager が出口を再び呼び出さないように指示する必要があります。これらを行うには、以下の 2 つの方法があります。
    • 初期化時にのみ、「Level support (レベル・サポート)」フィールドを 0 に設定できます。これは、File Manager が出口を呼んではいけないことを示しています。
    • I/O 出口呼び出しに応じて、「出口戻りコード」を 4 (警告) に設定し、「警告コード」を 2 に設定できます。これにより、これ以上の呼び出しを回避し、File Manager が出口を使用せずに残りの入出力を処理するようにできます。

    その他の場合は、「Level support (レベル・サポート)」フィールドを 1 に設定して、出口がデータ・セットを処理することを示します。

  • ダイナミックストレージの取得
    • 一般的に、アセンブラー出口だけがストレージを取得する必要があります。COBOL および PL/I のストレージとアドレス可能度は、出口の呼び出し間で保持されます。ただし、File Manager は現行入力および現行出力レコード・バッファーの両方を提供するため、アセンブラー出口でさえ、ストレージ割り振りが不要な場合があります。
    • ストレージに割り振られたポインターおよびその他の情報は I/O 制御ブロック末尾の「ユーザー・スクラッチパッド域」に保管され、初期化呼び出しと終了呼び出しの間保守されます。

「Functions supported by exit (出口によってサポートされる機能)」フィールドの値を変更する理由はありません。読み取りと書き込みのサポートは両方とも必須で、これはデフォルトです。