你知道在 ABAP 如何跟踪此变量的值是在哪发生了变化的吗

作者:郑德鼎 约 3 分钟阅读 更新日期:2025-03-02 1 年前更新 标签:ABAP, Data Engineering, WM, 仓库管理, 开发, 数据工程
你知道在 ABAP 如何跟踪此变量的值是在哪发生了变化的吗 - 封面图
你知道在 ABAP 如何跟踪此变量的值是在哪发生了变化的吗 - 封面图
你知道在 ABAP 如何跟踪此变量的值是在哪发生了变化的吗 - 封面图
你知道在 ABAP 如何跟踪此变量的值是在哪发生了变化的吗 - 封面图

**你** **问**

**我答**

**_问_ **

在使用ABAP Debug源程序的时候,经常碰到function或者method里使用了某个全局变量,你知道如何跟踪此变量的值是在哪发生了变化的吗?

例如下图中,function

CS_CL_S_ITM_CTRL_INFO_PROVIDE里使用了G_ITM_ADM全局内表变量。而在function里仅遍历了此变量而不做变量值修改,我们需要跟踪在调用此function之前,G_ITM_ADM的值是如何发生变化的。

你知道在 ABAP 如何跟踪此变量的值是在哪发生了变化的吗 - 封面图
你知道在 ABAP 如何跟踪此变量的值是在哪发生了变化的吗 - 封面图

**_答_ **

此问题的难点在于全局变量的引用位置可能有很多处,且变量未声明时没法通过观察点Debug。因此解决的思路是先定位到该变量已声明且未赋值的位置,再通过观察点跟踪。

所以通过Debug脚本 & 观察点可以快速实现上述跟踪需求,步骤如下:

1.确定全局变量所属的程序名。

你知道在 ABAP 如何跟踪此变量的值是在哪发生了变化的吗 - 封面图
你知道在 ABAP 如何跟踪此变量的值是在哪发生了变化的吗 - 封面图

2.在较前面的程序逻辑进入Debug脚本界面,使用程序名作为条件断点的判断依据,进入到第一次调用此程序的位置。此时该全局变量为初始值。

你知道在 ABAP 如何跟踪此变量的值是在哪发生了变化的吗 - 封面图
你知道在 ABAP 如何跟踪此变量的值是在哪发生了变化的吗 - 封面图
你知道在 ABAP 如何跟踪此变量的值是在哪发生了变化的吗 - 封面图
你知道在 ABAP 如何跟踪此变量的值是在哪发生了变化的吗 - 封面图
你知道在 ABAP 如何跟踪此变量的值是在哪发生了变化的吗 - 封面图
你知道在 ABAP 如何跟踪此变量的值是在哪发生了变化的吗 - 封面图

3.添加变量观察点跟踪变量的值变化。

你知道在 ABAP 如何跟踪此变量的值是在哪发生了变化的吗 - 封面图
你知道在 ABAP 如何跟踪此变量的值是在哪发生了变化的吗 - 封面图
你知道在 ABAP 如何跟踪此变量的值是在哪发生了变化的吗 - 封面图
你知道在 ABAP 如何跟踪此变量的值是在哪发生了变化的吗 - 封面图

**-END-**

你知道在 ABAP 如何跟踪此变量的值是在哪发生了变化的吗 - 封面图
你知道在 ABAP 如何跟踪此变量的值是在哪发生了变化的吗 - 封面图

作者:陈 哲

审核:贾栋才

编辑:朱思聪

郑德鼎

关于作者:郑德鼎

企业信息化与 SAP 技术顾问,长期专注 SAP ABAP、FI/CO、MM、SD 等模块的技术分享与实战经验总结。查看更多介绍

来源说明:本文内容由「你知道在ABAP如何跟踪此变量的值是在哪发生了变化的吗.md」整理生成,仅用于内部技术分享与学习交流。