For example, I would like to test relationship type STRSET and then I plan to add it to product category 00001.
However, in available drop down list, I could not see relationship type STRSET. Why?
When debugging the backend logic to render relationship type drop down list entries, I found there is a check implemented by the function module below, to avoid a relationship is assigned more than once.
According to SAP help, a set type / relationship may be assigned to more than one category within a hierarchy, but to only one hierarchy for each product type. Therefore even if two categories are in different hierarchies but have the same product type, it is not possible to assign the set type / relationship to both categories. In my example, the check against my category 00001 belonging to hierarchy R3PRODHIER fails ( assign_not_allowed ).
The question is, how to find other categories in different hierarchy other than R3PRODHIER, which are already assigned with STRSET? In order to make life easier, I write the following utility method to detect such collision: Method input: relationship type name, here it is STRSET:
Output is a table with line type category id, hierarchy id and product type the category is assigned to.
By using this method, I know in current system, in another product hierarchy R3PRODSTYP, there are already three categories with relationship type STRSET assigned:
As a result I have several approaches: I can remove the relationship STRSET from category ZALTID, after that it will be possible again for me to add STRSET to category 00001. If there is already product created based on category ZALTID, it will not be possible to remove relationship from ZALTID, then I have to consider to directly add category ZALTID or its children category to my product. The utility method signature:
type TT_USAGE used:
types:
BEGIN OF ty_usage,
cat_id TYPE comm_category-category_id,
hier_id TYPE comm_hierarchy-hierarchy_id,
prod_type TYPE comm_product-product_type,
END OF ty_usage .
types:
tt_usage TYPE STANDARD TABLE OF ty_usage WITH key cat_id hier_id .
Method source code:
METHOD rel_type_usage_check.
DATA: lt_prcat_il_rel TYPE comt_prcat_il_rel_tab,
ls_prcat LIKE LINE OF lt_prcat_il_rel,
ls_category TYPE comt_category,
ls_prcattype TYPE comt_prcat,
lv_hie_id TYPE comm_hierarchy-hierarchy_id.
CALL FUNCTION 'COM_PRCAT_IL_REL_READ_WITH_IL'
EXPORTING
iv_il_reltype = iv_rel
iv_il_direction = 'S'
IMPORTING
et_prcat_il_rel = lt_prcat_il_rel
EXCEPTIONS
not_found = 1
wrong_call = 2
OTHERS = 3.
CHECK sy-subrc = 0.
LOOP AT lt_prcat_il_rel INTO ls_prcat.
CALL FUNCTION 'COM_CATEGORY_READ'
EXPORTING
iv_category_guid = ls_prcat-category_guid
IMPORTING
es_category = ls_category
EXCEPTIONS
wrong_call = 1
not_found = 2
error = 3.
CHECK sy-subrc = 0.
SELECT SINGLE hierarchy_id INTO lv_hie_id FROM comm_hierarchy
WHERE hierarchy_guid = ls_category-hierarchy_guid.
CHECK sy-subrc = 0.
CALL FUNCTION 'COM_PRCAT_READ'
EXPORTING
iv_category_guid = ls_category-category_guid
IMPORTING
es_prcat = ls_prcattype
EXCEPTIONS
wrong_call = 1
not_found = 2
OTHERS = 3.
APPEND INITIAL LINE TO rt_usage ASSIGNING FIELD-SYMBOL(<result>).
<result> = value #( cat_id = ls_category-category_id hier_id = lv_hie_id
prod_type = ls_prcattype-product_type ).
ENDLOOP.
ENDMETHOD.
要获取更多Jerry的原创文章,请关注公众号"汪子熙":
相关推荐
标题与描述中的"SAP CRM 7.0 PA-CR100"指向的是SAP公司的一款企业级软件——客户关系管理(Customer Relationship Management)系统的一个特定版本与课程代码。SAP CRM是SAP Business Suite的一部分,它帮助企业优化...
与SAP ECC(Enterprise Core Component)和SAP BW(Business Warehouse)一样,SAP CRM 是一个独立的产品而非ECC的组成部分。尽管SAP CRM 和 ECC 在某些功能上有重叠,例如CRM 的 SALES 功能类似于ECC 的 SD(Sales ...
SAP CRM行业解决方案是一个基于客户关系管理(Customer Relationship Management,CRM)的解决方案,旨在帮助企业更好地管理客户关系、提高销售业绩和客户满意度。该解决方案提供了一整套的客户关系管理系统,涵盖了...
SAP CRM系统与SAP ERP等其他SAP产品紧密结合,形成了一个集成度高、灵活性强的业务平台。 #### 二、市场营销管理 SAP CRM的市场营销管理模块提供了强大的市场资源管理能力,包括但不限于市场活动策划与执行、市场...
《SAP-CRM-系统用户界面操作指导手册》旨在为用户提供一个全面的操作指南,帮助他们熟悉SAP CRM Web客户端的用户界面及其各项功能。 #### 二、SAP CRM Web 客户端用户界面概览 ##### 2.1 用户界面结构 SAP CRM Web...
由于文档内容可能存在OCR扫描识别错误或漏识别,所以在理解上述信息时,可能需要根据上下文和SAP CRM系统的具体实施情况,对个别字词进行适当的理解和修正。 以上就是对SAP CRM系统中常用表的详细解释,它们构成了...
在SAP的模块化架构中,SAP CRM扮演着关键角色,它能够与其他SAP模块(如ERP、SCM等)无缝集成,为企业提供一个统一的客户视角。 通过学习"SAP SAPCRM",我们可以深入了解以下几个核心知识点: 1. **CRM基础理念**...
标题与描述均提到了"SAP CRM PA ...综上所述,SAP CRM PA 192是一个集成了多种功能模块的高级CRM平台,特别强调了电子商务和财务管理的自动化与优化,同时利用了多个业界领先的技术和产品,以满足大型企业的复杂需求。
SAP CRM(Customer Relationship Management)系统是SAP公司推出的客户关系管理解决方案,旨在帮助企业提升销售效率、优化客户服务、加强市场营销和提高客户满意度。在CRM市场上,SAP CRM已经逐步超越Siebel,成为...
SAP CRM (Customer Relationship Management) 是一个全面的解决方案,旨在帮助企业管理和优化与客户之间的互动过程。IPC(Interactive Pricing Component)作为SAP CRM中的一个重要组成部分,主要用于处理业务交易中...
### SAP NetWeaver与mySAP CRM:集成与优化 在当今高度网络化的商业环境中,企业流程及其...对于希望提高客户体验、优化内部流程并推动业务增长的企业而言,SAP NetWeaver与mySAP CRM的组合无疑是一个强有力的选择。
在文档中提到的2007年版本8.1是SAP CRM产品线中的一个具体版本。SAP CRM产品系列根据不同的企业需求,提供了多样的模块化解决方案,以适应不同行业和企业规模的特定要求。 文档中还提到了SAP公司的版权声明,指出...
“CRM Tables.xls”文件很可能是一个详细的SAP CRM数据库表清单,通常这类清单会包含表的名称、描述、用途等信息,帮助开发者和管理员了解系统的内部运作。在Excel表格中,可能有以下列: 1. **表名** - SAP CRM...
关于提供的文件“4iWeekEvent-Chinese-appendix.ppt”,这可能是一个关于SAP CRM中的事件管理或活动管理的补充材料,可能涵盖了如何在SAP CRM中组织和管理各种活动,包括会议、研讨会和促销活动等。内容可能涉及事件...
SAP CRM(Customer Relationship Management)是SAP公司推出的一款专注于客户关系管理的解决方案,它能够帮助企业实现销售、市场营销和服务流程的自动化与优化。通过整合企业内部资源并提供强大的分析工具,SAP CRM...
SAP CRM(Customer Relationship Management)是SAP公司推出的一款企业级客户关系管理解决方案,旨在帮助企业优化销售、服务和市场活动。本篇将深入探讨SAP CRM的基础知识,包括WebClient用户界面的发展历程、特性、...
- **CRM定义**:Customer Relationship Management(客户关系管理),是一种策略和技术手段,用于管理企业与其客户之间的互动。 - **CRM目标**:通过提供更个性化的客户服务来提高客户满意度,从而增加企业的销售额...
SAP CRM,全称为SAP Customer Relationship Management,是一款强大的企业级客户关系管理软件,它集成了销售、市场营销和服务等多个业务领域,旨在优化企业的客户互动,提高销售效率和客户满意度。本课程主要关注SAP...
SAP CRM的核心模块包括FS310 Inkasso/Exkasso,这是一个专注于应收账款管理和追收的模块。它提供了全面的工具来监控和管理企业的收款过程,确保现金流的稳定。这个模块允许用户自动化处理催收和出账单流程,提高效率...
在SAP CRM基础培训中,WebClient UI(Web客户端用户界面)是一个重要的学习焦点,它是用户与系统交互的主要界面。下面我们将深入探讨WebClient UI的相关知识点。 WebClient UI的发展历程是从GUI(图形用户界面)...