关于crm:SAP-数据库表CRMDORDERADMI字段OBJECTTYPE的计算逻辑

In order to resolve one issue I need to figure out the logic how field OBJECT_TYPE is populated in table CRMD_ORDERADM_I.For example, I have the following opportunity line item: In table this field is marked as BUS20000130. How this value is determined? First of all, the item category OPPT is determined by the following customizing: In my example, my opportunity type is OPPT and item category configured in product “JerryWang” is NORM, so OPPT is determined as customizing.for item category OPPT, BUS20000130 is configured as item object type here: ...

August 24, 2020 · 1 min · jiezi

关于crm:无法添加某个relationship给SAP-CRM-Product-category的一个可能原因

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. ...

August 24, 2020 · 3 min · jiezi

关于crm:如何找到ABAP里被动态调用的update-function-module

In this SCN discussion,Find a Function Module in Update Task dynamically called,a question is asked. For example, if the update function module CRM_PRODUCT_I_UPDATE_DU is called statically as:CALL FUNCTION ‘CRM_PRODUCT_I_UPDATE_DU’ … Then we can easily find all calling places where this function module is called.On the other hand, if the function module name is determined dynamicall in the runtime, for example: CALL FUNCTION lv_func_name, the where used list will not work.In this case, even though I have already set the breakpoint in update function module itself and the breakpoint is triggered in the runtime, I still could not figure out which programs calls this update function module. ...

August 24, 2020 · 1 min · jiezi

关于crm:SAP-CRM-Product-hierarchyCategory和Application的三个问题

All of these three questions are raised regarding the customizing below via tcode COMM_PRAPPLCAT: Question1: Product search supports “search by category id”. However, we can assign different categories with same id on different product hierarchies. See example below: Question 1: the category id search will only touch categories assigned to a specific hierarchy, or will simply touch all categories with id “ZJERRY” regardless of their assigned hierarchies? ...

August 24, 2020 · 2 min · jiezi

关于crm:SAP-CRM-One-Order-header-extension的缓存机制设计原理

In one of my previous blog A small tip to analyze code by code and export to markdown format it is introduced that the following header extension are supported in One order read function module CRM_ORDER_READ. When the given header extension is read via CRM_ORDER_READ, take OPPORT_H for example: DATA: lt_header_guid TYPE crmt_object_guid_tab, lv_guid TYPE crmt_object_guid, lv_object_id TYPE CRMT_OBJECT_ID_DB value '21', lt_oppt TYPE CRMT_OPPORT_H_WRKT, lt_partner TYPE crmt_partner_external_wrkt.START-OF-SELECTION.CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' EXPORTING input = lv_object_id IMPORTING output = lv_object_id. SELECT SINGLE guid INTO lv_guid FROM crmd_orderadm_h WHERE object_id = lv_object_id AND process_type = 'CXOP'. CHECK sy-subrc = 0. APPEND lv_guid TO lt_header_guid. CALL FUNCTION 'CRM_ORDER_READ' EXPORTING it_header_guid = lt_header_guid IMPORTING* et_partner = lt_partner et_opport_h = lt_oppt.The calling hierarchy could be found from below: ...

August 24, 2020 · 2 min · jiezi

关于crm:SAP-CRM-One-Order函数CRMObjectFILLOW的设计原理

题目:SAP CRM One Order函数CRM_<Object>_FILL_OW的设计原理There are totally 60 function modules in One order with naming convention CRM_<Object>_FILL_OW: They are NOT used in read scenario but in modify scenario. For example once you change the Closing Date of a given opportunity in WebUI ( from 2017-02-15 to 2017-02-16 ) The function module for Opportunity header extension, CRM_ORDERADM_H_FILL_OW, is called with the following callstack: As its name FILL_OW indicates, it is responsible to FILL the latest input by consumer into so called object work area( OW ) for later use.In order to make the research life easier I write the following report to trigger this FILL_OW function module call from backend: ...

August 24, 2020 · 3 min · jiezi

关于crm:SAP-CRM-One-Order函数SAVEEC的设计原理

In previous blogs the READ and UPDATE logic of Opportunity header field Closing Date are explained: Buffer logic in One Order header extension readLogic of FILL_OW function module in One OrderLogic of CHANGE_OW function module in One OrderIn this blog we will research what happens when end user clicks save button after Closing Date is changed in WebClient UI.This time we use naming convention CRMSAVE_EC to list the function modules which will be responsible to trigger the persistence of the change into corresponding database table. ...

August 24, 2020 · 3 min · jiezi

关于crm:SAP-CRM-One-Order函数CREATEOW的设计原理

