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

COBOLのレベル番号とは?01〜77の役割と変数宣言を初心者向けに解説!

レベル番号(01〜77)の役割と変数宣言の例
レベル番号(01〜77)の役割と変数宣言の例

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

生徒

「COBOLで変数を使うとき、'01'とか'77'とかの数字がついているのを見たんですけど、これは何ですか?」

先生

「良いところに気づきましたね。これは『レベル番号』と呼ばれるもので、COBOLでは変数やデータの構造を表すために使います。」

生徒

「どんな風に使われるんですか?難しそうでよくわかりません…」

先生

「それでは、COBOLのレベル番号の役割と、変数の書き方について、やさしく解説していきましょう!」

1. レベル番号とは?COBOLで変数を定義するための重要な数字

1. レベル番号とは?COBOLで変数を定義するための重要な数字
1. レベル番号とは?COBOLで変数を定義するための重要な数字

COBOL(コボル)では、変数を定義するときに「レベル番号(レベルばんごう)」という数字を使います。これは、データの「構造(かたち)」や「階層(かいそう)」を表すものです。レベル番号は、主に 01 から 49、そして 7766 などが使われます。

プログラミング初心者の方は、「レベルって何?構造ってどういうこと?」と戸惑うかもしれませんね。ここでは、難しい専門用語を使わず、やさしく説明していきます。

2. レベル番号の使い方をイメージで理解しよう!

2. レベル番号の使い方をイメージで理解しよう!
2. レベル番号の使い方をイメージで理解しよう!

レベル番号は、タンスの引き出しのように考えるとわかりやすいです。

  • 01レベル:タンス本体(データの最上位)
  • 05・10レベル:タンスの引き出し(中の項目)
  • 77レベル:引き出しではなく、単独で使う小物入れのような変数

このように、レベル番号はデータをまとめるための箱のような役割を持っています。

3. 01レベルとその中の項目:グループ項目を作ろう

3. 01レベルとその中の項目:グループ項目を作ろう
3. 01レベルとその中の項目:グループ項目を作ろう

01レベルは、グループ項目(まとめて扱うデータ)を定義するために使います。中に入れる個別の項目は、05や10などのレベル番号を使って記述します。

例として、名前や年齢、住所をまとめたデータ構造を見てみましょう。


DATA DIVISION.
WORKING-STORAGE SECTION.

01 PERSONAL-DATA.
    05 NAME        PIC X(20).
    05 AGE         PIC 9(3).
    05 ADDRESS     PIC X(50).

ここでのポイント:

  • 01 PERSONAL-DATAは、グループ全体の名前
  • 05は、グループの中の「子ども」のような項目
  • PIC(ピクチャ)は、データの型(形)を表します

4. 77レベルとは?単独の変数を宣言したいときに使おう

4. 77レベルとは?単独の変数を宣言したいときに使おう
4. 77レベルとは?単独の変数を宣言したいときに使おう

77レベルは、グループ構造を使わずに、単独で変数を定義するためのものです。

こちらは、簡単な変数をひとつだけ用意したいときに使います。


DATA DIVISION.
WORKING-STORAGE SECTION.

77 TOTAL-AMOUNT     PIC 9(5)V99.
77 CUSTOMER-NAME    PIC X(30).

このように、77レベルは他の変数と入れ子(ネスト)にならないので、シンプルなデータ管理に便利です。

5. 実際にDISPLAY文で変数を使ってみよう

5. 実際にDISPLAY文で変数を使ってみよう
5. 実際にDISPLAY文で変数を使ってみよう

それでは、実際に変数を定義して、DISPLAY文で画面に表示してみましょう。


IDENTIFICATION DIVISION.
PROGRAM-ID. SAMPLE-LEVELS.

DATA DIVISION.
WORKING-STORAGE SECTION.

01 PERSONAL-INFO.
    05 FULL-NAME    PIC X(20) VALUE "山田 太郎".
    05 AGE          PIC 9(2)  VALUE 28.

77 COUNTRY          PIC X(10) VALUE "日本".

PROCEDURE DIVISION.

    DISPLAY "名前: " FULL-NAME
    DISPLAY "年齢: " AGE
    DISPLAY "国籍: " COUNTRY

    STOP RUN.

実行結果:


名前: 山田 太郎
年齢: 28
国籍: 日本

6. レベル番号の一覧と使い分けをまとめて覚えよう

6. レベル番号の一覧と使い分けをまとめて覚えよう
6. レベル番号の一覧と使い分けをまとめて覚えよう

COBOLでよく使うレベル番号と、その用途を以下にまとめます。

  • 01:グループの先頭。大きな箱。
  • 02〜49:01の中に入る小さな箱(入れ子構造が可能)。
  • 66:リネーム項目(別名をつけたいとき)。※初心者は今は使わなくてOK
  • 77:単独で使うシンプルな変数。
  • 88:条件名を定義するときに使う特殊なレベル。※別記事で解説予定

最初は 01 と 77 を覚えれば十分です!

7. プログラミング初心者がレベル番号を学ぶときのポイント

7. プログラミング初心者がレベル番号を学ぶときのポイント
7. プログラミング初心者がレベル番号を学ぶときのポイント

初心者がCOBOLを学ぶとき、いきなり多くのレベル番号を覚えようとせず、まずは基本の構造を理解しましょう。

  • 01レベルは「データのまとまり」を作るときに使う
  • 77レベルは「単独で変数」を定義するときに使う
  • 05、10などは、01レベルの中に入れる「項目の部品」

紙に書いて図にすると、データの入れ子構造が見えてきますよ。

8. レベル番号を使った変数宣言を身につけよう!

8. レベル番号を使った変数宣言を身につけよう!
8. レベル番号を使った変数宣言を身につけよう!

COBOLでは、データの構造をはっきりさせてプログラムを書くのが特徴です。レベル番号はそのための「目印(めじるし)」のようなものです。

しっかりと変数を宣言しておくと、後の計算処理やデータ出力もスムーズになります。まずは、01レベルと77レベルを使い分けて、自分で変数宣言ができるようになりましょう。

カテゴリの一覧へ
新着記事
COBOLの変数名の付け方を解説!初心者でもわかる命名規則とコツ
C#のbreakとcontinueの使い方!ループ制御の基本テクニック
COBOLのFILLERの使い方とは?未使用領域を上手に管理する基本テクニック
C#のforeach文の基本!配列やコレクションを簡単に繰り返し処理する方法
人気記事
No.1
Java&Spring記事人気No1
COBOLのDISPLAY文の使い方を完全ガイド!初心者でもわかる出力方法
No.2
Java&Spring記事人気No2
C#のwhile文の使い方!条件付きループを基礎から学ぼう
No.3
Java&Spring記事人気No3
C#で型を調べる方法!GetType()・typeof演算子の違いと使い方
No.4
Java&Spring記事人気No4
C#のfor文の基本!繰り返し処理をわかりやすく解説