笔者所在的D项目里,有工序委外场景,采购这边需要在SAP系统里输出PO FORM。在PO FORM上需要将工序委外场景中发给供应商的子件物料号以及数量等信息显示在上面。
如下工序委外场景里,工单release之后触发的无料号的采购订单,
可以看到该PO上,需要发给subcontractor的物料号,数量,单位,日期等:
如果要想在PO FORM上输出需要发给subcontractor的物料信息,取值逻辑是怎样的? 为了准备Function Spec文档,弄清楚取值逻辑,笔者花费了大半天时间。
1)笔者首先想到的是在界面上,通过F1帮助文档找到表名,
得到的是一个structure。想通过该structure找到透明表的名字,没成功。
2)试图通过一些function module,比如:
BAPI_PO_GETDETAIL - Display purchase order Details
BAPI_PO_GETITEMS - List purchase order Items 等等,但是用这个PO号为参数去执行这些FM,都不能得到想要的数据。
3)笔者又想通过采购订单号,找到工单号,然后去工单的工序相关表里取数据,成功了。
3.1)Get production order number (EKKN-AUFNR), production order operation number (EKKN- AUFPL_ORD) and operation counter (EKKN- APLZL_ORD) from table EKKN where EKKN-EBELN=purchase order number and EKKN-EBELP = purchase order item.
3.2)Then go to table RESB to get the material number (RESB-MATNR), batch number (RESB- CHARG ) ,quantity (RESB- BDMNG) , Unit of measure (RESB-MEINS) and requirement date (RESB-BDTER) where RESB- AUFNR = EKKN-AUFNR and RESB-AUFPL= EKKN- AUFPL_ORD and RESB- APLZL = EKKN- APLZL_ORD.
问题解决了。
2017-12-01 写于无锡市新吴区