In the previous series of blogs the read and update on Opportunity header fields are discussed. In this blog another scenario will be explained: create scenario on Opportunity header fields. I will again use Closing Date ( and description field ) for example.Execute the following report: REPORT ZORDER_CREATE.DATA: lt_input_fields TYPE crmt_input_field_tab, ls_input_field LIKE LINE OF lt_input_fields, ls_field_name LIKE LINE OF ls_input_field-field_names, lv_guid TYPE guid_16, lt_orderadm_h_com TYPE crmt_orderadm_h_comt, ls_orderadm_h_com LIKE LINE OF lt_orderadm_h_com, ls_com_structure TYPE string, lv_selection_needed TYPE crmt_boolean, lt_save TYPE crmt_object_guid_tab, lt_saved TYPE crmt_return_objects, lt_opp_h TYPE CRMT_OPPORT_H_COMT, ls_opp_h LIKE LINE OF lt_opp_h, ls_saved LIKE LINE OF lt_saved.START-OF-SELECTION. CALL FUNCTION 'GUID_CREATE' IMPORTING ev_guid_16 = lv_guid. PERFORM call_order_maintain. PERFORM call_order_save.FORM call_order_maintain. CLEAR: ls_orderadm_h_com, ls_input_field, lt_input_fields. ls_orderadm_h_com-guid = lv_guid. ls_orderadm_h_com-description = 'created by code on:' && sy-timlo. ls_orderadm_h_com-process_type = 'OPPT'. ls_orderadm_h_com-mode = 'A'. APPEND ls_orderadm_h_com TO lt_orderadm_h_com. ls_input_field-ref_guid = lv_guid. ls_input_field-ref_kind = 'A'. ls_input_field-objectname = 'ORDERADM_H'. ls_field_name-fieldname = 'DESCRIPTION'. APPEND ls_field_name TO ls_input_field-field_names. ls_field_name-fieldname = 'MODE'. APPEND ls_field_name TO ls_input_field-field_names. ls_field_name-fieldname = 'PROCESS_TYPE'. APPEND ls_field_name TO ls_input_field-field_names. APPEND ls_input_field TO lt_input_fields. ls_opp_h-ref_guid = lv_guid. ls_opp_h-expect_end = '20170401'. APPEND ls_opp_h TO lt_opp_h. CLEAR: ls_input_field. ls_input_field-ref_guid = lv_guid. ls_input_field-ref_kind = 'A'. ls_input_field-objectname = 'OPPORT_H'. APPEND 'EXPECT_END' TO ls_input_field-field_names. APPEND 'STARTDATE' TO ls_input_field-field_names. INSERT ls_input_field INTO TABLE lt_input_fields. CALL FUNCTION 'CRM_ORDER_MAINTAIN' EXPORTING IT_OPPORT_H = lt_opp_h CHANGING ct_orderadm_h = lt_orderadm_h_com ct_input_fields = lt_input_fields EXCEPTIONS OTHERS = 99. IF sy-subrc = 0. WRITE:/ 'Order maintain function is done successfully.'. ENDIF.ENDFORM.FORM call_order_save. INSERT lv_guid INTO TABLE lt_save. CALL FUNCTION 'CRM_ORDER_SAVE' EXPORTING it_objects_to_save = lt_save iv_update_task_local = abap_true iv_no_bdoc_send = abap_true IMPORTING et_saved_objects = lt_saved EXCEPTIONS document_not_saved = 1. IF sy-subrc <> 0. WRITE: / 'Opportunity created failed'. ELSE. READ TABLE lt_saved INTO ls_saved INDEX 1. WRITE: / 'Opportunity created successfully, id: ' , ls_saved-object_id. ENDIF. COMMIT WORK AND WAIT.ENDFORM.Once executed, a new Opportunity will be created. ...

August 24, 2020 · 4 min · jiezi

关于crm:显示SAP-CRM-Product-hierarchy的一个小工具

Recently I start to study SD and I found the product hierarchy in transaction code V/76 could not be viewed in tree style and it is not so convenient to check: So I wrote a simple report to retrieve hierarchy data from table T179 and display the data in a tree as below: The source code of report is listed below: REPORT zdisplay_hierarchy.DATA: g_alv_tree TYPE REF TO cl_gui_alv_tree, gt_data TYPE STANDARD TABLE OF zcl_alv_tool=>ty_displayed_node, ok_code LIKE sy-ucomm, save_ok LIKE sy-ucomm, ls_data LIKE LINE OF gt_data.END-OF-SELECTION. DATA(lo_tool) = NEW zcl_alv_tool( ). DATA(lt_fieldcat) = lo_tool->get_fieldcat_by_data( ls_data ). PERFORM change_label. CALL SCREEN 100.MODULE pbo OUTPUT. SET PF-STATUS 'MAIN100'. SET TITLEBAR 'MAINTITLE'. IF g_alv_tree IS INITIAL. PERFORM init_tree. CALL METHOD cl_gui_cfw=>flush EXCEPTIONS cntl_system_error = 1 cntl_error = 2. ASSERT sy-subrc = 0. ENDIF.ENDMODULE. " PBO OUTPUTMODULE pai INPUT. save_ok = ok_code. CLEAR ok_code. CASE save_ok. WHEN 'EXIT' OR 'BACK' OR 'CANC'. PERFORM exit_program. WHEN OTHERS. CALL METHOD cl_gui_cfw=>dispatch. ENDCASE. CALL METHOD cl_gui_cfw=>flush.ENDMODULE. " PAI INPUTFORM change_label. READ TABLE lt_fieldcat ASSIGNING FIELD-SYMBOL(<id>) INDEX 1. <id>-seltext = <id>-reptext = <id>-scrtext_m = <id>-scrtext_s = <id>-scrtext_l = 'Hierarchy ID'. <id>-outputlen = 20. READ TABLE lt_fieldcat ASSIGNING FIELD-SYMBOL(<text>) INDEX 2. <text>-seltext = <text>-reptext = <text>-scrtext_m = <text>-scrtext_l = 'Description'. <text>-scrtext_s = 'Text'. <text>-outputlen = 40.ENDFORM.FORM init_tree. g_alv_tree = lo_tool->get_tree( ). DATA l_hierarchy_header TYPE treev_hhdr. PERFORM build_hierarchy_header CHANGING l_hierarchy_header. CALL METHOD g_alv_tree->set_table_for_first_display EXPORTING is_hierarchy_header = l_hierarchy_header CHANGING it_fieldcatalog = lt_fieldcat it_outtab = gt_data. PERFORM create_tree. g_alv_tree->frontend_update( ). lo_tool->expand( ).ENDFORM.FORM create_tree. DATA(lt_data) = lo_tool->get_hierarchy_data( ). lo_tool->draw_tree( lt_data ).ENDFORM. " init_treeFORM build_hierarchy_header CHANGING p_hierarchy_header TYPE treev_hhdr. p_hierarchy_header-heading = 'Material hierarchy'. p_hierarchy_header-width = 30. p_hierarchy_header-width_pix = ' '.ENDFORM. " build_hierarchy_headerFORM exit_program. LEAVE PROGRAM.ENDFORM. " exit_programIn order to use the report, all you need is to just create a new screen : ...

August 23, 2020 · 2 min · jiezi

关于crm:SAP-CLCRMBOLENTITY单元测试方法

In SAP standard development it is very important to use unit test to cover those changes on legacy code to try to avoid side effect. As type reference CL_CRM_BOL_ENTITY is widely used in UI component code, I would like to find a way to construct its reference by sample data. The normal way we get instance of CL_CRM_BOL_ENTITY is, to use query or dquery method provided in class CL_CRM_BOL_CORE, which return a BOL collection list and then we can get each bol entity from by iterating that collection. However, both of these methods will perform database scan and return found data – such behavior is not appropriate for unit test.I have gone through all public methods in CL_CRM_BOL_CORE and do not find a useful method to construct bol entity based on sample data, so I write a small piece of code: ...

