IMS DB - SSA

SSA steht für Segment Search Arguments. SSA wird verwendet, um das Segmentvorkommen zu identifizieren, auf das zugegriffen wird. Dies ist ein optionaler Parameter. Wir können je nach Anforderung eine beliebige Anzahl von SSAs einschließen. Es gibt zwei Arten von SSAs -

  • Nicht qualifizierte SSA
  • Qualifizierte SSA

Nicht qualifizierte SSA

Ein nicht qualifizierter SSA gibt den Namen des Segments an, das innerhalb des Anrufs verwendet wird. Nachstehend ist die Syntax eines nicht qualifizierten SSA angegeben.

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

Die wichtigsten Punkte einer nicht qualifizierten SSA sind:

  • Ein unqualifizierter Basis-SSA ist 9 Byte lang.

  • Die ersten 8 Bytes enthalten den Segmentnamen, der für die Verarbeitung verwendet wird.

  • Das letzte Byte enthält immer Leerzeichen.

  • DL / I verwendet das letzte Byte, um den SSA-Typ zu bestimmen.

  • Um auf ein bestimmtes Segment zuzugreifen, verschieben Sie den Namen des Segments in das Feld SEGMENT-NAME.

Die folgenden Bilder zeigen die Strukturen nicht qualifizierter und qualifizierter SSAs -

Qualifizierte SSA

Ein qualifizierter SSA liefert dem Segmenttyp das spezifische Datenbankvorkommen eines Segments. Unten ist die Syntax eines qualifizierten SSA angegeben -

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 ')'.

Die wichtigsten Punkte einer qualifizierten SSA sind:

  • Die ersten 8 Bytes eines qualifizierten SSA enthalten den Segmentnamen, der für die Verarbeitung verwendet wird.

  • Das neunte Byte ist eine linke Klammer '('.

  • Die nächsten 8 Bytes ab der zehnten Position geben den Feldnamen an, nach dem gesucht werden soll.

  • Nach dem Feldnamen, in dem 18 - ten und 19 - ten Positionen, geben wir relationalen Operator Code aus zwei Zeichen.

  • Dann geben wir den Feldwert an und im letzten Byte steht eine rechte Klammer ')'.

Die folgende Tabelle zeigt die in einem qualifizierten SSA verwendeten Vergleichsoperatoren.

Vergleichsoperator Symbol Beschreibung
EQ = Gleich
NE ~ = ˜ Nicht gleich
GT > Größer als
GE > = Größer als oder gleich
LT << Weniger als
LE <= Weniger als oder gleich

Befehlscodes

Befehlscodes werden verwendet, um die Funktionalität von DL / I-Aufrufen zu verbessern. Befehlscodes reduzieren die Anzahl der DL / I-Aufrufe, wodurch die Programme einfach werden. Außerdem wird die Leistung verbessert, da die Anzahl der Anrufe verringert wird. Das folgende Bild zeigt, wie Befehlscodes in nicht qualifizierten und qualifizierten SSAs verwendet werden.

Die wichtigsten Punkte von Befehlscodes sind:

  • Um Befehlscodes zu verwenden, gibt ein Sternchen in der 9 - ten Position des SSA wie in der obigen Abbildung dargestellt.

  • Der Befehlscode ist an der zehnten Stelle codiert.

  • Vom 10. - ten ab Position hält DL / I alle Zeichen Befehlscodes sein , bis sie einen Platz für einen nicht qualifizierten SSA und eine linke Klammer für eine qualifizierte SSA treffen.

Die folgende Tabelle zeigt die Liste der in SSA verwendeten Befehlscodes -

Befehlscode Beschreibung
C. Verketteter Schlüssel
D. Pfadaufruf
F. Erstes Auftreten
L. Letztes Vorkommen
N. Pfadaufruf ignorieren
P. Elternschaft festlegen
Q. Segment in die Warteschlange stellen
U. Position auf dieser Ebene halten
V. Behalten Sie die Position auf dieser und allen oben genannten Ebenen bei
- - Null-Befehlscode

Mehrere Qualifikationen

Die grundlegenden Punkte mehrerer Qualifikationen sind wie folgt:

  • Mehrere Qualifikationen sind erforderlich, wenn zwei oder mehr Qualifikationen oder Felder zum Vergleich verwendet werden müssen.

  • Wir verwenden Boolesche Operatoren wie AND und OR, um zwei oder mehr Qualifikationen zu verbinden.

  • Mehrere Qualifikationen können verwendet werden, wenn ein Segment basierend auf einem Bereich möglicher Werte für ein einzelnes Feld verarbeitet werden soll.

Unten ist die Syntax von Multiple Qualifications angegeben -

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 ist eine Kurzform für MULtiple QUALIification, in der wir boolesche Operatoren wie AND oder OR bereitstellen können.