猫とコード

化学メーカーでweb開発している猫大好きエンジニアの備忘録です。

Cobol初学者の忘備録

仕事でCOBOLで化石発掘をすることになりましたので忘備録。

記述領域

COBOLは桁数で何を記述するかが決まっている。 下記のとおり

桁数 名称 内容
1-6 シーケンス番号領域 プログラムの行番号を記述する。行番号はエラーメッセージに利用される
7-72 A領域 ソースコードを記述する領域
73-80 B領域 コメントを記述する領域

DIVISION.

プログラムを4つの論理的領域に分ける。 各領域は次の通り

DIVISION名 内容
IDENTIFICATION DIVISION. プログラムの基本情報箇所。プログラム名、作成者等々
ENVIRONMENT DIVISION: 環境情報の箇所
DATA DIVISION: データ記述箇所。変数、レコード等々。WORKING-STORAGE SECTION.で宣言
PROCEDURE DIVISION: プログラム記述箇所

SECTION.

プログラム記述領域において処理ブロックを作成する。 (サブルーチンのようなもの)

PERFORM セクション名で呼び出しができる。セクションの処理が終了すると呼び出し元に戻る。

下記の例ではMAIN-SECTION.からスタートし、PROCESS-SECTION-A.⇒PROCESS-SECTION-B.の順で呼び出しを行う。

      IDENTIFICATION DIVISION.
      PROGRAM-ID. hogehoge.
      
      DATA DIVISION.
      WORKING-STORAGE SECTION.
      01 Variable-A PIC 9(3) VALUE 100.
      01 Variable-B PIC 9(3) VALUE 200.

      PROCEDURE DIVISION.
      MAIN-SECTION.
          DISPLAY 'Main section.'
          PERFORM PROCESS-SECTION-A
          PERFORM PROCESS-SECTION-B
          DISPLAY 'Program completed.'

       PROCESS-SECTION-A.
          DISPLAY 'Processing Section A.'
          COMPUTE Variable-A = Variable-A + 10.

       PROCESS-SECTION-B.
          DISPLAY 'Processing Section B.'
          COMPUTE Variable-B = Variable-B - 20.