Compaq AAQ2G1FTK Marine Radio User Manual


 
Handling Input/Output Exception Conditions
7.3 Using File Status Values and OpenVMS RMS Completion Codes
Example 74 (Cont.) Using the File Status Value in an Exception Handling
Routine
REWRITE INDEXED-RECORD
INVALID KEY MOVE "Bad REWRITE" TO BAD-VERB-ID
PERFORM A900-EXCEPTION-HANDLING-ROUTINE.
.
.
.
START INDEXED-FILE
INVALID KEY MOVE "Bad START" TO BAD-VERB-ID
PERFORM A900-EXCEPTION-HANDLING-ROUTINE.
.
.
.
WRITE INDEXED-RECORD
INVALID KEY MOVE "Bad WRITE" TO BAD-VERB-ID
PERFORM A900-EXCEPTION-HANDLING-ROUTINE.
.
.
.
A900-EXCEPTION-HANDLING-ROUTINE.
DISPLAY BAD-VERB-ID " - File Status Value = " INDEXED-FILE-STATUS.
PERFORM A905-GET-ANSWER UNTIL ANSWER = "Y" OR "N".
IF ANSWER = "N" STOP RUN.
A905-GET-ANSWER.
DISPLAY "Do you want to continue?"
DISPLAY "Please answer Y or N"
ACCEPT ANSWER.
See Soft Record Locks for information about inspecting variables with soft record
locks and Declarative USE procedures.
Each file processing statement described in the Procedure Division section of the
Compaq COBOL Reference Manual contains a specific list of file status values
in its Technical Notes section. In addition, all file status values are listed in an
appendix in the Compaq COBOL Reference Manual.
7.3.2 RMS Completion Codes (OpenVMS)
Compaq COBOL on OpenVMS Alpha checks for RMS completion codes after each
file and record operation. If the code indicates anything other than unconditional
success, Compaq COBOL maps the RMS completion code to a file status value.
However, not all RMS completion codes map to distinct file status values. Many
RMS completion codes map to File Status 30, a COBOL code for errors that have
no specific file status value.
Compaq COBOL provides the following six special exception condition registers,
four of which are shown in Example 7–5:
RMS-STS
RMS-STV
RMS-FILENAME
RMS-CURRENT-STS
RMS-CURRENT-STV
RMS-CURRENT-FILENAME
Handling Input/Output Exception Conditions 75