CICS - LIRE

La commande READ lit les données d'un fichier à l'aide de la clé primaire. Voici la syntaxe de la commande READ -

Syntaxe

EXEC CICS READ
   FILE('name')
   INTO(data-area)
   RIDFLD(data-area)
   LENGTH(data-value)
   KEYLENGTH(data-value)
END-EXEC.

Le tableau suivant répertorie les paramètres utilisés dans la commande READ -

Sr. Non Paramètre et description
1

FILE

Le nom de fichier est le nom du fichier que nous voulons lire. Il s'agit du nom de fichier symbolique CICS qui identifie l'entrée FCT du fichier. Les noms de fichiers peuvent comporter jusqu'à 8 caractères et doivent être placés entre guillemets s'ils sont littéraux.

2

INTO

La zone de données est la variable dans laquelle l'enregistrement doit être lu, généralement une structure dans le stockage de travail. INTO est requis pour les utilisations de la commande READ.

3

RIDFLD

Il porte le nom de la zone de données contenant la clé de l'enregistrement que nous voulons lire.

4

LENGTH

Il spécifie le nombre maximum de caractères pouvant être lus dans la zone de données spécifiée. Il doit s'agir d'une valeur binaire demi-mot (PIC S9 (4) COMP). Une fois la commande READ terminée, CICS remplace la valeur maximale spécifiée par la longueur réelle de l'enregistrement. Pour cette raison, nous devons spécifier LENGTH comme nom d'une zone de données plutôt qu'un littéral et devons réinitialiser cette zone de données si nous l'utilisons pour LENGTH plus d'une fois dans le programme. Un enregistrement plus long soulèvera une condition d'erreur.

5

KEYLENGTH

Il spécifie la longueur de la clé.

Exemple

L'exemple suivant montre comment lire un enregistrement à partir du fichier 'FL001' où Student-id est la clé primaire -

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 ‘100’         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)
END-EXEC.

Lire les options de commande

Les options suivantes peuvent être utilisées avec la commande READ -

  • GENERIC- Il est utilisé lorsque nous ne connaissons pas la valeur de clé complète. Par exemple, nous voulons un enregistrement dont la clé primaire commence par «10» et le reste de la clé peut être n'importe quoi. Bien que la longueur de la clé soit de 3 caractères, nous n'en mentionnons que 2. Il est important de mentionner la longueur de clé qui donne la longueur pour laquelle il a besoin de faire la correspondance. Le premier enregistrement qui satisfait aux critères sera récupéré.

  • UPDATE- Il précise que nous avons l'intention de mettre à jour l'enregistrement dans la transaction en cours. Spécifier UPDATE donne à votre transaction le contrôle exclusif de l'enregistrement demandé. Il doit être utilisé lorsque nous voulons réécrire l'enregistrement.

  • EQUAL - Il spécifie que nous ne voulons que l'enregistrement dont la clé correspond exactement à ce qui est spécifié par RIDFLD.

  • GTEQ - Il spécifie que nous voulons le premier enregistrement dont la clé est supérieure ou égale à la clé spécifiée.

EXEC CICS READ
   FILE('name')
   INTO(data-area)
   RIDFLD(data-area)
   LENGTH(data-value)
   KEYLENGTH(data-value)
   GENERIC
   UPDATE
   EQUAL
   GTEQ
END-EXEC.

Lire les exceptions de commande

Le tableau suivant présente la liste des exceptions qui surviennent lors de l'instruction READ -

Sr. Non Exception et description
1

NOTOPEN

Le fichier n'est pas ouvert.

2

NOTFND

L'enregistrement recherché n'existe pas dans l'ensemble de données.

3

FILENOTFOUND

La saisie de fichier n'est pas effectuée dans FCT.

4

LENGERR

Non-concordance entre la longueur spécifiée dans la commande et la longueur réelle de l'enregistrement.

5

NOTAUTH

Si l'utilisateur ne dispose pas des autorisations suffisantes pour utiliser le fichier.

6

DUPKEY

Si plus d'un enregistrement satisfait la condition de la clé alternative.