ECC跟EWM集成,EWM触发ECC:
/SPE/INB_DELIVERY_CONFIRM_DEC
EWM显示成功了,ECC却没成功。
然后找原因。
1)SMQ2 查看Qrfc的执行队列。找找刚才那条数据的执行信息:
双击进入下一层:
这一层可以看到调用了哪个ecc的 function,还有报错描述信息。
还可以双击报错描述进入下一层,看细节:
如果需要debug,可以直接选中该行,然后点调试按钮:
点完调试按钮一般先进入下面界面:
然后按F7:
就会跳转到对应的那个function里面。
原来执行时候的参数都有,可以直接用,
你也可以在参数区右键,把参数保存成变式,方便测试使用。
BAPI一般都是需要显示提交才能提交数据库,就是调用commit work。
所以这样测试一般不会提交数据库,数据可以多次使用。
这里先对RFC进行几次简单介绍:
同步RFC:sRFC
同步RFC(Synchronous RFC,sRFC)是最基本的RFC形式。在sRFC调用中,调用者会等待远程被调用者的处理过程。
异步RFC:aRFC
异步RFC(Asynchronous RFC,aRFC)类似与tRFC,用户在继续调用会话之前,不需要等待它们的完成。
事务RFC:tRFC
在使用事务RFC( transactional RFC,tRFC)的时候,被调用的函数模块在被调用系统中正好运行一次(Exactly Once)。
远端系统不需要在RFC客户端程序运行tRFC的时候可用。tRFC组件将被调用的RFC函数和相关数据存储在SAP系统的数据库里,包含一个唯一的事务标识符(transaction identifier,TID)。
如果调用发送了,接收系统却是宕机状态,调用会保留在本地队列中一段时间。调用对话程序可以在不等待远程调用成功/失败的情况下继续运行。如果接收系统在一段时间后仍然不可用,调用将被计划为后台作业运行。
队列RFC:qRFC
队列RFC(queued Remote Function Call,qRFC)是tRFC的一个扩展。它允许你将多个tRFC调用序列化为一个队列。
qRFC调用会首先被函数模块TRFC_SET_QUEUE_NAME进行序列化处理,然后这些调用被一个tRFC进行实际上的dispatch。
qRFC可以作为外向队列(由调用系统序列化)处理,或者是内向队列(由被调用系统序列化)。
以下是纯顾问群~
微信群:SAP干货铺,请联系本人微信 sapliumeng。
QQ群 :SAP干货铺, 群号:775662808
所有群管理严格,严格禁止一切外来链接、招聘、广告等垃圾信息!