原文链接:https://mp.weixin.qq.com/s/BYYedgG5BxSnxNHkbAfwWw
SAP/PP模块中的COOIS报表(订单信息系统)是最常用的标准报表之一,它可以查询有关生产订单的完整信息,但实际项目实施中也会经常遇到这个报表增强需求,一般要求增加一些产品相关的一些额外信息。
SAP系统为此类需求预留第三代BADI增强出口,可以非常方便的实现在COOIS报表中添加额外字段。
实现此需求的BADI和Method如下:
BADI : WORKORDER_INFOSYSTEM
Method: TABLES_MODIFY_LAY
此增强实施首先为表头结构IOHEADER中添加额外字段,然后在方法中添加取值逻辑即可。
下面通过例子来说明下增强实施步骤
业务需求:
某公司生产计划部门需要将物料主数据的如下字段添加到COOIS查询订单抬头信息的报表中。
即将旧物料号添加至COOIS报表的如下位置。
此需求具体实施步骤
1.为结构IOHEADER增加附加结构(SE11)
点击附加结构->输入附加名称->点击确认图标
备注:激活中可能出现警告信息,点确定忽略即可。
2.实施BADI增强(SE19)
按如下步骤实施BADI增强
如下位置写上增强逻辑代码
增强代码:
DATA lv_bismt type bismt .
DATA : zs_ioheader TYPE ioheader.
LOOP AT ct_ioheader INTO zs_ioheader.
IF NOT ct_ioheader IS INITIAL.
SELECT SINGLE bismt
FROM mara
INTO lv_bismt
WHERE matnr = zs_ioheader-matnr.
ENDIF.
zs_ioheader-bismt = lv_bismt.
MODIFY ct_ioheader FROM zs_ioheader.
CLEAR: lv_bismt .
ENDLOOP.
写完增强代码返回到如下界面激活整个项目
3. 修改报表屏幕布局
加完字段要修改一下屏幕布局才可以展示出来。
增强效果
显示如下