サブファイル・トランザクション・ファイルの名前の指定

ILE COBOL プログラムでサブファイル TRANSACTION ファイルを使用するには、FILE-CONTROL 段落のファイル制御項目を使用してそのファイルの名前を指定する必要があります。 FILE-CONTROL 段落の説明については、「WebSphere Development Studio: ILE COBOL 解説書」を参照してください。

TRANSACTION ファイルの名前は、FILE-CONTROL 段落の中で以下のようにして指定します。

FILE-CONTROL.
    SELECT transaction-file-name
        ASSIGN TO WORKSTATION-display_file_name
        ORGANIZATION IS TRANSACTION
        ACCESS MODE IS DYNAMIC
               RELATIVE KEY IS relative-key-data-item
        CONTROL AREA IS control-area-data-item.

ファイルを選択するには SELECT 文節を使用します。 そのファイルは、DATA DIVISION の FD 項目で指定されているものでなければなりません。

TRANSACTION ファイルをディスプレイ・ファイルと関連付けるには、ASSIGN 文節を使用します。 TRANSACTION ファイルを使用するには、ASSIGN 文節に装置タイプ WORKSTATION を指定しなければなりません。 この TRANSACTION ファイルのために別個の標識域を使用する場合は、ASSIGN 文節に -SI 属性を含める必要があります。 別個の標識域の使い方については トランザクション・ファイルでの標識の使用を参照してください。

TRANSACTION ファイルを使用するためには、ファイル制御記入項目の中に ORGANIZATION IS TRANSACTION を指定してください。 この文節は、ILE COBOL プログラムに対して、ワークステーション・ユーザーや別のシステムとの対話が行われることを知らせるものです。

サブファイル TRANSACTION ファイルには動的にアクセスします。 動的アクセスを使うなら、特定の入出力要求の形式に応じて、ファイルとの間のレコードの読み書きを、 順次アクセスでもランダム・アクセスでも行えるようになります。 ランダムにアクセスできる TRANSACTION ファイルはサブファイルだけです。 TRANSACTION ファイルへのアクセス方法を ILE COBOL プログラムに知らせるには、 ファイル制御記入項目に ACCESS MODE 文節を使用します。 サブファイル TRANSACTION ファイルとの間の読み書きを行うには、ACCESS MODE IS DYNAMIC と指定する必要があります。

サブファイルを使用する場合、相対キーを提供する必要があります。 相対キー・データ項目を指定するには、RELATIVE KEY 文節を使用します。 相対キー・データ項目は、サブファイル中の特定のレコードに対する相対レコード番号を指定します。

TRANSACTION ファイルを参照する入出力要求の状況をフィードバックしたい場合は、FILE STATUS 文節を使用してファイル制御項目の中に状況キー・データ項目を定義します。 FILE STATUS 文節を指定すると、システムは、明示的にまたは暗黙のうちに TRANSACTION ファイルを参照する各入出力要求の後で、状況キー・データ項目に値を移動します。 この値は、入出力ステートメントの実行状況を示します。

TRANSACTION ファイルの入出力操作を制御するのに使用される特定の装置依存情報やシステム依存情報を取得するには、CONTROL-AREA 文節を使用して制御域データ項目を指定します。 CONTROL-AREA 文節で指定されるデータ項目は、以下の形式で LINKAGE SECTION または WORKING-STORAGE SECTION の中で定義します。

01  control-area-data-item.
    05  function-key          PIC X(2).
    05  device-name           PIC X(10).
    05  record-format         PIC X(10).

制御域の長さは、2 バイトか 12 バイトか 22 バイトです。 したがって、必要とする情報の種類に応じて、指定できる要素は、 最初の 05 レベル要素、最初の 2 つの 05 レベル要素、 または 3 つの 05 要素すべてのいずれかになります。

制御域データ項目を使用することによって、以下のものを指定することができます。