Appels de Rubriques dans un Composant Applicatif

Dans l'onglet Lignes -CS des éditeurs de Serveur et Serveur Dialogue, pour chaque Rubrique appelée, vous devez indiquer les caractéristiques de l'appel de la Rubrique. Vous précisez la catégorie de traitement (avant répétitive, répétitive et après répétitive), le type de traitement d'accès logique (contrôle, mise à jour et sélection) à effectuer sur le Segment, le mode d'alimentation de la clé, l'utilisation dans les traitements générés et le conditionnement de l'accès par un accès à un autre Segment.

Les champs sont expliqués selon leur ordre d'affichage dans la section de définition Ligne -CS - Appel de Rubrique.

Catégorie
Dans cette zone, vous indiquez à quelle catégorie de traitement le Segment appartient. Les catégories, et donc les Segments correspondants, sont traités dans l'ordre suivant :
  • Blanc : Catégorie en-tête
  • R : Catégorie répétitive
  • Z : Catégorie bas d'écran
Code Segment
Sa saisie est obligatoire. Il correspond au nom de la Vue Logique ou du Segment dans le COBOL généré du Composant Applicatif. Il peut être identique au nom défini dans le référentiel.
Numéro de ligne
Cette zone doit contenir une valeur numérique. Pour un Segment donné, une seule ligne 00 est acceptée (par défaut). Cette ligne 00 est obligatoire pour renseigner les caractéristiques physiques du Segment (nom externe, organisation), le code de la clé d'accès au Segment, le code du Segment dans le référentiel.

Remplissage de la clé d'accès

Code Segment précédent
Il est possible, dans chacune des catégories de traitement, d'accéder à plusieurs Segments. On peut donc être amené à préciser la hiérarchie des accès aux Segments d'une catégorie. Cette zone contient le code du Segment précédent dans la hiérarchie des accès. Ce Segment doit appartenir à la même catégorie. Si plusieurs Segments ont un même Segment précédent, ils sont traités dans l'ordre alphabétique de leur code.
Chaque Segment doit être chaîné directement ou indirectement à la Vue Logique dont il dépend. Il doit donc comporter le code d'un Segment précédent ou de sa Vue Logique (organisation S).
Exception : Le Segment dédié au fichier des libellés d'erreur ne doit pas comporter de Segment précédent. De même, une Vue Logique ne peut avoir de Segment précédent.
Réception
Dans cette zone, vous devez préciser de quelle façon le Segment est utilisé dans les traitements de contrôle et mise à jour.
Tableau 1. Valeurs de l'utilisation d'un Segment dans les traitements de contrôle et mise à jour
Options Description
Aucune valeur ou N : Non utilisé ou aucun appel de Serveur Pour une organisation différente de X, S ou 2, aucun ordre d'accès n'est généré pour le Segment dans les traitements de contrôle et mise à jour.

Pour une organisation de type X ou 2, aucun appel de Serveur n'est généré.

L : Lu ou appel de Serveur pour sélection Un ordre de lecture simple est généré pour le Segment pour une organisation différente de X, S ou 2.

Pour une organisation de type X ou 2, un Serveur est appelé pour sélection.

E : Contrôle d'existence ou appel de Serveur pour contrôle Pour une organisation différente de X, S ou 2, un contrôle d'existence est effectué. Un ordre de lecture avec positionnement d'un code erreur est généré (s’il n’est pas trouvé).

Pour une organisation de type X ou 2, un Serveur est appelé pour contrôle.

M : Mise à jour (modification) ou appel de Serveur pour contrôle et mise à jour Pour une organisation différente de X, S ou 2, le Segment est mis à jour (modification uniquement).

Pour une organisation de type X ou 2, un Serveur est appelé pour contrôle et mise à jour.

X : Mise à jour (création et modification) ou appel de Serveur pour contrôle et sélection Pour une organisation différente de X, S ou 2, le Segment est mis à jour (création et modification uniquement).

Pour une organisation de type X ou 2, un Serveur est appelé pour contrôle et sélection.

S : Segment mis à jour (annulation uniquement) Pour une organisation différente de X ou 2, le Segment est mis à jour (annulation uniquement).
C : Mise à jour (création uniquement) Pour une organisation différente de X ou 2, le Segment est mis à jour (création uniquement).
T : Mise à jour ou appel d'un Serveur pour contrôle, mise à jour et sélection Pour une organisation différente de X, le Segment est mis à jour (création, modification et annulation). Dans ces trois cas, le contrôle d'existence et les ordres de mise à jour correspondant aux options choisies sont générés. Si le Segment est chaîné à un Segment précédent, quelle que soit l'utilisation, seuls sont générés les ordres de mise à jour de modification et création.