August 23, 2020 · 2 min · jiezi

关于crm:SAP-CRM状态字段下拉列表里数据的填充原理

In my previous blog How is status drop down list entry generated in Order detail page I research how the status drop down list entries are generated without any status profile assigned to transaction type. In this blog let’s take things one step further, to figure out the logic of drop down list where the status profile is assigned. I copy a standard transaction type SRVO into ZSRV and assign a profile CRMOPPOR to it. ...

August 23, 2020 · 4 min · jiezi

关于crm:SAP-CRM订单状态管理的一些重要的数据库表

I record down my self study notes here in order to be used in the future. TJ01: Business Transactions definitionTJ02: System status definition. For some of entries in this table, the corresponding constants are defined in include CRM_STATUS_CON TJ03: status object type definition. Storage table for tcode BS12, see screenshot below: TJ04: define initial status for system object. For example, I1002 ( open ) is defined as initial status for status object COH ( CRM Order Header ). Due to this setting, every time you create an order, it always has open as initial status. ...

August 23, 2020 · 3 min · jiezi

关于crm:如何使用UI-Configuration将WebClient-UI的隐藏字段放出来

In Service order detail page some fields are by default hidden in standard UI configuration, for example fields belonging to pricing set ( backend storage table: CRMD_SHIPPING ). Here below is step by step how to create a new UI configuration and make those hidden fields visible there. (1) Create a new business role by copying from existing one: (2) Create a new Role Configuration Key: ...

August 23, 2020 · 1 min · jiezi

关于crm:如何使用ABAP-open-SQL的locator

Recently I learned a new approach to access database table content without having to transport the column data into ABAP program using locator. There is a sample program provided in SAP help. I make modifications on this sample. The modified one: REPORT demo_db_locator.DATA: otr_text_locator TYPE REF TO cl_abap_db_c_locator, length TYPE i.DATA: pattern TYPE string VALUE 'ABAP', lv_index TYPE int4 VALUE 1.zcl_abap_benchmark_tool=>start_timer( ).TRY. SELECT text FROM sotr_textu WHERE langu = @sy-langu INTO @otr_text_locator. length = length + otr_text_locator->get_length( ). IF otr_text_locator->find( start_offset = 0 pattern = pattern ) <> -1. lv_index = lv_index + 1. ENDIF. otr_text_locator->close( ). ENDSELECT. CATCH cx_lob_sql_error. WRITE 'Exception in locator' COLOR = 6. RETURN.ENDTRY.zcl_abap_benchmark_tool=>stop_timer( ).WRITE: / 'total length:', length, ' matched for ABAP:', lv_index.zcl_abap_benchmark_tool=>print_used_memory( ).CLEAR: otr_text_locator.zcl_abap_benchmark_tool=>gc( ).zcl_abap_benchmark_tool=>print_used_memory( ).So this report just calculates the total number of records in table sotr_textu in which the data of column “text” ( type String in ABAP dictionary ) has a substring of “ABAP”, and meantime calculate the total length of text fields from all table records. ...

August 23, 2020 · 4 min · jiezi

关于crm:给SAP-WebClient-UI的表格行项目增添PDF预览功能

In CRM UI by default the PDF preview is only available in document header level. For example once PDF Fact Sheet is clicked, the PDF is displayed in a popup window. Suppose there are lots of document to be previewed as a PDF, you have to enter to overview page of each and preview there. A more efficient way is the preview functionality can be directly available in search result table as “One Click Action(OCA)”. This blog will explain the main required steps. ...

August 23, 2020 · 3 min · jiezi

关于crm:SAP-CRM订单模型CRMDSHIPPING的单元测试方法

For example the following shipping fields of One order document are stored in Database table CRMD_SHIPPING. The data could be read out via function module CRM_SHIPPING_READ_OB. This blog introduces the step how to generate fake data which will be returned by function module CRM_SHIPPING_READ_OB for unit test purpose. Step1. Create fake data in Shipping object buffer DATA: ls_shipping TYPE crmt_shipping_wrk.DATA: lv_order_guid TYPE crmt_object_guid, lv_ship_guid LIKE lv_order_guid, lt_link_com TYPE crmt_link_comt, ls_link_com LIKE LINE OF lt_link_com.CALL FUNCTION 'GUID_CREATE' IMPORTING ev_guid_16 = lv_order_guid.CALL FUNCTION 'GUID_CREATE' IMPORTING ev_guid_16 = lv_ship_guid.ls_shipping-incoterms1 = 'FOB'.ls_shipping-incoterms2 = 'Jerry Fake incoterms'.ls_shipping-guid = lv_ship_guid.CALL FUNCTION 'CRM_SHIPPING_PUT_OB' EXPORTING is_shipping_wrk = ls_shipping.Step2. Create a link between Order and shipping data via function module CRM_LINK_CREATE_OW ...

August 23, 2020 · 1 min · jiezi

关于crm:SAP-CRM服务订单页面显示组织结构管理区域的实现逻辑

题目:Why I could not see Organizational management assignment block in Service Order Overview Page For example I can see this assignment block for Sales order: However in service order overview page, this assignment block is missing: I checked the configuration in UI component BT116H_SRVO and this assignment block is already there: Unfortunately it still does not appear in the Available Assignment Blocks list when personalization button is clicked. So this view must be filtered out in the runtime based on some rules. ...

August 23, 2020 · 2 min · jiezi

关于crm:SAP-CRM索引数据库表CRMDORDERINDEX的更新原理

For project reason I need to figure out the logic how fields in index table CRM_ORDER_INDEX are updated.For example, I have an opportunity with ID 21 and closing date 2017.03.25. I get its guid 6C0B84B759DF1ED6BDF05763B3DC8841 from CRMD_ORDERADM_H and query CRM_ORDER_INDEX with this guid against field HEADER, 2 records found: Most of the fields in these two records have the same value except fields like PARTNER_NO, which represent the two involved parties as found in WebUI: ...

August 23, 2020 · 3 min · jiezi

关于crm:如何使用代码修改SAP-CRM-One-Order-CUMULATH对象的值

