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

COBOLのファイル入出力テスト完全ガイド!初心者でもわかるデータ確認の基本

ファイル入出力のテストとデータ確認のコツ
ファイル入出力のテストとデータ確認のコツ

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

生徒

「COBOLでファイルの読み込みや書き込みをしたいんですが、うまくいっているか確認する方法ってありますか?」

先生

「はい、COBOLでファイルを扱うときは、入出力のテストとデータの確認がとても重要です。テストしながらファイルの中身をチェックする方法を覚えると、プログラムのミスをすぐに見つけることができますよ。」

生徒

「初心者でも分かるように、簡単な例で教えてください!」

先生

「もちろんです!それではファイル入出力の基本と、動作確認のポイントを一緒に見ていきましょう。」

1. ファイル入出力(にゅうしゅつりょく)とは?

1. ファイル入出力(にゅうしゅつりょく)とは?
1. ファイル入出力(にゅうしゅつりょく)とは?

ファイル入出力とは、プログラムとファイルの間でデータを「読み込んだり」「書き込んだり」することを指します。

「入力」はファイルからデータを読むことで、「出力」はファイルへデータを書き込むことを意味します。

COBOLでは、テキストファイルを使って、お客様の情報や売上データなどをやり取りします。例えば、「名簿.txt」から名前を読み込んで処理したり、「売上.csv」に結果を書き出すといった使い方です。

初心者の方にもわかりやすく例えるなら、「ファイル」はデータをしまっておく箱のようなもので、「入出力」はその箱に物を入れたり取り出したりする作業です。

2. COBOLでファイルを使うにはどうする?

2. COBOLでファイルを使うにはどうする?
2. COBOLでファイルを使うにはどうする?

COBOLでファイルを使うには、ENVIRONMENT DIVISIONINPUT-OUTPUT SECTIONでファイルの情報を定義し、OPENREADWRITEなどの命令で操作します。

実際のサンプルで、ファイルからデータを読み込んで表示する処理を見てみましょう。


       IDENTIFICATION DIVISION.
       PROGRAM-ID. FILE-READ.
       ENVIRONMENT DIVISION.
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
           SELECT IN-FILE ASSIGN TO "input.txt"
               ORGANIZATION IS LINE SEQUENTIAL.

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

       WORKING-STORAGE SECTION.
       01 EOF-FLAG      PIC X VALUE "N".

       PROCEDURE DIVISION.
           OPEN INPUT IN-FILE
           PERFORM UNTIL EOF-FLAG = "Y"
               READ IN-FILE
                   AT END
                       MOVE "Y" TO EOF-FLAG
                   NOT AT END
                       DISPLAY "読み込んだデータ:" IN-RECORD
               END-READ
           END-PERFORM
           CLOSE IN-FILE
           STOP RUN.

この例では、「input.txt」から1行ずつデータを読み込み、その内容を表示しています。

3. 実行結果の確認方法

3. 実行結果の確認方法
3. 実行結果の確認方法

ファイルを読み込む処理が正しく動いているか確認するために、DISPLAY文を使って画面に表示させるのが基本です。

例えば、「読み込んだデータ:田中一郎」と表示されれば、「田中一郎」という行をちゃんと読み込んだことがわかります。

実際の表示例:


読み込んだデータ:田中一郎
読み込んだデータ:佐藤花子
読み込んだデータ:山田太郎

このように、1行ずつしっかり読み取れているかが目で見て確認できます。

4. ファイルへ書き込むテストもしてみよう

4. ファイルへ書き込むテストもしてみよう
4. ファイルへ書き込むテストもしてみよう

次は、ファイルにデータを書き込む方法とテストのコツを紹介します。これは、出力ファイルを作って中身を見ながら確認するのがポイントです。


       IDENTIFICATION DIVISION.
       PROGRAM-ID. FILE-WRITE.
       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(30).

       PROCEDURE DIVISION.
           OPEN OUTPUT OUT-FILE
           MOVE "田中一郎" TO OUT-RECORD
           WRITE OUT-RECORD
           MOVE "佐藤花子" TO OUT-RECORD
           WRITE OUT-RECORD
           CLOSE OUT-FILE
           DISPLAY "ファイルへの書き込みが完了しました。"
           STOP RUN.

