Hi Ioan,
your requirements are very special....
During responsetime (that means when executing the search) you have no chance to adjust the results.
So there are two possibilities to influence the search results:
1) by area of responsibility
2) by structural authorization
1) seems not to be the reight choice..
2) what Luke already mentioned: change strctural authorization or change the indexing process for structural authorization:
You can use the BadI BADI_ESH_IF_OBJECT_DATA_ENH to influence the extracted results per user( searching user) before moving them to TREX. This BadI is called during indexing dirctly after Standard BadI BADI_ESH_IF_OBJECT_DATA ( for HRTMC_AUTHORITY_VIEW ) and before the extracted data is serialized and moved to TREX. This BadI contains to methods
IF_BADI_ESH_IF_OBJECT_DATA~GET_DATA and
IF_BADI_ESH_IF_OBJECT_DATA~NEXT
both have to be implemented (one for initial indexing and one for delta indexing) . Have a look at implementation of these methods of class CL_HRTMC_SEARCH_EXTR_AUTH ( class for indexing stru authorizations) . You can loop over objects and remove entries for special user and CP. This CP will later during search not be displayed for a special user..
Hope that helps.
br
Martin Hastik