In Logic of CRMD_CUMULAT_H I learned the fact that gross weight of an order is calculated based on all its line item. Recently in my project I have the requirement to modify the gross weight of an order directly via ABAP code. I check the importing parameter of FM and don’t find the corresponding parameter for CUMULAT_H. After research I have written the below report: REPORT zchange_cumulat_h.PARAMETERS: quantity TYPE int4 OBLIGATORY DEFAULT 1, item TYPE crmd_orderadm_i-number_int OBLIGATORY DEFAULT 20, srvo_id TYPE crmd_orderadm_h-object_id OBLIGATORY DEFAULT '5700000242'.CONSTANTS: cv_sales_item TYPE crmt_subobject_category_db VALUE 'BUS2000131'.DATA: lv_srvo_guid TYPE crmd_orderadm_h-guid, lt_to_save TYPE crmt_object_guid_tab, lt_saved TYPE crmt_return_objects, lv_schedule_guid TYPE crmt_object_guid, lt_schedule_line TYPE crmt_schedlin_i_comt, lt_schedule_detail TYPE crmt_schedlin_extdt, ls_schedule_detail LIKE LINE OF lt_schedule_detail, ls_schedule_line LIKE LINE OF lt_schedule_line, lt_changed_fields TYPE crmt_input_field_tab, ls_changed_fields LIKE LINE OF lt_changed_fields, lt_orderadm_i TYPE TABLE OF crmd_orderadm_i.START-OF-SELECTION.SELECT SINGLE * INTO @DATA(ls_header) FROM crmd_orderadm_h WHERE object_id = @srvo_id.CHECK sy-subrc = 0.SELECT SINGLE * INTO @DATA(ls_cum_h) FROM crmd_cumulat_h WHERE guid = @ls_header-guid.CHECK sy-subrc = 0.lv_srvo_guid = ls_header-guid.WRITE:/ 'Old gross weight', ls_cum_h-gross_weight COLOR COL_GROUP.PERFORM print_gross_weight_detail.SELECT * INTO TABLE lt_orderadm_i FROM crmd_orderadm_i WHERE header = lv_srvo_guid AND object_type = cv_sales_item.CHECK sy-subrc = 0.READ TABLE lt_orderadm_i ASSIGNING FIELD-SYMBOL(<sales_item>) with key number_int = item.IF sy-subrc <> 0. WRITE:/ 'Cannot find line item for item id:', item. RETURN.ENDIF.SELECT SINGLE guid INTO lv_schedule_guid FROM crmd_schedlin WHERE item_guid = <sales_item>-guid.CHECK lv_schedule_guid IS NOT INITIAL.ls_schedule_line-ref_guid = <sales_item>-guid.ls_schedule_detail-guid = ls_schedule_detail-logical_key = lv_schedule_guid.ls_schedule_detail-item_guid = <sales_item>-guid.ls_schedule_detail-mode = 'B'.ls_schedule_detail-quantity = quantity.APPEND ls_schedule_detail TO ls_schedule_line-schedlines.APPEND ls_schedule_line TO lt_schedule_line.ls_changed_fields-ref_guid = <sales_item>-guid.ls_changed_fields-ref_kind = 'B'.ls_changed_fields-objectname = 'SCHEDLIN'.ls_changed_fields-logical_key = lv_schedule_guid.APPEND 'QUANTITY' TO ls_changed_fields-field_names.APPEND ls_changed_fields TO lt_changed_fields.CALL FUNCTION 'CRM_ORDER_MAINTAIN' EXPORTING it_schedlin_i = lt_schedule_line CHANGING ct_input_fields = lt_changed_fields EXCEPTIONS error_occurred = 1 document_locked = 2 no_change_allowed = 3 no_authority = 4.IF sy-subrc <> 0. WRITE: / 'error during quantity change'. RETURN.ENDIF.APPEND lv_srvo_guid TO lt_to_save.CALL FUNCTION 'CRM_ORDER_SAVE' EXPORTING it_objects_to_save = lt_to_save iv_update_task_local = abap_true IMPORTING et_saved_objects = lt_saved EXCEPTIONS document_not_saved = 1.IF sy-subrc <> 0. WRITE:/ 'Save failed'. RETURN.ENDIF.COMMIT WORK AND WAIT.SELECT SINGLE * INTO ls_cum_h FROM crmd_cumulat_h WHERE guid = ls_header-guid.CHECK sy-subrc = 0.WRITE: / 'New Gross weight after change:' COLOR COL_NEGATIVE, ls_cum_h-gross_weight.PERFORM print_gross_weight_detail.FORM print_gross_weight_detail. DATA: lt_product TYPE TABLE OF crmd_product_i, lt_item TYPE TABLE OF crmd_orderadm_i. SELECT * INTO TABLE lt_item FROM crmd_orderadm_i where header = lv_srvo_guid. CHECK lt_item IS NOT INITIAL. SELECT * INTO TABLE lt_product FROM crmd_product_i FOR ALL ENTRIES IN lt_item WHERE guid = lt_item-guid. LOOP AT lt_item ASSIGNING FIELD-SYMBOL(<item>). WRITE: / 'Item id:' COLOR COL_POSITIVE, <item>-number_int COLOR COL_HEADING. READ TABLE lt_product ASSIGNING FIELD-SYMBOL(<prod>) WITH KEY guid = <item>-guid. CHECK sy-subrc = 0. WRITE: / 'Item Gross Weight:' COLOR COL_POSITIVE, <prod>-gross_weight COLOR COL_GROUP. ENDLOOP.ENDFORM.How to use this report ...

August 23, 2020 · 3 min · jiezi

关于crm:SAP-CRM订单抬头级别的组织架构数据是如何自动拷贝到行项目的

Standard behavior: I have maintained Organizational management data in Service Order Header: And if we add a product to this service order as line item, the header organization data will automatically be copied to item. How this automatic data flow is achieved? Once the product IMU is maintained in item level, function module CRM_ORDER_MAINTAIN is triggered with following input: Within the callstack there is an event AFTER_CREATE raised against object ORDERADM_I: ...

August 22, 2020 · 2 min · jiezi

关于crm:使用SAP-CRM中间件从ERP下载plant到CRM

Requirement: You have performed initial download in CRM to download plants from ERP. Now you have made some further change on a given plant in ERP. You would like to synchronize those change back to CRM.You can maintain plant information in ERP: (1) create new download request in CRM via tcode R3AR2. In Low field, maintain plant ID in ERP as value: (2) perform request download via tcode R3AR4. ...

August 20, 2020 · 1 min · jiezi

