兩種使用程式碼獲得SAP CRM product sales status的辦法
Requirement: I would like to get Product sales status id via ABAP code. The test product id: 1467
In TJ02T, we know the status id is: I1050
Approach1: use function module CRM_STATUS_READ.
METHOD read_prod_sales_status.
DATA(lv_guid) = get_guid_by_id( iv_prod_id ).
CONSTANTS: gv_salesa TYPE comm_pr_frg_rod-fragment_type
VALUE '37D58F1B772D53A4E10000009B38FA0B'.
DATA: lv_objnr TYPE comm_pr_frg_rod-status_object,
lt_status TYPE STANDARD TABLE OF jstat.
SELECT SINGLE status_object FROM comm_pr_frg_rod INTO lv_objnr
WHERE product_guid = lv_guid AND fragment_type = gv_salesa.
CHECK sy-subrc = 0.
CALL FUNCTION 'CRM_STATUS_READ'
EXPORTING
objnr = lv_objnr
TABLES
status = rt_status
EXCEPTIONS
object_not_found = 1.
ENDMETHOD.
Output:
Approach2: use BOL API
Method signature:
Source code:
METHOD get_prod_sales_status_via_bol.
DATA:
lo_collection TYPE REF TO if_bol_entity_col,
lv_view_name TYPE crmt_view_name,
lv_query_name TYPE crmt_ext_obj_name,
ls_parameter TYPE genilt_query_parameters,
lt_sel_parameter TYPE crmt_name_value_pair_tab,
ls_sel_parameter LIKE LINE OF lt_sel_parameter.
lv_query_name = 'ProdAdvancedSearchProducts'.
ls_sel_parameter = VALUE #( name = 'PRODUCT_ID' value = iv_prod_id ).
APPEND ls_sel_parameter TO lt_sel_parameter.
DATA(lo_result) = so_core->query(
iv_query_name = lv_query_name
it_query_params = lt_sel_parameter
iv_view_name = lv_view_name ).
CHECK lo_result->size( ) = 1.
DATA(lo_product) = lo_result->get_first( ).
DATA(lo_dc) = lo_product->get_related_entity( 'ProductDistrChain' ).
CHECK lo_dc IS NOT INITIAL.
DATA(lo_salesa) = lo_dc->get_related_entity( 'ProductDcSalesa' ).
CHECK lo_salesa IS NOT INITIAL.
RV_STATUS = lo_Salesa->get_property_as_string( 'STATUS_OBJECT' ).
ENDMETHOD.
Define a static attribute so_core and initialize it in class constructor:
method CLASS_CONSTRUCTOR.
so_core = cl_crm_bol_core=>get_instance( ).
so_core->load_component_set( 'PROD_ALL' ).
endmethod.
Test result:
要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2723202/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SAP CRM Product Sales status在中介軟體中的處理邏輯
- SAP CRM Fiori應用如何啟用Sales Office和Sales Group兩個欄位
- 如何使用ABAP程式碼建立SAP Product CategoryGo
- SAP CRM Product category的決定邏輯Go
- 使用程式碼修改SAP CRM附件的屬性
- SAP CRM One order裡user status和system status的mapping邏輯APP
- 【SCRIPTS】兩種自動化獲得Oracle授權語句的指令碼Oracle指令碼
- SAP CRM Product hierarchy,Category和Application三個問題GoAPP
- SAP CRM系統排名?SAP CRM辦公系統怎麼選?什麼是使用者口碑最好的SAP CRM系統?
- 使用ABAP程式碼給SAP CRM Business object建立附件AttachmentObject
- 使用ABAP程式碼提交SAP CRM Survey調查問卷
- SAP CRM和C4C資料同步的兩種方式概述:SAP PI和HCI
- 如何使用程式碼修改SAP CRM One Order CUMULAT_H物件的值物件
- 如何使用程式碼的方式刪除 SAP CRM 訂單 Text 資料
- 無法新增某個relationship給SAP CRM Product category的一個可能原因Go
- SAP CRM中介軟體Material Sales Organization和distribution channel的對映邏輯
- 程式碼安全 兩種程式碼漏洞
- 錯誤訊息sales area is not assigned for the header productHeader
- 去除IE6瀏覽器下獲得焦點的元素的虛線框的兩個小辦法瀏覽器
- 如何使用程式碼建立和讀取 SAP CRM 訂單的 Text 資料
- 如何使用程式碼獲得一個function module的Where Used ListFunction
- 使用ABAP程式碼建立S/4HANA裡的Sales Order
- SAP Cloud for Customer裡Sales Order和Sales Quote的建模方式Cloud
- Java中將XML轉換為PDF的兩種辦法JavaXML
- 透過 SAP 官方幫助網站自學 SAP 業務知識的一種辦法網站
- SAP CRM中介軟體Request download的警告資訊:message Object is in status WaitObjectAI
- 當laravel獲取不到session的三種解決辦法LaravelSession
- Ubuntu 報錯:無法獲得鎖 /var/lib/dpkg/lock解決辦法Ubuntu
- 使用 ABAP 程式碼刪除指定 SAP CRM 系統裡 Opportunity 訂單的文字Unity
- 幾種在不同的位置開啟 SAP HANA Database explorer 的辦法Database
- SAP Fiori裡的兩種鎖機制
- SAP CRM user引數CRM_UI_PROFILE是在哪行ABAP程式碼裡讀取的UI
- CRM和ERP的Sales Organization的對映關係
- Eclipse匯出Maven專案生成war包的兩種辦法EclipseMaven
- 使用程式碼獲得Hybris Commerce裡顯示的產品圖片
- Git提交程式碼倉庫的兩種方式Git
- 使用 SAP Fiori Tools 部署 SAP UI5 應用到 ABAP 伺服器時遇到的各種錯誤和解決辦法UI伺服器
- Android ViewTreeObserver使用總結及獲得View高度的幾種方法AndroidViewServer