Cobol-file-access-mode

提供:Dev Guides
移動先:案内検索

COBOL-ファイルアクセスモード

今まで、ファイル編成スキームが議論されてきました。 ファイル編成スキームごとに、異なるアクセスモードを使用できます。 ファイルアクセスモードの種類は次のとおりです-

  • シーケンシャルアクセス
  • ランダムアクセス
  • ダイナミックアクセス

このモジュールの構文は、それぞれの用語とともに言及され、プログラムでの使用法のみを参照しています。 これらの構文を使用した完全なプログラムについては、次の章で説明します。

シーケンシャルアクセス

アクセスモードがシーケンシャルの場合、レコードの取得方法は、選択したファイル編成によって変わります。

  • *順次ファイル*の場合、レコードは挿入されたのと同じ順序でアクセスされます。
  • *インデックス付きファイル*の場合、レコードを取得するために使用されるパラメーターはレコードキー値です。
  • *相対ファイル*の場合、相対レコードキーを使用してレコードを取得します。

構文

順次アクセスモードの構文は次のとおりです-

ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
   SELECT file-name ASSIGN TO dd-name
   ORGANIZATION IS SEQUENTIAL
   ACCESS MODE IS SEQUENTIAL


ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
   FILE-CONTROL.
   SELECT file-name ASSIGN TO dd-name
   ORGANIZATION IS INDEXED
   ACCESS MODE IS SEQUENTIAL
   RECORD KEY IS rec-key1
   ALTERNATE RECORD KEY IS rec-key2


ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
   FILE-CONTROL.
   SELECT file-name ASSIGN TO dd-name
   ORGANIZATION IS RELATIVE
   ACCESS MODE IS SEQUENTIAL
   RELATIVE KEY IS rec-key1

ランダムアクセス

アクセスモードがRANDOMの場合、レコードの取得方法は、選択したファイル構成に従って変更されます。

  • *インデックス付きファイル*の場合、レコードは、主キーまたは代替キーのキーフィールドに配置された値に従ってアクセスされます。 1つ以上の代替インデックスが存在する場合があります。
  • relative files の場合、レコードは相対レコードキーを通じて取得されます。

構文

ランダムアクセスモードの構文は次のとおりです-

ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
   FILE-CONTROL.
   SELECT file-name ASSIGN TO dd-name
   ORGANIZATION IS INDEXED
   ACCESS MODE IS RANDOM
   RECORD KEY IS rec-key1
   ALTERNATE RECORD KEY IS rec-key2


ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
   FILE-CONTROL.
   SELECT file-name ASSIGN TO dd-name
   ORGANIZATION IS RELATIVE
   ACCESS MODE IS RANDOM
   RELATIVE KEY IS rec-key1

ダイナミックアクセス

ダイナミックアクセスは、同じプログラムでシーケンシャルアクセスとランダムアクセスの両方をサポートします。 ダイナミックアクセスでは、1つのファイル定義を使用して、キーによっていくつかのレコードにシーケンシャル順序でアクセスし、他のレコードにアクセスするなど、シーケンシャル処理とランダム処理の両方を実行します。

相対ファイルとインデックス付きファイルの場合、ダイナミックアクセスモードでは、READステートメントでNEXT句を使用して、ファイルの読み取り中にシーケンシャルアクセスモードとランダムアクセスモードを切り替えることができます。 NEXTおよびREAD機能については、次の章で説明します。

構文

ダイナミックアクセスモードの構文は次のとおりです-

ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
   FILE-CONTROL.
   SELECT file-name ASSIGN TO dd-name
   ORGANIZATION IS SEQUENTIAL
   ACCESS MODE IS DYNAMIC
   RECORD KEY IS rec-key1
   ALTERNATE RECORD KEY IS rec-key2


ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
   FILE-CONTROL.
   SELECT file-name ASSIGN TO dd-name
   ORGANIZATION IS RELATIVE
   ACCESS MODE IS DYNAMIC
   RELATIVE KEY IS rec-key1