カテゴリ: COBOL 更新日: 2025/08/13

COBOLのWRITE文の使い方を完全ガイド!初心者でもわかるレコード出力処理

WRITE文を使ったレコードの出力処理
WRITE文を使ったレコードの出力処理

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

生徒

「先生、COBOLでデータをファイルに書き出す方法ってありますか?」

先生

「はい、COBOLではWRITE文という命令を使って、ファイルにレコードを書き込むことができますよ。」

生徒

「ファイルって、例えばメモ帳で開けるようなものですか?」

先生

「そうですね。COBOLで扱うファイルもテキスト形式で、中身をメモ帳などで見ることができますよ。実際の例で一緒に見ていきましょう!」

1. COBOLのWRITE文とは?

1. COBOLのWRITE文とは?
1. COBOLのWRITE文とは?

COBOLのWRITE文は、ファイルにレコード(1行のデータ)を書き込むための命令です。たとえば、お客様の情報や商品のデータを、1行ずつファイルに保存するのに使います。

「レコード」とは、簡単にいうと「ひとまとまりの情報」です。たとえば「山田 太郎 30歳」という情報が1つのレコードになります。

2. WRITE文を使った基本構文

2. WRITE文を使った基本構文
2. WRITE文を使った基本構文

まずは、基本的な構文を見てみましょう。


WRITE 出力レコード名
    AFTER ADVANCING 1 LINE.

AFTER ADVANCING は改行の指定です。「1 LINE」は1行分の改行という意味です。印刷やレポート形式の出力にも使われます。

3. サンプルプログラムで理解するWRITE文

3. サンプルプログラムで理解するWRITE文
3. サンプルプログラムで理解するWRITE文

では、実際に「顧客情報」を1件ずつファイルに書き出すサンプルプログラムを見てみましょう。


       IDENTIFICATION DIVISION.
       PROGRAM-ID. WRITE-SAMPLE.
       ENVIRONMENT DIVISION.
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
           SELECT CUSTOMER-FILE ASSIGN TO "customer.txt"
               ORGANIZATION IS LINE SEQUENTIAL.

       DATA DIVISION.
       FILE SECTION.
       FD  CUSTOMER-FILE.
       01  CUSTOMER-RECORD.
           05  CUSTOMER-NAME     PIC A(20).
           05  CUSTOMER-AGE      PIC 99.

       WORKING-STORAGE SECTION.
       01  WS-NAME               PIC A(20) VALUE SPACES.
       01  WS-AGE                PIC 99     VALUE ZEROS.

       PROCEDURE DIVISION.
       MAIN-PARA.
           MOVE "YAMADA TARO" TO WS-NAME.
           MOVE 30 TO WS-AGE.
           OPEN OUTPUT CUSTOMER-FILE.
           MOVE WS-NAME TO CUSTOMER-NAME.
           MOVE WS-AGE TO CUSTOMER-AGE.
           WRITE CUSTOMER-RECORD AFTER ADVANCING 1 LINE.
           CLOSE CUSTOMER-FILE.
           STOP RUN.

この例では、「YAMADA TAROさん(30歳)」のデータを1行のレコードとして customer.txt に出力しています。

4. 実行結果のイメージ

4. 実行結果のイメージ
4. 実行結果のイメージ

このプログラムを実行すると、customer.txt に以下のような内容が出力されます。


YAMADA TARO         30

20文字分の名前と2桁の年齢が1行で表示されます。

5. 出力する前に必要なOPEN命令

5. 出力する前に必要なOPEN命令
5. 出力する前に必要なOPEN命令

WRITE文を使う前に、ファイルを開く必要があります。それがOPEN OUTPUTという命令です。

OUTPUTは「出力専用」という意味で、「このファイルにデータを書き込みますよ」という宣言です。

書き込みが終わったら、CLOSEで必ずファイルを閉じてください。

6. なぜWRITE文が必要なの?

6. なぜWRITE文が必要なの?
6. なぜWRITE文が必要なの?

パソコンでデータを管理するとき、いちいち手作業でメモ帳に書くのは大変ですよね。WRITE文を使えば、COBOLプログラムが自動でファイルにデータを書いてくれます。

銀行や保険会社、役所などの大量の情報も、COBOLとWRITE文で効率的に保存しているんですよ。

7. よくあるミスと対処法

7. よくあるミスと対処法
7. よくあるミスと対処法
  • OPENし忘れ:WRITEの前に必ずOPEN OUTPUTが必要です。
  • データのMOVE忘れ:WORKING-STORAGEの変数を、レコードにMOVEしてからWRITEしましょう。
  • ファイル名の間違い:OS上で使用できるファイル名を確認しましょう。

8. ファイル出力の活用シーン

8. ファイル出力の活用シーン
8. ファイル出力の活用シーン

COBOLのWRITE文は、次のような場面でよく使われます:

  • 売上データの出力
  • 請求書情報の作成
  • 顧客情報の保存
  • 従業員の勤務記録の出力

実際のビジネスでも非常に重要な役割を果たしている機能です。

9. 書き込みモードの種類

9. 書き込みモードの種類
9. 書き込みモードの種類

OPEN OUTPUT は、ファイルを新しく作成して書き込むモードです。

すでに同じ名前のファイルがある場合は、上書きされてしまうので注意しましょう。

書き込みモードを間違えると、大切なデータが消えてしまう可能性もあります。

カテゴリの一覧へ
新着記事
C#でタイムスタンプの精度を上げるためのテクニックを徹底解説!(初心者向け)
C#のコーディング規約(C# Coding Conventions)とは?読みやすいコードを書くための基本ルール
C#のデストラクタ(ファイナライザ)の使い方と注意点をやさしく解説!
COBOL資産のバージョン管理とは?初心者でもわかる保守と管理の基本
人気記事
No.1
Java&Spring記事人気No1
COBOLで学ぶSELECT文のORDER BY・GROUP BY活用法!初心者でもわかるデータ集計
No.2
Java&Spring記事人気No2
C#のpartialクラスとは?初心者でも理解できるクラス分割の基本
No.3
Java&Spring記事人気No3
COBOLのCOPY句の使い方を完全ガイド!初心者でもわかる共通部品の再利用方法
No.4
Java&Spring記事人気No4
COBOLで学ぶカーソル操作と複数行データ取得の基本
No.5
Java&Spring記事人気No5
COBOLの数値データ型「PIC 9」の使い方と注意点をやさしく解説!
No.6
Java&Spring記事人気No6
C#の数値型をマスターしよう!int・double・decimalの違いと使い方
No.7
Java&Spring記事人気No7
C#で型を調べる方法!GetType()・typeof演算子の違いと使い方
No.8
Java&Spring記事人気No8
C#の日付型(DateTime)と基本的な使い方を解説|初心者向け入門ガイド