且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

使用SAP CRM中间件XIF Adapter但没有IDOC生成的故障原因分析

更新时间:2022-09-05 23:13:30

Today I meet with this issue as title. I followed the steps in blog Step by step to send IDOC data into external receiver via XIF adapter to try to send the changed Service Order to file via XIF adapter. Although the IDOC generation works perfectly for BusinessPartner, unfortunately after I make changes to a given Service Order, no IDOC is generated at all.


There is a well-written note by SAP: CRM outbound IDOC is not created after data is changed which contains all the necessary system configuration for IDOC generation.

I compared my system setting with it and everything is configured correctly.

As the last solution I have to debug to understand what has happened. Via debugging I found out that the FM CRMXIF_ORDER_IDOC_SEND is actually not executed so no IDOC is generated.

使用SAP CRM中间件XIF Adapter但没有IDOC生成的故障原因分析

This FM is maintained in table CRMXIF_BDOCIF for BUS_TRANS_MSG.

使用SAP CRM中间件XIF Adapter但没有IDOC生成的故障原因分析

So I check why is_data_mapped is initial. The mapping function module CRMXIF_ORDER_MAP_TO also configured in the table above is responsible for actuall mapping, which will call CRMXIF_BT_IO_MAP_TO_DATA.


使用SAP CRM中间件XIF Adapter但没有IDOC生成的故障原因分析

Inside this FM, the possibility about whether the status changes into process “XIF” is evaluated.

使用SAP CRM中间件XIF Adapter但没有IDOC生成的故障原因分析

For the Service Order being edited by me, it has system status I1030 – contains errors,

使用SAP CRM中间件XIF Adapter但没有IDOC生成的故障原因分析

and according to system status settings, only the following system status supports the status transition to XIF.

使用SAP CRM中间件XIF Adapter但没有IDOC生成的故障原因分析

After I resolve all errors of this Service Order, IDOC is then generated as expected:

使用SAP CRM中间件XIF Adapter但没有IDOC生成的故障原因分析