グローバルおよびタスク関連出口プログラム

アプリケーション プログラムに必要な各ユーザー出口は、その出口が呼び出される前に有効にする必要があります。アプリケーション プログラムがユーザー出口の使用を終了したら、そのユーザー出口を無効にすることができます。ただし、ユーザー出口を無効にする必要性はありません。CICS の起動時には、ユーザー出口は常にデフォルトで無効になります。ユーザー出口プログラムを有効にする場合は CICS コマンド ENABLE PROGRAM を使用し、無効にする場合は CICS コマンド DISABLE PROGRAM を使用します。無効な出口を有効にしようとすると、X'804000' の EIBRCODE が返されます。正当であるが実装されていない出口を有効にしようとすると、X'804010' の EIBRCODE が返されます。また、EXTRACT EXIT コマンドも用意されています。ユーザー出口プログラムの作業領域にアクセスするには、このコマンドを使用します。これらのコマンドに提供されるサポートのレベルの詳細については、トピック「System Programmers Commands」を参照してください。

各ユーザー出口プログラムは、プログラムとして (PLT で) 定義する必要があり、その定義は稼働中のシステムで利用できなければなりません。

グローバル ユーザー出口とタスク関連ユーザー出口の詳細については、IBM マニュアルの『CICS/ESA 3.3 Customization Guide』を参照してください。このマニュアルには、正当なユーザー出口ポイントの一覧が記載されています。

ユーザー出口プログラムには、それがグローバル ユーザー出口とタスク関連ユーザー出口のどちらを対象としているかにかかわらず、次の 2 つのコピーブックをインクルードする必要があります。

注:
  • ユーザー出口パラメーターは、コピーブック dfhcbuxi.cpy で定義された構造体 uxi-user-exit-interface で出口プログラムに渡されます。この構造体の 2 つのフィールド (uxi-operational-flags-ptruxi-scheduling-flags-ptr) は、別のコピーブック dfhcbuxc.cpy にある 2 つの別の構造体 (それぞれ lk-uxc-operationlk-uxz-schedule-param) を指します。
  • CICS アプリケーションは、タスク関連ユーザー出口を直接呼び出して、タスク領域のアドレスの取得などを行うことができます。通常、CICS アプリケーションはタスク関連ユーザー出口プログラムを DFHRMCAL マクロで呼び出します。このマクロはサポートされていないため、アプリケーションはユーザー出口プログラムを直接呼び出す必要があり、またコピーブック dfhcbuxi.cpy および dfhcbuxc.cpy をインクルードする必要があります。アプリケーション プログラムによってユーザー出口プログラムを呼び出せる場合は、アプリケーション プログラムと MSS のどちらによって呼び出されたかを出口プログラムで判断できるメカニズムを使用する必要があります。下記のサンプル出口プログラムは、1 つの手法を示しています。この手法では、アプリケーションが lk-uxc-schedule に未使用ビットをセットし、ユーザー出口プログラムがそのビットをテストします。