セットアップ
検索オプションを上書きするには、IIPコンポーネント UF_SYSTMを修正します。
ステップ 1
まず、以下のルーチン内でPavQFUserOverrideをTrueに設定して、上書き機能を有効にします。
* To turn on Quick Find list overriding change FALSE to TRUE
* in this property get routine ...
Ptyroutine Name(GavQFUserOverride) Options(*Redefine)
Set Com(#PavQFUserOverride) Value(True)
Endroutine
(これにより、フレームワークはビジネス・オブジェクトおよびアプリケーションの独自のリストを検索しないようになります。)
ステップ 2
次のルーチンに自身のオプションを追加して、ユーザーが検索できる全オプションのリストの全体を制御します。
* Use this method to load the Quick Find list with your own values
* You must set PavQFUserOverride to true for this to be active
Mthroutine Name(avQFLoadSearchList) Options(*REDEFINE)
Invoke #avQuickFind.AddSearchListEntry Text('Option One - Resources') GUID('GUID1')
Invoke #avQuickFind.AddSearchListEntry Text('Option Two - Selected and Current') GUID('GUID2')
Invoke #avQuickFind.AddSearchListEntry Text('Option Three - Techniques') GUID('GUID3')
Endroutine
検索可能な各エントリーに対し、表示テキスト(82文字)、および一意識別子(32文字)を追加します。
ユーザーが検索値を入力すると、オプションのテキストが検索され、検索文字列が含まれるかどうかが確認されます。検索文字列が含まれる場合オプションとして表示されます。
ステップ 3
次のルーチンを使って、ユーザーがオプションでクリックした時の処理を制御します。
基本的には何でも行うことが可能ですが、最も一般的なのはスイッチです。
* This routine receives the selection that the end-user made in the Quick Find list.
* This routine determines what happens when the user selects an entry from the Quick Find list
* You must set PavQFUserOverride to true for this to be active
Mthroutine Name(avQFActionSelection) Options(*REDEFINE)
define #vf_wkGUID reffld(#VF_ELIDN)
change #vf_wkGUID #GUID
Case OF_FIELD(#vf_wkGUID)
when '= GUID1'
* Resources
Invoke #avFrameworkManager.avSwitch To(BusinessObject) Named(DEM_ORG_SEC_EMP) Execute(Details) Caller(#Com_Owner)
when '= GUID2'
* Selected and Current
Invoke #avFrameworkManager.avSwitch To(BusinessObject) Named(BD8D1D64689F468E8FA84DA2DA1A87FA) Caller(#Com_Owner)
when '= GUID3'
* Programming Techniques application
Invoke #avFrameworkManager.avSwitch To(Application) Named(78A26552E6E94627BBCC4DF3A248CD1F) Caller(#Com_Owner)
endcase
Endroutine
ステップ 4 (オプション)
オプションのリスト全体を作り直すようにすることも可能です。
通常、ユーザーが検索できる全オプションのリスト全体が作成されるのは一度だけです。ですが、次にユーザーが検索文字列を修正した時に、可能なオプションのリストを再度作成するようQuickFindコンポーネントに指示することも可能です。
これは、#uSystem(つまりコマンド・ハンドラーまたはフィルター)にアクセスできる場所であればどこでも行うことができ、次のような命令を使用します。
set #USYSTEM.uUserIIP avQFRebuildList(true)
このプロパティがtrueに設定され、上書き機能が使用されている場合、avQFLoadSearchList IIP ルーチンでロード終了時に avQFRebuildList を再度 false に設定する必要があります。