* ================================================================================
* Description ...: Mini Filter (Simple)
* ================================================================================
Function Options(*DIRECT)
Begin_Com Role(*EXTENDS #PRIM_WAM) Layoutweblet('vlf_layout')
* Standard declares for a filter
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 Framework map fields. DO NOT CHANGE.
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))
* Standard webroutine used by all VLF WAM filters and command handlers. DO NOT CHANGE the Web routine name. Use this routine to register WAM events.
Webroutine Name(UHandleEvent)
* Standard WAM initialisation.
* NOTE: THE EVENTS FOR MINI FILTERS ARE PRE REGISTERED IN THE FRAMEWORK. THEREFORE, YOU DON'T NEED TO REGISTER THEM. THEY ARE:
* 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
* Handle initialization of filter
Evtroutine Handling(#avFrameworkManager.uexecute) Options(*noclearmessages *noclearerrors)
* Activate this Filter as a mini Filter
* This filter will use a search field and search button on the Framework identification bar (below the toolbar)
* to interact with the user. This filter will not be displayed.
* Note: This should be the only filter for this business object.
* Enable one search field and one search button on the mini filter. Give them captions, and widths if required.
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)
* The value that the user entered on the search field on the Framework identification bar is provided in the Value1 parameter of this event routine.
#Surname := #Val1.UpperCase
* Start instance list update. Clear the instance list
#avListManager.BeginListUpdate
#avListManager.ClearList
* Fill the instance list based on the search value specified by the user.
Select Fields(#SURNAME #GIVENAME #EMPNO #PHONEHME #ADDRESS1 #POSTCODE) From_File(PSLMST2) With_Key(#SURNAME) Generic(*YES)
Execute Subroutine(ADDLIST)
Endselect
* Instance list updating has been completed
#avListManager.EndListUpdate
Endroutine
* ================================================
* SUBROUTINE: Add an entry to Instance List
* ================================================
Subroutine Name(ADDLIST)
* Build up visual identifier
#Fullname := #Givename + " " + #Surname
* Add to instance list using the user defined
* identification protocol:
* =====================
* Visual Identification
* =====================
* VisualID1 = Employee Number
* VisualID2 = Concatenation of first name (#GiveName)
* and last name (#SurName)
* ===========================
* Programmatic Identification
* ===========================
* AKey1 = Employee number
* ====================================================
* Additional Columns for instance list manager
* ====================================================
* AColumn1 = Phone (Home)
* AColumn2 = Address Line 1
* NColumn1 = Post Code (Zip)
#avListManager.addToList Visualid1(#Empno) Visualid2(#Fullname) Akey1(#Empno) Acolumn1(#Phonehme) Acolumn2(#Address1) Ncolumn1(#Postcode)
Endroutine
End_Com