使用SAP CRM External Interface進行訂單同步
We are not going to use CRM Middleware any longer for internal business processes, like creating a follow-up document from a service order. However, we want to still allow customers to use CRM MW for connecting external systems, like a BW system or a legacy system (through the XIF adapter).
So creation of the One Order messaging BDOC must still work, and the data should arrive correctly at the corresponding adapters. In particular, I am interested in any direct SELECT statements on the old One Order database tables on the way from creation of the BDOC to the (BW and XIF) adapters.
We have compiled a list of all SELECT statements, but sometimes it is hard to analyze whether the corresponding piece of code is actually processed in one of the supported scenarios.
It is still unclear in which system/client the activation of CRM Middleware could be tested.
Transaction BDFG is exactly that: it provides the possibility to generate the XIF idoc structures based on the bdoc structure.
The interface name can be found in table CRMXIF_BDOCIF.
Outbound Scenario
(1) Data is changed in application
(2) an mBDoc is created and transferred to CRM Middleware.
(3) CRM MW determines possible external receivers for the mBDoc and sent the mBDoc to XIF Adapter.
(4) XIF Adapter converts mBDoc to XML-like or IDOC and an appropriate basic service (SOAP, ALE) is started that sends the data object to the external receiver, for example, via a third-party Middleware tool.
Issue
(1) [ CRMXIF_ORDER_SAVE IDOC not getting generated for BUS_TRANS_MSG BDOC]( https:// archive.sap.com/discuss ions/thread/2067409 )
The model of BDOC BUS_TRANS_MSG triggering IDOC CRMXIF_ORDER_SAVE_M02 perfectly worked in the development system???
(2) [use XIF adapter to transfer XML documents into CRM](
https://
archive.sap.com/discuss
ions/thread/172785
)
(3) [ note: 2343680 - CRM outbound Idoc is not created after data is changed - Fiori url]( https:// apps.support.sap.com/sa p/support/knowledge/preview/en/2343680 )
# Trouble shooting
(1) Go to t-code R3AC1 and make sure the object BUS_TRANS_MSG contains the flow context from CRM to XIF.
(2) table EDIDC
(3) FM: SMW3_OUTBOUNDADP_CALLADAPTERS, CRMXIF_ORDER_IDOC_SEND, CRM_STATUS_CHANGE_FOR_ACTIVITY, CRM_UPLOAD_BUS_TRANS_MSG
(4) TJ07 & TJ31:determine whether a Business transaction is allowed when the status is at a certain user status (TJ31) and a certain system status (TJ07). Example: in TJ07, if the system status is I3037 then CHNG business transaction is prohibhited because of the entry 3 in the field MODKZ. In user interaction terms the user cannot back the transaction editable if the system status of the tranaction is I3037. The user is presented with the error in this case 'No changes possible in document'. The entries in TJ07 could be found from transaction code BS32.
An interesting finding. Recently the C4C customer I supported asked some integration question regarding integration of C4C and CRM using PI. After I go through the integration document, I know that it is possible to replicate master data( BP, Product etc) and sales data between C4C and CRM.
The necessary configuration in AG9 Vs the counterpart in an old CRM system Q0C/304:
WE19 is the test tool for IDOC processing. If there are no IDOCs in the system, you have to create one from scratch using a message type, but if there are already IDOCs in the system, it is most convenient to use the option “Existing IDoc”.
# Sync 2017-11-20
Issue 1 - after saving a Service Order in QG3/130, mno BDOC is generated.
root cause:
# solution
Issue 2 - MBOC is generated, but no IDOC is generated.
Issue: no error handling in FM CRM_ORDER_SAVE_OW
There are lots of such occurance:
Then debug this FM - it is not executed AT ALL:
in FM: CRMXIF_BT_IO_MAP_TO_DATA
The status of this Service Order:
However, it is difficult for end user to find what exactly the errors are there from WebUI:
It is possible to write a report to remove I1030 and I1056 from CRM_JEST but I don't think it is a correct approach - we must resolve the error status with solution which is also feasible for end user.
# Sync 2017-11-22
It's my fault: I am testing on a service order which still has old persistence in QG3/130:
After I create a new Service Order from scratch, the XIF outbound scenario works quite well - the IDOC is generated and sent to XIF site successfully:
I quickly go through all accessed DB table traced by ST05:
You can also find trace file here:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2680476/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用SAP CRM中介軟體XIF(External Interface)一步步建立服務訂單
- 使用SAP CRM mock框架進行單元測試的設計Mock框架
- SAP Cloud for Customer銷售訂單External Note的建模細節Cloud
- 如何使用程式碼的方式刪除 SAP CRM 訂單 Text 資料
- 如何使用程式碼建立和讀取 SAP CRM 訂單的 Text 資料
- SAP CRM訂單模型CRMD_SHIPPING的單元測試方法模型
- SAP CRM系統訂單模型的設計與實現模型
- 自己開發的一個SAP CRM訂單統計工具
- 使用 ABAP 程式碼刪除指定 SAP CRM 系統裡 Opportunity 訂單的文字Unity
- SAP Commerce(原Hybris)的訂單處理框架和SAP CRM One Order框架框架
- SAP S4CRM 1811 服務訂單API介紹API
- SAP CRM訂單資料庫表CRMD_SHIPPING的填充原理資料庫
- 在SAP WebClient UI裡使用AJAX進行非同步資料讀取WebclientUI非同步
- SAP建立採購訂單流程
- EBS:OM Sales Order銷售訂單【Open Interface、Open API】API
- 使用SAP PI和XIF Adapter將SAP CRM Opportunity同步到C4C系統APTUnity
- 使用FakeAsync對Angular非同步程式碼進行單元測試Angular非同步
- SAP CRM和Cloud for Customer訂單中的業務夥伴的自動決定機制Cloud
- 使用NTP原理進行時間同步
- SAP CRM訂單抬頭級別的組織架構資料是如何自動拷貝到行專案的架構
- 使用SAP API portal進行SAP SuccessFactors的API測試API
- SAP生產訂單歸類總結
- SAP 訂單模型的編排方式概述模型
- 自定義 SAP 採購訂單螢幕
- Dynamics CRM 如何使用命令列進行安裝命令列
- spring boot 使用redis進行釋出訂閱Spring BootRedis
- 使用BookMarkHub外掛進行書籤同步
- SAP PP 中關於計劃訂單和生產訂單的日期計算
- SAP CRM服務訂單頁面顯示組織結構管理區域的實現邏輯
- 如何對非同步呼叫進行單元測試非同步
- SAP訂單編排和流程增強概述
- SAP CRM系統排名?SAP CRM辦公系統怎麼選?什麼是使用者口碑最好的SAP CRM系統?
- 如何處理SAP CRM Web Service錯誤 - Virtual Interface Method XXXX not supportedWeb
- 使用指令碼進行 SAP Spartacus 安裝工作指令碼
- 使用SAP WebIDE進行SAP Cloud Platform Business Application開發WebIDECloudPlatformAPP
- 「SAP技術」SAP SD微觀研究之根據銷售訂單查詢到該訂單發貨的批次
- 使用簡單的Java程式碼在SAP C4C裡建立銷售訂單Java
- 使用Command 物件進行非同步操作物件非同步