CICS - SCRIVI

Il comando di scrittura viene utilizzato per aggiungere nuovi record a un file. I parametri utilizzati nel comando di scrittura sono gli stessi descritti in precedenza. I dati vengono prelevati dall'area dati menzionata nella clausola FROM. Di seguito è riportata la sintassi per il comando Scrivi:

Sintassi

EXEC CICS WRITE
   FILE(name)
   FROM(data-area)
   RIDFLD(data-area)
   LENGTH(data-value)
   KEYLENGTH(data-value)
END-EXEC.

Esempio

Di seguito è riportato l'esempio per scrivere un record nel file "FL001" in cui Student-id è la chiave primaria e nel file verrà scritto un nuovo record con 101 ID studente -

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.
MOVE '101Mohtahim M TutorialsPoint' TO WS-STD-REC.
EXEC CICS WRITE
   FILE ('FL001')
   FROM (WS-STD-REC)
   LENGTH (WS-STD-REC-LEN)
   RIDFLD (WS-STD-REC-KEY)
   KEYLENGTH (WS-STD-KEY-LEN)
END-EXEC.

Scrivi eccezioni ai comandi

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

Suor n Eccezione e descrizione
1

NOTOPEN

Il file non è aperto.

2

FILENOTFOUND

L'immissione del file non viene eseguita in FCT.

3

LENGERR

Mancata corrispondenza tra la lunghezza specificata nel comando e la lunghezza effettiva del record.

4

NOTAUTH

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

5

DUPKEY

Se più di 1 record soddisfa la condizione sulla chiave alternativa.

6

NOSPACE

Spazio insufficiente nel set di dati.