SAP-ABAP-系统标准报表只能单独查询,不能批量查询,用户想要批量查怎么办?内存传值方式传出数据组成批量查询报表;submit的用法

用户提出问题如下

使用CS12查询BOM一次只能查询一个料号,不能批量查询,能不能批量查询导出

针对这个问题,常规的从后台表取值写报表查询逻辑主线如下

使用表MAST找到物料表,然后从STPO表中找到该料号的下阶料号,然后按照此逻辑循环下阶料号,直到无法拆分为止。但是这样做需要自己一步一步算,既然系统中已经有数据了,有没有办法直接取CS12的结果呢?

假设没有bapi,没有function可以调用,我们有没有别的方法呢?

本文提供一种通用思路,让这类型的问题变简单

首先快速DEBUG找到CS12中ALV的输出位置

然后在这之前添加一个隐士增强,用内存传值的方法,把我们需要的数据传出来

接下来我们写程序用BDC的办法调用CS12。就会运行上面隐士增强的内存传出,然后在自己写的程序中用内存收的方法将CS12的运行数据接收。

按照上述逻辑,循环选择屏幕中的料号,添加到ALV中,然后展示,批量查询的功能就实现了。

与大家分享后发现还有另外一种方式实现起来更简单submit的用法,大家可以参考链接

猜你喜欢

转载自blog.csdn.net/Qunending/article/details/110127395