Rational Programming Patterns

Appels de Segments dans un Composant applicatif

Dans l'onglet Lignes -CS des éditeurs Serveur et Dialogue Serveur, vous spécifiez pour chaque Composant Applicatif, la Vue Logique utilisée, et pour cette Vue, vous indiquez les Segments de données d'un fichier, d'une table ou d'une vue SQL accédés. Pour chaque Segment, vous indiquez dans une section dédiée au type d'appel, la catégorie de traitement (entête, répétitive et bas de page), le type de traitement d'accès logique (contrôle, mise à jour et sélection) à effectuer sur le Segment et le mode d'alimentation de la clé, le mode d'utilisation dans les traitements générés, si l'accès est conditionné par un accès à un autre Segment et l'organisation physique.

Le nombre de lignes de description de Segment appelées dans cette fenêtre est limité à 100 par catégorie.

Remarque : Les Segments ayant le même code Structure de Données doivent avoir la même organisation, le même type de description et, pour l'organisation de type V, le même nom externe.

Segment

Cette zone contient le code du Segment appelé dans le Composant Applicatif. Le code choisi peut être identique au code du Segment dans la base.

La valeur LE00 est réservée pour appeler le fichier des libellés d'erreur dans le serveur de libellés d'erreur (type E).

Base de données

Bloc Base de Données
Sélectionnez ou modifiez le code du Bloc Base de Données qui contient la ressource externe (le Segment) appelée dans le Composant Applicatif en cliquant sur Modifier. Pour enlever le code dans la zone, cliquez sur Supprimer. Un clic sur le code permet d'ouvrir l'éditeur du Bloc sélectionné.

Identifiant

Catégorie
Vous indiquez ici à quelle catégorie de traitement le Segment appartient. Les catégories, et donc les Segments correspondants, sont traitées dans l'ordre suivant :
  • Catégorie en-tête,

    Segment appartenant à l'en-tête

  • R : catégorie répétitive

    Segment appartenant à la partie répétitive

  • Z : Catégorie bas de l'Ecran/Dialogue

    Segment appartenant au bas d'écran

Code Segment
C'est le code du Segment choisi pour le programme généré associé à l'Ecran. Le code choisi peut être identique au code du Segment dans la base.
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 zéro 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 la base.

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 en choisissant une des valeurs de la liste. Pour une organisation de type S, aucune valeur n’est sélectionnée (valeur par défaut).
Tableau 1. Valeurs de l'utilisation d'un Segment dans les traitements de contrôle et mise à jour
Options Description
Aucune valeur ou N Pour une organisation différente du type 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. Un ordre de lecture simple est généré pour le Segment pour une organisation différente du type X, S ou 2.

Ou appel d'un serveur pour sélection pour une organisation de type X ou 2.

E Pour une organisation différente du type X, S ou 2' : contrôle d'existence à effectuer ou 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 : appel d'un serveur pour contrôle.

M Pour une organisation différente du type X, S ou 2 : Segment mis à jour (modification uniquement).

Pour une organisation de type X ou 2 : appel d'un serveur pour contrôle et mise à jour.

X Pour une organisation différente du type X, S ou 2 : Segment mis à jour (création et modification uniquement).

Pour une organisation de type ou X ou 2 : appel d'un Composant Applicatif pour contrôle et sélection.

S Pour une organisation différente du type X , S ou 2 seulement : Segment mis à jour (annulation uniquement).
C Pour une organisation différente du type X, S ou 2 seulement : Segment mis à jour (création uniquement).
T Pour une organisation différente du type X, S ou 2 : Segment 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 précédent, quel que soit le code 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 : appel d'un serveur 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 Pour une organisation de type X, S ou 2 seulement : Appel d'un service utilisateur.
Affichage
Pour l'utilisation en affichage, vous devez sélectionner une des options proposées dans la liste.

Pour une organisation de type S, aucune valeur n’est sélectionnée (valeur par défaut).

Tableau 2. Valeurs de l'utilisation d'un Segment en affichage
Options Description
Aucune valeur ou N Pour une organisation différente de X, S ou 2 : 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 Pour une organisation différente de X, S ou 2 : 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 que le Segment est utilisé, la clé est sauvegardée en zone de conversation.

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

U Pour une organisation de type X ou 2 seulement : appel d'un service utilisateur.
Alimentation de la clé
Cette zone peut être une zone de travail, un littéral
Exemple :
  • 02 pour un littéral
  • ww10-corub pour une zone de travail
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 répétitive de la Vue Logique.

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 ici est considérée comme une Rubrique groupe, sauf dans les organisations SQL où elle est considérée comme Rubrique élémentaire.

Rubrique
Cette zone contient le code de la Rubrique utilisée comme clé d'accès au Segment. Vous pouvez changer le choix du code avec le bouton Modifier.
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 le code des 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

Les Rubriques clés ne sont pas mises à jour dans un ordre SQL UPDATE.

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 :

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

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

    Pas de génération des traitements logiques d'accès (organisations différentes de S)

  • P : Pas de description du Segment (organisations différentes de S)
