我的任务是从一个有 10 条记录的输入文件中读取数据,每个字段用分号 (;) 分隔,然后写入输出文件。但是在输出文件中,我必须使用空格,而不是分号 (;)。但问题是在输出文件中,我得到了 11 条记录,最后一条记录重复了。下面是我写的代码。你能告诉我我必须做什么吗?
*-----------------------------------------------------------------
PROCEDURE DIVISION.
*-----------------------------------------------------------------
OPEN INPUT VA0001R.
OPEN OUTPUT VA0001W.
PERFORM MAIN-PARA UNTIL WS-EOF = 'Y'.
PERFORM CLOSE-PARA.
CLOSE-PARA.
CLOSE VA0001R.
CLOSE VA0001W.
GOBACK.
MAIN-PARA.
READ VA0001R INTO WS-VA0001W
AT END MOVE 'Y' TO WS-EOF
NOT AT END
DISPLAY "WS-VA0001W=" WS-VA0001W
CONTINUE
MOVE SPACES TO WS-VA0001W.
UNSTRING REG-VA0001R DELIMITED BY ";"
INTO WS-CODISIN,WS-MARKETING-REPORT,WS-LAST-UPDATE1,
WS-ANNUAL-REPORT,WS-LAST-UPDATE2,WS-STATUTES,
WS-LAST-UPDATE3,WS-FULL-BROCHURE,WS-LAST-UPDATE4,
WS-SEMI-ANNUAL-REPORT,WS-LAST-UPDATE5,WS-SIMPIE-BROCHURE,
WS-LAST-UPDATE6.
PERFORM WRITE-PARA.
WRITE-PARA.
MOVE SPACES TO REG-VA0001W.
MOVE WS-CODISIN TO CODISIN.
MOVE WS-MARKETING-REPORT TO MARKETING-REPORT.
MOVE WS-LAST-UPDATE1 TO LAST-UPDATE1.
MOVE WS-ANNUAL-REPORT TO ANNUAL-REPORT.
MOVE WS-LAST-UPDATE2 TO LAST-UPDATE2.
MOVE WS-STATUTES TO STATUTES.
MOVE WS-LAST-UPDATE3 TO LAST-UPDATE3.
MOVE WS-FULL-BROCHURE TO FULL-BROCHURE.
MOVE WS-LAST-UPDATE4 TO LAST-UPDATE4.
MOVE WS-SEMI-ANNUAL-REPORT TO SEMI-ANNUAL-REPORT.
MOVE WS-LAST-UPDATE5 TO LAST-UPDATE5.
MOVE WS-SIMPIE-BROCHURE TO SIMPIE-BROCHURE.
MOVE WS-LAST-UPDATE6 TO LAST-UPDATE6.
WRITE REG-VA0001W.
我想在输出文件中获得 10 条记录,但我得到了 11 条记录。重复最后一条记录,输入文件有10条记录。