有时候一个复杂的程序,出问题的是某个函数。
比如批导程序,某个bapi报错了。
每次都从头执行也麻烦,可以直接在debug的过程中把参数保存下来,之后直接debug BAPI即可。
比如下面的demo。
PIR批导程序、在主要的几个BAPI打断点、
F5进去,右键,保存参数:
之后直接执行该函数:
之后正常测试即可。
但是,如果是RFC,会出现一个问题。
比如你在 A系统调用B系统的函数FM01,debug到FM01后,F5进入,设置test data的时候会报错:
"Save Test Data" is only possible within a function module
(有时候不报错,提示save 成功,但是SE37 去查看变式的时候发现没保存上值)
这个时候,需要到B系统,在FM01里打外部断点,
然后在A系统里F8进入,(不能是F5)。
这个时候跳进去了再设置就可以了。
另外,还可以本地导出,导入测试数据。
一般开发在D系统,测试是Q系统,但是D系统没数据,测试不方便,但是传输Q又得走流程。
可以考虑测试时把Q系统内表数据下载下来,然后在D系统中导入使用。(针对在D系统修改代码的情况)
比如我在修改Smartforms。
在Q系统打断点,下载内表数据:
点击:
下载测试数据:
到D系统测试时,上载数据: