问题描述
我想写一份报告,计算出选定日期收集的货物数量之和。
我需要知道如何查找与交易代码MB51
相关的表,以及如何将它们用于最后一个目的。
解决方法
当您想知道SAP事务使用了哪些数据库表时,可以做几件事(按照遇到此问题时我通常尝试的顺序):
- 使用F1帮助:
- 启动程序并导航到带有包含(或允许输入)您感兴趣的信息的字段的dynpro。
- 将光标放在该字段中
- 按F1打开该字段的帮助窗口
- 单击“技术信息”图标(锤子和扳手)。
- 如果幸运的话,它是“表类别:透明表”。然后,您知道这是哪个数据库表的哪个字段。当您不走运时,它的类型为“结构”。这意味着价值是程序产生的,您必须对这些数据最初来自何处进行进一步的研究。
- 使用事务ST01激活数据库访问跟踪。请求您感兴趣的数据。在ST01中停止跟踪,然后查看记录的数据库请求列表。
- 通过在命令字段中写入
/h
来激活调试,请求信息,并在调试器中为ABAP语句SELECT
设置一个断点。 - 查看程序的源代码,了解程序在内部的工作方式。
使用事务MB51执行此操作时,您将看到正在查找的表很可能是MKPF
(页眉:物料凭证)和MSEG
(文件段:物料)。 / p>
还有另一种获取相关表格的方法。
使用F1帮助,您还可以识别与事务MB51相关的软件包名称。
然后,您可以打开相同的Package,然后在其中查看与此包相关的表数(您可以在Repository Browser中轻松地做到这一点)。
我是认证的SAP ABAP顾问。