CICS - DELETE 命令

DELETE 命令用于删除文件中存在的记录。在此命令之前,必须使用 READ UPDATE 命令读取记录。参数与之前描述的相同。Delete 命令的语法如下 −

语法

EXEC CICS DELETE
FILE('name')
END-EXEC.

以下是使用 Update 选项直接删除记录而不读取它的语法 −

语法

EXEC CICS DELETE
FILE('name')
RIDFLD(data-value)
END-EXEC.

示例

以下是 Group Delete 的示例。可以使用 Generic 选项完成此操作,其中将删除所有满足通用条件的记录。NUMREC 将保存已删除的记录数。此处提到的字段应为 S9(4) comp。

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).
01 WS-NUM-REC-DEL    PIC S9(4).
PROCEDURE DIVISION.
MOVE '11'       TO WS-STD-REC-KEY.
MOVE 2          TO WS-STD-KEY-LEN.
EXEC CICS READ
   FILE ('FL001')
   RIDFLD (WS-STD-REC-KEY)
   KEYLENGTH (WS-STD-KEY-LEN)
   GENERIC
   NUMREC (WS-NUM-REC-DEL)
END-EXEC.

删除命令异常

下表显示了 DELETE 语句期间出现的异常列表 −

Sr.No 异常 &描述
1

NOTOPEN

文件未打开。

2

NOTFND

正在搜索的记录在数据集中不存在(使用 RIDFLD 进行 DELETE)。

3

NOTAUTH

如果用户没有足够的权限使用该文件。

4

INVREQ

使用 READ 进行重写,无需事先进行更新。

5

FILENOTFOUND

FCT 中未输入文件。

cics_file_handling.html