原文链接:https://mp.weixin.qq.com/s/WLD-vFjbhW92X1py7lsruw
下面通过一个例子详细介绍下采购订单抬头屏幕增强的实施步骤。
假设有这样的业务需求:为采购订单抬头页签增加一个可以录入销售订单号的字段,比如如下图。
实现这样需求需要对采购订单的屏幕进行增强,可以使用二代增强出口:MM06E005,也可以使用三代增强:BADI ME_GUI_PO_CUST。
采购订单抬头和行项目的增强都可以上面增强点。
本次示例使用增强二代增强出口:MM06E005。
具体实施步骤:
1.创建增强项目
点击【组件】进入如下界面。
实施采购订单抬头增强,下面红色框部分是需要实施增强的部分。
2.屏幕增强需要先增强表字段,双击CI_EKKODB,在增强点中可以看到SAP预留的增强结构如下图。
本例只增加一个字段:ZVBELN,新增组件后点击保存和激活。
3.增强屏幕:创建抬头的增强子屏幕
双击SAPMM06E进入如下屏幕设计界面
屏幕PBO设计
用于控制增强字段在使用ME21N和ME22N的时候可以编辑,在使用事务码ME23N的时候只能查看。
IF EDIT_MODE = 'A'.
LOOP AT SCREEN.
SCREEN-INPUT = 0.
MODIFY SCREEN.
ENDLOOP.
ENDIF.
4.抬头子屏幕参数传入
双击【EXIT_SAPMM06E_006】
定义全局变量
TABLES: CI_EKKODB.
DATA:EDIT_MODE.
双击ZXM06U36
MOVE-CORRESPONDING I_CI_EKKO TO CI_EKKODB .
EDIT_MODE = I_TRTYP.
5.抬头子屏幕参数传出
双击【EXIT_SAPMM06E_008】再双击ZXM06U37
DATA L_CI_EKKODB TYPE CI_EKKODB.
MOVE-CORRESPONDING E_CI_EKKO TO L_CI_EKKODB .
IF CI_EKKODB <> L_CI_EKKODB.
MOVE-CORRESPONDING CI_EKKODB TO E_CI_EKKO.
EDIT_MODE = ABAP_TRUE.
ENDIF.
6.最后激活整个增强项目
7.增强效果