2009年03月20日
COBOLの基礎知識【07】
浜松1チ-ムの雅宏です。
COBOLの基礎知識の第7回は、”COBOLプログラムの構成”です。
【COBOLプログラムの構成(部・節・段落)】
以下のサンプルプログラムをご覧ください。
サンプルプログラム(SAMPLE01)
000100********************************************
000200* 見出し部
000300********************************************
000400 IDENTIFICATION DIVISION.
000500 PROGRAM-ID. SAMPLE01.
000600********************************************
000700* 環境部
000800********************************************
000900 ENVIRONMENT DIVISION.
001000 INPUT-OUTPUT SECTION.
001100 FILE-CONTROL.
001200 SELECT INFL1 ASSIGN TO
001300 "C:¥cobol¥sample01¥infl1.txt".
001400********************************************
001500* データ部
001600********************************************
001700 DATA DIVISION.
001800 FILE SECTION.
001900 FD INFL1.
002000 01 I-SHAIN-REC.
002100 05 I-SHAIN-NO PIC 9(05).
002200 05 I-SHAIN-NAME PIC N(10).
002300 05 FILLER PIC X(02).
002400 WORKING-STORAGE SECTION.
002500 01 W-END-FLG PIC X(01).
002600********************************************
002700* 手続き部
002800********************************************
002900 PROCEDURE DIVISION.
003000 MAIN SECTION.
003100 MOVE SPACE TO W-END-FLG.
003200 OPEN INPUT INFL1.
003300 PERFORM S01-READ.
003400 PERFORM UNTIL W-END-FLG = "E"
003500 DISPLAY "社員番号:" I-SHAIN-NO
003600 " 氏名:" I-SHAIN-NAME
003700 PERFORM S01-READ
003800 END-PERFORM.
003900 CLOSE INFL1.
004000 MAIN-END.
004100 STOP RUN.
004200 S01-READ SECTION.
004300 READ INFL1
004400 AT END
004500 MOVE "E" TO W-END-FLG
004600 END-READ.
004700 S01-EXIT.
004800 EXIT.
004900********************************************
005000* プログラム終わり見出し
005100********************************************
005200 END PROGRAM SAMPLE01.
COBOLのソースプログラム(原始プログラム)は、4つの”部”(DIVISION)と”プログラム終わり見出し”で構成されます。
4つの部とは、見出し部、環境部、データ部、手続き部 です。
”部”の中には”節”(SECTION)があり、”節”の中には”段落(PARAGRAPH)”があります。
ただし、見出し部には”節”はありません。
サンプルプログラム(SAMPLE01)で”部”(DIVISION)は、
1. IDENTIFICATION DIVISION. | …000400~000500行目(見出し部) |
2. ENVIRONMENT DIVISION. | …000900~001300行目(環境部) |
3. DATA DIVISION. | …001700~002500行目(データ部) |
4. PROCEDURE DIVISION. | …002900~004800行目(手続き部) |
”節”(SECTION)は、
1. INPUT-OUTPUT SECTION. | …001000~001300行目 |
2. FILE SECTION. | …001800~002300行目 |
3. WORKING-STORAGE SECTION. | …002400~002500行目 |
4. MAIN SECTION. | …003000~004100行目 |
5. S01-READ SECTION. | …004200~004800行目 |
”段落”(PARAGRAPH)は、
1. PROGRAM-ID. | …000500行目 |
2. FILE-CONTROL. | …001100~001300行目 |
3. MAIN-END. | …004000~004100行目 |
4. S01-EXIT. | …004700~004800行目 |
”プログラム終わり見出し”は、
1. END PROGRAM SAMPLE01. | …005200行目 |
なお、COBOLのソースプログラムは、複数のプログラムを入れ子(ネスト)構造で
記述することができますが、
一番外側のプログラム(親プログラム)の場合は、”プログラム終わり見出し”を
省略することができます。
また、先頭から7桁目(標識領域)が”*”(アスタリスク)となっている行は、
コメント(注釈)として扱われ、プログラムの動作には影響を与えません。
このサンプルプログラムは、OpenCOBOL環境でコンパイル、実行することができます。
ただし、実際に動かすには入力ファイル(=入力データ)を作成する必要があります。
入力ファイルの作成と実行につきましては、COBOLプログラムの全体像を把握して
いただいた後に、ご説明したいと思います。
次回は、”見出し部(IDENTIFICATION DIVISION)”についてご説明いたします。
ブログランキングに参加しています。
---------------------------------------------------------------------------------------------------------------
■ 弊社の事をお知りになりたい方
■ 弊社へ入社希望の方
■ その他、ご相談やご連絡を取りたい方は
Posted by JOB CAFE at 00:00│Comments(1)
│COBOL
この記事へのコメント
浜松2チ-ムの河島です。
ちなみにですが・・・
先頭から7桁目(標識領域)が”D”となっている行は、デバッグ行となります。
デバッグ行は、コンパイル方法によってプログラムの挙動が変わります。
・リリース用コンパイル時は、注釈行の扱いにまります。
よって、プログラムの動作には影響を与えません。
・デバッグ用コンパイル時は、実行行の扱いとなります。
ちなみにですが・・・
先頭から7桁目(標識領域)が”D”となっている行は、デバッグ行となります。
デバッグ行は、コンパイル方法によってプログラムの挙動が変わります。
・リリース用コンパイル時は、注釈行の扱いにまります。
よって、プログラムの動作には影響を与えません。
・デバッグ用コンパイル時は、実行行の扱いとなります。
Posted by 河島 at 2009年03月20日 00:18