Visual LANSA フレームワーク ガイド > フレームワーク・プログラミング > クイック検索の上書き機能 > セットアップ
セットアップ

検索オプションを上書きするには、IIPコンポーネント UF_SYSTMを修正します。

ステップ 1

まず、以下のルーチン内でPavQFUserOverrideをTrueに設定して、上書き機能を有効にします。

* クイック検索のリスト上書きをオンにするため、取得ルーチンのプロパティを

* FALSE から TRUE に変更

 

Ptyroutine Name(GavQFUserOverride) Options(*Redefine)

Set Com(#PavQFUserOverride) Value(True)

Endroutine

 

(これにより、フレームワークはビジネス・オブジェクトおよびアプリケーションの独自のリストを検索しないようになります。)

 

ステップ 2

次のルーチンに自身のオプションを追加して、ユーザーが検索できる全オプションのリストの全体を制御します。

* 次のメドッッドを使って、独自の値でクィック検索リストをロード

* これをアクティブ化するには、PavQFUserOverride を TRUE に設定する必要があります。

 

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

次のルーチンを使って、ユーザーがオプションでクリックした時の処理を制御します。

基本的には何でも行うことが可能ですが、最も一般的なのはスイッチです。

* 次のルーチンでは、クィック検索リストでエンドユーザーが選択した値を受け取ります。

* このルーチンが、ユーザーがクィック検索リストからエントリーを選択した時に何が起きるかを決定します。

* これをアクティブ化するには、PavQFUserOverride を TRUE に設定する必要があります。

 

Mthroutine Name(avQFActionSelection) Options(*REDEFINE)

 

define #vf_wkGUID reffld(#VF_ELIDN)

change #vf_wkGUID #GUID

 

Case OF_FIELD(#vf_wkGUID)

 

when '= GUID1'

* リソース

Invoke #avFrameworkManager.avSwitch To(BusinessObject) Named(DEM_ORG_SEC_EMP) Execute(Details) Caller(#Com_Owner)

 

when '= GUID2'

* 選択と現在の値

Invoke #avFrameworkManager.avSwitch To(BusinessObject) Named(BD8D1D64689F468E8FA84DA2DA1A87FA) Caller(#Com_Owner)

 

when '= GUID3'

* プログラミング・テクニック適用

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 に設定する必要があります。