000010 IDENTIFICATION DIVISION.
000020 PROGRAM-ID. FILE1.
000030 ENVIRONMENT DIVISION.
000040 INPUT-OUTPUT SECTION.
000050 FILE-CONTROL.
000060 SELECT IN-FILE
000070 ASSIGN TO "D:/INPUT.TXT".
000080 SELECT OUT-FILE
000090 ASSIGN TO "D:/OUTPUT.TXT".
000100 DATA DIVISION.
000110 FILE SECTION.
000120 FD IN-FILE.
000130 01 IN-GOODS.
000140 03 GOODS-NAME1 PIC X(04).
000150 FD OUT-FILE.
000160 01 OUT-GOODS.
000170 03 GOODS-NAME2 PIC X(04).
000180 PROCEDURE DIVISION.
000190 OPEN INPUT IN-FILE.
000200 OPEN OUTPUT OUT-FILE.
000210 READ IN-FILE.
000220 MOVE GOODS-NAME1 TO GOODS-NAME2.
000230 WRITE OUT-GOODS.
000240*
000250 CLOSE IN-FILE.
000260 CLOSE OUT-FILE.
000270 DISPLAY GOODS-NAME1 OF IN-GOODS.
000280 DISPLAY GOODS-NAME2 OF OUT-GOODS.
000290 STOP RUN.
比上一篇文章多了一个写的操作,写的操作和读比较类似,知识WRITE关键字后面跟的是一个RECORD名。
着个RECORD跟在FD 出力文件的后面。
下面总结一些cobol出入力的关键字
环境部: SELECT 内部文件名 ASSIGN TO 外部文件名
ORGNIZATION IS 文件格式
数据部: FILE SECTION.
FD AA
01 AA-IN.
程序在处理输入和输出文件前,必须通过OPEN语句打开文件。
将文件中的一条记录放入记录缓存区,等待处理
将记录缓存区内的记录内容写入文件中
在程序结束时需要用CLOSE语句将打开的文件关闭。否则会导致数据无法写入文件,或者其他用户无法访问文件。
OPEN INPUT/OUTPUT/I-O/EXTEND FILE-NAME
INPUT:
文件只能用于读取。 写入,修改或者删除操作会发生错误
OUTPUT:
文件只能用于写入。读取该文件会发生错误。若打开的文件已存在则删除所有现存记录。
I-O:
文件可以读写。
EXTEND:
文件只能写入。将记录插入到现有文件的末尾。
CLOSE FILE-NAME
终止对文件的操作。
已经打开的文件,只有执行CLOSE语句之后才能在同一程序中再次被打开。
文件的关闭顺序,按照close语句中的顺序在执行。
READ 内部文件名 NEXT RECORD
AT END 程序段1
NOT AT END 程序段2
END-READ
文件读取前,必须先打开文件。
文件必须以INPUT或者I-O格式打开。
如果READ成功,则执行NOT AT END后的语句。
如果文件中不在有记录,则执行AT END 后的语句。
WRITE 记录名 FROM 编辑源
BEFORE/AFTER 数字
文件写入前,必须先打开文件。
文件必须以OUTPUT或者I-O格式打开。
将编辑源中的记录写入到目标文件中。
隔行打印多见于帐票程序中。