PCT エントリのロードの遅延

すべての PCT エントリを起動時にロードするか、PCT エントリの一部または全部のロードを、対応するトランザクション ID が入力されるまで延期するかを制御できます。

すべての PCT エントリを起動時にロードする場合の利点は次のとおりです。

これらの利点は、すばやい応答時間や安定したリージョン定義が必要な本番環境では特に重要です。不利な点としては、ロードする PCT エントリが多い場合、起動時間が遅くなり、共有メモリの使用率が高くなる点があります。

PCT エントリのロードを制御するには、ESMAC の [CICS SIT] ページの [Defer Install] フィールドを使用します。

PCT エントリのロードを遅らせる場合、現在メモリにロードされていないトランザクション ID を入力すると、CICS はオリジナルのスタートアップ リストに指定されたグループを逆の順序で検索します。該当するトランザクション ID の PCT エントリが見つかると、そのエントリはメモリに動的にロードされ、後で使用されます。トランザクション ID が見つからない場合、通常どおり TRANSIDERR が発生します。

注: 遅延と指定したグループが起動時に空の場合、そのグループの PCT エントリに関する検索はそれ以降行われません。

次の例では、リソースが図のように定義されるとします。

次に示すリソースを RDF で定義するとします。

図 1. 例 1 のリソース定義ファイル
Resource Definition File for Example 1

DEFSIT1 を使用する場合、(DFH グループのエントリに加えて) 次のエントリが起動時にメモリにロードされます。

  •  DEFGRP1 の (TRN2,PROG2)
  •  DEFGRP1 の (TRN3,PROG3)
  •  DEFGRP2 の (TRN4,PROG4)
  •  DEFGRP2 の (TRN1,PROG5)

DEFGRP2 の (TRN1,PROG5) のエントリは、DEFGRP1 の TRN1 のエントリの代わりに使用されます。これは、スタートアップ リストで DEFGRP2 が DEFGRP1 よりも後にあるためです。

次に示すリソースを RDF で定義するとします。

図 2. 例 2 のリソース定義ファイル
Resource Definition File for Example 2

リージョンを DEFSIT2 で起動する場合、PCT ロードの遅延は、スタートアップ リストのすべてのグループに対して有効です。起動時にメモリにロードされる PCT エントリはありません。エンタープライズ サーバーを実行している際に、たとえば、トランザクション ID に TRN3 をクライアントから入力すると、次の操作が行われます。

  •  DEFGRP2 で PCT エントリ = TRN3 を検索します。結果:見つかりません。
  • DEFGRP1 で PCT エントリ = TRN3 を検索します。結果:見つかりました。メモリに定義をロードします。

トランザクション ID TRN3 の以降の使用では、メモリで PCT エントリが見つかるため、リソース定義ファイルの検索は行われません。同様に、トランザクション ID TRN1 をクライアントから入力する場合、定義は DEFGRP2 で検索されて検出されます。

これにより、「例 1 のリソース定義ファイル」と同じ TRN1 の定義が見つかります。

次に示すリソースを RDF で定義するとします。

図 3. 例 3 のリソース定義ファイル
Resource Definition File for Example 3

PCT ロード遅延の 3 つめのタイプでは、PCT 定義のロードを遅らせるグループの数を指定できます。この場合、遅延グループの数は 1 に設定されるため、DEFGRP2 の PCT 定義のロードが遅延します。

遅らせるグループの数は、スタートアップ リストの最後からカウントされます。

この場合、システムの起動時に、次の PCT 定義がメモリにロードされます。

  •  DEFGRP1 の (TRN1,PROG1)
  • DEFGRP1 の (TRN2,PROG2)
  • DEFGRP1 の (TRN3,PROG3)

トランザクション ID TRN1 の定義は、DEFGRP2 ではなく DEFGRP1 から取得されるようになりました。