サイトのロゴ opensource COBOL Programmer’s Guide

前へ/目次/次へ

9. サンプルプログラム

9.1. FileStat-Msgs.cpy – ファイル状態コード

このコピーブックには、ファイルI/O文によって生成されるであろう2桁のファイル状態コードを変換するためのEVALUATE文が含まれている。

コピーブックでは、ファイル状態データ項目の名前が「STATUS」で、エラーメッセージデータ項目の名前が「MSG」であると想定している。ただし、COPY文のREPLACING句を使用すると、次のようにユーザが名付けたデータ名を扱うことができる。

COPY FileStat-Msgs
     REPLACING STATUS BY Input-File-Status
               MSG BY Error-Message.

以下は、コピーブック「FileStat-Msgs.cpy」である。

EVALUATE STATUS
     WHEN 00 MOVE 'SUCCESS ' TO MSG
     WHEN 02 MOVE 'SUCCESS DUPLICATE ' TO MSG
     WHEN 04 MOVE 'SUCCESS INCOMPLETE ' TO MSG
     WHEN 05 MOVE 'SUCCESS OPTIONAL ' TO MSG
     WHEN 07 MOVE 'SUCCESS NO UNIT ' TO MSG
     WHEN 10 MOVE 'END OF FILE ' TO MSG
     WHEN 14 MOVE 'OUT OF KEY RANGE ' TO MSG
     WHEN 21 MOVE 'KEY INVALID ' TO MSG
     WHEN 22 MOVE 'KEY EXISTS ' TO MSG
     WHEN 23 MOVE 'KEY NOT EXISTS ' TO MSG
     WHEN 30 MOVE 'PERMANENT ERROR ' TO MSG
     WHEN 31 MOVE 'INCONSISTENT FILENAME ' TO MSG
     WHEN 34 MOVE 'BOUNDARY VIOLATION ' TO MSG
     WHEN 35 MOVE 'FILE NOT FOUND ' TO MSG
     WHEN 37 MOVE 'PERMISSION DENIED ' TO MSG
     WHEN 38 MOVE 'CLOSED WITH LOCK ' TO MSG
     WHEN 39 MOVE 'CONFLICT ATTRIBUTE ' TO MSG
     WHEN 41 MOVE 'ALREADY OPEN ' TO MSG
     WHEN 42 MOVE 'NOT OPEN ' TO MSG
     WHEN 43 MOVE 'READ NOT DONE ' TO MSG
     WHEN 44 MOVE 'RECORD OVERFLOW ' TO MSG
     WHEN 46 MOVE 'READ ERROR ' TO MSG
     WHEN 47 MOVE 'INPUT DENIED ' TO MSG
     WHEN 48 MOVE 'OUTPUT DENIED ' TO MSG
     WHEN 49 MOVE 'I/O DENIED ' TO MSG
     WHEN 51 MOVE 'RECORD LOCKED ' TO MSG
     WHEN 52 MOVE 'END-OF-PAGE ' TO MSG
     WHEN 57 MOVE 'I/O LINAGE ' TO MSG
     WHEN 61 MOVE 'FILE SHARING FAILURE ' TO MSG
     WHEN 91 MOVE 'FILE NOT AVAILABLE ' TO MSG
END-EVALUATE.

ページトップへ