CICS - ELIMINA

Il comando DELETE viene utilizzato per eliminare un record presente in un file. Prima di questo comando, il record deve essere letto con un comando READ UPDATE. I parametri sono gli stessi descritti prima. La sintassi del comando Elimina è la seguente:

Sintassi

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

Di seguito è riportata la sintassi per eliminare un record direttamente senza leggerlo con l'opzione Aggiorna:

Sintassi

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

Esempio

Di seguito è riportato l'esempio per Group Delete. Questo può essere fatto usandoGeneric opzione, dove verranno eliminati tutti i record che soddisfano i criteri generici. NUMRECmanterrà il numero di record cancellati. Il campo qui menzionato dovrebbe essere un 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.

Elimina eccezioni ai comandi

La tabella seguente mostra l'elenco delle eccezioni che si verificano durante un'istruzione DELETE:

Suor n Eccezione e descrizione
1

NOTOPEN

Il file non è aperto.

2

NOTFND

Il record che viene cercato non esiste nel set di dati (CANCELLA con RIDFLD).

3

NOTAUTH

Se l'utente non dispone di autorizzazioni sufficienti per utilizzare il file.

4

INVREQ

Riscrivi senza prima READ con UPDATE.

5

FILENOTFOUND

L'immissione del file non viene eseguita in FCT.