.. |_| unicode:: 0xA0 :trim: .. role:: small-caps :class: small-caps .. include:: .. index:: single:FileStat-Msgs .. _FileStat-Msgs: 1 FileStat-Msgs =============== The FileStat-Msgs.cpy copybook contains an EVALUATE statement to translate the two-digit file status codes that may be generated by file I/O statements. The copybook assumes that the file status data item name is "STATUS" and the error message data item is named "MSG". By using the COPY statement's REPLACING clause, however, you may use the data names you wish, as follows: :: COPY FileStat-Msgs REPLACING STATUS BY file-status-data-item-name MSG BY error-message-data-item-name Here's the current FileStat-Msgs.cpy copybook: :: 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 06 MOVE 'LS Multiple records ' 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 24 MOVE 'KEY BOUNDARY VIOLATION ' 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 71 MOVE 'BAD CHARACTER ' TO MSG WHEN 91 MOVE 'FILE NOT AVAILABLE ' TO MSG WHEN OTHER MOVE 'UNKNOWN ERROR ' TO MSG END-EVALUATE.