Pour une organisation de type X ou 2, un Serveur est appelé pour contrôle, mise à jour et sélection. Si la Vue Logique est appelée dans la catégorie répétitive, il n'est pas possible d'afficher la suite de l'Ecran. Il est donc impossible d'utiliser de manière automatique le code opérateur S.

U : Appel d'un service utilisateur Pour une organisation de type X ou 2, un service utilisateur est appelé.
Affichage
Dans cette zone, vous devez préciser de quelle façon le Segment est utilisé dans les traitements d'affichage. Sélectionnez une des valeurs proposées dans la liste.
Tableau 2. Valeurs de l'utilisation d'un Segment en affichage
Options Description
Aucune valeur ou N : Non utilisé ou aucun appel de Serveur Pour une organisation différente de X, aucun ordre d'accès n'est généré pour ce Segment dans les traitements d'affichage (option par défaut).

Pour une organisation X ou 2, aucun appel de Serveur n'est généré.

A : Utilisé en affichage ou appel de Serveur pour sélection Pour une organisation différente de X, les ordres d'accès sont générés pour l'affichage en fonction du type de traitement d'accès logique. Si le code Segment précédent est à blanc et si le Segment est utilisé, la clé est sauvegardée en zone de conversation.

Pour une organisation X ou 2, un serveur est appelé pour sélection (incompatible avec la valeur L en réception).

U : Appel d'un service utilisateur Pour une organisation de type X ou 2, un service utilisateur est appelé.
Alimentation de la clé
Cette zone peut être une zone de travail (ww10-corub par exemple) ou un littéral (02 par exemple).
Remarque : L'alimentation des clés pour les listes doit toujours se faire à partir de la zone 1- dans les Serveurs dès lors que la clé se trouve dans la catégorie répétitive de la Vue Logique.

Un chaînage libre est établi dès que vous indiquez une Rubrique dans cette zone.

La saisie dans cette zone est facilitée par un assistant de saisie, signalé par le symbole assistant de saisie devant la zone. Pour activer l'assistant de contenu, cliquez simultanément sur Ctrl et la barre d'espace. Un lien de sous-référence est créé automatiquement, même si l'instance cible n'existe pas. Depuis l'instance cible affichée dans les sous-références, vous pouvez lancer une recherche de super-références.

Si vous placez le curseur de la première à la quatrième position de la zone, l'assistant de contenu affiche d'abord la liste des Segments. Sélectionnez l'un d'eux puis cliquez à nouveau dans la zone et cliquez à nouveau sur Ctrl et la barre d'espace. L'assistant de contenu affiche alors la liste des Rubriques. Sélectionnez l'une d'elles.

Clé primaire

Dans cette section, vous devez sélectionner une Rubrique ou saisir le nom d'une nouvelle Rubrique (non définie) qui servira de clé d'accès au Segment. Elle est utilisée pour générer la clause RECORD KEY. La Rubrique indiquée est considérée comme une Rubrique groupe, sauf dans les organisations SQL où elle est considérée comme Rubrique élémentaire.

Rubrique
Indiquez dans cette zone la Rubrique utilisée comme clé d'accès au Segment. Cliquez sur Modifier pour sélectionner une Rubrique ou changer la Rubrique appelée. Un assistant de sélection s'ouvre alors avec les Rubriques appelées dans le Segment. Sélectionnez-en une et cliquez sur OK. Elle s'affiche dans le tableau dans la colonne Clé accès.

Vous pouvez aussi spécifier la Rubrique directement depuis la colonne Clé accès.

Deux méthodes sont possibles :
  • Positionnez le curseur dans la colonne et saisissez directement un nom. Pour faciliter la saisie, vous pouvez afficher un assistant de contenu en cliquant simultanément sur Ctrl et la barre d'espace. Si vous avez commencé à saisir un nom, l'assistant propose les instances commençant par cette saisie. Si vous saisissez le nom d'une instance qui n'existe pas et validez, la saisie n'est pas prise en compte.
  • Cliquez sur le bouton qui s'affiche quand vous positionnez votre curseur dans la colonne. Un assistant de sélection s'ouvre alors pour vous permettre de sélectionner une instance.
Rubrique non définie
Si la clé d'accès primaire est une Rubrique groupe, vous pouvez saisir dans la zone Rubrique non définie les Rubriques élémentaires composant le groupe.

