IMS DB - Manipulation des données

Les différentes méthodes de manipulation des données utilisées dans les appels IMS DL / I sont les suivantes:

  • Appel ISRT
  • Obtenir des appels en attente
  • Appel REPL
  • Appel DLET

Considérons la structure de base de données IMS suivante pour comprendre les appels de la fonction de manipulation de données -

Appel ISRT

Points à noter -

  • L'appel ISRT est appelé appel d'insertion, utilisé pour ajouter des occurrences de segment à une base de données.

  • Les appels ISRT sont utilisés pour charger une nouvelle base de données.

  • Nous émettons un appel ISRT lorsqu'un champ de description de segment est chargé avec des données.

  • Un SSA non qualifié ou qualifié doit être spécifié dans l'appel afin que le DL / I sache où placer une occurrence de segment.

  • Nous pouvons utiliser une combinaison de SSA non qualifié et qualifié dans l'appel. Un SSA qualifié peut être spécifié pour tous les niveaux ci-dessus. Prenons l'exemple suivant -

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

L'exemple ci-dessus montre que nous émettons un appel ISRT en fournissant une combinaison de SSA qualifiés et non qualifiés.

Lorsqu'un nouveau segment que nous insérons a un champ clé unique, il est ajouté à la bonne position. Si le champ clé n'est pas unique, il est ajouté par les règles définies par un administrateur de base de données.

Lorsque nous émettons un appel ISRT sans spécifier de champ clé, la règle d'insertion indique où placer les segments par rapport aux segments jumeaux existants. Ci-dessous sont les règles d'insertion -

  • First - Si la règle est la première, le nouveau segment est ajouté avant les jumeaux existants.

  • Last - Si la règle est la dernière, le nouveau segment est ajouté après tous les jumeaux existants.

  • Here - Si la règle est ici, elle est ajoutée à la position actuelle par rapport aux jumeaux existants, qui peuvent être le premier, le dernier ou n'importe où.

Codes d'état

Le tableau suivant montre les codes d'état pertinents après un appel ISRT -

S. Non Code d'état et description
1

Spaces

Appel réussi

2

GE

Plusieurs SSA sont utilisés et le DL / I ne peut pas satisfaire l'appel avec le chemin spécifié.

3

II

Essayez d'ajouter une occurrence de segment déjà présente dans la base de données.

4

LB / LC LD / LE

Nous obtenons ces codes d'état lors du traitement du chargement. Dans la plupart des cas, ils indiquent que vous n'insérez pas les segments dans une séquence hiérarchique exacte.

Obtenir un appel en attente

Points à noter -

  • Il existe trois types d'appels Get Hold que nous spécifions dans un appel DL / I:

    • Get Hold Unique (GHU)

    • Get Hold Next (GHN)

    • Get Hold Next dans Parent (GHNP)

  • La fonction Hold spécifie que nous allons mettre à jour le segment après la récupération. Ainsi, avant un appel REPL ou DLET, un appel en attente réussi doit être émis indiquant au DL / I l'intention de mettre à jour la base de données.

Appel REPL

Points à noter -

  • Après un appel de mise en attente réussi, nous émettons un appel REPL pour mettre à jour une occurrence de segment.

  • Nous ne pouvons pas modifier la longueur d'un segment à l'aide d'un appel REPL.

  • Nous ne pouvons pas modifier la valeur d'un champ clé à l'aide d'un appel REPL.

  • Nous ne pouvons pas utiliser un SSA qualifié avec un appel REPL. Si nous spécifions un SSA qualifié, l'appel échoue.

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'exemple ci-dessus met à jour l'occurrence du segment informatique à l'aide d'un appel REPL. Tout d'abord, nous émettons un appel GHU pour obtenir l'occurrence de segment que nous voulons mettre à jour. Ensuite, nous émettons un appel REPL pour mettre à jour les valeurs de ce segment.

Appel DLET

Points à noter -

  • L'appel DLET fonctionne de la même manière qu'un appel REPL.

  • Après un appel de mise en attente réussi, nous émettons un appel DLET pour supprimer une occurrence de segment.

  • Nous ne pouvons pas utiliser un SSA qualifié avec un appel DLET. Si nous spécifions un SSA qualifié, l'appel échoue.

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'exemple ci-dessus supprime l'occurrence de segment informatique à l'aide d'un appel DLET. Tout d'abord, nous émettons un appel GHU pour obtenir l'occurrence de segment que nous voulons supprimer. Ensuite, nous émettons un appel DLET pour mettre à jour les valeurs de ce segment.

Codes d'état

Le tableau suivant montre les codes d'état pertinents après un appel REPL ou DLET -

S. Non Code d'état et description
1

Spaces

Appel réussi

2

AJ

SSA qualifié utilisé lors d'un appel REPL ou DLET.

3

DJ

Le programme émet un appel de remplacement sans un appel de mise en attente immédiatement précédent.

4

DA

Le programme modifie le champ clé du segment avant d'émettre l'appel REPL ou DLET