La commande WRITE écrit un nouvel enregistrement dans un fichier. Les paramètres utilisés dans la commande WRITE sont les mêmes que ceux de la commande READ.
Syntaxe:
Vous trouverez ci-dessous la syntaxe de la commande WRITE :
EXEC CICS WRITE
FILE(nomfichier)
FROM(zone-donnee)
RIDFLD(zone-donnee) [RBA|RRN]
LENGTH(valeur-donnee)
KEYLENGTH(valeur-donnee)
END-EXEC.
Voyons les paramètres utilisés dans la commande WRITE :
- FICHIER(nomfichier)
Spécifie le nom du fichier auquel accéder. - FROM(zone-donnee)
Spécifie l’enregistrement qui doit être écrit dans l’ensemble de données auquel ce fichier fait référence. - LENGTH
Spécifie la longueur, en tant que valeur binaire demi-mot (PIC S9(4) COMP), de la zone de données à partir de laquelle l’enregistrement est écrit. - RIDFLD(zone-donnee)
Spécifie la clé de l’enregistrement à écrire. Si RBA ou RRN est spécifié, ce champ est interprété respectivement comme une adresse d’octet relative ou un numéro d’enregistrement relatif. - RBA
Spécifie que le fichier est ESDS et que l’option RIDFLD doit être interprétée comme l’adresse d’octet relative. - RRN
Spécifie que le fichier est RRDS et que l’option RIDFLD doit être interprétée comme le numéro d’enregistrement relatif. - KEYLENGTH(valeur-donnee)
spécifie la longueur (demi-mot binaire) de la clé qui a été spécifiée dans l’option RIDFLD.
Exemple:
Voyons un exemple de programme CICS pour la commande WRITE.
IDENTIFICATION DIVISION.
PROGRAM-ID. IBMMF.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-REC-LEN PIC S9(4) COMP.
01 WS-KEY-LEN PIC S9(4) COMP.
01 WS-REC-KEY PIC 9(3).
01 WS-REC-DATA PIC X(80).
PROCEDURE DIVISION.
MOVE +80 TO WS-REC-LEN.
MOVE ‘502258’ TO WS-REC-KEY.
MOVE 6 TO WS-KEY-LEN.
MOVE '502258IBMMAINFRAMER TUTORIALS' TO WS-REC-DATA.
EXEC CICS WRITE
FILE('STDLST')
FROM(WS-REC-DATA)
LENGTH(WS-REC-LEN)
RIDFLD(WS-REC-KEY)
KEYLENGTH(WS-KEY-LEN)
END-EXEC.
La description:
Ce programme écrit les données de WS-REC-DATA dans le fichier ‘STDLST’.
Nom de fichier-‘STDLST’ est le nom du fichier que nous voulons écrire. Il s’agit du nom de fichier symbolique CICS qui identifie l’entrée FCT (table de contrôle des fichiers) pour le fichier. Les noms de fichiers peuvent comporter jusqu’à 8 caractères et doivent être placés entre guillemets s’ils sont littéraux.
Après exécution, WS-REC-DATA sera écrit dans le fichier ‘STDLST’.
Conditions d’exception de la commande WRITE :
Exception | La description |
---|---|
DISABLED | Un fichier est désactivé |
FILENOTFOUND | Le nom de fichier fourni dans l’option FILE n’est pas défini pour CICS. |
NOTAUTH | Une vérification de la sécurité des ressources a échoué sur FILE(filename).(c’est-à-dire que l’utilisateur n’a pas suffisamment d’autorisations pour accéder au fichier). |
PAS D’ESPACE | Aucun espace n’est disponible pour un nouvel enregistrement. |
LEGERR | Non-concordance entre la longueur spécifiée dans la commande et la longueur réelle de l’enregistrement. |
DUPKEY | La valeur dans RIDFLD existe déjà dans le fichier. |