CICS - 删除



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

语法

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

以下是在没有使用 Update 选项读取记录的情况下直接删除记录的语法 −

语法

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

示例

以下是组删除的示例。这可以通过使用通用选项来完成,其中所有满足通用条件的记录将被删除。NUMREC 将持有被删除的记录数。此处提到的字段应为 S9(4) 比较字段。

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 命令异常

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

序号 异常和说明
1

NOTOPEN

文件未打开。

2

NOTFND

正在搜索的记录不存在于数据集中(DELETE 带有 RIDFLD)。

3

NOTAUTH

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

4

INVREQ

没有使用 UPDATE 之前进行重写。

5

FILENOTFOUND

FCT 中未创建文件项。

cics_file_handling.htm
广告