用户提出问题如下
使用CS12查询BOM一次只能查询一个料号,不能批量查询,能不能批量查询导出
针对这个问题,常规的从后台表取值写报表查询逻辑主线如下
使用表MAST找到物料表,然后从STPO表中找到该料号的下阶料号,然后按照此逻辑循环下阶料号,直到无法拆分为止。但是这样做需要自己一步一步算,既然系统中已经有数据了,有没有办法直接取CS12的结果呢?
假设没有bapi,没有function可以调用,我们有没有别的方法呢?
本文提供一种通用思路,让这类型的问题变简单
首先快速DEBUG找到CS12中ALV的输出位置
然后在这之前添加一个隐士增强,用内存传值的方法,把我们需要的数据传出来
接下来我们写程序用BDC的办法调用CS12。就会运行上面隐士增强的内存传出,然后在自己写的程序中用内存收的方法将CS12的运行数据接收。
按照上述逻辑,循环选择屏幕中的料号,添加到ALV中,然后展示,批量查询的功能就实现了。
与大家分享后发现还有另外一种方式实现起来更简单submit的用法,大家可以参考链接