拡張ファイル ステータス コード例

次のコード例は、標準のファイル状態を拡張ファイル状態として使用できるように再定義する方法を示します。この例では、入力ファイルが存在しないことが想定されています。 OPEN INPUT 文を実行すると、9/013 ("ファイルが見つかりません") というファイル状態が返されます。

 select in-file
     assign to "user.dat".
     file status is file-status.
  ...
 working-storage section.
 01 file-status.
     05 status-key-1     pic x.
     05 status-key-2     pic x.
     05 status-key-2-binary redefines status-key-2 pic 99 comp-x.
  ...
 procedure division.
     open input in-file
     if file-status not = "00"
     if status-key-1 = "9"
     if status-key-2-binary = 13
         display "File not found"
  ...

拡張ファイル状態コードを表示する場合は、最大値 255 を格納できるだけの表示フィールドにファイル状態データ項目の 2 番目のバイトを移動する必要があります。

 select in-file
     assign to "user.dat"
     file status is file-status.
  ...
 working-storage section.
 01 ans74-file-status.
     05 status-key-1    pic x.
     05 status-key-2    pic x.
     05 status-key-2-binary redefines status-key-2 pic 99 comp-x.
 01 display-ext-status
     05 filler          pic xx value "9/"
     05 display-key 2   pic 999
  ...
 procedure division.
     open input in-file
     if file-status not = "00"
         display "Error. File status =" with no advancing
         if status-key-1 = "9"
             move status-key-2-binary to display-key-2
             display display-ext-status
         else
             display file-status
         end-if
  ...