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

COBOLの88レベル(条件名)の使い方と活用例を完全解説!初心者でもわかる条件分岐の基本

88レベル(条件名)の使い方と活用例
88レベル(条件名)の使い方と活用例

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

生徒

「COBOLで、もっと読みやすく条件分岐する方法ってありますか?」

先生

「それなら『88レベル』という仕組みを使うと、とてもわかりやすくなりますよ。」

生徒

「88レベルって、どんなときに使うんですか?」

先生

「たとえば、『はい』『いいえ』などの状態を名前で表すときに、とても便利なんです。実際の使い方を一緒に見てみましょう!」

1. 88レベルとは?

1. 88レベルとは?
1. 88レベルとは?

COBOLの88レベルとは、「条件名」とも呼ばれ、ある変数の特定の値に対して、わかりやすい名前をつけるための仕組みです。

例えば、「ステータス」が「1」のときは「正常」、「2」のときは「異常」と読みやすくしたい場合に、88レベルを使うと便利です。

これによって、プログラムを読む人が「この値は何を意味するのか?」と迷わずにすみます。

これはまるで、「信号の色」に「止まれ」「進め」と名前を付けるようなイメージです。

2. 88レベル(条件名)の基本的な書き方

2. 88レベル(条件名)の基本的な書き方
2. 88レベル(条件名)の基本的な書き方

88レベルは、COBOLのDATA DIVISION(データディビジョン)の中に書きます。ある変数の値に、意味をもたせるように記述します。

書き方は次の通りです:


01 STATUS-CODE     PIC 9.
   88 正常         VALUE 1.
   88 異常         VALUE 2.

このように書くことで、STATUS-CODEが「1」のときに「正常」、STATUS-CODEが「2」のときに「異常」と読み替えることができます。

3. 88レベルを使った条件分岐の例

3. 88レベルを使った条件分岐の例
3. 88レベルを使った条件分岐の例

88レベルの大きなメリットは、IF文での条件分岐が、より直感的で読みやすくなることです。

次の例をご覧ください。


IDENTIFICATION DIVISION.
PROGRAM-ID. STATUS-CHECK.

DATA DIVISION.
WORKING-STORAGE SECTION.
01 STATUS-CODE     PIC 9.
   88 正常         VALUE 1.
   88 異常         VALUE 2.

PROCEDURE DIVISION.
    MOVE 1 TO STATUS-CODE

    IF 正常 THEN
        DISPLAY "処理は正常に終了しました。"
    END-IF

    IF 異常 THEN
        DISPLAY "処理中に異常が発生しました。"
    END-IF

    STOP RUN.

このプログラムでは、STATUS-CODEに「1」が設定されています。そして、88レベルを使って「正常」かどうかを判断しています。

このように、数字での比較を避けて、状態に意味のある名前をつけることで、読みやすく、メンテナンスもしやすいコードになります。

実行結果:

処理は正常に終了しました。

4. 複数の値に条件名をつけることもできる

4. 複数の値に条件名をつけることもできる
4. 複数の値に条件名をつけることもできる

88レベルでは、複数の値に対して条件名を設定することもできます。たとえば、「男性=1」「女性=2」「未回答=9」という設定があるときに、次のように書けます:


01 GENDER-CODE     PIC 9.
   88 男性         VALUE 1.
   88 女性         VALUE 2.
   88 未回答       VALUE 9.

さらには、次のようにVALUEの後にVALUESを使って、複数の値に同じ条件名を付けることも可能です。


01 GRADE-CODE      PIC 9.
   88 初級者       VALUES 1 2 3.

この場合、GRADE-CODEが1〜3のいずれかであれば、「初級者」という条件が成立します。

5. 88レベルの確認には「SET」文が便利

5. 88レベルの確認には「SET」文が便利
5. 88レベルの確認には「SET」文が便利

88レベルに対して、プログラム中で明示的に「有効」にするには、SET文を使います。これは、条件を「成立させる」という意味です。


SET 正常 TO TRUE

この文を実行すると、対応する変数(ここではSTATUS-CODE)に、自動的にVALUEの値(つまり1)が設定されます。

逆に、SET 異常 TO TRUEとすれば、STATUS-CODEに2が設定されます。

6. 88レベルが便利な場面とは?

6. 88レベルが便利な場面とは?
6. 88レベルが便利な場面とは?

88レベルが役立つのは、次のような場面です:

  • わかりやすいプログラムを作りたいとき
  • 状態が複数ある場合に、管理をしやすくしたいとき
  • IF文での比較を、数字でなく名前にしたいとき

たとえば、エラー処理や状態管理、性別や会員ステータスなどの固定値がある場面で、88レベルを使うことでコードが見やすくなります。

カテゴリの一覧へ
新着記事
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#で型を調べる方法!GetType()・typeof演算子の違いと使い方
No.7
Java&Spring記事人気No7
C#の数値型をマスターしよう!int・double・decimalの違いと使い方
No.8
Java&Spring記事人気No8
C#の日付型(DateTime)と基本的な使い方を解説|初心者向け入門ガイド