Cics-delete

提供:Dev Guides
移動先:案内検索

CICS-削除

DELETEコマンドは、ファイルに存在するレコードを削除するために使用されます。 このコマンドの前に、レコードはREAD UPDATEコマンドで読み取る必要があります。 パラメーターは、前に説明したものと同じです。 削除コマンドの構文は次のとおりです-

構文

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

以下は、更新オプションでレコードを読み取らずに直接レコードを削除する構文です-

構文

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

以下は、グループ削除*の例です。 これは、 *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 Exception & Description
1

NOTOPEN

ファイルが開いていません。

2

NOTFND

検索中のレコードがデータセットに存在しません(RIDFLDを使用した削除)。

3

NOTAUTH

ユーザーにファイルを使用するための十分な権限がない場合。

4

INVREQ

UPDATEを使用した事前の読み取りなしで書き換えます。

5

FILENOTFOUND

ファイルエントリはFCTでは作成されません。