このプログラムを実行すると、「output.txt」というファイルに2行の名前が書き込まれます。確認のコツは、エディタ(メモ帳など)で実際のファイルを開いて中身を見ることです。

5. テスト用データの作り方と注意点

5. テスト用データの作り方と注意点
5. テスト用データの作り方と注意点

ファイル入出力をテストするためには、テスト用のデータを自分で作っておくと便利です。

たとえば、下記のような「input.txt」をメモ帳などで用意します。


田中一郎
佐藤花子
山田太郎

注意点としては、文字数を揃えることです。COBOLは決まった桁数でデータを扱うことが多いため、ズレていると正しく読み取れないことがあります。

6. トラブル時の確認ポイント

6. トラブル時の確認ポイント
6. トラブル時の確認ポイント

ファイルを開けない、読み取れないといった問題が発生したときは、以下の点をチェックしましょう。

  • ファイル名が正しいか(大文字・小文字も含めて)
  • ファイルが同じフォルダにあるか
  • ファイルの書式が間違っていないか
  • READWRITEのタイミングでOPENしているか

また、DISPLAY文で処理の開始・終了を表示することで、プログラムがどこまで動いているかを目で確認できます。

7. DISPLAY文で処理の流れを「見える化」しよう

7. DISPLAY文で処理の流れを「見える化」しよう
7. DISPLAY文で処理の流れを「見える化」しよう

DISPLAY文は、プログラムの中で何が起きているかを表示するための命令です。入出力の前後や、読み込んだデータの直後などに使えば、処理の流れを見える化できます。

例えば:


DISPLAY "=== ファイル読み込み開始 ==="
DISPLAY "読み込んだデータ:" IN-RECORD
DISPLAY "=== ファイル読み込み終了 ==="

これにより、「どのタイミングで読み込みが始まり、どこで終わったか」がよく分かります。初心者の方にこそおすすめの確認方法です。

まとめ

まとめ
まとめ

COBOLのファイル入出力は、業務システムにおいて最も利用される処理のひとつであり、正しく読み書きできているかを確認するためのテストは非常に重要です。今回の記事では、ファイル入出力の基本となる入力ファイル(READ)、出力ファイル(WRITE)、そして動作確認に欠かせないDISPLAY文の使い方を中心に、初心者でも理解しやすい形で全体像を整理しました。テストによってファイル処理が期待どおりに動いているかを確認することは、プログラム品質を高めるうえで不可欠です。動作確認を丁寧に行うことで、実務でも安心して運用できる安定したCOBOLプログラムを作ることができます。 また、ファイルの構造はCOBOLにとってとても重要な要素であり、行の長さ(レコード長)やフォーマットが違うだけで読み込みに失敗することもあるため、テストデータを準備する段階から慎重に扱う必要があります。ファイルの内容を表示しながらひとつずつ確認する「逐次検証」は、初心者にとって特に大きな助けとなるでしょう。さらに、ファイルのオープン、読み込み、書き込み、クローズといった流れは業務ロジックを構築するうえで基本的な骨組みとなり、この流れをきちんと理解できれば、より複雑な処理にも対応できるようになります。

基本を押さえるサンプルプログラム

読み込みと書き込みを連続して確認するテストプログラムの例を示します。処理の流れがわかるようにDISPLAYを多用しています。


IDENTIFICATION DIVISION.
PROGRAM-ID. FILE-TEST-DEMO.

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

DATA DIVISION.
FILE SECTION.
FD IN-FILE.
01 IN-REC      PIC X(40).

FD OUT-FILE.
01 OUT-REC     PIC X(40).

WORKING-STORAGE SECTION.
01 EOF-FLAG    PIC X VALUE "N".

