IMS DB - Manipulacja danymi

Różne metody manipulacji danymi używane w wywołaniach IMS DL / I są następujące:

  • Połączenie ISRT
  • Otrzymuj połączenia zawieszone
  • REPL Zadzwoń
  • Połączenie DLET

Rozważmy następującą strukturę bazy danych IMS, aby zrozumieć wywołania funkcji manipulacji danymi -

Połączenie ISRT

Punkty do zapamiętania -

  • Wywołanie ISRT jest znane jako wywołanie wstawiania, które jest używane do dodawania wystąpień segmentów do bazy danych.

  • Wywołania ISRT służą do ładowania nowej bazy danych.

  • Wysyłamy wywołanie ISRT, gdy pole opisu segmentu jest ładowane danymi.

  • Niekwalifikowany lub kwalifikowany SSA musi być określony w wywołaniu, aby DL / I wiedział, gdzie umieścić wystąpienie segmentu.

  • W rozmowie możemy użyć kombinacji zarówno niekwalifikowanych, jak i kwalifikowanych SSA. Dla wszystkich powyższych poziomów można określić kwalifikowany SSA. Rozważmy następujący przykład -

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

Powyższy przykład pokazuje, że wysyłamy wywołanie ISRT, udostępniając kombinację kwalifikowanych i niekwalifikowanych SSA.

Gdy nowy segment, który wstawiamy, ma unikalne pole klucza, to jest on dodawany we właściwej pozycji. Jeśli pole klucza nie jest unikalne, jest dodawane zgodnie z regułami zdefiniowanymi przez administratora bazy danych.

Kiedy wywołujemy ISRT bez określania pola kluczowego, wówczas reguła wstawiania mówi, gdzie umieścić segmenty względem istniejących segmentów bliźniaczych. Poniżej podano zasady wstawiania -

  • First - Jeśli reguła jest pierwsza, nowy segment jest dodawany przed istniejącymi bliźniakami.

  • Last - Jeśli reguła jest ostatnia, nowy segment jest dodawany po wszystkich istniejących bliźniakach.

  • Here - Jeśli reguła jest tutaj, jest dodawana w bieżącej pozycji względem istniejących bliźniaków, które mogą być pierwsze, ostatnie lub gdziekolwiek.

Kody stanu

W poniższej tabeli przedstawiono odpowiednie kody stanu po wywołaniu ISRT -

S.Nr Kod stanu i opis
1

Spaces

Udane połączenie

2

GE

Stosowanych jest wiele SSA, a DL / I nie może spełnić połączenia z określoną ścieżką.

3

II

Spróbuj dodać wystąpienie segmentu, które jest już obecne w bazie danych.

4

LB / LC LD / LE

Otrzymujemy te kody stanu podczas przetwarzania ładowania. W większości przypadków wskazują one, że segmenty nie są wstawiane w dokładnej kolejności hierarchicznej.

Odbierz połączenie zawieszone

Punkty do zapamiętania -

  • Istnieją trzy typy połączeń Get Hold, które określamy w wywołaniu DL / I:

    • Get Hold Unique (GHU)

    • Get Hold Next (GHN)

    • Get Hold Next within Parent (GHNP)

  • Funkcja Hold określa, że ​​będziemy aktualizować segment po pobraniu. Tak więc przed wywołaniem REPL lub DLET musi zostać wydane połączenie zawieszające z powodzeniem, informujące DL / I o zamiarze aktualizacji bazy danych.

REPL Zadzwoń

Punkty do zapamiętania -

  • Po pomyślnym odebraniu połączenia zawieszonego wysyłamy wywołanie REPL, aby zaktualizować wystąpienie segmentu.

  • Nie możemy zmienić długości segmentu za pomocą wywołania REPL.

  • Nie możemy zmienić wartości pola klucza za pomocą wywołania REPL.

  • Nie możemy używać kwalifikowanego SSA z wywołaniem REPL. Jeśli określimy kwalifikowany SSA, wywołanie nie powiedzie się.

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.

Powyższy przykład aktualizuje wystąpienie segmentu IT za pomocą wywołania REPL. Najpierw wysyłamy wywołanie GHU, aby uzyskać wystąpienie segmentu, które chcemy zaktualizować. Następnie wysyłamy wywołanie REPL, aby zaktualizować wartości tego segmentu.

Połączenie DLET

Punkty do zapamiętania -

  • Wywołanie DLET działa w podobny sposób, jak wywołanie REPL.

  • Po pomyślnym odebraniu połączenia, wysyłamy wywołanie DLET, aby usunąć wystąpienie segmentu.

  • Nie możemy używać kwalifikowanego SSA z połączeniem DLET. Jeśli określimy kwalifikowany SSA, wywołanie nie powiedzie się.

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.

Powyższy przykład usuwa wystąpienie segmentu IT za pomocą wywołania DLET. Najpierw wysyłamy wywołanie GHU, aby uzyskać wystąpienie segmentu, które chcemy usunąć. Następnie wysyłamy wywołanie DLET, aby zaktualizować wartości tego segmentu.

Kody stanu

W poniższej tabeli przedstawiono odpowiednie kody stanu po wywołaniu REPL lub DLET -

S.Nr Kod stanu i opis
1

Spaces

Udane połączenie

2

AJ

Kwalifikowany SSA używany w połączeniu REPL lub DLET.

3

DJ

Program wysyła połączenie zastępcze bez poprzedzającego go bezpośrednio połączenia wstrzymanego.

4

DA

Program dokonuje zmiany w polu klucza segmentu przed wywołaniem REPL lub DLET