导语:采购订单的屏幕增强可以用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】创建,但是我没创建出来,就去函数组里手动创建了一个,一样可以使用,屏幕属性要设置为【子屏幕】。


在屏幕中添加字段,注意这里需要从字段中选取【EKKO_CI】这个结构,才会生效。


代码
*&---------------------------------------------------------------------*
*& 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】进行增强,代码如下
ekko_ci = i_ci_ekko.
edit_mode = i_trtyp.
e_ci_ekko = ekko_ci.
最后再激活增强点就可以了。

作者:小飞猪猪猪猪猪猪猪–CSDN