关于crm:使用SAP-CRM中间件从ERP下载Customer的关于分销渠道的错误消息

Distribution channel is not allowed for sales organization I try to download customer material info record from ERP via request download.This is my download request created in tcode R3AR2: This is my customer material info record created in ERP: When I perform request download, I receive this error message in CRM tcode SMW01: I debug and found that the error message is raised in FM below, due to the failure match of Sales organization 50040102 and distribution chain 01: ...

August 20, 2020 · 1 min · jiezi

关于crm:使用SAP-CRM中间件从ERP下载Customer的错误消息

After I create a customer in ERP via tcode VD01 and try to download it into CRM via request download, I meet with the following error message:“Customer classification 06 does not exist” Through debugging I found this issue is raised in line 22 due to a missing configuration in table crmc_classif. The configuration for classification in CRM is done in this activity: In my CRM system, there is no corresponding entry for 06, as a result error message is raised. ...

August 20, 2020 · 1 min · jiezi

关于crm:使用SAP-CRM中间件从ERP下载plant到CRM

Requirement: You have performed initial download in CRM to download plants from ERP. Now you have made some further change on a given plant in ERP. You would like to synchronize those change back to CRM.You can maintain plant information in ERP: (1) create new download request in CRM via tcode R3AR2. In Low field, maintain plant ID in ERP as value: (2) perform request download via tcode R3AR4. ...

August 20, 2020 · 1 min · jiezi

关于crm:CRM如何与业务部门结合帮助企业建立良好的客户关系

CRM对企业来说比以往任何时候都重要,因为它能帮你播种新客户,保留现有客户。 胜利施行的CRM不仅能让公司洞察与每位客户倒退业务的机会,而且还能提供掂量机会价值的办法。 当一种新的产品进入市场,只有几个月,这个产品或服务就会忽然变成一种商品,这就意味着转换公司非常容易。在当今竞争强烈的环境中,客户忠诚度仿佛曾经成为过来。 在这样的状况下,CRM有助于在应答不同客户群体时确定销售和市场营销工作的优先程序。 此外,CRM能帮忙企业更好地了解客户须要和需要,改善产品组合的提供形式。你对客户、客户购买偏好和购买行为的理解越深,你的产品就越有可能感动客户。 CRM软件如何帮忙企业建设良好的客户关系? 1、反对以客户为核心的策略 CRM零碎反对这样一种策略,即客户是你所做所有事件的核心。这种以客户为核心的策略必须基于明确的指标以及对于什么是有意义的客户体验的愿景。有价值的客户体验是CRM不可或缺的一部分。客户每接触一个机构,不论是通过什么渠道,它都有机会造成好的、坏的或中立的观点。随着工夫的推移,这种客户体验的汇合在客户脑海中造成一幅画面,进而造成品牌形象及价值。 蹩脚的客户体验会导致客户散失,良好的客户体验会激励客户忠诚度,因而要慎重对待CRM的机构设计和放弃高质量的客户体验。 2、集中所有客户数据 CRM软件将所有销售、市场营销和客户服务的信息都整合到一个地方数据库中。 CRM收集的潜在客户及其相干数据包含但不限于电话号码、地址和最初一次接触,还记录探讨的内容,下一次随访日期,甚至是凋谢我的项目的状态。 这些信息随后可用于治理、掂量和跟踪与客户相干的市场营销、销售和客户服务流动。总的来说,CRM能够建设更高的客户忠诚度和营造更好的客户体验。 因为CRM零碎集中所有客户间接服务方面的信息,层级阻碍和相互指责大大降低。 销售部无奈指摘市场营销部没有与他们沟通。市场营销部无奈指摘销售部没有执行他们的营销流动,客户服务部不能指摘销售部不能让客户称心。 每个人都能获取雷同的客户信息,让你全方位地理解客户,因而有助于实现以客户为核心。 3、自动化客户间接服务业务流程 企业领有面向业务的流程和客户间接服务流程。 面向业务的流程是那些能使企业更无效运行的流程,如估算和打算。客户间接服务流程包含销售、市场营销和客户服务。 CRM策略次要关注客户间接服务流程,在满足客户需要的根底上优化流程。 (1)CRM业务流程改良 整个CRM流程从潜在客户开始。 一旦潜在客户输进零碎,CRM软件就会将其带入销售流程。例如,CRM零碎会揭示销售人员在约定的工夫打电话。每次你与潜在客户沟通时,都将其记录到CRM零碎中。这同样实用于其他人与潜在客户交谈的状况。 简而言之,CRM跟踪所有与潜在客户相干的口头。 与此同时,CRM是个会集文件、电话和电子邮件的图书馆。当你开始与潜在客户进行沟通,你会失去即时主动的沟通跟踪。这些信息位于核心地位,所以公司中任何人都能帮忙潜在客户摆脱困境。 无论你从事销售、市场营销还是客户反对,CRM零碎都能帮你实现特定业务流程的自动化,以及每个流程与其余流程合作形式的自动化。但毫无疑问,为了让公司获得良好的问题,每个业务流程都必须明确定义且有效率。 (2)客户间接服务流程自动化 潜在客户治理: 在潜在客户变成客户之前有一个残缺的流程。你须要辨认潜在客户,对其进行限定,而后能力将其转化为销售。 潜在客户来自多种渠道,你必须分明由谁负责这些潜在客户,并确认如何发送潜在客户信息以及如何跟踪潜在客户。 如果没有明确定义的流程(工作流),潜在客户可能会散失或被忘记,进而引发挫败感、销售生产力失落,甚至带来蹩脚的客户体验。 客户反对: 对于如何治理客户服务申请,应该有明确的规定。 这些规定规定了申请是转到一线反对还是二线反对,什么资源将用于解决客户问题,以及如何通过共享状态更新来确保问题失去解决。 一旦定义了工作流和规定,CRM零碎就能实现整个流程的自动化。 与此同时,CRM零碎保留所有联系人的历史记录,客户服务团队可随时查看,从而更好地理解如何帮忙客户,有利于进步客户满意度。 为了不便企业管理者治理销售和客户,8MSaaS CRM零碎实现全方位客户信息管理及精确营销,更短时间内达成更多交易。 零碎反对360° 客户视图,随时随地查看客户信息,还能够智能剖析客户偏好,精确投放营销信息。 作为销售团队的成员,零碎可帮忙你主动调配适合的销售代表,实时追踪商机跟进状况及掌控订单执行,实现销售治理自动化,团队成员的绩效与理论业务挂钩。 作为管理者,零碎为你提供一个全面的业务视图,智能治理产品,捕捉和存储不同类型的信息,深层剖析,理智决策。 为企业客户业务量身打造的8MSaaS CRM零碎能全方位治理客户,爱护企业资源不失落,疾速拓展业务。

