DB IMS - Manipolazione dei dati

I diversi metodi di manipolazione dei dati utilizzati nelle chiamate IMS DL / I sono i seguenti:

  • Bando ISRT
  • Ricevi chiamate in attesa
  • Chiamata REPL
  • Chiamata DLET

Consideriamo la seguente struttura del database IMS per comprendere le chiamate alla funzione di manipolazione dei dati:

Bando ISRT

Punti da notare -

  • La chiamata ISRT è nota come chiamata di inserimento che viene utilizzata per aggiungere occorrenze di segmento a un database.

  • Le chiamate ISRT vengono utilizzate per caricare un nuovo database.

  • Emettiamo una chiamata ISRT quando un campo di descrizione del segmento viene caricato con i dati.

  • Nella chiamata deve essere specificato un SSA non qualificato o qualificato in modo che il DL / I sappia dove posizionare l'occorrenza di un segmento.

  • Possiamo utilizzare una combinazione di SSA non qualificato e qualificato nella chiamata. È possibile specificare un SSA qualificato per tutti i livelli di cui sopra. Consideriamo il seguente esempio:

CALL 'CBLTDLI' USING DLI-ISRT
                     PCB-NAME
                     IO-AREA
                     LIBRARY-SSA
                     BOOKS-SSA
                     UNQUALIFIED-ENGINEERING-SSA

L'esempio sopra mostra che stiamo emettendo una chiamata ISRT fornendo una combinazione di SSA qualificati e non qualificati.

Quando un nuovo segmento che stiamo inserendo ha un campo chiave univoco, viene aggiunto nella posizione corretta. Se il campo chiave non è univoco, viene aggiunto dalle regole definite da un amministratore del database.

Quando emettiamo una chiamata ISRT senza specificare un campo chiave, la regola di inserimento indica dove posizionare i segmenti rispetto ai segmenti gemelli esistenti. Di seguito sono riportate le regole di inserimento:

  • First - Se la regola è prima, il nuovo segmento viene aggiunto prima di eventuali gemelli esistenti.

  • Last - Se la regola è l'ultima, il nuovo segmento viene aggiunto dopo tutti i gemelli esistenti.

  • Here - Se la regola è qui, viene aggiunta alla posizione corrente rispetto ai gemelli esistenti, che può essere il primo, l'ultimo o ovunque.

Codici di stato

La tabella seguente mostra i codici di stato rilevanti dopo una chiamata ISRT -

S.No Codice di stato e descrizione
1

Spaces

Chiamata riuscita

2

GE

Vengono utilizzati più SSA e il DL / I non è in grado di soddisfare la chiamata con il percorso specificato.

3

II

Prova ad aggiungere una ricorrenza del segmento che è già presente nel database.

4

LB / LC LD / LE

Otteniamo questi codici di stato durante l'elaborazione del caricamento. Nella maggior parte dei casi, indicano che non stai inserendo i segmenti in un'esatta sequenza gerarchica.

Ricevi chiamata in attesa

Punti da notare -

  • Esistono tre tipi di chiamate in attesa che vengono specificate in una chiamata DL / I:

    • Ottieni Hold Unique (GHU)

    • Get Hold Next (GHN)

    • Get Hold Next within Parent (GHNP)

  • La funzione Hold specifica che aggiorneremo il segmento dopo il recupero. Pertanto, prima di una chiamata REPL o DLET, è necessario emettere una chiamata in attesa riuscita per comunicare al DL / I l'intenzione di aggiornare il database.

Chiamata REPL

Punti da notare -

  • Dopo una chiamata in attesa riuscita, emettiamo una chiamata REPL per aggiornare l'occorrenza di un segmento.

  • Non è possibile modificare la lunghezza di un segmento utilizzando una chiamata REPL.

  • Non è possibile modificare il valore di un campo chiave utilizzando una chiamata REPL.

  • Non possiamo utilizzare un SSA qualificato con una chiamata REPL. Se specifichiamo un SSA qualificato, la chiamata non riesce.

CALL 'CBLTDLI' USING DLI-GHU
                     PCB-NAME
                     IO-AREA
                     LIBRARY-SSA
                     BOOKS-SSA
                     ENGINEERING-SSA
                     IT-SSA.
                     
*Move the values which you want to update in IT segment occurrence*

CALL ‘CBLTDLI’ USING DLI-REPL
                     PCB-NAME
                     IO-AREA.

L'esempio precedente aggiorna l'occorrenza del segmento IT utilizzando una chiamata REPL. Innanzitutto, emettiamo una chiamata GHU per ottenere l'occorrenza del segmento che vogliamo aggiornare. Quindi, emettiamo una chiamata REPL per aggiornare i valori di quel segmento.

Chiamata DLET

Punti da notare -

  • La chiamata DLET funziona in modo molto simile a una chiamata REPL.

  • Dopo una chiamata in attesa riuscita, emettiamo una chiamata DLET per eliminare l'occorrenza di un segmento.

  • Non è possibile utilizzare un SSA qualificato con una chiamata DLET. Se specifichiamo un SSA qualificato, la chiamata non riesce.

CALL 'CBLTDLI' USING DLI-GHU
                     PCB-NAME
                     IO-AREA
                     LIBRARY-SSA
                     BOOKS-SSA
                     ENGINEERING-SSA
                     IT-SSA.
                     
CALL ‘CBLTDLI’ USING DLI-DLET
                     PCB-NAME
                     IO-AREA.

L'esempio precedente elimina l'occorrenza del segmento IT utilizzando una chiamata DLET. Innanzitutto, emettiamo una chiamata GHU per ottenere l'occorrenza del segmento che vogliamo eliminare. Quindi, emettiamo una chiamata DLET per aggiornare i valori di quel segmento.

Codici di stato

La tabella seguente mostra i codici di stato rilevanti dopo una chiamata REPL o DLET -

S.No Codice di stato e descrizione
1

Spaces

Chiamata riuscita

2

AJ

SSA qualificato utilizzato su chiamate REPL o DLET.

3

DJ

Il programma emette una chiamata sostitutiva senza una chiamata in attesa immediatamente precedente.

4

DA

Il programma apporta una modifica al campo chiave del segmento prima di emettere la chiamata REPL o DLET