导语:采购订单的屏幕增强可以用SMOD,也可以用BADI,进行一下逐一测试,下面先以抬头屏幕增强为例分享一下SMOD的实现过程。
增强点:SMOD 【MM06E005】
说明:采购订单抬头的增强跟行项目的增强可以在以上的增强点使用
抬头主要涉及到:
属性 | 名称 |
---|---|
函数出口 | EXIT_SAPMM06E_006、EXIT_SAPMM06E_008 |
屏幕出口 | SAPLXM06–>0101 |
表增强 | CI_EKKODB |
行项目主要涉及到:
属性 | 名称 |
---|---|
函数出口 | EXIT_SAPMM06E_012、EXIT_SAPMM06E_018 |
屏幕出口 | SAPLXM06–>0111 |
表增强 | CI_EKPODB |
一、增强字段
屏幕增强需要先增强表字段,在增强点中可以看到SAP预留的增强结构是【CI_EKKODB】
二、创建屏幕
屏幕可以双击SMOD里【SAPLXM06–>0101】创建,但是我没创建出来,就去函数组里手动创建了一个,一样可以使用,屏幕属性要设置为【子屏幕】。
1、创建屏幕
在屏幕中添加字段,注意这里需要从字段中选取【EKKO_CI】这个结构,才会生效。
3、维护PBO事件
代码
*&---------------------------------------------------------------------*
*& Module SET_EDIT_MODE OUTPUT
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
MODULE set_edit_mode OUTPUT.
* SET PF-STATUS 'xxxxxxxx'.
* SET TITLEBAR 'xxx'.
IF edit_mode = 'A'.
LOOP AT SCREEN.
screen-input = 0.
MODIFY SCREEN.
ENDLOOP.
ENDIF.
ENDMODULE.
以上代码使用的参数【EDIT_MODE】要在【LXM06TOP–>ZXM06TOP】中提前定义
三、增强函数出口
对【EXIT_SAPMM06E_006、EXIT_SAPMM06E_008】进行增强,代码如下
1、EXIT_SAPMM06E_006
ekko_ci = i_ci_ekko.
edit_mode = i_trtyp.
1、EXIT_SAPMM06E_008
e_ci_ekko = ekko_ci.
最后再激活增强点就可以了。
四、效果图
作者:小飞猪猪猪猪猪猪猪–CSDN