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.