我有以下用於處理索引文件的代碼,但運行程序時出現運行時錯誤,「索引文件系統不可用」。我不確定如何編碼索引文件和數據文件。我是否正在進行初始化?什麼做錯了?Cobol錯誤中的索引文件處理?
IDENTIFICATION DIVISION.
PROGRAM-ID. INDEXFILE.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT VENDOR-FILE ASSIGN TO DISK
ORGANIZATION IS INDEXED
ACCESS MODE IS RANDOM
RECORD KEY IS VENDOR-NUMBER.
DATA DIVISION.
FILE SECTION.
FD VENDOR-FILE
LABEL RECORDS ARE STANDARD
VALUE OF FILE-ID IS "input.txt"
DATA RECORD IS VENDOR-RECORD.
01 VENDOR-RECORD.
05 VENDOR-NUMBER PIC 9(5).
05 VENDOR-NAME PIC X(30).
WORKING-STORAGE SECTION.
01 VNAME PIC X.
PROCEDURE DIVISION.
PARA1.
OPEN INPUT VENDOR-FILE.
DISPLAY 'ENTER VENDOR NO: '.
ACCEPT VENDOR-NUMBER.
DISPLAY VENDOR-NUMBER.
READ VENDOR-FILE
INVALID KEY DISPLAY 'NO SUCH RECORD'.
CLOSE VENDOR-FILE.
STOP RUN.
請告訴我們您正在使用哪種編譯器,並提供您收到的錯誤消息的完整文本。錯誤信息應該包括它所適用的行號。 – cschneid
我正在使用DSBOX作爲我的編譯。我編輯了代碼,錯誤顯示運行時錯誤,索引文件系統不可用。 – user3211403
什麼是DSBOX?你有更多的細節嗎?您應該對所有文件使用FILE STATUS(假設它對您可用)並且在每種類型的文件訪問之後測試良好狀態。例如,當您獲得OPEN的非零值時,實際的FILE STATUS代碼可能會提供更多信息。你確定你正在分配的文件是一個索引文件嗎?你的.txt文件是一個索引文件嗎?如果是這樣,我會給它一個不同的文件類型以避免混淆。 –