Rational Developer for System z
COBOL for Windows バージョン 7.5 プログラミング・ガイド


例: 外部ファイルの使用

次の例は、いくつかのプログラムにおける外部ファイルの使用を示しています。それぞれのサブプログラムにファイルの同じ記述が含まれていることを保証するために、COPY ステートメントを使用します。

次の表は、メインプログラムとサブプログラムを説明しています。

名前 機能
ef1 メインプログラム。すべてのサブプログラムを呼び出し、レコード域の内容を検査する。
ef1openo 出力用に外部ファイルをオープンし、ファイル状況コードを検査する。
ef1write 外部ファイルにレコードを書き込み、ファイル状況コードを検査する。
ef1openi 入力用に外部ファイルをオープンし、ファイル状況コードを検査する。
ef1read 外部ファイルからレコードを読み取り、ファイル状況コードを検査する。
ef1close 外部ファイルをクローズし、ファイル状況コードを検査する。

各プログラムは、次の 3 つのコピーブックを使用します。

外部ファイルを使用する入出力

 Identification Division.
 Program-Id.
     ef1.
*
* This main program controls external file processing.
*
 Environment Division.
 Input-Output Section.
 File-Control.
     Copy efselect.
 Data Division.
 File Section.
     Copy effile.
 Working-Storage Section.
     Copy efwrkstg.
 Procedure Division.
     Call “ef1openo”
     Call “ef1write”
     Call “ef1close”
     Call “ef1openi”
     Call “ef1read”
     If ef-record-1 = “First record” Then
       Display “First record correct”
     Else
       Display “First record incorrect”
       Display “Expected: ” “First record”
       Display “Found   : ” ef-record-1
     End-If
     Call “ef1close”
     Goback.
 End Program ef1.
 Identification Division.
 Program-Id.
     ef1openo.
*
* This program opens the external file for output.
*
 Environment Division.
 Input-Output Section.
 File-Control.
     Copy efselect.
 Data Division.
 File Section.
     Copy effile.
 Working-Storage Section.
     Copy efwrkstg.
 Procedure Division.
     Open Output ef1
     If efs1 Not = 0
       Display “file status ” efs1 “ on open output”
       Stop Run
     End-If
     Goback.
 End Program ef1openo.
 Identification Division.
 Program-Id.
     ef1write.
*
* This program writes a record to the external file.
*
 Environment Division.
 Input-Output Section.
 File-Control.
     Copy efselect.
 Data Division.
 File Section.
     Copy effile.
 Working-Storage Section.
     Copy efwrkstg.
 Procedure Division.
     Move “First record” to ef-record-1
     Write ef-record-1
     If efs1 Not = 0
       Display “file status ” efs1 “ on write”
       Stop Run
     End-If
     Goback.
 End Program ef1write.
 Identification Division.
 Program-Id.
     ef1openi.
*
* This program opens the external file for input.
*
 Environment Division.
 Input-Output Section.
 File-Control.
     Copy efselect.
 Data Division.
 File Section.
     Copy effile.
 Working-Storage Section.
     Copy efwrkstg.
 Procedure Division.
     Open Input ef1
     If efs1 Not = 0
       Display “file status ” efs1 “ on open input”
       Stop Run
     End-If
     Goback.
 End Program ef1openi.
 Identification Division.
 Program-Id.
     ef1read.
*
* This program reads a record from the external file.
*
 Environment Division.
 Input-Output Section.
 File-Control.
     Copy efselect.
 Data Division.
 File Section.
     Copy effile.
 Working-Storage Section.
     Copy efwrkstg.
 Procedure Division.
     Read ef1
     If efs1 Not = 0
       Display “file status ” efs1 “ on read”
       Stop Run
     End-If
     Goback.
 End Program ef1read.
 Identification Division.
 Program-Id.
     ef1close.
*
* This program closes the external file.
*
 Environment Division.
 Input-Output Section.
 File-Control.
     Copy efselect.
 Data Division.
 File Section.
     Copy effile.
 Working-Storage Section.
     Copy efwrkstg.
 Procedure Division.
     Close ef1
     If efs1 Not = 0
       Display “file status ” efs1 “ on close”
       Stop Run
     End-If
     Goback.
 End Program ef1close.

ご利用条件 | フィードバック

Copyright IBM Corporation 1996, 2008.
このインフォメーション・センターでは Eclipse テクノロジーが採用されています。(http://www.eclipse.org)