問合せ時の表ソース優先度ランキングの戻し処理
セッション変数およびリクエスト変数を論理表ソース優先度グループとともに使用して、問合せ時に論理表ソースの優先度を逆にできます。 このメソッドでは、ユーザー・プリファレンスに応じて実行時にソースを動的に選択できます。
- 動的選択を有効にするには、まずセマンティック・モデルに
REVERSIBLE_LTS_PRIORITY_SA_VECセッション変数を作成します。 この変数は、行単位のセッション初期化ブロックを使用する文字列ベクトル・セッション変数として作成します。REVERSIBLE_LTS_PRIORITY_SA_VECには、論理表ソースの優先度ランキングの反転をユーザーに許可するサブジェクト・エリアのリストを設定します。 優先度ランキングの反転を有効にするには、この変数を定義する必要があります。 - 優先度ランキングの逆仕訳を許可するサブジェクト領域のセットを定義した後、ユーザーは論理表ソースの優先度ランキングを逆仕訳するための問合せにリクエスト変数
REVERSE_LTS_PRIORITYを含めることができます。 このリクエスト変数に1を設定すると論理表ソースの優先度は逆になり、0を設定すると通常の優先度のままになります。 - 問合せの実行時にリクエスト変数を使用する以外の別の方法として、論理表ソースの優先度が永続的に反転されるサブジェクト領域のセットをあらかじめ定義しておくという方法があります。 これを行うには、セッション変数
REVERSED_LTS_PRIORITY_SA_VECを作成します。 この変数は、行単位のセッション初期化ブロックを使用する文字列ベクトル・セッション変数として作成します。REVERSED_LTS_PRIORITY_SA_VECには、論理表ソースの優先度を永続的に逆仕訳するサブジェクト領域がリストされます。 - SUBJECT_AREA_NAMEとREVERSIBLEの2つの列を持つSA_TABLEという名前の表を作成します。 この表には、次に示すように、サブジェクト・エリアの名前をその反転値(1または0)にマッピングする行を格納しておきます。
- SUBJECT_AREA_NAME - my_sa_1、REVERSIBLE - 1
- SUBJECT_AREA_NAME - my_sa_2、REVERSIBLE - 0
- 次に、行単位のセッション初期化ブロックを使用して、REVERSIBLE_LTS_PRIORITY_SA_VECという文字列ベクター・セッション変数を作成します。 この初期化ブロックの初期化文字列は次のようになります:
SELECT 'REVERSIBLE_LTS_PRIORITY_SA_VEC', SUBJECT_AREA_NAME FROM SA_TABLE WHERE REVERSIBLE=1