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.