COBOL言語のプログラム構成を理解しよう!|基礎ガイド

COBOL(コボル)言語の4つの部で作られるプログラム構成とは

基礎-CONSTITUTIONプログラム-イメージ

COBOL(コボル)言語のプログラム構成とは?

COBOL(コボル)言語は見出し部、環境部、データ部、手続き部の4つの部でプログラムが構成されています。

4つの部はさらに節(SECTION)、段落、実行文が記述されます。

1.見出し部(IDENTIFICATION DIVISION)

・COBOLプログラムで最初に記述される部になります。COBOLプログラムであることを識別し、プログラム名やプログラム作成者、作成日などの基本情報を段落として記述することができます。

2.環境部(ENVIRONMENT DIVISION)

・COBOLプログラムで2番目に記述される部になります。COBOLプログラムから読み書きするファイル名や種類を定義したり、実行するコンピューター情報などの定義が行われます。

3.データ部(DATA DIVISION)

・COBOLプログラムで3番目に記述される部になります。COBOLファイルの内容、実際にプログラムで使用するデータ定義を行います。一般的なプログラミング言語は変数定義をどの場所でも行えますが、COBOL言語の変数定義は全てデータ部で行うことになります。

4.手続き部(PROCEDURE DIVISION)

・COBOLプログラムで最後に記述される部になります。プログラムとして実際に処理させる実行文を記述します。これまでのように規定の節(SECTION)や段落はなく、プログラム作成者が必要に応じて、名称含めて自由に定義することができます。

では実際にこれらの部を使用したプログラムを作成してみましょう。

使用例:

基礎-CONSTITUTIONプログラム1-使用例

実行結果:

基礎-CONSTITUTIONプログラム1-実行結果

COBOL(コボル)言語のプログラム構成における基本事項やルールについて

1.見出し部に、節(SECTION)は存在しません。

2.プログラム名は英文字、数字、ハイフン、アンダーバーが使用でき30文字以内で記述します。

プログラム名の先頭文字は英文字でなければなりません。

3.環境部は「CONFIGURATION SECTION(構成節)、INPUT-OUTPUT SECTION(入出力節)」の定義ができます。CONFIGURATION SECTIONは、コンパイルと実行する機種が異なる場合に使用しますが、現在省略されることが多いです。

4.データ部は「FILE SECTION(ファイル節)、WORKING-STORAGE SECTION(作業場所節)、LINKAGE SECTION(連絡節)、COMMUNICATION SECTION(通信節)、REPORT SECTION(報告書節)」が定義できます。

COBOL(コボル)言語のプログラム構成における注意点

日本語など使用するプログラム、コード体系によっては互換性がなく、COBOL言語から別のプログラミング言語などに移植する際、不具合につながる可能性がありますので使用の際は注意しましょう。

手続き部については、自由に節や段落の名前を定義することができますが、同じプログラム内で重複して使用することはできません。また、複数プログラムを作成する際に、節や段落の名前が違うと可読性が低くなり、保守にも影響がでるため、どういう処理でどういう名前を使うかは、ルール作りをしておくといいでしょう。

プログラム構成を考えたCOBOL(コボル)プログラムの活用法

COBOL言語のプログラム構成は先ほどご紹介した通り、4つの部で構成されており、手続き部以外には節も定義されていることを理解いただけたかと思います。ここでは、実際に4つの部とよく使われる節を使用したプログラムを作成してみましょう。実際に使用されているプログラムを見ることで、部や節の役割の理解が進むと思います。

サンプルプログラム:

  1. IDENTIFICATION DIVISION.
  2. PROGRAM-ID. COBOL_SAMPLE2.
  3. ENVIRONMENT DIVISION.
  4. INPUT-OUTPUT SECTION.
  5. FILE-CONTROL.
  6.  SELECT OUT01-FILE
  7.   ASSIGN TO "out01.txt"
  8.   ORGANIZATION IS LINE SEQUENTIAL.
  9. DATA DIVISION.
  10. FILE SECTION.
  11. FD OUT01-FILE.
  12. 01 OUT01.
  13.  03 OUT01-COMMENT PIC X(13).
  14. WORKING-STORAGE SECTION.
  15. 01 OUT-FILE-COMMENT PIC X(13) VALUE "Hello World !".
  16. PROCEDURE DIVISION.
  17. *> 1.初期処理(ファイルオープン)
  18.  OPEN OUTPUT OUT01-FILE.
  19. *> 2.主処理(文字をファイルに書き出す)
  20.  DISPLAY "Hello World !".
  21.  MOVE OUT-FILE-COMMENT TO OUT01-COMMENT.
  22.  RITE OUT01.
  23. *> 3.終了処理(ファイルクローズ)
  24.  CLOSE OUT01-FILE.
  25.  STOP RUN.

実行結果:

基礎-CONSTITUTIONプログラム2-実行結果1

出力ファイル結果(OUT01):

基礎-CONSTITUTIONプログラム2-実行結果2

今回はCOBOL言語のプログラム構成についてご紹介しました。どのプログラム言語を学ぶ際にもまず初めに理解しておく必要がある内容になりますので、実際にプログラミングして覚えていきましょう。また、他のプログラミング言語を学ばれている方は、その言語と比較しながら違いについても理解してみましょう。

この記事を読んだ人は、こちらの記事も読んでいます

あなたのCOBOL技術を活かしませんか?

株式会社COBOLの求人・転職・募集情報を見る

COBOL入門のカテゴリー

|  基礎  |  応用  |  勉強  |  試験  |  辞書  |

取引企業様 募集中
COBOL技術者 募集
COBOL魂
読者採用
COBOL入門