S'il s'agit d'un groupe et que les différentes sous-Rubriques sont alimentées séparément, des lignes suites contiennent alors le code des sous-Rubriques alimentées.

Pour une Table (organisation G), la sélection d'un sous-système s'effectue en indiquant dans cette zone la valeur NUSSY. L'alimentation de la clé associée (G-ddss-NUSSY) est automatiquement générée.

En DL/1, la Rubrique peut appartenir à toutes les SSA qui permettent d'accéder au Segment dans le PCB indiqué dans le nom externe.

Pour les bases de données SQL, une Rubrique clé doit être indiquée pour chaque ligne où un Affichage autre que N est déclaré.

Dans les accès générés, la sélection se fait sur l'égalité en mise à jour ou lecture directe. Pour la lecture séquentielle en catégorie répétitive, la sélection se fait sur les valeurs supérieures ou égales.

Le nombre de Rubriques clés pour un même Segment est limité à 10

Si le Segment libellés d’erreur est un Segment SQL/DS ou s’il a une organisation V ou W, la Rubrique clé doit être ERKEY.

Caractéristiques logiques

Limitation de génération
Sélectionnez dans la liste la limitation de génération des accès logiques aux Segments.
  • Automatique.

    Les accès logiques sont générés automatiquement (en fonction de l'utilisation du Segment)

  • U : Accès laissés à la charge de l'utilisateur.

    Les traitements logiques d'accès sont gérés par l'utilisateur (organisations différentes de S)

  • P : Pas de description du Segment.

    Il n'y a pas de génération des traitements logiques d'accès (organisations différentes de S).

Rupture d'affichage
Vous pouvez indiquer qu’une Rubrique appartenant à une clé dans la partie répétitive doit rester constante au cours de l'affichage ou de la sélection d'une liste. Seuls les enregistrements ayant cette valeur de clé seront retenus. Vous devez alors provoquer une rupture d'affichage ou de sélection.
Tableau 3. Valeurs possibles pour la rupture d'affichage
Option Description
Pas de rupture d'affichage Il n'y a pas de rupture d'affichage ou de sélection.
C : Rupture d'affichage Il y a une rupture d'affichage ou de sélection.
E : Rupture d'affichage (SQL) Pour les organisations SQL, cette valeur provoque la génération dans la clause WHERE de l'ordre SQL DECLARE CURSOR d'une condition d'égalité (et non >= qui est généré sinon).
R : Lecture massive du Dossier (Serveur uniquement) Cette valeur est réservée aux Segments dont l'organisation est H, D ou V. Elle est utilisée pour spécifier une lecture massive, comme l’affichage de toutes les lignes de toutes les commandes, pour chaque Segment rattaché à la Vue Logique. Vous l'indiquez sur chaque Rubrique clé correspondant à une Rubrique clé de la Vue Logique. La Vue Logique doit appartenir au nœud racine du Dossier, s'il existe.
Sous-schéma
Cette zone permet d'indiquer quel sous-schéma doit être décrit. Vous devez sélectionner une valeur dans la liste déroulante parmi Toutes les Rubriques et une sous-description de 0 à 9. La valeur 0 correspond à un sous-schéma 10. Un sous-schéma est un groupe de Rubriques présentes dans la composition du Segment.
  • Pour les organisations G ou H, cette zone précise le numéro de la sous-description de la Table à laquelle correspond la description de la zone entrée-sortie. Si le Segment appelé correspond à une vue et si aucun sous-schéma n'est indiqué, la valeur prise en compte est celle indiquée dans les Lignes -DR du Bloc.
  • Pour les organisations V, cette zone est utilisée pour indiquer les clés secondaires d'accès aux fichiers indexés :
    • La clé secondaire est référencée en codant 2 dans le numéro de sous-schéma. La clé primaire doit être indiquée sur la ligne 00 du Segment sans utilisation en affichage ni réception, même si elle n'est pas utilisée, afin de générer la clause RECORD KEY. Si la clé secondaire est une zone groupe, le numéro du sous-schéma doit être indiqué uniquement pour cette zone groupe.
    • La valeur 3 indique que la clé secondaire est DUPLICATE.
      Remarque : Cette spécification n'est pas implémentée dans la variante CICS puisque la déclaration des clés secondaires est effectuée lors de la définition VSAM.
Niveau des traitements générés
Non utilisé pour un Composant Applicatif.

Vos commentaires