COBOL言語で扱うファイルについて理解しよう!|基礎ガイド

COBOL(コボル)言語のファイル操作と書き方とは

基礎-4ファイル-イメージ

COBOL(コボル)言語のファイルとは?

COBOL(コボル)言語で扱うファイルには4つのファイルが存在します。順ファイル(レコードを順番に書き込んだファイル)、テキストファイル(改行で区切られたファイル)、相対ファイル(相対キーを利用したファイル)、索引ファイル(索引キーを利用したファイル)がその4つです。この中でよく使われているファイルは順ファイル、テキストファイルになります。テキストファイルは順ファイルの拡張仕様になります。

では実際にファイルを使用したプログラムを作成してみましょう。

使用例:

基礎-4ファイルを使用したプログラム1-使用例

使用例は”Hello World !”という文字列をOUT01ファイルに出力する処理です。

実行結果:画面表示なし

実行結果(OUT01)

基礎-4ファイルを使用したプログラム1-実行結果

COBOL(コボル)言語のファイルにおける基本事項やルールについて

1.ファイルを使用することを宣言するためには、SELECT句を使用します。

2.どのファイルを使用するかを宣言するためには、ASSIGN句を使用します。

3.ファイルをどのような形式で取り扱うかはORGANIZATION句で指定します。

ORGANIZATION句を指定しない場合は順ファイルとみなされます。

4.データ部(DATA DIVISION)のファイル節(FILE SECTION)でレコード構造を定義します。

COBOL(コボル)言語のファイル操作における注意点

ファイルは環境部(ENVIRONMENT DIVISION)、データ部(DATA DIVISION)の定義だけでは機能せず、手続き部(PROCEDURE DIVISION)で決められた操作文を記述することで利用できるようになります。

以下はどのファイル編成を操作する際に使用する文です。特にOPEN文、CLOSE文は必ず記述が必要になります。

「OPEN文:ファイルを開く、CLOSE文:ファイルを閉じる、READ文:ファイルを読み込む、WRITE文:ファイルを書き込む、REWRITE文:ファイルを更新する」

また、OPEN文にはモードがあり、用途に合わせて記述します。

INPUT:入力モード、ファイル読み込み用。OUTPUT:出力モード、ファイル書き込み用、I-O:入出力モード、ファイル読み書き用。それぞれ分けて使用することが一般的です。

ファイル操作を考えたCOBOL(コボル)プログラムの活用法

COBOL言語のファイルは先ほどご紹介した通り、基本的なプログラミングであり、多くのCOBOLプログラムで使用されています。特に順ファイル、テキストファイルの形式は構造がシンプルなため使用される機会が多いです。活用法では、実際に紹介したいろいろなファイルの操作文を記述することで、その動きを確認してみましょう。

サンプルプログラム:

  1. IDENTIFICATION DIVISION.
  2. PROGRAM-ID. FILE_SAMPLE02.
  3. ENVIRONMENT DIVISION.
  4. INPUT-OUTPUT SECTION.
  5. FILE-CONTROL.
  6.  SELECT IN01-FILE
  7.   ASSIGN TO "in01.txt"
  8.   ORGANIZATION IS LINE SEQUENTIAL
  9.   FILE STATUS IS IN-FILE-STATUS.
  10.  SELECT OUT01-FILE
  11.   ASSIGN TO "out01.txt"
  12.   ORGANIZATION IS LINE SEQUENTIAL.
  13. DATA DIVISION.
  14. FILE SECTION.
  15. FD IN01-FILE.
  16. 01 IN01.
  17.  03 IN01-SUJI PIC X(13).
  18. FD OUT01-FILE.
  19. 01 OUT01.
  20.  03 OUT01-SUJI PIC X(13).
  21. WORKING-STORAGE SECTION.
  22. 01 IN-FILE-STATUS PIC XX.
  23. PROCEDURE DIVISION.
  24. *> 1.初期処理(ファイルオープン)
  25.  OPEN INPUT IN01-FILE.
  26.  OPEN OUTPUT OUT01-FILE.
  27. *> 2.主処理(ファイル読み込み処理)
  28.  PERFORM UNTIL IN-FILE-STATUS NOT = "00"
  29.   READ IN01-FILE
  30.    AT END
  31.     DISPLAY "READ END"
  32.    NOT AT END
  33.     MOVE IN01-SUJI TO OUT01-SUJI
  34.     WRITE OUT01
  35.   END-READ
  36.  END-PERFORM.
  37. *> 3.終了処理(ファイルクローズ)
  38.  CLOSE IN01-FILE.
  39.  CLOSE OUT01-FILE.
  40. STOP RUN.

使用例はIN01ファイルの情報をOUT01ファイルに出力する処理です。

入力ファイル(IN01)

基礎-4ファイルを使用したプログラム2-入力ファイル1

実行結果:

基礎-4ファイルを使用したプログラム2-実行結果1

実行結果:

基礎-4ファイルを使用したプログラム2-実行結果2

今回はCOBOL言語のファイルについてご紹介しました。どのプログラム言語を学ぶ際にも理解しておく必要がある内容になりますので、実際にプログラミングして覚えていきましょう。また、他のプログラミング言語を学ばれている方は、その言語と比較しながら違いについても理解してみましょう。

この記事を読んだ人は、こちらの記事も読んでいます

【未経験者歓迎】COBOLプログラマー・システムエンジニアの募集

株式会社COBOLの求人・転職・募集情報を見る

COBOL入門のカテゴリー

取引企業様 募集中
COBOL技術者 募集
COBOL魂
読者採用
COBOL入門