| ||||||||||||||
| ||||||||||||||
| ||||||||||||||
|
IDENTIFICATION DIVISION. PROGRAM-ID. CNT005. ENVIRONMENT DIVISION. *>環境部の宣言文 INPUT-OUTPUT SECTION. *>入出力節の宣言文 FILE-CONTROL. *>ファイル管理段落の宣言文 SELECT F1 ASSIGN TO "C:\dat\c005.dat". *>利用ファイルの詳細 DATA DIVISION. FILE SECTION. *>ファイル節の宣言文 FD F1. 01 F1R. 03 F1-CNT PIC 9(04). 03 PIC X(01). 03 F1-HH PIC 9(02). 03 PIC X(01). 03 F1-MM PIC 9(02). 03 PIC X(01). 03 F1-SS PIC 9(02). WORKING-STORAGE SECTION. 01 CNT PIC 9(04) VALUE 0. 01 WTIME. 03 HH PIC 9(02). 03 MM PIC 9(02). 03 SS PIC 9(02). PROCEDURE DIVISION. OPEN OUTPUT F1 *>ファイルを利用する場合は必ずOpenする! PERFORM UNTIL CNT = 100 ADD 1 TO CNT ACCEPT WTIME FROM TIME MOVE SPACE TO F1R MOVE CNT TO F1-CNT MOVE HH TO F1-HH MOVE MM TO F1-MM MOVE SS TO F1-SS WRITE F1R DISPLAY F1R END-PERFORM DISPLAY "<<< CNT005-ENDED>>>" CLOSE F1 STOP RUN.
2番目の部として環境部があります(上記プログラム参照)。この部ではプログラムで使用するコンピュータ名や利用するファイル、磁気テープやプリンタなどを指定します。入力や出力などの外部媒体(ファイルやプリンタ)を利用しないプログラムの場合は、省略して構いません。実務上、ファイルやプリンタを利用しないプログラムは皆無に等しいでしょう。特にファイルの記述は初心者にはやや難解に感じます。習うより慣れろ、さあ頑張って学習して下さい
環境部の中で一番注目すべきSECTION(節)はココ。利用ファイルの記述は全てココに書かなければいけません。
FILE-CONTROL.
この記述のように、A領域(2カラムから6カラム内)から始まりピリオドで終わる行を『段落』と言います。FILE-CONTROLは、ファイル管理段落と呼ばれ、利用するファイル管理記述を始めますよという宣言文です。COBOL言語ではファイルを扱う場合、必須になっています。(※I-O-CONTROLという段落もありますがここでは割愛します)
この宣言文の後に、利用ファイルの記述を行ないます。式は以下の通りです。
SELECT プログラム内でのファイル名 ASSIGN TO 機番名.(実ファイル名)
SELECT句と呼んでいますが、この文で実際に利用するファイルをプログラム上のファイルにASSIGN(割り当て)します。わかり易く言えば、
SELECT ドカベン ASSIGN TO 山田.
「山田」という名の生徒(ファイル)を、クラス(プログラム)の仲間は「ドカベン」というアダ名で呼びますよ、という意味合いです。
この節はデータ部に書く記述項目です。環境部でファイルの利用を宣言した場合には必ず記述しなければいけません。ココでは具体的にファイルの項目定義をします。
FD ファイル名.
この記述をFD句と呼びA領域から記述を始めます。利用するファイルの詳細が記述できます。BLOCK CONTAINS(ブロックの大きさ)句,DATA RECORDS(データレコード)句,LABEL RECORDS(ラベルレコード)句,LINAGE(行数)句などなど。詳しい説明は予約語を参照下さい。難しく考えず、ファイルを利用する時は、使用ファイルの詳細を記述する必要があるとだけ覚えておきましょう。
FD句に続いて実ファイル項目(レコード)の詳細を記述します。この部分は作業領域節で解説した内容と全く同じです。
FILE SECTION と WORKING-STORAGE SECTION は記述される内容が似ているのですが、ここで一度おさらいしてみましょう。FILE SECTIONには、あくまで入出力ファイルを利用する場合、各ファイル項目を記述する場所です。もう一方のWORKING-STORAGE SECTIONは、そのプログラム内で利用する項目(変数や定数)を記述する場所です。間違えないように注意して覚えましょう。