前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何创建自己的SAP CRM产品主数据search scenario

如何创建自己的SAP CRM产品主数据search scenario

作者头像
Jerry Wang
发布2020-06-24 16:54:46
4690
发布2020-06-24 16:54:46
举报

Created by Jerry Wang, last modified on Oct 03, 2016

Technically it is possible to create your own search scenario, filter class and search tool, and put your custom search logic there. Then write another report to trigger search implemented by your own search scenario:

(1) Create your filter class with interface IF_COM_PRSEARCHFILTER.

Put your own filter logic in method FILTER. It will be called by your own search tool. Define which search criteria will be relevant for your filter. In my example since I need to re-implement search by object description, so I make short text set type as relevant criteria.

(2) Create your own search tool with interface IF_COM_PRSEARCHTOOL.

Implement method RELEVANT_CRITERIA which has the same logic as your own filter class.

Implement method GETLIST_ACTIVE. Put your optimized solution in this method.

(3) Create your search scenario class with super class CL_COM_PRSEARCHSCENARIO_BASE. Redefine DETERMINE_STANDARD_TOOL. Just specify your own search tool and filter class in this method.

  CREATE OBJECT lr_tool TYPE ZCL_NEW_SEARCH_TOOL_AFTER_OPT.
  ei_tool = lr_tool.
  CREATE OBJECT lr_filter TYPE ZCL_NEW_FILTER_AFTER_OPT.
  INSERT lr_filter INTO TABLE et_filter.

(4) [Optional] integrate your own search in PREPARE_DB_RANGE_SEARCH ( standard code change necessary )

(5) Since currently we do not need to integrate the new search via end-to-end way, we simply write a report to trigger search which will use our own search: This FM will not be used by UI search, so when you are comparing your search performance with standard search, please also trigger standard search via this report, too.

ls_option-frgtype_id = 'COMM_PR_SHTEXT'.
ls_option-attribute  = 'SHORT_TEXT'.
ls_option-sign       = 'I'.
ls_option-option     = 'EQ'.
ls_option-low        = 'object mass created of 200124'.
ls_option-high       = space.
INSERT ls_option INTO TABLE lt_option.
CALL FUNCTION 'COM_PRODUCT_GETLIST_API'
  EXPORTING
    it_gen_sel_options = lt_option
    iv_scenario        = 'ZCL_NEW_SCENARIO_AFTER_OPT'
  IMPORTING
    et_product         = lt_product
    et_bapireturn      = lt_return
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-06-23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Created by Jerry Wang, last modified on Oct 03, 2016
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档