PROCEDURE DIVISION.
    DISPLAY "=== 入力ファイル読み込み開始 ===".
    OPEN INPUT IN-FILE
    PERFORM UNTIL EOF-FLAG = "Y"
        READ IN-FILE
            AT END
                MOVE "Y" TO EOF-FLAG
            NOT AT END
                DISPLAY "読み込み:" IN-REC
        END-READ
    END-PERFORM
    CLOSE IN-FILE
    DISPLAY "=== 入力ファイル読み込み終了 ===".

    DISPLAY "=== 出力ファイル書き込み開始 ===".
    OPEN OUTPUT OUT-FILE
    MOVE "テスト書き込み:田中一郎" TO OUT-REC
    WRITE OUT-REC
    MOVE "テスト書き込み:佐藤花子" TO OUT-REC
    WRITE OUT-REC
    CLOSE OUT-FILE
    DISPLAY "=== 出力ファイル書き込み終了 ===".

    STOP RUN.

このプログラムは、ファイル入出力の理解を深めるための非常に良い実践例です。ファイルをオープンし、EOF(終端)を確認しながら読み込む処理、そして書き込み後に出力ファイルを開いて中身を確認する流れは、業務プログラムの基本パターンにも通じます。テスト時には、DISPLAY文を使って処理の流れを把握し、どこでデータが読まれ、どのタイミングで書き込まれているかを明確にすることが大切です。 また、入力ファイルの構造と内容に気を付けることは、COBOLのファイル処理において最も重要なポイントのひとつです。レコード長が合わない、ルールの異なるファイルを読み込んだ場合、処理が止まったり意図しない動作になることがあります。そのため、テストファイルを準備する際には、事前にデータの長さ・形式・文字コードなどをチェックしておく必要があります。 書き込みテストでは、出力されたファイルをエディタで開き、期待どおりの行が作られているか確認する習慣を付けると良いでしょう。業務システムでは大量データを扱うため、1行ずつ目視確認できない場合もありますが、まずは小さな単位で正しい書式を作れることが重要です。

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

生徒

「ファイルの読み書きって難しそうだと思っていたけど、流れがはっきりしているので理解しやすかったです!」

先生

「そうでしょう。COBOLはファイル処理が得意な言語ですから、構造を正しく理解すればとても扱いやすくなりますよ。」

生徒

「DISPLAYで処理を確認できるのが便利ですね。どこまで動いているかがよく分かりました。」

先生

「その通り。ファイル入出力テストでは、画面に表示しながら確認することがとても大切です。作業効率も上がりますよ。」

生徒

「これなら自分でもテスト用ファイルを作っていろいろ試せそうです!書き込みの結果を見るのも楽しみです。」

先生

「ぜひ挑戦してみてください。ファイル処理をしっかり理解すれば、COBOLでできることが一気に広がりますよ。」

カテゴリの一覧へ
新着記事
New1
C#
C#のデフォルト引数と名前付き引数の使い方を解説!初心者でも安心のやさしい入門
New2
C#
C#のオブジェクト初期化子を完全ガイド!初心者でもわかる便利な使い方
New3
COBOL
COBOLの帳票出力と編集を完全マスター!条件付き表示で分かりやすい書類を作る方法
New4
COBOL
COBOLの帳票出力を完全攻略!数値項目のカンマ・小数点編集例を徹底解説
人気記事
No.1
Java&Spring記事人気No1
C#
C#のpartialクラスとは?初心者でも理解できるクラス分割の基本
No.2
Java&Spring記事人気No2
C#
C#でJSONファイルを読み書きする方法(JsonSerializer・Newtonsoft.Json)
No.3
Java&Spring記事人気No3
C#
C#のLINQクエリ構文の書き方と基本操作をマスターしよう
No.4
Java&Spring記事人気No4
C#
C#でswitch式を使う方法!C# 8.0以降の新機能を解説
No.5
Java&Spring記事人気No5
COBOL
COBOLの数値データ型「PIC 9」の使い方と注意点をやさしく解説!
No.6
Java&Spring記事人気No6
C#
C#のLINQ(リンク)とは?基本概念とデータ操作を初心者向けに徹底解説!
No.7
Java&Spring記事人気No7
C#
C#の非同期処理とUIスレッドをマスター!WPF/WinFormsでアプリが止まる問題を解決
No.8
Java&Spring記事人気No8
C#
C#のCancellationTokenを使ったキャンセル処理を完全ガイド!非同期処理を安全に止める方法