カテゴリ: COBOL 更新日: 2025/12/27

COBOLのファイル処理とは?初心者でもわかる基本の概念を丁寧に解説!

COBOLのファイル処理とは?基本の概念を解説
COBOLのファイル処理とは?基本の概念を解説

先生と生徒の会話形式で理解しよう

生徒

「COBOLって、昔のプログラミング言語って聞きましたけど、ファイルを扱えるんですか?」

先生

「もちろんです。COBOLは業務システムでたくさん使われていて、ファイル処理がとても得意な言語なんですよ。」

生徒

「ファイル処理ってどういうことをするんですか?難しそう…」

先生

「大丈夫ですよ!一緒にゆっくり、基本の考え方から見ていきましょう。」

1. ファイル処理って何?

1. ファイル処理って何?
1. ファイル処理って何?

まず、ファイル処理という言葉の意味から確認しましょう。ファイル処理とは、コンピュータの中にある「データが書かれた紙のようなもの」(=ファイル)を読み取ったり、書き込んだり、更新したり、削除したりすることです。

たとえば、学校の出席簿やお店の売上表のようなものがファイルとして保存されていると考えてください。

COBOL(コボル)では、こうした業務用のファイルを取り扱うのが得意なんです。

2. COBOLで扱うファイルの種類

2. COBOLで扱うファイルの種類
2. COBOLで扱うファイルの種類

COBOLで扱うファイルには、いくつかの種類がありますが、初心者向けに以下の2つを押さえましょう。

  • 順編成ファイル(Sequential File):1行ずつ、順番に読んだり書いたりするファイルです。ノートに1ページずつ書いていくイメージです。
  • 相対編成ファイル(Relative File):特定の場所(番号)を指定して読んだり書いたりできるファイルです。例えば、3ページ目だけ読むというような操作ができます。

この記事では、特に基本である順編成ファイル(Sequential File)を中心に紹介します。

3. ファイルを使う前に必要なこと

3. ファイルを使う前に必要なこと
3. ファイルを使う前に必要なこと

COBOLでファイルを使うには、準備(定義)が必要です。プログラムの中で、どんなファイルを使うかを決めておく必要があります。

それには、次の3つの段階があります。

  1. ENVIRONMENT DIVISION:ファイルの名前や、ファイルがどこにあるか(外部情報)を指定します。
  2. DATA DIVISION:ファイルの中にどんな項目(データ)が入っているかを決めます。
  3. PROCEDURE DIVISION:ファイルをどう使うか(開く、読む、書く、閉じる)を書きます。

4. ファイルを使った基本的なプログラムの流れ

4. ファイルを使った基本的なプログラムの流れ
4. ファイルを使った基本的なプログラムの流れ

ファイルを使う基本的な流れは、次のようになります。

  • ファイルをOPEN(開く)
  • ファイルをREAD(読む)またはWRITE(書く)
  • ファイルをCLOSE(閉じる)

それでは、実際にCOBOLのサンプルプログラムを見てみましょう。

5. ファイル読み込みのサンプル

5. ファイル読み込みのサンプル
5. ファイル読み込みのサンプル

次は、COBOLでファイルからデータを読み込む簡単な例です。


IDENTIFICATION DIVISION.
PROGRAM-ID. FILE-READ-SAMPLE.

ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
    SELECT IN-FILE ASSIGN TO "data.txt"
        ORGANIZATION IS LINE SEQUENTIAL.

DATA DIVISION.
FILE SECTION.
FD IN-FILE.
01 IN-RECORD PIC X(50).

WORKING-STORAGE SECTION.
01 END-FLAG      PIC X VALUE "N".
   88 END-OF-FILE VALUE "Y".
   88 NOT-END     VALUE "N".

PROCEDURE DIVISION.
    OPEN INPUT IN-FILE
    PERFORM UNTIL END-OF-FILE
        READ IN-FILE
            AT END
                SET END-OF-FILE TO TRUE
            NOT AT END
                DISPLAY IN-RECORD
        END-READ
    END-PERFORM
    CLOSE IN-FILE
    STOP RUN.

このプログラムでは、「data.txt」というファイルを開き、1行ずつ読み取り、その内容を画面に表示します。


山田 太郎
佐藤 花子
鈴木 一郎

このように、ファイルの中の名前が順番に表示されます。

6. ファイルへの書き込みのサンプル

6. ファイルへの書き込みのサンプル
6. ファイルへの書き込みのサンプル

今度は、ファイルにデータを書き込む例を見てみましょう。


IDENTIFICATION DIVISION.
PROGRAM-ID. FILE-WRITE-SAMPLE.

ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
    SELECT OUT-FILE ASSIGN TO "output.txt"
        ORGANIZATION IS LINE SEQUENTIAL.

DATA DIVISION.
FILE SECTION.
FD OUT-FILE.
01 OUT-RECORD PIC X(50).

PROCEDURE DIVISION.
    OPEN OUTPUT OUT-FILE
    MOVE "田中 裕子" TO OUT-RECORD
    WRITE OUT-RECORD
    MOVE "高橋 健" TO OUT-RECORD
    WRITE OUT-RECORD
    CLOSE OUT-FILE
    STOP RUN.

田中 裕子
高橋 健

実行後は、このような内容が「output.txt」というファイルに書き込まれます。

7. よく使うCOBOLファイル処理の用語

