IMS DB - SSA
SSA è l'acronimo di Segment Search Arguments. SSA viene utilizzato per identificare l'occorrenza del segmento a cui si accede. È un parametro opzionale. Possiamo includere qualsiasi numero di SSA a seconda del requisito. Esistono due tipi di SSA:
- SSA non qualificato
- SSA qualificato
SSA non qualificato
Un SSA non qualificato fornisce il nome del segmento utilizzato all'interno della chiamata. Di seguito è riportata la sintassi di un SSA non qualificato:
01 UNQUALIFIED-SSA.
05 SEGMENT-NAME PIC X(8).
05 FILLER PIC X VALUE SPACE.
I punti chiave di un SSA non qualificato sono i seguenti:
Un SSA di base non qualificato è lungo 9 byte.
I primi 8 byte contengono il nome del segmento utilizzato per l'elaborazione.
L'ultimo byte contiene sempre spazio.
DL / I utilizza l'ultimo byte per determinare il tipo di SSA.
Per accedere a un particolare segmento, sposta il nome del segmento nel campo SEGMENT-NAME.
Le immagini seguenti mostrano le strutture di SSA non qualificati e qualificati -
SSA qualificato
Un SSA qualificato fornisce il tipo di segmento con l'occorrenza di database specifica di un segmento. Di seguito è riportata la sintassi di un SSA qualificato:
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 ')'.
I punti chiave della SSA qualificata sono i seguenti:
I primi 8 byte di un SSA qualificato contengono il nome del segmento utilizzato per l'elaborazione.
Il nono byte è una parentesi sinistra '('.
I successivi 8 byte a partire dalla decima posizione specificano il nome del campo che si desidera cercare.
Dopo il nome del campo, nella 18ª e 19ª posizione, specifichiamo un codice operatore relazionale di due caratteri.
Quindi specifichiamo il valore del campo e nell'ultimo byte, c'è una parentesi destra ')'.
La tabella seguente mostra gli operatori relazionali utilizzati in un SSA qualificato.
Operatore relazionale | Simbolo | Descrizione |
---|---|---|
EQ | = | Pari |
NE | ~ = ˜ | Non uguale |
GT | > | Più grande di |
GE | > = | Maggiore o uguale |
LT | << | Meno di |
LE | <= | Minore o uguale |
Codici di comando
I codici di comando vengono utilizzati per migliorare la funzionalità delle chiamate DL / I. I codici di comando riducono il numero di chiamate DL / I, semplificando i programmi. Inoltre, migliora le prestazioni poiché il numero di chiamate viene ridotto. L'immagine seguente mostra come vengono utilizzati i codici di comando in SSA non qualificati e qualificati:
I punti chiave dei codici di comando sono i seguenti:
Per utilizzare i codici di comando, specificare un asterisco nella nona posizione dell'SSA come mostrato nell'immagine sopra.
Il codice di comando è codificato alla decima posizione.
Dalla decima posizione in poi, DL / I considera tutti i caratteri come codici di comando fino a quando non incontra uno spazio per un SSA non qualificato e una parentesi sinistra per un SSA qualificato.
La tabella seguente mostra l'elenco dei codici di comando utilizzati in SSA -
Codice di comando | Descrizione |
---|---|
C | Chiave concatenata |
D | Path Call |
F | Prima occorrenza |
L | Ultima occorrenza |
N | Ignora chiamata percorso |
P | Imposta genitore |
Q | Accoda segmento |
U | Mantieni la posizione a questo livello |
V | Mantenere la posizione a questo e a tutti i livelli superiori |
- | Codice di comando nullo |
Qualifiche multiple
I punti fondamentali di più qualifiche sono i seguenti:
Sono necessarie più qualifiche quando è necessario utilizzare due o più qualifiche o campi per il confronto.
Usiamo operatori booleani come AND e OR per collegare due o più qualifiche.
È possibile utilizzare più qualifiche quando si desidera elaborare un segmento in base a un intervallo di valori possibili per un singolo campo.
Di seguito è riportata la sintassi di Multiple Qualifications -
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 è un termine breve per MULtiple QUALIification in cui possiamo fornire operatori booleani come AND o OR.