Hi Mahesh,
Try the below mentioned approach to achieve your requirement.
1. Create Value attributes(for ID Type and ID number - ZZIDTYPE & ZZIDNUMBER) to the standard search context node.
2. Define value help for these attributes by redefining the get_v_* method for both the attributes.
3. Redefine the EH_ONNORMALSEARCH method defined in the IncidentViewset controller class. In this method, add the code to check if the customer search attributes, ZZIDTYPE or ZZIDNUMBER is specified as search criteria. If so, identify the BP number for the specified ID type and number by searching in the BUT0ID table. Once the BP number is identified, set this BP number as the search criteria, BU_PARTNER to the same Search Query object. Then remove the custom search attributes, ZZIDTYPE and ZZIDNUMBER from the search criteria. Finally trigger the search. This search will return all the service requests associated with the BP identified by the specified ID type and number.
Other option is to trigger the search without these ZZ attributes and then filter the results based on the BP found from these ZZ attributes. This will be expensive as the search will fetch everything and then unwanted records are filtered.
Hope this helps.