小议ABAP中的宏

    从接触ABAP的宏开始,逐渐在程序中使用了一些宏.感觉主要的好处是可以比较随意的组合代码,因为宏使用的参数名称替代,可以完成一些FORM难以实现的功能.

    今天却深刻体会到了使用宏的烦恼.起因是我想在程序中实现一段代码的可复用性,但是写FORM的话需要传递不少的参数,便偷懒写了宏来替代.以前这段代码工作的很好,一直没有问题.现在用户突然反映有问题,我便跟踪程序,到源代码中宏语句的地方却傻眼了,根本无法进行单步跟踪!使用step in跟踪,只能跳转到宏里面的FORM,具体的执行过程却无从下手察看.只好另开一个窗口对照源程序,费了很大的力气才解决问题.

    看来复杂的逻辑实现还是不要使用宏,FORM虽然写起来麻烦,但是起码不会有调试的问题!

Comments are closed.