CO10 BDC 报错 “No batch input data for dynpro SAPLCOKO1 0115”
作者:互联网
在一次升级项目中碰到一个很奇怪的问题,一个CO10的bdc fm用in background task 就报错“No batch input data for dynpro SAPLCOKO1 0115”,但是去掉in background task 就不报错,非常奇怪,从本次解决的问题来总结此问题如果不是屏幕字段发生变化,或由于断点的什么原因,大概率是由于in background 和非background的模式下有弹出选择框的差异,就是background下可能没有某个选择框但非background有,而BDC又是在非background模式下录的导致了此错误,所以解决此问题的思路就是比较background和非background的录屏差异。下面是我分析问题的一些过程。
1.首先肯定是debug后台模式和非后台模式
为了分析问题我调式了后台模式的BDC:(后台模式调式--先在调用处打个断点,然后再debug模式下点击 设置--更改调式参数文件/设置,选中TRFC(在后台任务中)块发送)
直接F8执行完,然后SM58去调式后台程序,
然后进入BDC,修改dismode为A一步步调式,可以大概确定在那个步骤,屏幕停了,没有命令继续了,记住这个大概的位置,但由于可以手工继续,所以可以全部执行完成,
然后再直接用N模式,直接执行,查看messtab与非后台模式的messtab比较也可以知道个大概的位置,这个调式过程就不截图了,下面是后台模式与非后台模式messtab比较
可以看到后台模式在消息C2 195之后就报错了,所以大概率是在这个消息之前后之后有个录屏不对,最后我们就是通过SHDB分别录制模拟后台模式及非后台模式的来比较:
后台模式录制,这里就不详细截图,我们主要看最后的BDC代码:
通过比较很容易发现非background模式比background模式多了如下这个弹出窗,
也就是这段代码
所以问题就是再background的非background需要区分的是否加这段bdc代码,最后问题也得以解决。
最后想说的是,此问题的分析解决其实发费很多时间和精力,并不是入文章一样如此直接的找到了问题的原因,此问题也查了很久的资料,但没有一个比较明确的解决方案,所以记录下此问题,希望可以方便到同行解决此类问题。
标签:SAPLCOKO1,调式,BDC,模式,问题,报错,background,后台 来源: https://blog.csdn.net/mashui215/article/details/112797798