CICS - BORRAR
El comando DELETE se usa para eliminar un registro que está presente en un archivo. Antes de este comando, el registro debe leerse con un comando READ UPDATE. Los parámetros son los mismos que los descritos anteriormente. La sintaxis del comando Eliminar es la siguiente:
Sintaxis
EXEC CICS DELETE
FILE('name')
END-EXEC.
A continuación se muestra la sintaxis para eliminar un registro directamente sin leerlo con la opción Actualizar:
Sintaxis
EXEC CICS DELETE
FILE('name')
RIDFLD(data-value)
END-EXEC.
Ejemplo
A continuación se muestra el ejemplo de Group Delete. Esto se puede hacer usandoGeneric opción, donde se eliminarán todos los registros que satisfagan los criterios genéricos. NUMRECcontendrá el número de registros eliminados. El campo mencionado aquí debe ser una compilación S9 (4).
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.
Eliminar excepciones de comandos
La siguiente tabla muestra la lista de excepciones que surgen durante una instrucción DELETE:
No Señor | Excepción y descripción |
---|---|
1 | NOTOPEN El archivo no está abierto. |
2 | NOTFND El registro que se está buscando no existe en el conjunto de datos (DELETE con RIDFLD). |
3 | NOTAUTH Si el usuario no tiene suficientes permisos para usar el archivo. |
4 | INVREQ Vuelva a escribir sin READ previo con ACTUALIZAR. |
5 | FILENOTFOUND La entrada de archivos no se realiza en FCT. |