August 20, 2020 · 1 min · jiezi

关于crm:科创人独家纷享销客林松创业是格局与思维的放大器

— 文| babayage 编辑 |笑    笑 **硅谷-深圳 ** 从后端到治理 从代码到市场 科创人:2002年的时候,您为何抉择回国倒退? 林松:当年在硅谷工作的华人工程师中,对于是否要回国倒退探讨得很强烈,显著分成了两派:抉择留在硅谷,比拟适宜纯技术向的敌人,工作稳固、前景明确,在美国大龄程序员遍地都是,“写代码写到老”又是很多技术人幻想中的生存模式;抉择归国,要面临诸多不确定性,齐全不同的工作气氛、更生疏的市场,以及一个微小的未知:中国的发展潜力到底有几许? 感动我回国的因素有两个,许多中央政府都出台了海归政策,尤其对于有肯定工作教训的技术型海归待遇堪称优厚,但这不是重点,更重要的是甲骨文中国研发核心设在了北京和深圳,我恰好是深圳人,还是心愿离家近点。 科创人:绝对于在硅谷的工作状态,回国后产生了哪些变动? 林松:我在硅谷时供职于甲骨文技术平台部,是一个偏后端的开发岗位,习惯了自定布局、自定周期的工作节奏,过后咱们一个中间件产品均匀迭代周期是1年半到两年。 归国后,成为了研发团队的管理者,要染指产品布局,频繁约见客户采集需要成了很重要的日常工作。很多客户对于本身的需要只有含糊认知,解决方案不是问题,帮忙客户精确了解本人的需要、精确匹配解决方案,反而须要更多的工夫。在客户的不确定性背后,业务周期、产品布局都展现出了不可控性,这是第一个挑战,更贴近业务、直面市场、更强调应变的布局。 另外,管理工作成为了重要的工作,尽管我之前也带过小团队,但一下从治理四五个人到二三十人,变动还是挺大。好在甲骨文的培训体系十分给力,一年下大略有六次承受来自寰球的专家封闭式培训的机会。在学习过程和实际中我逐步意识到,技术人员转型治理最重要的是调整思维,要丢掉对细节的执念,管指标、管进度、管绩效,还有尤为重要的一点:要有赋能团队的意识,这一点对我集体倒退影响微小。 最初,迟早也要谈到,回国之后与腾讯产生了交加,甲骨文的办公地点在深圳飞亚达大厦的16楼,这个大厦的3~10楼就是腾讯。 甲骨文-腾讯 TAPD之父,见证SOSO分合 科创人:您供职于甲骨文这样的国际级巨头期间,是如何对待腾讯这样的国内互联网企业的? 林松:年老、有暮气、娱乐化,产品绝对比较简单。在生存层面大家交加很多,坐电梯、吃饭都能遇到一起,但说实话很长一段时间里都感觉这些空间间隔很近的敌人,在某些方面却是最边远的,没想过能在事业上有交加。 起初机缘巧合,和腾讯的几位创始人深刻交换了几次,发现腾讯的将来布局清晰明确,并且极度求实,对腾讯的印象有了翻天覆地的改观。我逐步意识到,中国互联网企业在战术格调上与甲骨文们有着根本性的不同,但不存在高下之分,是在策略层面各有偏重。在2006年前后有些事件根本曾经造成了广泛共识:国内互联网企业在中国市场没有方法与国内互联网公司竞争,后者唯快不破,从idea到产品推向市场只有一个月,并且十分善于在市场侧采集需要倒逼产品迭代,要晓得对东方企业来说一个月还不够实现纸面上的产品构建。 科创人:从甲骨文加盟腾讯,单从字面来看,仿佛就有很多须要适应的货色? 林松:不开玩笑的说,光适应就用了大略半年。甲骨文强调的是谋定而后动,在布局层面充沛粗疏、周到、谨严,一旦推向市场就要在绝对较长的一段时间内稳固提供服务。而腾讯恰好相反,快想快做快试,快错了就快改,所有都强调速度。 科创人:在腾讯度过了大概9年的工夫,您认为这9年中本人成长最大的是什么? 林松:只提一点的话,应该是对治理有了更粗浅的理解,尤其是赋能与治理的关系。 加盟腾讯之初,本意是想退出到某个业务团队中,但随后被几位高层劝服,在腾讯外部搭建了项目管理部,负责晋升5个事业部的研发治理能力。我思考了一下,这份工作有机会把我所善于的先进治理办法付诸实践,还能多接触不同的我的项目、不同的人,挑战与趣味并举,决定试一试。 科创人:《科创人》采访过的嘉宾中,有几位已经表演过外部平台搭建者、服务者的角色,私下里都会反馈,这个工作比拟得罪人,五湖四海都是锅。腾讯高层决定让您去搭建这支团队,是否是看准了您在沟通交流方面的短处? 林松:这是一方面起因,决定任命我之后,顶层给我最大的反对就是带我挨个跟各个事业部的负责人吃饭(笑)。另外一个起因是我后面提过的,强调管控还是重视赋能,强制他人适应你还是低侵入感的帮忙对方晋升,都能实现近似的目标,但单干顺畅度而言天差地别。 我在腾讯研发管理部期间制订了4P治理策略,核心理念就是以赋能提效,不是以管控提效: Process,在腾讯外部建设对立的项目管理模式,引进麻利理念,还造就了一只项目管理参谋团队,以轮岗的模式一直打磨治理实际,帮忙各个团队赋能治理——这也是被挖角最狠的一只队伍(笑); Platform,我牵头制作了一款项目管理工具——TAPD,这是我很骄傲的一件作品,10多年过来了仍然是企业微信上的第一大利用,还有一个叫Knowledge Manager的社区,在企业外部时单日访问量破万,现在也在企业微信上凋谢了; People,配合内部征询参谋建设起了腾讯的职级布局,将集体的倒退布局与企业的员工造就联合为一; Patent,专利参谋,腾讯直到明天为止都是互联网公司中专利意识最强、专利数量最多的企业,因为外部有一只业余团队去帮忙各个事业部提炼、整顿、申请专利,建设知识产权层面的竞争劣势。 这三年工夫对我集体而言是成长速度最快的三年,接触到了全公司各个业务单元和简直全副的高级管理层,尽管挑战很大,但播种和成长也很大。这件事做得七七八八之后,高层和我都感觉,是时候退出到某个具体业务单元了。 科创人:是您被动提出要退出搜寻业务团队的吗? 林松:应该说是机会符合,腾讯晚期的搜寻业务始终是OEM谷歌,2009年腾讯自研的搜索引擎上线,搜寻业务进入了独立发展期,公司决定加大对搜寻业务的投入,因而调动了大量高级人才汇聚于搜寻业务单元。 相比于研发事业部期间是在某一个专精畛域内晋升拓展能力,在搜寻业务部我轮岗了很多岗位,开辟了本人横向的能力边界,比方市场、PR、品牌宣传,这些彻底解脱了研发属性的工作极大晋升了事业、拓展了思维边界、补全了各个领域的常识信息,形成了我起初决定退出到一个守业团队的底气。 纷享销客 是事业,也是人生 2009年,林松退出搜搜,同年搜搜自研引擎上线 2013年9月,腾讯将搜搜并入搜狗 2015年,林松陪伴搜搜团队实现了与搜狗的交融后到职 2020年8月,搜狗收到了腾讯的非约束性收买要约 分久必合,合久必分。 科创人:技术人成长过程中,35~40岁的抉择是要害一跃,简直决定了本人将来的人生走势。当您决定退出纷享销客的时候,是否思考过本人接下来的成长指标? 林松:(思忖片刻)仿佛没有,但认真想想,守业其实就是将一个事业当作本人人生的一部分,成就它的同时也是自我成长、自我实现的过程。 守业跟打工是两种齐全不同的体验,开车的敌人都晓得,车可能拓展人的空间感和速度感,守业也是相似的感觉,在一直推动、欠缺一个创业项目的过程中,个体的认知、思维、格局,都被事业放大了,对人生的认识会有翻天覆地的变动。 回忆起甲骨文和腾讯的那些经验,总能想起来很多本人的事件,然而纷享销客这些年下来,能回想起来的都是公司的重大事件和重要节点。 比方纷享销客最后对标的Yammer这种企业级协同工具,但钉钉和企业微信的横空出世颠覆了这一畛域的免费模式,我仍记得本人听到钉钉和企业微信进入这一畛域时的情绪,好在纷享销客早早布局CRM业务场景,能力及时调整策略方向。 反而我本人在什么时候做了哪些具体的工作,记忆有些含糊了。 科创人:以您的资格,可抉择的守业团队想必不少,抉择纷享销客是出于怎么的考量? 林松:有比拟事实的起因,纷享销客过后正处于疾速发展期,在资本市场失去了很高的认可度;更要看前景,我认为中国的生产互联网曾经倒退到了寰球顶尖的程度,两相比拟,企业级互联网该当在将来5到10年有很大的倒退——当然5年过来了,这个畛域仍然有很大的后劲。 第三,也是最重要的,是罗旭(纷享销客创始人兼CEO)的诚意。咱们意识很早,但当初我并不知道本人是他潜在的考查对象(笑),最后只是以敌人的身份给他提提意见、互通有无。起初他跟我说,他看好一个人才就得像谈恋爱一样,非要追到身边才行。 科创人:作为中国To B服务畛域成长速度最快、也是竞争最强烈的CRM赛道领跑者之一,这些年遭逢到的最大挑战是什么? 林松:高度个性化造成的千企千面,这是CRM创业者在技术层面面临的最大挑战。企业服务的其余畛域,比方招聘有最佳实际规范模板,绩效是固定周期、固定节奏,但销售齐全不一样,千企千面是CRM服务的外围诉求。因而咱们在后退过程中做出了“必须做PaaS”的决策,如果每一个共性需要都要用代码级开发实现的话,产品将十分难以保护,并且短少灵活性。 第二个挑战是挪动化,CRM服务必须要在挪动端建设竞争劣势,在挪动端这一侧又要面临ios、安卓的原生化开发,以及种种机型适配性的问题。 科创人:在您看来,CRM赛道将来面临的技术挑战有哪些? 林松:首先是行业化,不仅是产品的积攒,更是对客户业务和行业解决方案的洞察和积攒,这是将来倒退的外围重点。 第二是智能化,CRM在将来5~10年中,会逐步降级为帮忙企业进行战略决策的智能平台,它能提供智能化的业务评估,判断客户的价值和成交概率,预测产品销量……智能化与CRM业务联合是技术发力的重点。 第三是连贯化,CRM不再只是企业销售人员应用的工具,它会倒退为企业全员、企业合作伙伴独特应用的工具。 ...

