COBOL/WRITEステートメント


WRITE(ファイル出力)
 
WTITEE命令は、他の命令のように単独で記述することはできません。
 
ファイルを利用する命令は、ENVIRONMENT DIVISIONやDATA DIVISIONで記述する定義とOPENやCLOSE命令とセットで利用しなければいけません。
 
READ命令とほぼ同一の記述が必要です。
 
1.環境部で記述する内容
 
ENVIRONMENT   DIVISION.
 
INPUT-OUTPUT  SECTION.
 
FILE-CONTOROL.
 
SELECT OUTPUT-FILE ASSIGN TO OPTFILE.
 
【解説】
 
①INPUT-OUTPUT  SECTION.(この通り記述する)
 
②FILE-CONTOROL.        (この通り記述する)
 
③SELECT OUTPUT-FILE ASSIGN TO OPTFILE.
 
 この定義は、内部参照ファイル名と外部参照ファイル名を関連付ける定義です。
 
 OUTPUT-FILEは、プログラム内で使用する内部参照ファイル名を記述します。
 
 OUTPUT-FILEでなくOUT-FILEでも何でもよいですが、入力ファイル名として
 わかりやすい名前を記述します。
 
 OUTFILEは、外部参照ファイル名です。
 
 これもOUTFILEでなくてもよいです。
 
 COBOLの種類によって、”OUTFILE”と記述する場合もあります。
 
 外部参照ファイル名は、メインフレーム(汎用コンピュータ)では
 JCL(プログラムを実行するための定義体)で使用されます。
 
 サーバ(UNIX系のコンピュータ)では、シェル(呼び名は違いますが
 JCLと同じようなもの)で使用されます。
 
 上述したファイル名以外は、そのまま記述すればよいです。
 
2.データ部で記述する内容
 
DATA          DIVISION.
FILE          SECTION.
FD  INPUT-FILE      LABEL RECORD STANDARD
DATA  RECORD INPUT-REC.
01  INPUT-REC.
03  INPUT-TANKA PIC 9(2).
03  INPUT-SURYO PIC 9(3).
 
【解説】
 
①FILE SECTION.(この通り記述する)
 
②FD OUTPUT-FILE LABEL RECORD STANDARD
 
 DATA  RECORD OUTPUT-REC.
 
 OUTPUT-FILEは、ENVIRONMENT DIVISIONで記述した内部参照ファイル名です。
 
 LABEL RECORD STANDARD(この通り記述する)
 
 DATA RECORD OUPUT-REC.(この後記述する01レベルの項目名と同じ名称を
 記述する)
 
 01 OUTPUT-RECは、レコード名の記述でOUTPUT-RECでなくても任意で
 わかりやすい名称であればよいです。
 
③01  OUTPUT-REC.(01はこの通り記述、OUTPUT-RECは②で記述した通りです)
 
④03  OUTPUT-TANKA PIC 9(2).
 
 03  OUTPUT-SURYO PIC 9(3).
 
 上の2行の記述は、入力ファイルのレコード構成を記述したものです。
 
 PIC 9(2)は、2桁の数字、PIC 9(3)は3桁の数字という定義ですから、
 合計した5桁がファイルの長さになります。
 
 要するに出力するファイルの内容に合わせた記述をすることです。
 
2.手続き部で記述する内容
 
PROCEDURE     DIVISION.
MAIN.
OPEN      OUTPUT     OUTPUT-FILE.
WRITE     OUTPUT-REC.
CLOSE     OUTPUT-FILE.
 
【解説】
 
①OPEN OUTPUT OUTPUT-FILE.
 
 上のOPENステートメントは、OUTPUT-FILEを出力ファイルとして開く
 (書き込むようにする)命令です。
 
 この命令を実行することによって、WRITEできるようになります。
 
 従って、OPEN命令はWRITE命令を実行する前に1回だけ実行する必要があります。
 
 OPEN OUTPUT(この通り記述)
 
 OUTPUT-FILEは、内部参照ファイル名を記述します。
 
②WRITE OUTPUT-FILE.
 
 OUTPUT-FILEは、内部参照ファイル名を記述します。
 
③CLOSE OUTPUT-FILE.
 
 上のCLOSEステートメントは、OUTPUT-FILEを閉じる(出力処理の終了)
 命令です。
 
 この命令を実行することによって、WRITEできなくなります。
 
 従って、CLOSE命令は最後のWRITE命令を実行した後に1回だけ実行する必要が
 あります。
 
 OUTPUT-FILEは、内部参照ファイル名を記述します。

COBOL/WRITEステートメント」への6件のフィードバック

  1. Johnc353

    Thanks so much for sharing all with the awesome info! I am looking forward to checking out far more posts! adbddfkeeeeb

    返信

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です