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