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.