Step 5. Perform a Search by Department

1.   Create a DepartmentSearch method routine based on the following:

Define a component for your server module xEmployeeDataServer / FindxEmployeeByDepar srvroutine, with name DepartmentSearch

Assign xEmployeeIdentification to null

Execute DepartmentSearch asynchronously, exchanging fields xDepartmentCode, xEmployeeIdentification and list xEmployeeList.

Within a DepartmentSearch.Completed eventroutine

  Execute the LoadEmpList subroutine

End routine

Your code should look like the following:

Mthroutine Name(DepartmentSearch)

 

Define_Com Class(#iiixEmployeeDataServer.FindxEmployeeByDepar) Name(#DepartmentSearch)

#xEmployeeIdentification := *Null

#DepartmentSearch.ExecuteAsync( #xDepartmentCode #xEmployeeIdentification #xEmployeeList )

Evtroutine Handling(#DepartmentSearch.Completed)

Execute Subroutine(LoadEmpList)

Endroutine

Endroutine

 

     Note: Remember to check the srvroutine logic. It receives department code and employee identification, matching the logical table's keys.

2.  Complete the Button_Search.Click event routine by addling logic to invoke the DepartmentSearch routine.

     Your code should look like the following:

Evtroutine Handling(#Button_Search.Click)

Case Of_Field(#std_name)

When (= 'Surname')

#com_self.Surnamesearch

When (= 'Given Name')

#com_self.GivenNameSearch

When (= 'Department')

#com_self.DepartmentSearch

Endcase

Endroutine

 

3.  Compile and test your web page.

   The Department search should now populate the Employees list for the selected Department. Not all departments have employees.