Cics-temporary-storage
CICS-一時ストレージ
データを保存したり、トランザクション間でデータを転送したりするためにCICSで使用できるさまざまなスクラッチパッドがあります。 このモジュールでは、CICSによって提供される5つのストレージエリアについて説明します。
COMMAREA
COMMAREAは、同じトランザクション内または異なるトランザクションから、あるプログラムから別のプログラムにデータを渡すために使用できるスクラッチパッドのように動作します。 DFHCOMMAREA名を使用して、LINKAGE SECTIONで定義する必要があります。
共通作業エリア
CICS領域内のすべてのトランザクションは、共通作業域にアクセスできるため、その使用を決定するシステム内のすべてのトランザクションによって、その形式と使用について合意する必要があります。 CICS領域全体にあるCWAは1つだけです。
トランザクション作業領域
トランザクション作業領域は、同じトランザクションで実行されるアプリケーションプログラム間でデータを渡すために使用されます。 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コマンドで使用されるパラメータの詳細です-
- QUEUEは、このパラメーターに記載されている名前で識別されます。
- 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
このコマンドは、Temporary Storage Queueを削除するために使用されます。 DELETEQ TSの構文は次のとおりです-
構文
EXEC CICS DELETEQ TS
QUEUE ('queue-name')
END-EXEC.
一時データキュー
一時データキューは、作成と削除が迅速に行えるため、本質的に一時的なものです。 順次アクセスのみが許可されます。
- キューの内容は、読み取りが実行されると破棄されるため、一度しか読み取ることができないため、Transientという名前になります。
- 更新できません。
- 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.