なぜ「部」の記述が重要なのか?
COBOLという言語は、まるで「本」のように厳格な階層構造を持っています。皆さんが書いたコードをコンピュータが読み解くとき、どこがデータの定義場所で、どこが処理を行う場所なのかを明確にする必要があります。この「場所」を宣言するのが部(DIVISION)、節(SECTION)、段落(PARAGRAPH)です。これらを正しく記述しないと、コンパイラは迷子になり、プログラムは一文字も動きません。今回は、このCOBOLの「骨組み」について解説します。
基礎知識:COBOLの階層構造
COBOLのプログラムは、以下の順序で構成されます。
1. 部(DIVISION):プログラムの最も大きな区分です(例:手続き部)。
2. 節(SECTION):部の中をさらに細かく分けた論理的なグループです。
3. 段落(PARAGRAPH):処理の最小単位となるブロックです。
重要なルールは「部」の見出しは必ず独立した行に記述し、最後に必ず「ピリオド(.)」を打つことです。例えば「PROCEDURE DIVISION.」という行ですね。これを忘れると、コンパイラは「ここはどの部なのか?」を判断できず、致命的なパースエラーを引き起こします。
実装のポイント
初心者が陥りがちなミスは、部や節の見出しの後にピリオドを打ち忘れることや、インデント(字下げ)をせずに行の途中に書いてしまうことです。COBOLでは、これらの見出しは「A領域(左端から8〜11桁目)」から開始するのが標準的なルールです。読みやすいコードは、構造がはっきりしているコードです。
サンプルプログラム
以下は、最も標準的なプログラムの構成例です。そのままコピーして、構造を確認してみてください。
IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO-WORLD.
- ここからデータ部:変数などを定義する場所
DATA DIVISION.
WORKING-STORAGE SECTION.
01 MSG-AREA PIC X(20) VALUE ‘HELLO COBOL!’.
- ここから手続き部:実際の処理を書く場所
PROCEDURE DIVISION.
MAIN-PARAGRAPH.
DISPLAY MSG-AREA.
STOP RUN.
応用と注意点
現場でよくあるバグの一つに、「節(SECTION)」を定義した後に、その外側に「段落(PARAGRAPH)」を書いてしまうケースがあります。一度SECTIONを定義すると、それ以降の段落はすべてそのSECTIONの中に含まれるとみなされます。
また、段落名の後のピリオドも忘れてはいけません。COBOLの歴史は長く、古い資産を修正する際には、この階層構造のルールが厳格に守られているかどうかが保守性の鍵を握ります。常に「部・節・段落」の親子関係を意識して、インデントを揃える習慣をつけましょう。これだけで、エラーの発生率は劇的に下がりますよ。

コメント