7. よく使うCOBOLファイル処理の用語
7. よく使うCOBOLファイル処理の用語
  • OPEN:ファイルを開く。読み取り専用はOPEN INPUT、書き込み専用はOPEN OUTPUT
  • READ:ファイルから1行ずつデータを読み込む。
  • WRITE:ファイルに1行ずつデータを書き込む。
  • CLOSE:ファイルを閉じる。最後に必ず使う。
  • LINE SEQUENTIAL:ファイルを1行ずつ扱う方式。初心者向けの最も基本的な方法。
  • FD:File Description(ファイル記述)。ファイルの中身の形を定義します。

8. ファイル処理で気をつけるポイント

8. ファイル処理で気をつけるポイント
8. ファイル処理で気をつけるポイント
  • ファイルは必ずOPENしてから使い、最後にCLOSEする。
  • ファイルが存在しない場合や、読み取りの終わりには適切な処理が必要。
  • ファイル名の指定ミスや、ファイルのパス(場所)が違うとエラーになるので注意。
  • COBOLでは、ファイルの読み書きをきちんと順番通りに行うことが大切。

まとめ

まとめ
まとめ

COBOLのファイル処理は、業務システムの中で日常的に使われる重要な技術のひとつです。この記事を通して、「ファイル処理とは何か」から始まり、OPENREADWRITECLOSEといった基本的な命令の流れ、またそれらの使い方や書き方をサンプルプログラムとともに学びました。特に、ファイルを扱うためには事前の定義や設定が重要であり、ENVIRONMENT DIVISIONFILE SECTIONといったCOBOL独特の構成を理解することが、ファイル処理の第一歩となります。

実際のCOBOL開発では、顧客情報の読み込み、請求書の出力、売上記録の追記など、多くの場面でファイル操作が不可欠です。COBOLはそのような大量の業務データを安全かつ安定的に取り扱うために設計されているため、初心者がファイル処理の基本を押さえることは、これからのプログラム学習において非常に価値があります。

ここで改めて、READWRITEの使い方をシンプルな構成で振り返っておきましょう。読み込みや書き込み処理の書き方の雰囲気を掴んでおくと、他のファイル操作にも応用が利くようになります。

ファイルから読み取る基本構文


OPEN INPUT 顧客ファイル
READ 顧客ファイル
    AT END
        DISPLAY "データの終わりです"
    NOT AT END
        DISPLAY 顧客情報
CLOSE 顧客ファイル

ファイルへ書き込む基本構文


OPEN OUTPUT 出力ファイル
MOVE "山田 花子" TO 出力データ
WRITE 出力データ
CLOSE 出力ファイル

COBOLでのファイル処理は、「手続き的に順番を守って書くこと」がとても大切です。OPENしていないファイルをREADしたり、CLOSEを忘れたりすると、エラーの原因になったり、正しくデータが処理されなかったりします。

また、ファイル名やファイルパスが正しく設定されていないと、プログラムがファイルを見つけられずに失敗してしまうこともあります。こうした実務上の注意点を覚えておくことで、トラブルを減らし、安心してCOBOLプログラミングに取り組めるようになります。

最後に、COBOLのファイル処理におけるキーワードは非常に直感的で、OPENは開く、READは読む、WRITEは書く、CLOSEは閉じるというように、日本語と1対1で対応するイメージで覚えることができます。こうした明確な命令は、プログラミング初心者にとって非常に学びやすく、業務系言語としてのCOBOLの魅力のひとつと言えるでしょう。

先生と生徒の振り返り会話

生徒

「COBOLのファイル処理って、最初は難しそうって思ってましたけど、OPENREADWRITECLOSEの流れが分かると案外スムーズですね!」

先生

「そうなんです。COBOLは手順が明確なので、一度流れを掴めば安定したプログラムが書けるようになりますよ。ファイルを開いて、処理して、閉じる。この一連の動作を正確に覚えることが大切です。」

生徒

「あと、ファイルの種類や、LINE SEQUENTIALっていう行単位の読み書きも、実際の業務に使えそうですね!」

先生

「その通りです。たとえば出勤簿や売上ファイルなど、行ごとのデータが多い場面ではとても相性が良いです。次はREADと組み合わせた条件分岐も学んでいきましょうか。」

生徒

「はい!COBOLって業務向けだからこそ、こういう基本をしっかり覚えていきたいですね。」

カテゴリの一覧へ
新着記事
New1
C#
C#のメモリ管理とガーベジコレクションの基礎を理解しよう
New2
C#
C#の参照型と値型の違いを初心者向けにやさしく解説!
New3
C#
C#のクエリ式とメソッド式の書き換え方を完全ガイド!LINQの2つの書き方をマスター
New4
C#
C#の戻り値にタプルを使う方法!複数の値を返すテクニック
人気記事
No.1
Java&Spring記事人気No1
C#
C#で文字列が数値か判定する方法を解説!char.IsDigitやTryParseの基本
No.2
Java&Spring記事人気No2
C#
C#のLINQでOrderByを使った並び替えを完全ガイド!初心者でもわかるソート方法
No.3
Java&Spring記事人気No3
C#
C#のpartialクラスとは?初心者でも理解できるクラス分割の基本
No.4
Java&Spring記事人気No4
C#
C#のrefとoutキーワードとは?引数の参照渡しを理解しよう
No.5
Java&Spring記事人気No5
COBOL
COBOLの数値データ型「PIC 9」の使い方と注意点をやさしく解説!
No.6
Java&Spring記事人気No6
C#
C#の引数と戻り値の基本!値を受け渡し・返す仕組みを理解しよう
No.7
Java&Spring記事人気No7
C#
C#のラムダ式の書き方と構文を初心者向けに完全解説
No.8
Java&Spring記事人気No8
C#
C#で型を調べる方法!GetType()・typeof演算子の違いと使い方