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. |