August 17, 2020 · 1 min · jiezi

关于crm:SAP-CRM产品主数据页面的缩略图显示设计原理

In CRM Product UI, A thumbnail could be displayed in Product header and Thumbnail assignment block. The Thumbnail assignment block is not available in SAP predefined UI configuration. Customer needs to manually make it visible via UI configuration change: The thumbnail view implementation itself is very simple, just use the lib thtmlb image tag. The thumbnail view implementation itself is very simple, just use the lib thtmlb image tag. ...

August 6, 2020 · 1 min · jiezi

关于crm:使用代码修改SAP-CRM附件的属性

In our CRM social integration project we extract the picture of one tweet from twitter website and store them in CRM system as attachment. We are creating attachment in CRM via the approach described in this blog. However, we found the Create by property for an attachment is always hard coded with sy-uname, even we explicitly specify the created_by property when callingcl_crm_documents=>create_with_table. However our requirement is it should be filled by the screen name in twitter website who posts the tweet. ...

August 6, 2020 · 2 min · jiezi

关于crm:SAP-CRM-IDOC的详尽调试步骤

(1) Trigger the IDOC sending using tcode R3AS Choose the receiver destination site from f4 help: Click f8 to execute the sending. (2) Launch tcode SMQ2 to check inbound QRFC queue, you should find one entry for our R3AS run in step1. Double click on it: Then double click it again, choose the entry for FM BAPI_CRM_SAVE and click debug icon: ...

