CICS - REWRITE



REWRITE 命令用於修改已存在於檔案中的記錄。在此命令之前,必須使用 READ UPDATE 命令讀取記錄。引數與之前描述的引數相同。Rewrite 命令的語法如下 -

語法

EXEC CICS REWRITE
   FILE (name)
   FROM (data-area) 
   LENGTH (data-value)
END-EXEC.

示例

以下示例顯示如何在“FL001”檔案中(其中 Studentid 是主鍵)編寫記錄。將帶有 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.
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 命令異常

下表列出了在 REWRITE 語句期間出現的異常 -

序號 異常和描述
1

NOTOPEN

檔案未開啟。

2

LENGERR

命令中指定的長度與記錄的實際長度不匹配。

3

NOTAUTH

如果使用者沒有足夠的許可權使用該檔案。

4

INVREQ

在沒有先執行 READ UPDATE 的情況下執行 Rewrite。

5

NOSPACE

資料集沒有足夠的可用空間。

cics_file_handling.htm
廣告
© . All rights reserved.