SAP CRM Distribution Chain数据模型
Created by Jerry Wang, last modified on Nov 25, 2014
系统里Product R15维护了如下格式的Distribution chain 数据:
在BOL browser tool里通过Relation ProductDistrChain 从root 节点associate到Distribution chain的子节点:
使用如下report 列出指定product维护的distribution chain信息并全部删除:
执行report,列出product下面所属的所有的distribution信息并 全部删除:
REPORT zhana_product_create_dc. PARAMETERS: id TYPE comm_product-product_id OBLIGATORY DEFAULT 'R15'. DATA(product) = cl_crm_prod_internal_tool=>get_prod_by_id( id ). DATA: lv_index TYPE int4 VALUE 1. DATA(lo_dist_chain) = product->get_related_entities( iv_relation_name = 'ProductDistrChain' ). IF lo_dist_chain IS INITIAL.WRITE: / 'Current product does not have distribution chain' COLOR COL_NEGATIVE.RETURN. ELSE.DATA(lo_dist_chain_single) = lo_dist_chain->get_first( ).WHILE lo_dist_chain_single IS NOT INITIAL.WRITE: / 'Distribution Chain index: ' , lv_index COLOR COL_NEGATIVE.DATA(lv_sale_org) = lo_dist_chain_single->get_property_as_string( iv_attr_name = 'SALES_ORG' ).DATA(lv_disc_cha) = lo_dist_chain_single->get_property_as_string( iv_attr_name = 'DISTR_CHAN' ).DATA(lv_short_txt) = lo_dist_chain_single->get_property_as_string( iv_attr_name = 'SHORT_DESC' ).DATA(lv_sales_txt) = lo_dist_chain_single->get_property_as_string( iv_attr_name = 'SALES_DESC' ).DATA(lv_distr_txt) = lo_dist_chain_single->get_property_as_string( iv_attr_name = 'DISTR_DESC' ).DATA(lv_distr_id) = lo_dist_chain_single->get_property_as_string( iv_attr_name = 'DSTRBCHAIN_ID' ).DATA(lv_long_txt) = lo_dist_chain_single->get_property_as_string( iv_attr_name = 'DESCRIPTION' ).WRITE:/ 'SalesOrg: ', lv_sale_org COLOR COL_POSITIVE, ' Distribution Chain: ' , lv_disc_cha COLOR COL_POSITIVE.WRITE: / 'Short text:' , lv_short_txt COLOR COL_TOTAL, ' Sales text: ' , lv_sales_txt COLOR COL_TOTAL.WRITE: / 'Distribution text: ' , lv_distr_txt COLOR COL_GROUP, ' Distribution ID: ', lv_distr_id COLOR COL_GROUP.WRITE: / 'Long text: ' , lv_long_txt COLOR COL_KEY.lo_dist_chain_single->delete( ).lo_dist_chain_single = lo_dist_chain->get_next( ).ADD 1 TO lv_index.ENDWHILE.DATA(lv_saved) = cl_crm_prod_internal_tool=>save_transaction( ).WRITE: / 'saved successfully?' , lv_saved COLOR COL_TOTAL. ENDIF.class CL_CRM_PROD_INTERNAL_TOOL definitionpublicfinalcreate public . public section.class-methods CLASS_CONSTRUCTOR .class-methods GET_PROD_BY_IDimporting!IV_PRODUCT_ID type COMM_PRODUCT-PRODUCT_IDreturningvalue(RO_BOL) type ref to CL_CRM_BOL_ENTITY .class-methods SAVE_TRANSACTIONreturningvalue(RV_SUCCESS) type ABAP_BOOL . protected section. private section.class-data SO_BOL_CORE type ref to CL_CRM_BOL_CORE . ENDCLASS. CLASS CL_CRM_PROD_INTERNAL_TOOL IMPLEMENTATION. * <SIGNATURE>---------------------------------------------------------------------------------------+ * | Static Public Method CL_CRM_PROD_INTERNAL_TOOL=>CLASS_CONSTRUCTOR * +-------------------------------------------------------------------------------------------------+ * +--------------------------------------------------------------------------------------</SIGNATURE>method CLASS_CONSTRUCTOR.so_bol_core = cl_crm_bol_core=>get_instance( ).so_bol_core->load_component_set( 'PROD_ALL' ).endmethod. * <SIGNATURE>---------------------------------------------------------------------------------------+ * | Static Public Method CL_CRM_PROD_INTERNAL_TOOL=>GET_PROD_BY_ID * +-------------------------------------------------------------------------------------------------+ * | [--->] IV_PRODUCT_ID TYPE COMM_PRODUCT-PRODUCT_ID * | [<-()] RO_BOL TYPE REF TO CL_CRM_BOL_ENTITY * +--------------------------------------------------------------------------------------</SIGNATURE>METHOD get_prod_by_id.DATA:lo_collection TYPE REF TO if_bol_entity_col,lo_root_entity TYPE REF TO cl_crm_bol_entity,lv_view_name TYPE crmt_view_name,lv_query_name TYPE crmt_ext_obj_name,lt_query_parameter TYPE crmt_name_value_pair_tab,ls_query_parameter LIKE LINE OF lt_query_parameter,lv_size TYPE i.ls_query_parameter-name = 'PRODUCT_ID'.ls_query_parameter-value = iv_product_id.APPEND ls_query_parameter TO lt_query_parameter.ls_query_parameter-name = 'MAX_ROWS'.ls_query_parameter-value = 1.APPEND ls_query_parameter TO lt_query_parameter.lv_query_name = 'ProdAdvancedSearchProducts'.lo_collection = so_bol_core->query(iv_query_name = lv_query_nameit_query_params = lt_query_parameteriv_view_name = lv_view_name ).ASSERT lo_collection IS NOT INITIAL.ASSERT lo_collection->size( ) = 1.ro_bol = lo_collection->get_current( ).ENDMETHOD. * <SIGNATURE>---------------------------------------------------------------------------------------+ * | Static Public Method CL_CRM_PROD_INTERNAL_TOOL=>SAVE_TRANSACTION * +-------------------------------------------------------------------------------------------------+ * | [<-()] RV_SUCCESS TYPE ABAP_BOOL * +--------------------------------------------------------------------------------------</SIGNATURE>method SAVE_TRANSACTION.so_bol_core->modify( ).DATA(lo_transaction) = so_bol_core->get_transaction( ).DATA(lv_changed) = lo_transaction->check_save_needed( ).CHECK lv_changed EQ abap_true.DATA(lv_success) = lo_transaction->save( ).IF lv_success = abap_true.lo_transaction->commit( ).rv_success = abap_true.ELSE.lo_transaction->rollback( ).ENDIF.endmethod. ENDCLASS.
SAP CRM Distribution Chain数据模型相关推荐
- SAP cross distribution chain status在Fiori应用中的draft handling
The explanation why draft handling is necessary in Fiori application could be found from Fiori Desig ...
- SAP RETAIL WB02 为门店激活物料分类账报错 - Distribution chain NMI1 00 not valid for retail price determination -
SAP RETAIL WB02 为门店激活物料分类账报错 - Distribution chain NMI1 00 not valid for retail price determination - ...
- Pricing in SAP CRM and Cloud for Customer
CRM的price determination C4C C4C的price分Internal Pricing和External Pricing两种. Internal Pricing涉及到的工作中心: ...
- 观察者模式在SAP CRM One Order回调函数中的应用
例如需求是搞清楚function module CRM_PRODUCT_I_A_CHANGE_ORGM_EC在什么样的场景下会被调用.当然最费时间的做法是设一个断点,然后跑对应的场景,观察断点何时被触 ...
- 浅谈SAP CRM开发——技术概念、与ECC 系列产品区别
SAP CRM首先和SAP ECC,SAP BW一样,都是SAP的一个产品,而不是属于ECC的一个模块,当然CRM在很多功能方面和ECC有重复,比如CRM的SALES和ECC的SD,CRM的SERVI ...
- 《SAP CRM管理与实施指南》一一2.2 SAP CRM基础功能
本节书摘来自华章计算机<SAP CRM管理与实施指南>一书中的第2章,第2.2节,作者:邹荫文 著,更多章节内容可以访问云栖社区"华章计算机"公众号查看. 2.2 SA ...
- 如何使用代码给product创建distribution chain
Created by Jerry Wang, last modified on Jul 16, 2014 下列report能给指定的product创建3个用户输入的distribution chain ...
- performance improvement in Distribution chain scenario
Created by Jerry Wang, last modified on Jul 16, 2014 当删除一个product下面的所有distribution chain并且成功save之后,在 ...
- SAP CRM系统订单模型的设计与实现
SAP成都研究院的一个部门领导让我给他的团队做一个SAP CRM One Order框架的培训,这是我准备的培训内容. 在Jerry之前的文章 基于SAP Kyma的订单编排增强介绍,我表达了自己对S ...
最新文章
- 几道 BAT 算法面试中经常问的「字符串」问题
- 2021年春季学期-信号与系统-第七次作业参考答案
- 安装库_免费软件安装库
- 微信小程序--数据存储
- 单片机读tf卡c语言程序,单片机读写U盘闪盘超精简C源程序
- Linux查找字符串包含在某目录所有文件中
- mavonEditor 有序无序列表不能显示数字和小原点的问题
- Mac上MacVim安装与配置
- jq如何获取选中option的值_如何用jQuery获得select的值
- Audiority Big Goat Mac(模拟建模复古失真插件)
- springcloud分布式事务处理方案
- 工控c语言培训,[转载]最完整的工控培训、PLC培训教程大全
- java list 冒泡排序_冒泡排序详细分析JAVA
- Java服务优雅停机_JAVA优雅停机的实现
- Matlab c2d离散用法
- Pr 2019版安装教程
- Linux系统-gzip命令 – 压缩和解压文件
- 水源热泵系统的优点和缺点有哪些?
- 漏洞解决方案-Http host头攻击
- tomcat--catalina
热门文章
- (转)WPF中让窗体不显示最大化,最小化,关闭按钮
- jvm classLoader 过程
- springMVC 与mybatis 整合 demo(maven 工程)
- 第三次学JAVA再学不好就吃翔(part100)--文件名称过滤器
- 探索Julia(part3)--数据类型
- python基础(part15)--迭代
- SAP 电商云 FooterNavigationComponent 的设计细节
- SAP 电商云 Spartacus UI 的 checkout 设计
- Jest 测试框架 expect 和 匹配器 matcher 的设计原理解析
- 对 SAP Spartacus 进行服务器端构建时,编译的资源列表