Creating a Search Page SAP CRM 7.0 EHP 1
- With the SAP CRM 7.0 EHP1 (Enhancement Pack 1), new wizard for Search Page is available which enable the creation of Search pages in a simpler and standard manner.
- Search Page is a view set that hosts a search query view and result view
1. Creating and Defining a Model
- Open a Component Workbench BSP_WD_CMPWB and enter the component name. e.g. ZSEARCH_PAGE
- Click on Create.
- New Abap objects created one by one needs to assigned and stored in a single package and transport request.
Once you click on Save all the classes are generated automatically.
Window will have its own IMPL class ZL_ZSEARCH__MAINWINDOW_IMPL and controller MainWindow.do
Window Context IMPL class as ZL_ZSEARCH__MAINWINDOW_CTXT .
Component Controller BSPWDComponent.do with its IMPL Class ZL_ZSEARCH__BSPWDCOMPONEN_IMPL
Component Controller context IMPL class ZL_ZSEARCH__BSPWDCOMPONEN_CTXT is created.
2. Add Model
Click to RUNTIME REPOSITORY EDITOR -> Switch to edit mode -> Right click on Model ->
3. Create Custom Controller
- Custom Controller is used to share the data between two views.We will used later
- Step-> Define Name as ZCuCo -> Add Model Node as BuilHeader -> Continue till Last step.
4. Creating a Search Page
- Next Step is Creating a Search Page -> Right Click on View-> Create Search Page as Shown below
- It will create a New Search Page , Window , Search View and Result view, View Set automatically -> Continue .
- As we are creating an Advanced search , Select BOL object for
Search Query node , Once you selected wizard will automatically fetch corresponding Result node.
- You can define options – as Saved Search Creation , Navigation Links , Result View Selections etc.
- Here we are creating a Navigation Link as BP_NUMBER .
- You can define Buttons as well by default.
- So 3 Views are created using that Search View Page
- Search Page as View Set
- SearchQueryView as AdvancedSearchView
- SearchResultView as Display View
- you can can see in Runtime repository how the viewsets , viewarea and views are bounded together.
5.Search Query Config
Click on Configuration tab -> click on edit mode ->Create new Configuration and Accept Default values
– > Show available fields->Drag or Drop on Selected search criteria list.
7. Creating Over View Page
- Create Overview Page and Enter a name for overview page->assign a package and save it.
- Custom Controller ,Controller Implementation , Custom Controller, and Context are created.
8. Creating Another Form View name as Display View , Add Model node as BuilHeader and link it to custom controller.
- This binding ensures that data will be shared between views and custom controller and with any other context node bound to the same context node.
9. Assign Display View to OverViewPage.
10. Over View Page Configuration and Display View Configuration.
- Select available assignments blocks list to add them to display assignments blocks.
- Keep Load options enabled so that they are displayed upon load -> Save.
11. Navigation Link
- As BP_NUMBER is a hyperlink in a result view , so we decided to navigate to another view(DisplayView)
- Right Click on CLICK_ON_LINK and Redefine.
- Here Search page creation wizard has taken care of retrieving a BOL entity corresponding to that link on which user clicks.
- Here index of that line is retrieved from event info then get the BOL entity from collections.
- Open Implementation class of SearchResultView ->Navigate_to_link.
- Here for the BP_NUMBER we add a bol event handler to collection and pass collection to outbound plug.
- Redefine outbound plug.
- Here in Navigate method the name of the outbound plug is ‘Navigate’ that we will later define in runtime repository as Navigation Links.
- Right Click on Inbound Plug->IP_RESULT_VIEW as plug name of OverViewPage.
- Here object is sent from result page via inbound plug is received in overviewpage inboundplug and set in context node of custom controller
- Creating a Navigation Link -> Enter the Source and Target View.
- Add Following code to navigate as already discussed in previous slide.
- Add inbound plug of SearchResultViewFromDisplay’.
- Navigation Id as ‘Back’ -> Enter Source View and Target View.