日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SAP CRM Distribution Chain数据模型

發布時間:2023/12/19 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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数据模型的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。