CICS - REESCRIBIR
El comando REWRITE se usa para modificar un registro que ya 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 Rewrite es la siguiente:
Sintaxis
EXEC CICS REWRITE
FILE (name)
FROM (data-area)
LENGTH (data-value)
END-EXEC.
Ejemplo
El siguiente ejemplo muestra cómo escribir un registro en el archivo 'FL001' donde Studentid es la clave principal. Se escribirá un nuevo registro con la identificación del estudiante 101 en el archivo:
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.
Excepciones del comando de reescritura
La siguiente tabla enumera las excepciones que surgen durante una instrucción REWRITE:
No Señor | Excepción y descripción |
---|---|
1 | NOTOPEN El archivo no está abierto. |
2 | LENGERR Discrepancia entre la longitud especificada en el comando y la longitud real del registro. |
3 | NOTAUTH Si el usuario no tiene suficientes permisos para usar el archivo. |
4 | INVREQ Vuelva a escribir sin READ previo con ACTUALIZAR. |
5 | NOSPACE No hay suficiente espacio en el conjunto de datos. |