我最近得到了一个使用“EXTEND OPEN”命令将数据添加到已存在的文件的任务。虽然我认为我明白了它做了什么,但我发现我的程序遇到了麻烦,给了我这个错误:“148错误的打开模式或写入访问模式”。这是一个简单的程序,只能将一个新文件的条目添加到主文件中,但我无法完全理解。这里是我有:扩展打开(COBOL)
DATA DIVISION.
FILE SECTION.
FD OLD-MASTER-IN.
01 OLD-MASTER-REC-IN.
05 O-STATE-ABREV-IN PIC XX.
05 PIC X.
05 O-STATE-NAME-IN PIC X(17).
FD TRANS-FILE-IN.
01 TRANS-REC-IN.
05 N-STATE-ABREV-IN PIC XX.
05 PIC X.
05 N-STATE-NAME-IN PIC X(17).
WORKING-STORAGE SECTION.
01 ARE-THERE-MORE-RECORDS PIC X(3) VALUE 'YES'.
PROCEDURE DIVISION.
100-MAIN.
OPEN INPUT OLD-MASTER-IN
EXTEND TRANS-FILE-IN
PERFORM UNTIL ARE-THERE-MORE-RECORDS = 'NO '
READ OLD-MASTER-IN
AT END
MOVE 'NO' TO ARE-THERE-MORE-RECORDS
NOT AT END
PERFORM 200-REGULAR-UPDATE
END-READ
END-PERFORM
CLOSE OLD-MASTER-IN
TRANS-FILE-IN
STOP RUN.
200-REGULAR-UPDATE.
WRITE OLD-MASTER-REC-IN FROM TRANS-REC-IN.
任何帮助将不胜感激。
@nmichaels:是的,他们是。大部分金融体系仍然在大铁上运行Cobol。如果你想在一个利基维护编码的利基市场上投入大量资金,Cobol就成为了这个地方。但当然你们所有的年轻人都希望成为时尚人物,而Cobol的编码就像穿着粗花呢西服和格子袜一样,所以你不会用十英尺的杆子碰它,对吧? – 2011-02-21 02:16:19
@Robert:这不像是想要使用现代语言功能,比如小写字母和像`+`这样的奇特的新操作符,想成为时髦人物。 – nmichaels 2011-02-21 03:54:58