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 数据集中空间不足。 |