* ================================================================================
* 記述 ...:ミニ フィルター (簡素)
* ================================================================================
Function Options(*DIRECT)
Begin_Com Role(*EXTENDS #PRIM_WAM) Layoutweblet('vlf_layout')
* フィルターの標準宣言
Define_Com Class(#vf_sw100) Name(#avFrameworkManager)
Define_Com Class(#vf_aw007) Name(#ThisFilter) Reference(*Dynamic)
Define_Com Class(#vf_lw002) Name(#avListManager) Reference(*Dynamic)
Define_Com Class(#fp_in001) Name(#FastPart) Reference(*Dynamic)
* VL フレームワーク・マップ・フィールド <変更不可>
Web_Map For(*both) Fields((#VF_FRAMEI *private) (#VF_FRAMEW *private) (#VF_FRAMES *private) (#VF_ELXTOF *private) (#VF_ELXN01 *private) (#VF_ELXN02 *private) (#VF_ELXN03 *private) (#VF_ELXN04 *private) (#VF_ELXN05 *private) (#VF_ELXN06 *private) (#VF_ELXN07 *private) (#VF_ELXN08 *private) (#VF_ELXN09 *private) (#VF_ELXN10 *private) (#VF_ELXA01 *private) (#VF_ELXA02 *private) (#VF_ELXA03 *private) (#VF_ELXA04 *private) (#VF_ELXA05 *private) (#VF_ELXA06 *private) (#VF_ELXA07 *private) (#VF_ELXA08 *private) (#VF_ELXA09 *private) (#VF_ELXA10 *private) (#VF_ELMETA *private))
* すべての VLF WAMフィルターおよびコマンド・ハンドラーにより使用される標準 Webroutine。 Webroutine 名は変更不可。このルーチンを使用して WAM イベントを登録
Webroutine Name(UHandleEvent)
* 標準 WAM 初期化
* 注:ミニ・フィルター用のイベント(以下)はフレームワークで事前登録されているため、登録の必要はありません。
* uWAMEvent_21 --> mini filter button ONE was clicked
* uWAMEvent_22 --> mini filter button TWO was clicked
* uWAMEvent_23 --> mini filter button THREE was clicked
#avFrameworkManager.avInitializeWAM Type(FILTER) Invoker(#com_owner) Listmanager(#avListManager) Filtermanager(#ThisFilter) Fastpartmanager(#FastPart)
#avFrameworkManager.avHandleWAMEvent Anchorblock(#vf_framew) Event(#vf_event) Designmode(#vf_framed) Skin(#VF_Frames) Metatag(#vf_elmeta) Tof(#vf_elxtof) N01(#vf_elxn01) N02(#vf_elxn02) N03(#vf_elxn03) N04(#vf_elxn04) N05(#vf_elxn05) N06(#vf_elxn06) N07(#vf_elxn07) N08(#vf_elxn08) N09(#vf_elxn09) N10(#vf_elxn10) A01(#vf_elxA01) A02(#vf_elxA02) A03(#vf_elxA03) A04(#vf_elxA04) A05(#vf_elxA05) A06(#vf_elxA06) A07(#vf_elxA07) A08(#vf_elxA08) A09(#vf_elxA09) A10(#vf_elxA10) Ssiname(#VF_FRAMEI)
Endroutine
* フィルターの初期化処理
Evtroutine Handling(#avFrameworkManager.uexecute) Options(*noclearmessages *noclearerrors)
* このフィルターをミニ・フィルターとしてアクティブ化
* このフィルターは、フレームワーク識別バー (ツールバーの下) の検索フィールドと検索ボタンを使用して、
* ユーザーとのやり取りを行います。このフィルターは表示されません。
* 注: これはこのビジネス・オブジェクト専用の唯一のフィルターでなければいけません。
* ミニ・フィルターの 1 つの検索フィールドと 1 つの検索ボタンを有効化。必要に応じてキャプションや幅を指定。
Set Com(#thisfilter) Avminifilter(true) Avminifiltfield1(true) Avminifiltfldcapwid1(250) Avminifiltfldcap1(*MTXTDF_SURNAME) Avminifiltfldwid1(350) Avminifiltbutton1(true) Avminifiltbuttoncap1(*MTXTDF_SEARCH) Avminifiltbuttonwid1(150)
Endroutine
Evtroutine Handling(#avFrameworkManager.uWAMEvent_21) Options(*noclearmessages *noclearerrors) Value1(#Val1)
* フレームワーク識別バーの検索フィールドにユーザーが入力さいた値は、このイベント・ルーチンの Value1 パラメータに提供されます。
#Surname := #Val1.UpperCase
* インスタンスリスト更新を開始。インスタンスリストをクリア
#avListManager.BeginListUpdate
#avListManager.ClearList
* ユーザー指定の検索値に基きインスタンスリストを埋める
Select Fields(#SURNAME #GIVENAME #EMPNO #PHONEHME #ADDRESS1 #POSTCODE) From_File(PSLMST2) With_Key(#SURNAME) Generic(*YES)
Execute Subroutine(ADDLIST)
Endselect
* インスタンスリスト更新完了
#avListManager.EndListUpdate
Endroutine
* ================================================
* SUBROUTINE: インスタンスリストにエントリー追加
* ================================================
Subroutine Name(ADDLIST)
* Build up visual identifier
#Fullname := #Givename + " " + #Surname
* ユーザーに定義された識別プロトコルを使って、インスタンスリストに
* 追加
* =====================
* ビジュアル識別子
* =====================
* VisualID1 = 社員番号
* VisualID2 = 名前 (#GiveName) と姓(#SurName) を
* 連結させたもの
* ===========================
* プログラム識別子
* ===========================
* AKey1 = 社員番号
* ====================================================
* インスタンスリスト・マネージャーの追加列
* ====================================================
* AColumn1 = 電話番号 (自宅)
* AColumn2 = 住所 1
* NColumn1 = 郵便番号 (Zip)
#avListManager.addToList Visualid1(#Empno) Visualid2(#Fullname) Akey1(#Empno) Acolumn1(#Phonehme) Acolumn2(#Address1) Ncolumn1(#Postcode)
Endroutine
End_Com