还拿之前的例子:
https://mp.weixin.qq.com/s/a0Ia2wzFPGWjN988uutg7Q
前台操作dump了
然后debug分析原因的时候发现是这里的问题
进这标准函数看看
里面用到的是全局变量 go_hugm
说明这个函数使用时还有一系列配套的其他函数,都应该在它所对应的函数组内。
双击全局变量进去。
定义在了TOP里面。
如果想看看这个全局变量的某些参数什么时候赋值的。怎么做?
这么多地方,好几个函数都可能用到,在哪个函数里面打断点?
初始化的时候在哪个地方?
这个时候可以使用 Configure Debugger Layer
具体步骤:
1)查看对应的function group
2)双击group
跳转到Master Program
/SCWM/SAPLHUMAIN
3)然后在前台操作的时候,直接打/H
回车继续操作,然后会直接进debug界面
4)点击 Configure Debugger Layer:
Active Layer-Aware Debugger
在program 栏位填写Function Group对应的主程序
Layer step默认就是 Sotp at Enter。就是进入这个主程序的时候停住。
然后点对勾
5)点击Next Object Set
如果没停,而是让你继续操作,没关系,说明还没到那一部,继续前台操作。当第一此进入 该function group下的任何一个函数时就会停住。
查看该函数对应的function group
看function描述也确实是初始化全局变量。
关于Configure Debugger Layer的用法就介绍到这里。
这里面可以设置进出某个 package, class,Program(Function Group),Implement Interface的时候自动停下来。
有兴趣的可以自己试试。
Debug 系列
推荐阅读:
《ABAP新语法1》
《关于 SM30/VIEW_MAINTENANCE_CALL锁整张表问题》
《使用cl_gui_docking_container 实现多ALV》
《DEMO:S/4 1809 FAGLL03H 增加字段增强》
《几个ABAP实用模板,体力活就别一行行敲了,复制粘贴得了》
《SAP Parallel Accounting(平行分类账业务)配置+操作手册+BAPI demo程序》
《CC02修改确认日期BAPI:Processing of change number was canceled》《我是怎样调试BAPI的,以F-02为例》
《苏州游记》
《杂谈:几种接口》
《RESTful DEMO 一:SAP 如何提供 RESTful Web 服务》