共用データ・テーブルの概要
CICS®共有データ・テーブル機能は、CICSファイル管理サービスの拡張機能である。 共用データ・テーブルを使用すると、データ・テーブルとして定義されているすべてのファイルを仮想記憶間サービスを使用して共用できる可能性があります。 既存のデータ・テーブルのファイル定義を変更する必要はありません。
共用データ・テーブルの概念には、以下の面でより効率的であるというということが活用されています。
- CICSファンクション・シッピングの代わりにz/OS®クロスメモリー・サービスを使用して、同じz/OSイメージ内の2つ以上のCICSリージョン間でデータ・ファイルを共有する。
- DASD からではなく、メモリーからデータにアクセスする。
- VSAMサービスやローカル共有リソース(LSR)プールを使用する代わりに、CICSファイル管理内に統合されたサービスを使用して、メモリからデータ・ファイルにアクセスする。
データ・テーブルには、次の 2 つのバージョンがあります。
- 共用データ・テーブル
- カップリング・ファシリティ・データ・テーブル(CFDT)(詳細は「CICSカップリング・ファシリティ・データ・テーブル」を参照)
共用データ・テーブルの利点
仮想記憶間サービスを使用するということが、共用データ・テーブルの主な利点の 1 つです。 これにより、現在機能シップを使用しているアプリケーションのパフォーマンスが向上し、機能シップのパフォーマンス・オーバーヘッドを受け入れられないアプリケーションでファイル共用が可能になります。
その他の主な機能拡張として、ほぼすべての読み取り要求がデータ・テーブルに対する使用をサポートされています。 この機能拡張により、以下のようなアプリケーションにまでデータ・テーブルの使用が拡張されます。
- ブラウズ要求
- 不正確なキーを使用する読み取り要求
仮想記憶間サービスの使用に加えて、共用データ・テーブルには、パフォーマンスやセキュリティーの面で以下のようなメリットがあります。
- 大部分の読み取りおよびブラウズ要求で機能シップが回避されるため、リモート・アクセスでパス長を大幅に削減できます。
- 仮想記憶間サービスを使用すると、要求は AOR によって処理されるため、FOR を解放して他の要求を処理できます。 これにより、マルチプロセッサーをさらに効率的に活用できます。
- 共有データ・テーブルのレコード情報はCICS領域の外に保存され、CICSシステム・ダンプ(フォーマット済みまたは未フォーマットのいずれでも)には含まれないため、データのセキュリティが向上する。
- CICS 保守データ・テーブルの場合、あらゆる形式の非更新のキー順アクセス (ブラウズ要求および不正確なキーによる読み取り要求を含む) が、データ・テーブルへの参照により処理されます。
- ユーザー保守データ・テーブルの場合、あらゆる形式の非更新のキー順アクセス (ブラウズ要求および不正確なキーによる読み取り要求を含む) がサポートされます。
- 同じソース・データ・セットを参照している、同時に開かれた任意の数のファイルで、1 つの CICS 保守データ・テーブルからデータを取得できます。
- XDTRD ユーザー出口の機能拡張により、データ・テーブルのロード中に一定の範囲のレコードをスキップできます。
データ・テーブルの共用の仕組み
2 つの操作、LOGON および CONNECT によってデータ・テーブルの共用が設定されます。
データ・テーブルとして定義された最初のファイルが FOR で開かれると、FOR はそれ自体を共用データ・テーブル・サーバーとして登録しようとします。 この操作は自動的に実行され、SDT LOGON と呼ばれています。 詳細は「仕組みLOGON操作参照。
共用データ・テーブルがサポートされている AOR によってリモート・ファイルに対する読み取り要求が発行される (または参照シーケンスが開始される) と、CICS はそのファイルのデータ・テーブルに対して接続を確立しようとします。 この操作は自動的に実行され、SDT CONNECT と呼ばれます。 詳細は「どのように機能するかCONNECTオペレーション参照。
データ・テーブルのグローバル・ユーザー出口
データ・テーブル・サービスによる通常の処理を拡張するために、3つのグローバル・ユーザー・エグジットが提供される:
- XDTRD は、ファイルが開かれるときに、ロード中にデータ・テーブルにコピーされるレコードを選択します。 ユーザー保守データ・テーブルの場合、これはレコードの変更にも使用できます。
- XDTAD は、新しいレコードがファイルに追加されるときに、データ・テーブルにコピーされるレコードを選択します。
- XDTLC は、ロード操作の最後に処理を行います。
詳細については、ユーザー終了を使用したデータ・テーブルのカスタマイズを参照してください。