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