CICS - tymczasowe przechowywanie

W programie CICS dostępne są różne notatniki do zapisywania danych lub przesyłania danych między transakcjami. Istnieje pięć obszarów przechowywania udostępnianych przez CICS, które będziemy omawiać w tym module.

COMMAREA

COMMAREA zachowuje się jak notatnik, którego można używać do przekazywania danych z jednego programu do innego programu, w ramach tej samej transakcji lub z różnych transakcji. Powinien być zdefiniowany w SEKCJI POŁĄCZENIA przy użyciu nazwy DFHCOMMAREA.

Wspólny obszar roboczy

Każda transakcja w regionie CICS może uzyskać dostęp do wspólnego obszaru roboczego, a zatem jej format i użycie musi być uzgodnione we wszystkich transakcjach w systemie, które zdecydują się na jej użycie. W całym regionie CICS istnieje tylko jeden CWA.

Obszar roboczy transakcji

Obszar roboczy transakcji służy do przekazywania danych między aplikacjami, które są wykonywane w ramach tej samej transakcji. TWA istnieje tylko na czas trwania transakcji. Jego rozmiar jest określony w tabeli sterującej programem.

Tymczasowa kolejka magazynowa

Temporary Storage Queue (TSQ) to funkcja udostępniana przez program Temporary Storage Control Program (TSP).

  • TSQ to kolejka rekordów, które mogą być tworzone, odczytywane i usuwane przez różne zadania lub programy w tym samym regionie CICS.

  • Identyfikator kolejki służy do identyfikacji TSQ.

  • Rekord w TSQ jest identyfikowany przez względną pozycję znaną jako numer pozycji.

  • Rekordy w TSQ pozostają dostępne do momentu jawnego usunięcia całego TSQ.

  • Zapisy w TSQ można odczytywać sekwencyjnie lub bezpośrednio.

  • TSQ mogą być zapisywane w pamięci głównej lub pamięci dyskowej w DASD.

WRITEQ TS

To polecenie służy do dodawania elementów do istniejącego TSQ. Za pomocą tego polecenia możemy również utworzyć nowy TSQ. Poniżej znajduje się składnia polecenia WRITEQ TS -

Składnia

EXEC CICS WRITEQ TS
   QUEUE ('queue-name')
   FROM (queue-record)
   [LENGTH (queue-record-length)]
   [ITEM (item-number)]
   [REWRITE]
   [MAIN /AUXILIARY]
END-EXEC.

Poniżej znajdują się szczegóły parametrów używanych w poleceniu WRITEQ TS -

  • KOLEJKA jest identyfikowana przez nazwę podaną w tym parametrze.

  • Opcje FROM i LENGTH służą do określenia rekordu, który ma zostać zapisany w kolejce, oraz jego długości.

  • Jeśli określono opcję ITEM, CICS przypisuje numer pozycji do rekordu w kolejce i ustawia obszar danych dostarczony w tej opcji na numer pozycji. Jeśli rekord rozpoczyna nową kolejkę, przypisany numer pozycji to 1, a kolejne numery pozycji następują po kolei.

  • Opcja REWRITE służy do aktualizacji rekordu już obecnego w kolejce.

  • Opcja GŁÓWNA / POMOCNICZA służy do przechowywania rekordów w pamięci głównej lub dyskowej. Wartość domyślna to POMOCNICZE.

READQ TS

To polecenie służy do odczytu kolejki tymczasowego przechowywania. Poniżej znajduje się składnia READQ TS -

Składnia

EXEC CICS READQ TS
   QUEUE ('queue-name')
   INTO (queue-record)
   [LENGTH (queue-record-length)]
   [ITEM (item-number)]
   [NEXT]
END-EXEC.

DELETEQ TS

To polecenie służy do usuwania kolejki tymczasowego przechowywania. Poniżej znajduje się składnia DELETEQ TS -

Składnia

EXEC CICS DELETEQ TS
   QUEUE ('queue-name')
END-EXEC.

Przejściowa kolejka danych

Kolejka danych przejściowych ma charakter przejściowy, ponieważ można ją szybko utworzyć i usunąć. Pozwala tylko na dostęp sekwencyjny.

  • Zawartość kolejki można odczytać tylko raz, ponieważ zostanie ona zniszczona po wykonaniu odczytu, stąd nazwa Transient.

  • Nie można go zaktualizować.

  • Wymaga wpisu w DCT.

WRITEQ TD

To polecenie służy do zapisywania kolejek danych przejściowych i są one zawsze zapisywane do pliku. Poniżej znajduje się składnia polecenia WRITEQ TD -

Składnia

EXEC CICS WRITEQ TD
   QUEUE ('queue-name')
   FROM (queue-record)
   [LENGTH (queue-record-length)]
END-EXEC.

READQ TD

To polecenie jest używane do odczytu kolejki danych przejściowych. Poniżej znajduje się składnia READQ TD -

Składnia

EXEC CICS READQ TD
   QUEUE ('queue-name')
   INTO (queue-record)
   [LENGTH (queue-record-length)]
END-EXEC.

DELETEQ TD

To polecenie służy do usuwania kolejki danych przejściowych. Poniżej znajduje się składnia DELETEQ TD -

Składnia

EXEC CICS DELETEQ TD
   QUEUE ('queue-name')
END-EXEC.