CICS - WRITE 命令

Write 命令用于向文件添加新记录。Write 命令中使用的参数与我们之前描述的相同。数据从 FROM 子句中提到的数据区域中提取。以下是 Write 命令的语法 −

语法

EXEC CICS WRITE
FILE(name)
FROM(data-area)
RIDFLD(data-area)
LENGTH(data-value)
KEYLENGTH(data-value)
END-EXEC.

示例

以下是在"FL001"文件中写入一条记录的示例,其中 Student-id 是主键,并且将在文件中写入一条具有 101 个学生 ID 的新记录 −

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.
MOVE '101Mohtahim M TutorialsPoint' TO WS-STD-REC.
EXEC CICS WRITE
   FILE ('FL001')
   FROM (WS-STD-REC)
   LENGTH (WS-STD-REC-LEN)
   RIDFLD (WS-STD-REC-KEY)
   KEYLENGTH (WS-STD-KEY-LEN)
END-EXEC.

写入命令异常

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

Sr.No 异常 &描述
1

NOTOPEN

文件未打开。

2

FILENOTFOUND

FCT 中未输入文件。

3

LENGERR

命令中指定的长度与记录的实际长度不匹配。

4

NOTAUTH

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

5

DUPKEY

如果有超过 1 条记录满足备用键的条件。

6

NOSPACE

数据集中空间不足。

cics_file_handling.html