CICS - 臨時儲存



CICS 中提供了不同的暫存區用於儲存資料或在事務之間傳輸資料。CICS 提供了五個儲存區域,我們將在本模組中討論這些區域。

COMMAREA

COMMAREA 的行為類似於暫存區,可用於將資料從一個程式傳遞到另一個程式,無論是在同一事務內還是在不同事務之間。它應該在 LINKAGE SECTION 中使用 DFHCOMMAREA 名稱進行定義。

公共工作區

CICS 區域中的任何事務都可以訪問公共工作區,因此必須由系統中所有決定使用它的事務商定其格式和用法。整個 CICS 區域中只有一個 CWA。

事務工作區

事務工作區用於在同一事務中執行的應用程式程式之間傳遞資料。TWA 只存在於事務期間。其大小在程式控制表中定義。

臨時儲存佇列

臨時儲存佇列 (TSQ) 是由臨時儲存控制程式 (TSP) 提供的功能。

  • TSQ 是一個記錄佇列,可以在同一 CICS 區域中的不同任務或程式中建立、讀取和刪除。

  • 佇列識別符號用於標識 TSQ。

  • TSQ 中的記錄由稱為專案號的相對位置標識。

  • TSQ 中的記錄保持可訪問,直到整個 TSQ 被顯式刪除。

  • TSQ 中的記錄可以順序讀取或直接讀取。

  • TSQ 可以寫入主儲存器或 DASD 中的輔助儲存器。

WRITEQ TS

此命令用於向現有 TSQ 新增專案。此外,我們可以使用此命令建立新的 TSQ。以下是 WRITEQ TS 命令的語法:

語法

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

以下是 WRITEQ TS 命令中使用的引數的詳細資訊:

  • 佇列由在此引數中提到的名稱標識。

  • FROM 和 LENGTH 選項用於指定要寫入佇列的記錄及其長度。

  • 如果指定了 ITEM 選項,則 CICS 會為佇列中的記錄分配一個專案號,並將該選項中提供的 資料區域設定為專案號。如果記錄啟動一個新佇列,則分配的專案號為 1,後續的專案號依次遞增。

  • REWRITE 選項用於更新佇列中已存在的記錄。

  • MAIN/AUXILIARY 選項用於將記錄儲存在主儲存器或輔助儲存器中。預設為 AUXILIARY。

READQ TS

此命令用於讀取臨時儲存佇列。以下是 READQ TS 的語法:

語法

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

DELETEQ TS

此命令用於刪除臨時儲存佇列。以下是 DELETEQ TS 的語法:

語法

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

瞬態資料佇列

瞬態資料佇列本質上是瞬態的,因為它可以快速建立和刪除。它只允許順序訪問。

  • 佇列的內容只能讀取一次,因為它在執行讀取後會被銷燬,因此得名“瞬態”。

  • 它不能被更新。

  • 它需要 DCT 中的條目。

WRITEQ TD

此命令用於寫入瞬態資料佇列,它們始終寫入檔案。以下是 WRITEQ TD 命令的語法:

語法

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

READQ TD

此命令用於讀取瞬態資料佇列。以下是 READQ TD 的語法:

語法

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

DELETEQ TD

此命令用於刪除瞬態資料佇列。以下是 DELETEQ TD 的語法:

語法

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

© . All rights reserved.