August 6, 2020 · 2 min · jiezi

关于crm:如何启用SAP-CRM附件UI上的advanced按钮

As the steps are a little bit tricky, I use the working UI component SMCOV and SMCCMBO to illustrate. After Advanced button is clicked: Step1: The navigation link of SMCCMBO is triggered, navigation link 2ADDDOC: So define the similar navigation link with EXACTLY the NAME 2ADDDOC in your own wrapper component like SMCCMBO: Since the navigation target is SMCCMBO/MainWindow, its inbound plug 2ADDDOC will be called: ...

August 6, 2020 · 1 min · jiezi

关于crm:SAP-CRM和Twitter以及facebook的社交媒体集成方案

Our team has already integrated Twitter ( also Facebook ) into interaction center in CRM7.0 EHP3.You can see an example below:Create a tweet in twitter website:Now I can see the tweet created just now in the web site. And I can also see it in CRM IC agent inbox: select the first row and I can directly reply it in CRM by clicking reply button: ...

August 2, 2020 · 2 min · jiezi

关于crm:在SAP-CRM-WebClient-UI里打开ABAP-Webdynpro页面

Hi Friends, in my recent customer project customer complains to me that they can not navigate from the workflow search result to the target UI. The workflow work item is a document generated via SAP document builder. They would like to navigate to the document detail page and then decide whether to approve the document or not. With SAP standard solution so far in CRM7.0 EHP3, this is not possible since this work item does not have any BOR type but instead modeled via ABAP class /IPRO/CL_WFL_DOCUMNT. What’s more, the target document page is built via ABAP webdynpro which has not respective concept like UI object type, Genil component or BOL object name. ...

August 2, 2020 · 2 min · jiezi

关于crm:在SAP-CRM-WebClient-UI里打开ABAP-Webdynpro页面

Hi Friends, in my recent customer project customer complains to me that they can not navigate from the workflow search result to the target UI. The workflow work item is a document generated via SAP document builder. They would like to navigate to the document detail page and then decide whether to approve the document or not. With SAP standard solution so far in CRM7.0 EHP3, this is not possible since this work item does not have any BOR type but instead modeled via ABAP class /IPRO/CL_WFL_DOCUMNT. What’s more, the target document page is built via ABAP webdynpro which has not respective concept like UI object type, Genil component or BOL object name. ...

August 2, 2020 · 2 min · jiezi

科创人独家销售易CTO张忠做产品不是翻译需求用户思维绝非满足一切

文| babayage 编辑 |笑 笑 本次越洋连线之前,《科创人》对John的理解,仅限于一份由世界级企业小名串联成的富丽简历。信息匮乏、筹备有余导致的缓和,却在第一分钟就被John化于有形,他领有一种由有趣、谦虚、健谈、酷爱分享形成的亲和力。 John其人 · 毕业于中国科学技术大学,业余并非计算机而是工程。短跑专长,5000米、10000米在大学时常年放弃在前5名。 · · 酷爱短跑与性情无关:急躁,不急于求成,违心付出更多辛苦、更多工夫深耕于某一畛域。 · · 加州大学伯克利分校IEOR(工业工程与运筹学)硕士学位——IEOR因其十分不错的待业抉择与就业率火爆至今。 · · 毕业后,先后任职于华为硅谷分部、SAP、AT&T Bell实验室、美国国家宇航局(NASA)工作。 · · 应聘AT&T Bell实验室同时,当年仅20人规模的eBay发来Offer,CTO亲自邀约,John非常打动并礼貌拒绝:“过后想的是Bell Lab多牛呀……要是选了eBay,兴许我当初能做更多的事(笑)。” · · 退出SAP的三个理由:与本人的业余符合度更高;钦佩德国人谨严、业余的做事态度;太太在SAP(请列位看官自行判断权重)。 · · 退出SAP培训时,讲师说:CRM对于技术创新有很高要求,技术改革频次与颠覆水平显著超过ERP,对技术人而言是一条乐趣与挑战兼具的赛道,“20多年体验下来,的确如此”。 · · 在SAP从事CRM相干工作长达18年,参加并领导了SAP三代CRM产品的研发,曾任SAP Cloud for Customer部门研发副总裁,负责SAP云解决方案的技术体系,波及ByD、Cloud for Customer和Travel等产品从零到市场竞争力的全面构建,以及在挪动、剖析和商务智能、云计算等多方面的利用开发,领导在美国、德国和印度的全球化研发团队。 · · 领有近20项专利,在国内期刊上发表多篇技术论文。 · · 来到SAP加盟销售易的起因:“陆奇窘境”,华人技术高管在国内大型企业中的倒退下限;看好中国To B产业,认为中国注定将诞生世界级的To B企业;销售易基于腾讯生态之上的微小设想空间以及技术挑战。 · · 在SAP任职期间,John的下属、也是他的好友对他说过这样一句话:“技术人须要深刻理解三件事:你的产品,你的雇员,你的客户。能吃透一点就足够杰出,三方面都有很高造诣的技术人更是百里挑一。” · · 这句话成为了John鞭策自我成长的座右铭,《科创人》邀请John将这三点别离做了简略分享。 · 产品思维:深刻理解transformation 科创人:销售易已间断多年入选 Gartner SFA 寰球魔力象限,2019 年,销售易还入选 Gartner 寰球 aPaaS 举荐供应商名单,是否分享一下您对于产品的底层理念? John:技术人犯的谬误其实我都犯过,写出过“日抛型”的产品,在写完的那一刻就要被扔掉,还有闭门造车等等。在一次又一次的教训中,我感悟到的是:优良的产品可能帮忙客户实现信息化、数字化转型——transformation,不是translation,不能简略地将需要翻译为技术产品。 以CRM为例,如果产品只是对客户需要的直白翻译,那要如何去撑持5000个客户的个性化需要和变动?前几天和一个世界100 强客户聊天的时候,对方说:当初业务变动太快了,业务变、人变、组织也在变。如果产品和服务跟不上变动,两天就会被淘汰。只满足现有业务就OK的年代一去不返,易于定制、具备高延展性才是重点。 ...

July 13, 2020 · 1 min · jiezi