Base de données IMS - SSA

SSA signifie Arguments de recherche de segment. SSA est utilisé pour identifier l'occurrence de segment en cours d'accès. C'est un paramètre facultatif. Nous pouvons inclure n'importe quel nombre de SSA en fonction des besoins. Il existe deux types de SSA -

  • SSA non qualifié
  • Qualifié SSA

SSA non qualifié

Un SSA non qualifié fournit le nom du segment utilisé dans l'appel. Vous trouverez ci-dessous la syntaxe d'un SSA non qualifié -

01 UNQUALIFIED-SSA.
   05  SEGMENT-NAME  PIC X(8).
   05  FILLER        PIC X     VALUE SPACE.

Les points clés du SSA non qualifié sont les suivants:

  • Un SSA de base non qualifié a une longueur de 9 octets.

  • Les 8 premiers octets contiennent le nom du segment utilisé pour le traitement.

  • Le dernier octet contient toujours un espace.

  • DL / I utilise le dernier octet pour déterminer le type de SSA.

  • Pour accéder à un segment particulier, déplacez le nom du segment dans le champ SEGMENT-NAME.

Les images suivantes montrent les structures des SSA non qualifiés et qualifiés -

Qualifié SSA

Un SSA qualifié fournit au type de segment l'occurrence de base de données spécifique d'un segment. Vous trouverez ci-dessous la syntaxe d'un SSA qualifié -

01 QUALIFIED-SSA.
   05  SEGMENT-NAME  PIC X(8).
   05  FILLER        PIC X(01)     VALUE '('.
   05  FIELD-NAME    PIC X(8).
   05  REL-OPR       PIC X(2).
   05  SEARCH-VALUE  PIC X(n).
   05  FILLER        PIC X(n+1) VALUE ')'.

Les points clés du SSA qualifié sont les suivants -

  • Les 8 premiers octets d'un SSA qualifié contiennent le nom du segment utilisé pour le traitement.

  • Le neuvième octet est une parenthèse gauche '('.

  • Les 8 octets suivants à partir de la dixième position spécifient le nom du champ que nous voulons rechercher.

  • Après le nom du champ, aux 18 e et 19 e positions, nous spécifions un code opérateur relationnel à deux caractères.

  • Ensuite, nous spécifions la valeur du champ et dans le dernier octet, il y a une parenthèse droite ')'.

Le tableau suivant présente les opérateurs relationnels utilisés dans un SSA qualifié.

Opérateur relationnel symbole La description
EQ = Égal
NE ~ = ˜ Inégal
GT > Plus grand que
GE > = Meilleur que ou égal
LT << Moins que
LE <= Inférieur ou égal

Codes de commande

Les codes de commande sont utilisés pour améliorer la fonctionnalité des appels DL / I. Les codes de commande réduisent le nombre d'appels DL / I, ce qui simplifie les programmes. En outre, cela améliore les performances car le nombre d'appels est réduit. L'image suivante montre comment les codes de commande sont utilisés dans les SSA non qualifiés et qualifiés -

Les points clés des codes de commande sont les suivants -

  • Pour utiliser des codes de commande, spécifier un astérisque dans le 9 ème position de la SSA comme indiqué dans l'image ci - dessus.

  • Le code de commande est codé à la dixième position.

  • À partir de la 10 e position, DL / I considère tous les caractères comme des codes de commande jusqu'à ce qu'il rencontre un espace pour un SSA non qualifié et une parenthèse gauche pour un SSA qualifié.

Le tableau suivant présente la liste des codes de commande utilisés en SSA -

Code de commande La description
C Clé concaténée
Appel de chemin
F Première occurrence
L Dernière occurrence
N Ignorer l'appel de chemin
P Définir la filiation
Q Segment de mise en file d'attente
U Maintenir sa position à ce niveau
V Maintenir la position à ce niveau et à tous les niveaux ci-dessus
- Code de commande nul

Qualifications multiples

Les points fondamentaux de plusieurs qualifications sont les suivants:

  • Plusieurs qualifications sont requises lorsque nous devons utiliser deux ou plusieurs qualifications ou domaines à des fins de comparaison.

  • Nous utilisons des opérateurs booléens tels que AND et OR pour connecter deux ou plusieurs qualifications.

  • Plusieurs qualifications peuvent être utilisées lorsque nous voulons traiter un segment en fonction d'une plage de valeurs possibles pour un seul champ.

Vous trouverez ci-dessous la syntaxe des qualifications multiples -

01 QUALIFIED-SSA.
   05  SEGMENT-NAME  PIC X(8).
   05  FILLER        PIC X(01)     VALUE '('.
   05  FIELD-NAME1   PIC X(8).
   05  REL-OPR       PIC X(2).
   05  SEARCH-VALUE1 PIC X(m).
   05  MUL-QUAL      PIC X      VALUE '&'.
   05  FIELD-NAME2   PIC X(8).
   05  REL-OPR       PIC X(2).
   05  SEARCH-VALUE2 PIC X(n).
   05  FILLER        PIC X(n+1) VALUE ')'.

MUL-QUAL est un court terme pour MULtiple QUALIification dans lequel nous pouvons fournir des opérateurs booléens comme AND ou OR.