2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

#はじめに
初めて記事書くので皆々様お手柔らかにお願いします。
最近、仕事で官公庁系システムに携わっています。
そこで出会ったのがCOBOL!
情処の試験からこの前消えましたね笑
現在はなんやかんや格闘してますので、この機会に紹介してみようかと思います。

##COBOLの全体構成
COBOLプログラムの全体構造を説明していこうと思います。
プログラムは全体で4つに分かれて構成されています。

・見出し部
・環境部
・データ部
・手続き部

各部の中でさらに節と段落に分かれ、構成されています。
それぞれの部で役割が明確になっていて、ソースの可読性が高いと一般的に言われています。
ただ他の言語での実装に慣れている人からすると
「やりづらいなぁ」とか「こういう実装できんの!?てなる部分もあるかもしれません。」
ということで各部の説明をしていこうかと思います。

###見出し部
プログラムのメンテナンス情報を設定する場所になります。
プログラム名や作成者等々を設定しますが、プログラム名以外は廃項目となるらしいので
プログラム名だけ設定すれば問題ないです。
プログラム名を設定するうえで注意する必要があるので、説明します。

1.設定必須
2.見出し部の一番始めに設定
3.日本語ダメ絶対
4.重複禁止

1~3についてはエラーを吐くので気付けると思います。
ただ4に関しては注意して実装してください。
同一のプログラム名を設定してコンパイルした場合、上書きして既存プログラムのオブジェクトを
ぶち壊すことがあります。

###環境部
コンピュータ名や利用ファイル名等、実行に必要な環境を記述する場所になります。
環境部は「構成節」「入出力節」の2つの節の分かれています。

・構成節
ソース作成マシン名や実行マシン名を設定します。
・入出力節
インプット、アウトプットファイル名を設定します。

入出力がないプログラムであれば入出力節は省略可能です。
構成節は設定しなくても特に差支えありません。
(自分が見た諸先輩方のソースには書いているプログラムはなかったです。)

###データ部

プログラムを構築していく上で事前準備をしていくところです。
ここでは入出力ファイルのレイアウトやデータ項目(変数)等々プログラム内で扱うすべてのデータを
定義する必要があります。
プログラムを実装時に「あっ変数定義してないわ。まぁここでしか使わないから直前で定義しよ」
ってことが出来ないわけです。
(筆者は良くやりがち、本当によくない)
節は全部で5つあります。

ファイル節
作業場所節
連絡節
通信節
レポート節

ここでは詳しい部分は割愛します。まぁここで変数を全部定義するんだなって感じです。

###手続き部

COBOLプログラムで一番最後に記述する部分です。
ここではプログラムが行う処理内容を記述していきます。
手続き部は他の部と異なり規定の節や段落は存在しないです。
プログラムの作成者が執拗に応じて作成していくことになります。

#終わりに
なんやかんや書いているうちに長くなりましたのでこの辺にしたいと思います。
「COBOLプログラムの構成ってこんななんやー」ってわかってもらえれば幸いです。
(わからんぞ!って方、後はご自分で...)
まぁCOBOLに触れる機会自体少ないと思いますが笑

それでは。

2
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?