Sous l'onglet Lignes -DH, vous
pouvez décrire les relations entre les Segments dans une base de données
hiérarchique (exemple : DL/1).
Chaque ligne désigne un Segment et son père (sauf la première
ligne qui introduit le Segment racine). La description contient les
records qui composent le fichier physique.
La description est
commune aux Blocs Base de Données hiérarchiques - IMS DL/1 :
- DP : DBD physique,
- DR : Schéma DBD physique réduit (comme DP, mais seules les Rubriques
référencées comme clés d'accès dans la description du Segment
sont générées dans les déclarations "FIELD......" ),
- DL: DBD logique,
- PC : PCB.
- IP : Index primaire,
- IS: Index secondaire.
Définition d'une ligne -DH
La section Définition
de la ligne -DH s'affiche lorsque vous insérez une
ligne de description ou lorsque vous sélectionnez une ligne de description;
elle contient les informations suivantes :
- Définition
- La zone Code Bloc est saisissable uniquement
pour les Blocs de type PS. Pour sélectionner un Bloc
PSB, vous devez cliquer sur Modifier, ce qui
ouvre une boîte de dialogue. Vous pouvez voir la liste des instances
disponibles sous vos référentiels en local pour les bases PSB. Le
code PSB sélectionné s'affiche comme un lien qui permet de basculer
vers l'éditeur du Bloc par un simple clic.
- Pour une base PSB appelée dans une ligne -DH, vous ne devez renseigner
que les zones Indicatif ou Option et Commentaire/Nom
du lien/Longueur de clé.
Les options suivantes liées au Segment sont disponibles
uniquement pour les Blocs autres que les types PC et PS.
- Segments
- Sélectionnez ici le code d'un Segment. Pour changer de Segment,
cliquez sur Modifier. Dans la boîte de dialogue
qui s'ouvre, vous pouvez choisir un code Segment dans la liste
des Segments disponibles dans vos référentiels en local. Si la liste
est volumineuse, vous pouvez la réduire en saisissant une chaîne de
caractères qui sert de filtre (le filtre se fait sur le code ou sur
le libellé de l'instance).
- Segment père
- Cliquez sur Modifier pour sélectionner
le code du Segment dont le Segment précédent est hiérarchiquement
dépendant. Dans le cas d'un Bloc de type IP ou IS,
cette zone n'est pas utilisée.
- Code Relation
- Cette information est optionnelle. Elle n'est utilisée que si
le Bloc est de type PSB. Elle permet de nommer les différents DBD
et PCB appelés.
- Indicatif ou Option
- Saisissez dans cette zone la clé (ou Indicatif) qui sert a référencer
symboliquement la Rubrique clé pour le Segment concerné dans le D.B.D.
considéré. La clé doit avoir été indiquée sur la ligne d'appel
d'une Rubrique sous l'onglet Lignes -CE d'un
Segment, dans la zone Indicatif.
- Dans cette zone, vous pouvez indiquer :
- Une clé unique en saisissant U,
- Une clé multiple, en saisissant M,
- Un index secondaire DL/1 en saisissant un chiffre de 1 à 9,
- Dans un PCB ou un DBD physique ou logique, saisissez un $ pour
générer des SSA non qualifiées,
- Un champ de recherche en saisissant tout autre caractère.
Remarque : Les indicatifs sont interdits pour une
Rubrique qui redéfinit une autre Rubrique.
- Nombre d'occurences du lien
- Vous saisissez ici le nombre moyen d'occurrences Segment fils
liées à une occurrence du Segment père.
- Commentaire/Nom du lien/Longueur de clé
- Cette zone permet de commenter le lien défini au niveau de la
ligne. Elle permet par ailleurs d'indiquer la longueur de la clé concaténée.
- Le module calcule automatiquement, lors de la génération d'un
PSB, la longueur de la plus longue clé concaténée. Ce calcul est effectué
pour chaque :
- DBD appelé dans le PSB,
- PCB appelé dans le PSB,
- Base INDEX appelée en tant que base de données autonome dans le
PSB.
- Cette longueur peut être écrasée en indiquant, sur la première
ligne : CC=n (n = 9 à 9999).
- Sur chaque ligne d'appel de Segment, vous pouvez préciser PR=nnnn,
utilisé pour générer le paramètre PROCOPT=nnnn au
niveau de la macro-instruction SENSEG, lors de la génération
du PSB comportant ce DBD, ce PCB ou cette base INDEX.
Remarque : Ce calcul est effectué seulement s'il s'agit d'un Segment
primaire. Dans le cas d'un index secondaire, CC= paramètre est
obligatoirement.
Lignes -GG
La section Lignes
-GG s'affiche lorsque vous insérez ou cliquez sur
une ligne de description. Cette section vous permet de compléter ou
de modifier les informations contenues sur les lignes de description
du Bloc avant leur génération.
Dans les lignes -GG, vous pouvez modifier
les lignes de génération associées aux lignes. Des lignes sont générées
automatiquement pour vous permettre de modifier les lignes de génération
en respectant le format requis. Ces lignes sont identifiées par VIRT ou GUID dans
la dernière colonne du tableau des lignes -GG. Communément, ces lignes
sont appelées lignes virtuelles. Les lignes identifiées par VIRT sont
générées. Pour modifier ces lignes, vous devez les écraser et créer
de nouvelles lignes entre les repères de début et fin d'insertion
dans le tableau. Lorsque vous cliquez sur Ecraser,
les identifiants GUID et VIRT sont
changés en FromGUID et FromVIRT.
Ces lignes deviennent saisissables, vous pouvez également les éditer
avec la touche F2. Vous pouvez ajouter des lignes où vous le souhaitez,
mais elles doivent avoir un type Gpour
être prises en compte à la génération.
Dans le
tableau, vous pouvez voir les colonnes suivantes :
- Type
- Lorsque vous cliquez sur une ligne dans la colonne Type,
une liste déroulante apparaît et vous offre les choix suivants :
- Description
- Cette colonne doit être utilisée pour saisir les éléments de génération
ou les commentaires qui doivent être générés. Son contenu varie selon
le type de Bloc et le type de ligne sélectionné.
- DBD physique :
Les lignes virtuelles associées à une ligne
de description de DBD physique reprennent la description des Segments,
telle qu'elle a été faite au niveau du Référentiel. Elles ne nécessitent
pas de réécriture. Vous avez la possibilité de modifier la description
d'un
FIELD. Créez une ou plusieurs ligne(s)
entre les lignes des repères de début et de fin d'insertion. Sur la
première ligne, saisissez le code Rubrique correspondant au field
à modifier, encadré par
< et
>.
Exemple : G <DELCO >
G FIELD NAME=(NUM,SEQ,U),BYTES=7,...
- DBD LOGIQUE
Les lignes virtuelles associées à une ligne de
description d'un DBD logique reprennent, pour chaque Segment constituant
le DBD, son nom et son parent. Vous devez compléter chaque ligne par
l'identification de la source de ce Segment.
SOURCE = ((nom du Segment,nom du DBD))
- INDEX
Les lignes virtuelles associées à la ligne de description
de l'INDEX (primaire ou secondaire) reprennent la description du Segment
telle qu'elle a été faite au niveau du Référentiel. Pacbase ne dispose pas de
toutes les informations nécessaires à la description d'un INDEX (LCHILD,
...). Vous devez donc compléter les lignes virtuelles.
- PCB
Aucune ligne virtuelle n'est associée à un Bloc Base de
Données de type PCB. Vous pouvez intervenir dans la description d'un
PCB au niveau des lignes virtuelles associées aux lignes de description
du PSB utilisant ce PCB.
- PSB
Les lignes virtuelles associées à une description de PSB
reprennent la description du Segment (ou des Segments) composant le
PCB nommé, telle qu'elle a été faite au niveau du Référentiel. Vous
avez la possibilité de modifier la description d'un
SENSEG.
Créez une ou plusieurs ligne(s) entre les lignes des repères de début
et de fin d'insertion. Sur la première ligne, saisissez le code Segment
correspondant au
SENSEG à modifier, encadré
par les signes
< et
>.
Quatre caractères sont obligatoires entre les deux délimiteurs. Saisissez
la nouvelle description du SENSEG sur les lignes suivantes :
Exemple : G <CD10>
G SENSEG NAME=CLCDE,PARENT=COCRD,PROCOPT=G