Lignes -CS - Appel de Serveur

Vous pouvez appeler un Serveur à partir d'un Client TUI pour un service de contrôle et de sélection par exemple. Pour afficher le contenu de la section Lignes CS - appel de Serveur, vous devez sélectionner un Serveur dans le tableau des Lignes -CS ou cliquer sur Ajout d'un appel de Serveur.

Segment
Indiquez le nom du Segment dans le référentiel. Cliquez sur Modifier pour sélectionner un Segment ou changer le Segment appelé. Un assistant de sélection s'ouvre alors avec les Segments sélectionnables. Sélectionnez-en ou créez-en un et cliquez sur OK. Dans le tableau, il s'affiche dans la colonne Seg / VL.

Vous pouvez aussi spécifier le Segment directement depuis la colonne Seg / VL.

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.
Serveur
Indiquez un Serveur. Cliquez sur Modifier pour sélectionner un Serveur ou changer le Serveur appelé. Un assistant de sélection s'ouvre alors avec les Serveurs sélectionnables. Sélectionnez-en ou créez-en un et cliquez sur OK. Dans le tableau, il s'affiche dans la colonne Serveur.

Vous pouvez aussi spécifier le Serveur directement depuis la colonne Serveur.

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.

identifiant

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 du Segment ou de la Vue Logique dans le COBOL généré. 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.
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é
Dans cette zone, vous pouvez indiquer une zone de l'Ecran, un littéral ou une zone de travail.
Exemple :
  • 0001-corub pour une zone de l'Ecran, ou I-0001-corub pour une zone en entrée (réception). Dans cet exemple, 0001 représente l'Ecran et corub la Rubrique.
  • 02 pour un littéral.
  • ww10-corub pour une zone de travail. Dans cet exemple, corub représente la Rubrique.

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.

L'assistant de contenu affiche aussi la liste des Rubriques après un tiret, à partir de la septième position (I-ww10-corub par exemple).

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 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 X)

  • 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 X).

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
Les traitements dépendant de l'utilisation en réception et en affichage des Segments utilisés dans l'Ecran sont gérés automatiquement dans le Composant Applicatif associé au client. Les valeurs autorisées sont comprises entre 06 et 98. Ce niveau hiérarchique est à 10 par défaut. Il peut être modifié pour une Rubrique ou pour un Segment.

Caractéristiques physiques

Organisation
La valeur que vous sélectionnez dans cette zone correspond à l'organisation du Segment. Elle est obligatoire pour la ligne 00. Sélectionnez un type d'organisation dans la liste.
Tableau 4. Valeurs de l'organisation des Segments pour un Client TUI
Options Commentaires
V : Indexée Segment d'organisation indexée.
G : Type Table Segment de type Pactables. L'accès généré correspond à l'appel du module d'accès standard à Pactables.
H : Base de Données relationnelle (accès SQL) Segments de base de données relationnelle accédée par SQL.

La description du Segment et les accès physiques sont générés. La déclarative du curseur est générée pour les Segments de la catégorie répétitive.

W : Traitements spécifiques et alimentation clés d'affichage Accès au Segment gérés par traitements spécifiques. Seule une description en WORKING-STORAGE SECTION est générée.
X : Appel d'un serveur pour contrôle et sélection Appel d'un serveur pour contrôle et sélection.
Type de description
La zone Type de description affiche des valeurs permettant d'obtenir, à partir de la description du Segment dans le référentiel, différentes descriptions dans le COBOL généré. Les valeurs possibles sont les suivantes :
  • Complet (valeur par défaut) pour un Segment avec une éventuelle partie commune. Il s'agit, par exemple, d'une Structure de Données avec un Segment.
  • 1 : Partie spécifique uniquement pour un enregistrement sans partie commune. Il peut s'agir par exemple, pour les bases de données, de plusieurs Segments définis dans une même Structure de Données.
  • E : Type Table pour l'organisation Table. Le format d'entrée des Rubriques du Segment Table est pris en compte.
  • 2 : Complet (longueur variable) pour un Segment complet en longueur variable dans une organisation indexée (V). La description générée peut varier en fonction de la variante de langage sélectionnée.
Nom externe
La valeur par défaut correspond aux deux premiers caractères du Segment dans l'Ecran.
  • Pour une organisation V (indexée), sa valeur dépend de la variante :
    • Pour IBM® CICS-VSAM, il correspond au DDNAME sur 1 à 8 positions.
    • Pour GCOS8-TP8, il correspond au nom externe sur 4 caractères (généré dans la clause SELECT).
    • Blocage sur les 4 derniers caractères (généré dans la clause FD).
    • Pour les autres variantes, il correspond au nom logique, généré dans la clause SELECT.
  • Pour une organisation H (SQL), il correspond au Bloc SQL dans lequel la table est appelée.

    Au moment de la génération, le nom externe de la table ou vue est recherché dans la description du Bloc. S'il n'est pas indiqué, le nom externe est pris sur la définition du Segment.

  • Pour une organisation G dans CICS, il correspond aux 4 caractères à partir desquels sont établis les DDNAMEs des fichiers gérés par Pactables, c'est à dire le code transaction permettant l'accès au fichier Pactables.
  • Pour une organisation X (appel de Serveur), il correspond au Composant Applicatif appelé.

Vos commentaires