概要ページの特定の割り当てブロックを、例えばビジネススイッチの制御下など、ある条件下でのみ表示することは、一般的な要件です。ビジネススイッチの制御
1つの割り当てブロックの可視性をコードでコントロールする3つの方法を紹介します。
Approach1: dynamical view detachment
概要ページのコントローラクラスのDETACH_STATIC_OVW_VIEWSメソッドを絞り込みます。 内部テーブルrt_viewidに入れられた全てのビューはUIによって隠されます。以下のコードは、3行目で何らかの条件を評価し、その条件が満たされた場合、割り当てブロックのを非表示にします。
Approach2: dynamic UI configuration load
検索ビ ュ ーだけが表示 さ れ る 新規構成を作成 し ます。 こ の構成は、 特定の UI オブジ ェ ク ト タ イ プにバ イ ン ド さ れてい ます。
これで2つのUIコンフィギュレーションができました。 標準コンフィギュレーションはデフォルトで2つのアサインメントブロックを表示し、UIオブジェクトタイプ=CRM_のコンフィギュレーションは検索ビューのみを表示します。SMCは検索ビューのみを表示します。
DO_CONFIG_DETERMINATION を実装します。
method DO_CONFIG_DETERMINATION.
" IF search result view should be hidden
me->set_config_keys( iv_object_type = 'CRM_SMC'
iv_propagate_2_children = abap_false ).
" ENDIF
endmethod.
Approach3: Control the visibility via business switch
thisは最もエレガントな方法ですが、ビジネススイッチを介してビューの可視性を制御したい場合にのみ使用できます。割り当てビューをランタイムリポジトリの概要ページのビューエリアに割り当てる場合、ビジネススイッチを表示されるように割り当てることができます。ランタイムリポジトリの概要ページのビューエリアに割り当てビューを割り当てる場合、ビジネススイッチは下図のように割り当てることができます。 スイッチがオフの場合、関連するビューはUIフレームワークによって自動的に非表示になります。
概要ページのビューエリアにビューを割り当てると、ビュー名の後にスイッチIDが表示されます。
まず、tcode SFW1 経由でスイッチ CRM_SOC_SFWS_SMI_2 の関連ビジネス関数を見つけることができます。
で、SFW5 のビジネスファンクションのステータスを確認します。
ビジネス機能が無効化されると、割り当てブロックも自動的に非表示になります。