効率の向上: single-update and read-only プロトコル
リソース・マネージャーがシングルフェーズ・コミットを実行できる場合、 CICS®のシングル・アップデートおよび読み取り専用プロトコルを使用することで、システムの効率性を向上させることができます。
単一更新プロトコル
多くの CICS トランザクションは、外部リソース・マネージャを1つだけ使用します。 この場合、単一フェーズ・コミットが適切です。
- トランザクションに必要なログの強制書き出しの数をリソース・マネージャーが 2 つから 1 つに減らせます。
- CICS によって書き込まれるトランザクション関連のログレコードの数が削減されます。
- 同期点での TRUE の呼び出しが 2 回ではなく 1 回のみになるため、パスの長さが短縮されます。
これらの利点を活用するには、タスク関連のユーザ・エグジット・プログラムで、リソース・マネージャがシングル・アップデート・プロトコルを理解しており、同期ポイント呼び出しを処理してシングルフェーズ・コミットを実行できる(TRUE)ことを CICSに通知する必要があります。 このためには、出口プログラムで、DFHUEPAR パラメーター・リスト内の UEPSYNCA が指すフィールドに UEPSUPDR フラグを設定します。 スケジュール・フラグ・ワードの同期点マネージャー・ビットを設定するたびに、この設定を行う必要があります。
出口プログラムで UEPSUPDR フラグを設定した場合、同期点マネージャーは次にその TRUE を呼び出すときに、そのリソース・マネージャーが、現在の UOW でリソースが更新された唯一のリソース・マネージャーであるどうかを通知します。 これは、UERTONLY ビット (同期点マネージャーのパラメーター・リストの操作バイト 2) を使用して通知します。このビットが設定されている場合は、単一フェーズ・コミットを実行するようにリソース・マネージャーに要求できます。
読み取り専用プロトコル
リソース・マネージャーが現行の作業単位 (UOW) の初めから終わりまで読み取り専用モードである場合も、同様に効率を向上させることができます。
この場合も、単一フェーズ・コミットが適切です。 活用するためには、UOW が読み取り専用かどうかを示すフラグを、リソース・マネージャーが TRUE に返す必要があります。 そのフラグにより、これまでの UOW の「ヒストリー」(今までのところは読み取り専用であるなど) を示したり、現行の要求が読み取り専用かどうかを示したりします。 これに対して、TRUE では、これまでの UOW のヒストリーを使用して、DFHUEPAR パラメーター・リスト内の UEPREADO フラグを更新する必要があります。 つまり、最初は UEPREADO を設定しておき、UOW が更新を含むようになったらただちに設定を解除する必要があります (UEPREADOが一度解除されると、 CICSは現在のUOWの間にフラグがその後設定されても無視し、UOWを更新を含むものとして扱います。)
UOW の終了時にまだ UEPREADO フラグが設定されている場合は、同期点マネージャーが、リソース・マネージャーに対する単一フェーズ・コミットの発行命令を指定して (UERTELUW ビットをオンに設定して) TRUE を呼び出します。