[COBOLのはじめ方] Part5: IDENTIFICATION DIVISIONとPROGRAM-ID

COBOL

COBOLプログラムの世界へようこそ! 🎉 このステップでは、COBOLプログラムの基本的な構造の一部である IDENTIFICATION DIVISION と、その中で最も重要な PROGRAM-ID について学びます。

Step 1ではCOBOLプログラム全体の構造を学びましたが、今回はその最初の部分である IDENTIFICATION DIVISION に焦点を当てていきましょう。

IDENTIFICATION DIVISION の役割

IDENTIFICATION DIVISION(見出し部)は、その名の通り、プログラムを「識別」するための情報を記述する部分です。人間がプログラムを見たときに、それが「何のプログラムなのか」を理解するためのメタデータ(付帯情報)を提供します。

この部にはいくつかの「段落」と呼ばれる記述項目がありますが、現在、必須とされているのは PROGRAM-ID 段落のみです。

💡 ポイント: IDENTIFICATION DIVISION はプログラム自身を説明するためのセクションです。

PROGRAM-ID 段落

PROGRAM-ID 段落は、プログラムに固有の名前を付けるための、IDENTIFICATION DIVISION において唯一必須の段落です。

ここに記述された名前(プログラム名)は、プログラムをコンパイルした際や、他のプログラムから呼び出す(CALLする)際に使用されます。

記述形式

IDENTIFICATION DIVISION.
PROGRAM-ID. プログラム名.
  • IDENTIFICATION DIVISION.PROGRAM-ID. は必ず記述します。
  • プログラム名 の部分に、あなたがプログラムにつけたい名前を記述します。
  • 各行の終わりにはピリオド(.)が必要です。

プログラム名の命名規則

プログラム名にはいくつかのルールがあります。使用するCOBOL処理系(コンパイラ)によって若干の違いがある場合もありますが、一般的には以下の規則に従います。

項目規則
文字数通常は1~30文字程度(処理系依存)SAMPLE01, SALES-REPORT
使用可能な文字英大文字 (A-Z), 英小文字 (a-z), 数字 (0-9), ハイフン (-)MYPROG-V2, CalcTax
最初の文字通常は英字である必要があります。(数字やハイフンで始まらない)OK: PROG1
NG: 1PROG, -PROG
最後の文字ハイフンであってはいけません。OK: PROG-A
NG: PROG-
予約語COBOLの予約語(MOVE, IF など)は使用できません。NG: MOVE, DATA
大文字・小文字区別されないことが多いです(処理系依存)。慣例的に英大文字で記述することが多いです。MyProgMYPROG は同じとみなされることが多い。
⚠️ 注意: 実際の開発では、プロジェクトや現場ごとに命名規約が定められていることが多いです。そのルールに従うようにしましょう。例えば、「最初の3文字はシステムID、続く3文字は機能ID、最後の2文字は連番」のようなルールです。(例: SYSFNC01

簡単なコード例

IDENTIFICATION DIVISION と PROGRAM-ID を記述した簡単な例を見てみましょう。

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO-WORLD.
* これはコメント行です。プログラム名を記述しました。

* ここから下の DIVISION は今は気にしなくてOKです。
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.

DATA DIVISION.
WORKING-STORAGE SECTION.

PROCEDURE DIVISION.
    DISPLAY 'Hello, COBOL World!'.
    STOP RUN.

この例では、プログラム名を HELLO-WORLD としています。

その他の段落(オプション)

IDENTIFICATION DIVISION には、PROGRAM-ID 以外にも以下のようなオプションの段落があります。

  • AUTHOR. : プログラムの作成者名
  • INSTALLATION. : プログラムが導入される場所や組織名
  • DATE-WRITTEN. : プログラムが作成された日付
  • DATE-COMPILED. : プログラムがコンパイルされた日付(通常はコンパイラが自動で設定)
  • SECURITY. : プログラムの機密性に関する情報
IDENTIFICATION DIVISION.
PROGRAM-ID. SAMPLE-PROG.
AUTHOR.     Taro Yamada.
INSTALLATION. XYZ Company.
DATE-WRITTEN. 2025-03-30.
SECURITY.   Confidential.
現代的な扱い: これらのオプション段落は、COBOLの古い規格では意味がありましたが、現代の開発ではあまり使われない傾向にあります。作成者や作成日といった情報は、プログラム内のコメントや、Gitなどのバージョン管理システムで管理するのが一般的です。そのため、実際のコードでは PROGRAM-ID のみが記述されていることが多いでしょう。

学習初期段階では、まずPROGRAM-ID が必須であることをしっかり覚えておきましょう!

まとめ

  • IDENTIFICATION DIVISION はプログラムを識別するための情報を記述する部。
  • PROGRAM-ID 段落は IDENTIFICATION DIVISION で唯一必須で、プログラム名を定義する。
  • プログラム名には命名規則があり、通常は英数字とハイフンが使える(処理系による)。
  • AUTHOR などの他の段落はオプションであり、現代ではコメントやバージョン管理システムで代替されることが多い。

これで、COBOLプログラムの最初の部分である IDENTIFICATION DIVISION と PROGRAM-ID について理解できましたね! 😊

次のステップでは、プログラムが動作する環境を定義する ENVIRONMENT DIVISION について学んでいきます。

コメント

タイトルとURLをコピーしました