ステップ3 Company Departmentsに非表示フィルターを作成する

Visual LANSA

ステップ3 Company Departmentsに非表示フィルターを作成する


このステップでは、ナビゲーション・ペインでCompany Departmentsビジネス・オブジェクトを選択した場合にCompany Departmentsをインスタンス・リストにロードする非表示フィルターを作成します。非表示フィルターにはエンド・ユーザーとの対話処理はないので、このフィルターは表示されません。

1.    Visual LANSAエディターを表示します。

2.    再利用可能パーツを作成します。フィルター名としてiiiCOM08、説明に部門非表示フィルターと指定します(ここでiiiは入力者のイニシャルです。Visual LANSAの非ライセンス版または試行版を使っている場合は、iiiの部分をDEMとする必要があります)。

3.    [詳細]タブで、再利用可能パーツの[Ancestor]にVF_AC007を指定します。

4.    [ソース]タブを表示します。  

5.    BEGIN_COMステートメントの後にuInitializeルーチンを作成します。

 

Mthroutine Name(uInitialize) Options(*Redefine)

Endroutine 

オートコンプリート・プロンプターをオンにした場合は、Endroutineステートメントが自動的に作成されます。

 

6.    uInitializeルーチンで、フィルターを非表示にし、実行時に表示されるものをインスタンス・リストだけにします。

 

Set #Com_Owner avHiddenFilter(TRUE)

 

 

7.    次に、インスタンス・リストの更新がまもなく開始され、その後インスタンス・リストがクリアされることを指定します。

Invoke #avListManager.BeginListUpdate

Invoke #avListManager.ClearList

 

8.    全ての部門を読み込み、インスタンス・リストに追加します。

Select Fields(#Deptment #DeptDesc) From_File(DEPTAB)

 

Invoke #avListManager.AddtoList Visualid1(#DeptDesc) Visualid2(#Deptment) AKey1(#Deptment) BusinessObjectType(COMPANY_DEPARTMENTS) NColumn1(0) Acolumn1('') Acolumn2('') Acolumn3('') Acolumn4('') Acolumn5('') Acolumn6('') Acolumn7('')

 

EndSelect

 

注:AddToListで追加カラムを初期化する必要があります。後でDepartment Sectionsのエントリーをこれらのカラムに取り込んだリストを生成するからです。

9.    最後に、インスタンス・リストの更新がこれで完了したことを示します。

 

Invoke #avListManager.EndListUpdate

 

 

完成したコードは、次のようになります。

 

10.    フィルターをコンパイルします。

11.    フレームワーク、次にCompany Departmentsオブジェクトのプロパティを表示します。

12.    フィルター登録の設定タブを表示します。

13.    iiiCOM08を実際のフィルターとして指定します。


 

14.    Company Departmentsのプロパティを閉じます。

15.    EmployeesおよびCompany Departmentsを再度クリックし、非表示フィルターによって部門がインスタンス・リストにロードされるようにします。


 

16.    部門を展開します。Department Sectionsがロードされていないことに注意してください。次のステップで、課をロードするリレーション・ハンドラーを作成します。