CICS - REWRITE 命令
REWRITE 命令用于修改文件中已存在的记录。在此命令之前,必须使用 READ UPDATE 命令读取记录。参数与之前描述的相同。Rewrite 命令的语法如下 −
语法
EXEC CICS REWRITE FILE (name) FROM (data-area) LENGTH (data-value) END-EXEC.
示例
以下示例显示如何在"FL001"文件中写入一条记录,其中 Studentid 是主键。文件中将写入一条新记录,学生 ID 为 101 −
IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-STD-REC-LEN PIC S9(4) COMP.
01 WS-STD-KEY-LEN PIC S9(4) COMP.
01 WS-STD-REC-KEY PIC 9(3).
01 WS-STD-REC PIC X(70).
PROCEDURE DIVISION.
MOVE +70 TO WS-STD-REC-LEN.
MOVE '101' TO WS-STD-REC-KEY.
MOVE 3 TO WS-STD-KEY-LEN.
EXEC CICS READ
FILE ('FL001')
INTO (WS-STD-REC)
LENGTH (WS-STD-REC-LEN)
RIDFLD (WS-STD-REC-KEY)
KEYLENGTH (WS-STD-KEY-LEN)
UPDATE
END-EXEC.
MOVE '100Mohtahim M TutorialsPnt' TO WS-STD-REC.
EXEC CICS REWRITE
FILE ('FL001')
FROM (WS-STD-REC)
LENGTH (WS-STD-REC-LEN)
END-EXEC.
重写命令异常
下表列出了 REWRITE 语句期间出现的异常 −
| Sr.No | 异常 &描述 |
|---|---|
| 1 | NOTOPEN 文件未打开。 |
| 2 | LENGERR 命令中指定的长度与记录的实际长度不匹配。 |
| 3 | NOTAUTH 如果用户没有足够的权限使用该文件。 |
| 4 | INVREQ 重写而不事先使用 READ更新。 |
| 5 | 无空间 数据集中空间不足。 |

cics_file_handling.html