Enterprise Resource Planning Blogs by Members
Gain new perspectives and knowledge about enterprise resource planning in blog posts from community members. Share your own comments and ERP insights today!
cancel
Showing results for 
Search instead for 
Did you mean: 
ChrisSolomon
Active Contributor

This is the continuation of the previous blog (part 1) where we began to discuss OADP configuration as it related to HCM P&F "search helps".

 

-Part 1: Intro to OADP and Organization Structure Views

-Part 2: OADP continued (Object Provider...the "O" of OADP)

-Part 3: OADP wrap up (Data Provider....the "D" of OADP)

-Part 4: Search Help WebDynpro ABAP components and usage in HCM P&F forms

-Part 5: The OADP WebDynpro ABAP component

-Part 6: Summary

 

 

Object Provider

 

Define Rules for Object Selection

For our example, we do not have "rules" defined for our object selections. This is more used in things like MSS with rules like "exclude person from results list" so that a manager is not listed as an employee in their own org. unit.

 

Group Parameters for Object Search

From SAP: "In this IMG activity, you create parameter groups. For each parameter group, you define parameters for the object search and enter values for these parameters."

You need only perform this IMG activity, if you set the Object Search indicator in the IMG activity Define Object Selections.

What we have done is simply defined a "name" (ASR_ORG_SEARCH) for a grouping of application parameter name/value pairs that we will be passing. In our case, we will pass this to a "search class" as defined in the next section.

Define Object Selections

In this step, we are going to define "how" our  data is going to be selected ("object selection") .  We are either going to define it to select data objects using "Rules"  (from the first node) or using application parameters (from the previous node) that are passed to a "Search class".

In our case, we are using a "search class" (the standard one given) and passing the parameters we defined earlier.

If you want to allow managers to search according to a selection ID,

...you can use the search class CL_HRWPC_SEARCH_VIA_SELID which is included in the standard system.

CL_HRWPC_SEARCH_VIA_SELID

This standard SAP class is used to find objects using the Object and Data Provider (OADP) and is a great reference for developing your own.

From SAP: "The object search is executed using an HR selection ID. The fields for the search template are determined from the conditions of the selection ID that are based on infotype tables (one field for each condition). When the search is executed, the values for the search criteria are added to the value ranges of the conditions for the selection ID. The search result comprises the objects found for the selection."

You will notice that this class contains the implementation of the interace IF_HRWPC_OADP_OBJECTSEARCH which contains the methods required for the object search. If you develop your own search class, you must implement this interface.

From SAP: "In the frontend system, you can switch between a simple and an advanced search function. A method exists for each of the search functions that determines the fields that are to be displayed in the search template (GET_FIELDS_FOR_SIMPLE_SEARCH or GET_FIELDS_FOR_ADVANCED_SEARCH) and a method for executing the object search (EXECUTE_SIMPLE_SEARCH or EXECUTE_ADVANCED_SEARCH)."

Back to the class CL_HRWPC_SEARCH_VIA_SELID ,our "Selection ID" is transferred to the class using a parameter with the name 'SEL_ID'. This "Selection ID" we define is what sets up our nice "search selections" on the screen and is what is used to retrieve the data.

To add additional search parameters, you simply need to create a selection ID that contains the relevant fields. You define selection IDs using the view cluster HR_SELECTIONS (transaction SM34) or in the IMG locations shown above.  (*note, this is covered in detail in the section "Selection ID")

Custom Search Class

To create your own "search class" as mentioned before,you must implement the specified interface IF_HRWPC_OADP_OBJECTSEARCH. To enable any parameters in the form of name-value pairs to be passed to the interface methods when they are called, you must define parameter groups in the OADP "Group Parameters for Object Search" configuration and assign these parameter groups, together with the name of the ABAP class for the object search, to an object selection in this "Define Object Selection" configuration step.

At this point, we defined "where" we were getting our data. Now we define how it is displayed.

In Part 3, we discuss the "Data Provider" portion of OADP.....

Labels in this area