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)”についてご説明いたします。



Blog Ranking
ブログランキングに参加しています。

---------------------------------------------------------------------------------------------------------------
   ■ 弊社の事をお知りになりたい方
   ■ 弊社へ入社希望の方
   ■ その他、ご相談やご連絡を取りたい方は


画面上部の「オ-ナ-へメッセ-ジ」よりご連絡を下さい。




同じカテゴリー(COBOL)の記事
SQL豆知識【60】
SQL豆知識【60】(2010-06-13 16:07)


この記事へのコメント
浜松2チ-ムの河島です。

ちなみにですが・・・
先頭から7桁目(標識領域)が”D”となっている行は、デバッグ行となります。
デバッグ行は、コンパイル方法によってプログラムの挙動が変わります。
・リリース用コンパイル時は、注釈行の扱いにまります。
 よって、プログラムの動作には影響を与えません。
・デバッグ用コンパイル時は、実行行の扱いとなります。
Posted by 河島 at 2009年03月20日 00:18
上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。

プロフィール
JOB CAFE
JOB CAFE
株式会社 ネクサス
                  
本社 :静岡県浜松市中区大工町311-15
            
     TEL:053-451-0830           
     FAX:053-451-0832
オーナーへメッセージ
QRコード
QRCODE
アクセスカウンタ
読者登録
メールアドレスを入力して登録する事で、このブログの新着エントリーをメールでお届けいたします。解除は→こちら
現在の読者数 1人
削除
COBOLの基礎知識【07】
    コメント(1)