CICS - Stockage temporaire

Il existe différents blocs-notes disponibles dans CICS pour enregistrer des données ou pour transférer les données entre les transactions. Il y a cinq zones de stockage fournies par CICS, dont nous parlerons dans ce module.

COMMAREA

La COMMAREA se comporte comme un bloc-notes qui peut être utilisé pour transmettre des données d'un programme à un autre programme, soit dans la même transaction, soit à partir de transactions différentes. Il doit être défini dans la SECTION LINKAGE en utilisant le nom DFHCOMMAREA.

Zone de travail commune

Toute transaction dans la région CICS peut accéder à la zone de travail commune et, par conséquent, son format et son utilisation doivent être convenus par toutes les transactions du système qui décide de l'utiliser. Il n'y a qu'un seul CWA dans toute la région CICS.

Zone de travail de transaction

La zone de travail de transaction est utilisée pour transmettre des données entre les programmes d'application exécutés dans la même transaction. TWA n'existe que pour la durée de la transaction. Sa taille est définie dans la table de contrôle des programmes.

File d'attente de stockage temporaire

La file d'attente de stockage temporaire (TSQ) est une fonctionnalité fournie par le programme de contrôle du stockage temporaire (TSP).

  • Une TSQ est une file d'attente d'enregistrements qui peut être créée, lue et supprimée par différentes tâches ou programmes dans la même région CICS.

  • Un identifiant de file d'attente est utilisé pour identifier TSQ.

  • Un enregistrement dans un TSQ est identifié par la position relative connue sous le nom de numéro d'article.

  • Les enregistrements dans TSQ restent accessibles jusqu'à ce que tout le TSQ soit explicitement supprimé.

  • Les enregistrements dans TSQ peuvent être lus séquentiellement ou directement.

  • Les TSQ peuvent être écrites dans la mémoire principale ou dans la mémoire auxiliaire dans le DASD.

WRITEQ TS

Cette commande est utilisée pour ajouter des éléments à un TSQ existant. Nous pouvons également créer un nouveau TSQ à l'aide de cette commande. Voici la syntaxe de la commande WRITEQ TS -

Syntaxe

EXEC CICS WRITEQ TS
   QUEUE ('queue-name')
   FROM (queue-record)
   [LENGTH (queue-record-length)]
   [ITEM (item-number)]
   [REWRITE]
   [MAIN /AUXILIARY]
END-EXEC.

Voici les détails des paramètres utilisés dans la commande WRITEQ TS -

  • La QUEUE est identifiée par le nom qui est mentionné dans ce paramètre.

  • Les options FROM et LENGTH sont utilisées pour spécifier l'enregistrement à écrire dans la file d'attente et sa longueur.

  • Si l'option ITEM est spécifiée, CICS attribue un numéro d'élément à l'enregistrement dans la file d'attente et définit la zone de données fournie dans cette option sur le numéro d'élément. Si l'enregistrement démarre une nouvelle file d'attente, le numéro d'élément attribué est 1 et les numéros d'élément suivants suivent séquentiellement.

  • L'option REWRITE permet de mettre à jour un enregistrement déjà présent dans la file d'attente.

  • L'option MAIN / AUXILIAIRE est utilisée pour stocker les enregistrements dans la mémoire principale ou auxiliaire. La valeur par défaut est AUXILIAIRE.

READQ TS

Cette commande est utilisée pour lire la file d'attente de stockage temporaire. Voici la syntaxe de READQ TS -

Syntaxe

EXEC CICS READQ TS
   QUEUE ('queue-name')
   INTO (queue-record)
   [LENGTH (queue-record-length)]
   [ITEM (item-number)]
   [NEXT]
END-EXEC.

DELETEQ TS

Cette commande permet de supprimer la file d'attente de stockage temporaire. Voici la syntaxe de DELETEQ TS -

Syntaxe

EXEC CICS DELETEQ TS
   QUEUE ('queue-name')
END-EXEC.

File d'attente de données transitoires

La file d'attente de données transitoire est de nature transitoire car elle peut être créée et supprimée rapidement. Il n'autorise qu'un accès séquentiel.

  • Le contenu de la file d'attente ne peut être lu qu'une seule fois car il est détruit une fois qu'une lecture est effectuée et donc le nom Transient.

  • Il ne peut pas être mis à jour.

  • Il nécessite une entrée dans DCT.

WRITEQ TD

Cette commande est utilisée pour écrire des files d'attente de données transitoires et elles sont toujours écrites dans un fichier. Voici la syntaxe de la commande WRITEQ TD -

Syntaxe

EXEC CICS WRITEQ TD
   QUEUE ('queue-name')
   FROM (queue-record)
   [LENGTH (queue-record-length)]
END-EXEC.

READQ TD

Cette commande est utilisée pour lire la file d'attente de données transitoires. Voici la syntaxe de READQ TD -

Syntaxe

EXEC CICS READQ TD
   QUEUE ('queue-name')
   INTO (queue-record)
   [LENGTH (queue-record-length)]
END-EXEC.

DELETEQ TD

Cette commande est utilisée pour supprimer la file d'attente de données transitoires. Voici la syntaxe de DELETEQ TD -

Syntaxe

EXEC CICS DELETEQ TD
   QUEUE ('queue-name')
END-EXEC.