对于SRM与ECC的IDocs处理逻辑及解决
收货:使用IDoc Type WMMBID (4.0以前) MBGMCR(4.5以后)
发票校验:使用IDoc Type BBPIV
以BBPIV为例,收货也同样适用:
1. 发票校验在SRM创建, IDoc BBPIV发出
1.1 在发票中,状态设为I1022 "Release granted"和I1017 "In transfer".
1.2 表BBP_DOCUMENT_TAB会插入值.
1.3 后台作业CLEAN_REQREQ_UP读表BBP_DOCUMENT_TAB.
1.4 后台作业CLEAN_REQREQ_UP进行RFC Call per META_GOODSMVT_UPDATECHECK以检查inbound IDocs的发送情况.如果IDoc成功了即status 53, SRM端的发票会设成状态I1018 "Transferred to backend".
1.5 BBP_DOCUMENT_TAB中的值被删除. 另外参考以下Note
535765 Too many entries in BBP_DOCUMENT_TAB
644963 Regenerating BBP_DOCUMENT_TAB entries
1225457 Cleaning up incorrect BBP_DOCUMENT_TAB entries
1.6 如果IDoc没有发送成功即status 51, no follow-on document,SRM端发票状态设成I1019 "Transfer failed".表BBP_DOCUMENT_TAB中的值继续保留,这意味着后台作业CLEAN_REQREQ_UP仍会检查IDoc的发送情况.
Status I1018 的情况下,允许用户对发票做撤销(reverse the invoice)
status I1019 的情况下,允许用户删除发票.
2. 如果在ECC端有发送不成功的IDoc,适用以下方法检测:
2.1 要使用BD87来处理该失败的IDoc,而不是用WE19来拷贝及修正该失败的IDoc.如果使用了WE19, 后台作业CLEAN_REQREQ_UP就无法找到该被拷贝的IDoc和由该IDoc抛帐出来的发票. SRM端的发票将无止尽得保持"incorrect"状态, BBP_DOCUMENT_TAB中的值也会一直保留,后台作业CLEAN_REQREQ_UP会一直进行RFC呼叫. SRM端的发票也永远不会收到状态"paid".
2.2 如果以上方法无法修复IDoc, 即status "incorrect". 则用户需删除SRM端的发票, 删除表BBP_DOCUMENT_TAB
中的值(手工删除或用户自写程序删除).从SRM4.0开始,如果用户删除发票,则表BBP_DOCUMENT_TAB中的值自动被删除.
2.3 值得注意的是.标准系统下,用户无法删除在ECC的不正确的收货文件(incorrect confirmation),因为SRM无法知道是否相关的back-end IDoc有没有进一步更新.标准系统下,用户只能修正ECC中的错误, 然后重新传输IDoc or service entry sheet.用户只能在ECC中删除那些传输成功了的confirmation.
如果非要删除的话,使用Pilot Note 1343471 Deleting confirmations with status Error in Process和996468.
3. 以下方法适用于发票,不适用于收货:
后台作业BBP_IV_UPDATE_PAYMENT_STATUS 会选取所有状态为I1018 "Transfer to backend"的发票, 检查在FI后端,所有发票后续文件的付款状态,如果货款已付,设状态I1020 "paid".META_FI_DOCUMENT_READ_40B用来读取FI文件.
Q: Why are 2 IDOCs created for a confirmation?
If two Idocs are generated it will mean in almost all cases that two workflows are activated.This can be checked in Transaction SWB_PROCUREMENT or by means of Transaction SWETYPV.You can also activate the event log and check how many workflows are triggered by the event (Transaction SWEL). Helpful notes: 322526, 323170, 428364.
Note:
338985 BBPCF & IV: incorrect IDocs in backend system
1300861 Cancelling goods confirmation with qty 0 and final delivery set
1381827 FAQ: Confirmations (FAQ overview)
549846 FAQ: Goods receipt confirmation EBP