Rupture d'affichage
Cette zone indique qu'une Rubrique, appartenant à une clé dans la partie répétitive de l'Ecran, doit rester constante au cours de l'affichage. Sélectionnez dans la liste la rupture d'affichage. Dans le cas d'un Segment utilisé en mise à jour, cette zone doit être positionnée à la valeur Pas de Rupture d'affichage.
Tableau 3. Valeurs possibles pour la rupture d'affichage
Option Description
Pas de rupture de sélection Pour les organisations différentes de S, indique qu'une Rubrique, appartenant à une clé dans la partie répétitive, doit rester constante au cours de la sélection.
C : Rupture de sélection Pour les organisations différentes de S, indique qu'une Rubrique, appartenant à une clé dans la partie répétitive, doit rester constante au cours de la sélection.
E : Rupture de sélection (SQL) Pour les organisations SQL, provoque la génération dans la clause WHERE de l'ordre SQL DECLARE CURSOR d'une condition d'égalité.
R Organisations H, D ou V : Lecture massive du Dossier. Zone à renseigner pour chaque Segment rattaché à la Vue Logique, cette Vue devant appartenir à un noeud dépendant du Dossier. Valeur à positionner sur chaque Rubrique clé qui correspond à une Rubrique clé de la Vue Logique appartenant au noeud racine du Dossier.
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 (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 qu'il n'y a pas de sous-schéma indiqué, on prendra ce qui est indiqué au niveau du -DR du Bloc :
    • Toutes les Rubriques du Segment
    • Sous-description ou sous-schéma numéro 0 à 9
  • Pour les organisations V, elle indique les clés secondaires d'accès aux fichiers indexés :
    • La valeur 2 indique que 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.

Caractéristiques physiques

Organisation
Une option doit être sélectionnée pour la ligne 00 d'un Segment. Choisissez une des valeurs suivantes :
Tableau 4. Spécification de l'organisation
Options Description
V Segment d'organisation indexée.
G Segment de type Table : l'accès généré correspond à l'appel du module d'accès standard à Pactables.
H Segment de base de données relationnelle (accès 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. Le type du Bloc Base de Données relationnel est requis sur la Définition du Bloc dont le code est à saisir dans la zone Nom externe.
D Segment DL/1
A Segment ADABAS : Seule une description en Working est générée.
W Accès au Segment gérés par traitements spécifiques. Seule une description en Working est générée. Dans l'onglet Lignes -CS du Dialogue Serveur, cette valeur appelle un buffer utilisateur.
S Appel de la Vue Logique.
X Appel global d'un Composant Applicatif. Tous les Segments appelés en répétitive et en sélection doivent être du même type. Il ne peut y avoir de Segments d'organisation X avec des Segments d'autres organisations.
2 Appel d'un Composant Applicatif instance par instance.
Remarque : Pour le fichier des libellés d'erreur, vous pouvez lui attribuer les organisations suivantes :
  • V : Son nom externe et son code dans la base ne sont pas contrôlés,
  • W : Working, pas d'accès généré,
  • H : SQL, le nom externe correspond au code du Bloc (contenant la table relationnelle) indiqué dans la zone Code du Bloc. La description et les accès seront générés sous ce code.
Type de description
Cette zone permet d'obtenir à partir de la description du Segment dans la base, différentes descriptions dans le programme généré.
Tableau 5. Spécification du type de description
Options Description
Complet Segment complet (partie commune et partie spécifique).
1 : Partie spécifique uniquement Partie spécifique uniquement. (valeur forcée pour Vue Logique, Segment DL/1 ou table SQL).
E : Type Table Pour l'organisation Table, prise en compte du format d'entrée des Rubriques du Segment Table.
2 : Complet (longueur variable) Segment complet en longueur variable pour l'organisation indexée (V).
Remarque : La description générée peut varier en fonction de la variante de langage sélectionnée.
Nom externe
C'est le nom externe du fichier. La valeur par défaut contient les deux premiers caractères du code du Segment dans l'Ecran.
  • Organisation V (indexée) :
    • IBM CICS-VSAM: DDNAME sur 1 à 8 positions.
    • GCOS8 - TP8 :
      • Si blocage par caractères : nom externe sur 4 caractères (généré dans la clause SELECT) et blocage sur les 4 derniers caractères (généré dans la clause FD).
      • Si blocage par record : nom externe sur 5 caractères et blocage sur les 3 derniers caractères. Les deux parties du nom externe, chacune sur 2 caractères, sont séparées par un blanc.
  • Autre variante : Nom logique, généré dans la clause SELECT.
  • Organisation H (SQL) :

    Code du Bloc SQL, dans lequel est appelée la table ou la vue. Il est possible de sélectionner une table ou une vue en indiquant T ou V après le code du Bloc choisi. Attention : le code du Bloc et le type d'objet doivent être séparé par un blanc.

    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.

  • Organisation G (Pactables) :
    • CICS : 4 caractères sur lesquels sont bâtis les DDNAME des fichiers gérés par le module Pactables (Ce sont les caractères du code transaction permettant l'accès au fichier Tables).
    • IMS : nombre quelconque de caractères, qui constituent les noms des 2 PCB associés aux bases Pactables. Les noms constitués seront de la forme :
      • xxxxxxD : PCB de la base descriptif,
      • xxxxxxV : PCB de la base des contenus.

      Ces 2 noms doivent avoir une longueur maximum de 6 caractères.

      Ces 2 PCB doivent appartenir au PSB de l'Ecran.

  • Organisation D (DL/1) :

    Saisir le code du PCB.

  • Organisation S (Vue Logique)

    Affiche par défaut le code de la Structure de Données.

  • Organisation X or 2 :

    Saisir le code du Composant Applicatif.


Conditions d'utilisation | Commentaires en retour

Ce centre de documentation utilise la technologie Eclipse. (http://www.eclipse.org)