ABAP 随笔物料主数据界面增强页签增强

作者:SAPTAB 约 6 分钟阅读 更新日期:2025-03-02 1 年前更新 标签:ABAP, MM, 开发, 物料管理
ABAP 随笔物料主数据界面增强页签增强 - 封面图
ABAP 随笔物料主数据界面增强页签增强 - 封面图

原创 Tab Zhu [ SAP TAB ](javascript:void\(0\);)

之前写了一一篇物料主数据增强的文档 [ ABAP随笔-物料主数据界面增强

](http://mp.weixin.qq.com/s?__biz=MzUxODI4MTQyMg==&mid=2247483773&idx=1&sn=57f4d5c3dd2d2e09ed6c4f3098a6db4a&chksm=f98a00dccefd89ca34a3c1ecc2c5c9b2d61dd58c3d6e8967263b4c7b49b05e3ca44ad9f250d6&scene=21#wechat_redirect)

,需要配置+增强代码,今天升级一下功能,对物料主数据页签进行增强

## 1\. 对物料主数据表增强

append custom field in MARA

ABAP 随笔物料主数据界面增强页签增强 - 封面图
ABAP 随笔物料主数据界面增强页签增强 - 封面图

随便加一个你想要的字段

ABAP 随笔物料主数据界面增强页签增强 - 封面图
ABAP 随笔物料主数据界面增强页签增强 - 封面图

## 2\. 物料主数据配置

1. 配置1

路径为:SPRO->后勤-常规->物料主数据->配置物料主记录->创建定制子屏幕程序

ABAP 随笔物料主数据界面增强页签增强 - 封面图
ABAP 随笔物料主数据界面增强页签增强 - 封面图

创建对应的函数组

ABAP 随笔物料主数据界面增强页签增强 - 封面图
ABAP 随笔物料主数据界面增强页签增强 - 封面图

对于屏幕0001 增加一个字段,增加PAI PBO的逻辑module

ABAP 随笔物料主数据界面增强页签增强 - 封面图
ABAP 随笔物料主数据界面增强页签增强 - 封面图
ABAP 随笔物料主数据界面增强页签增强 - 封面图
ABAP 随笔物料主数据界面增强页签增强 - 封面图

其中status_0001,set_ztab_mara_01中代码为

MODULE status_0001 OUTPUT.

IF sy-tcode = 'MM02'

OR sy-tcode = 'MM03'.

CALL FUNCTION 'MARA_GET_SUB'

IMPORTING

wmara = mara

xmara = *mara

ymara = lmara.

ENDIF. IF sy-tcode = 'MM03'. LOOP AT SCREEN.

screen-input = '0'.

MODIFY SCREEN. ENDLOOP. ENDIF. ENDMODULE.

MODULE set_ztab_mara_01 INPUT.

DATA:ls_cust TYPE ztab_mara_01 .

MOVE-CORRESPONDING mara TO ls_cust .

CALL FUNCTION 'MARA_GET_SUB'

IMPORTING

wmara = mara

xmara = *mara

ymara = lmara.

MOVE-CORRESPONDING ls_cust TO mara .

CALL FUNCTION 'MARA_SET_SUB'

EXPORTING

wmara = mara.

ENDMODULE.

其中function MARA_GET_SUB 和 MARA_SET_SUB 分别是得到和更新MM02/MM01/MM03内存变量中MARA的值

2. 配置2

接着我们继续选择spro->后勤-常规->物料主数据->配置物料主记录->定义每个屏幕序列的数据屏幕的结构

ABAP 随笔物料主数据界面增强页签增强 - 封面图
ABAP 随笔物料主数据界面增强页签增强 - 封面图

目前我们使用的配置是 **21** 屏幕顺序

ABAP 随笔物料主数据界面增强页签增强 - 封面图
ABAP 随笔物料主数据界面增强页签增强 - 封面图

在数据屏幕界面我们新增一条数据

ABAP 随笔物料主数据界面增强页签增强 - 封面图
ABAP 随笔物料主数据界面增强页签增强 - 封面图
ABAP 随笔物料主数据界面增强页签增强 - 封面图
ABAP 随笔物料主数据界面增强页签增强 - 封面图

同时我们该数据下子屏幕进行配置,填入我们刚才创建好FUNCTION GROUOP里面的屏幕 其中SAPLMGD1->1002是显示物料号的表头

ABAP 随笔物料主数据界面增强页签增强 - 封面图
ABAP 随笔物料主数据界面增强页签增强 - 封面图

可以点击右侧的 视图数据屏幕 查看生成的屏幕

ABAP 随笔物料主数据界面增强页签增强 - 封面图
ABAP 随笔物料主数据界面增强页签增强 - 封面图

3. 配置3

保存退出后,我们进入spro->后勤-常规->物料主数据->配置物料主记录->主屏幕和附加屏幕的维护订单中选择21序号屏幕双击回车

我们可以看到配置好的子屏幕,如果想要把Z1屏幕向上移动,则更改顺序编号即可

ABAP 随笔物料主数据界面增强页签增强 - 封面图
ABAP 随笔物料主数据界面增强页签增强 - 封面图
ABAP 随笔物料主数据界面增强页签增强 - 封面图
ABAP 随笔物料主数据界面增强页签增强 - 封面图

现在我们进入MM03界面输入物料点击回车就可以看到新增的视图以供选择了

ABAP 随笔物料主数据界面增强页签增强 - 封面图
ABAP 随笔物料主数据界面增强页签增强 - 封面图
ABAP 随笔物料主数据界面增强页签增强 - 封面图
ABAP 随笔物料主数据界面增强页签增强 - 封面图

其实我们现在已经可以对新增的字段进行修改和保存了

ABAP 随笔物料主数据界面增强页签增强 - 封面图
ABAP 随笔物料主数据界面增强页签增强 - 封面图

## 3\. 数据更新

之前我们在 [ 物料主数据界面增强

](http://mp.weixin.qq.com/s?__biz=MzUxODI4MTQyMg==&mid=2247483773&idx=1&sn=57f4d5c3dd2d2e09ed6c4f3098a6db4a&chksm=f98a00dccefd89ca34a3c1ecc2c5c9b2d61dd58c3d6e8967263b4c7b49b05e3ca44ad9f250d6&scene=21#wechat_redirect)

中已经讲过了,如何对物料主数据进行增强校验了,

ABAP 随笔物料主数据界面增强页签增强 - 封面图
ABAP 随笔物料主数据界面增强页签增强 - 封面图

这里我们简单做一个唯一性校验: 启用EXIT_SAPLMGMU_001出口 和 CI_MMH1

ABAP 随笔物料主数据界面增强页签增强 - 封面图
ABAP 随笔物料主数据界面增强页签增强 - 封面图

*&---------------------------------------------------------------------*

*& 包含 ZXMG0U02

*&---------------------------------------------------------------------*

IF sy-ucomm = 'BU' OR sy-ucomm = 'YES'. IF sy-tcode = 'MM01' OR sy-tcode = 'MM02'.

CHECK wmara-custom_field1 IS NOT INITIAL.

SELECT matnr INTO TABLE @DATA(lt_matnr)

FROM mara WHERE custom_field1 = @wmara-custom_field1.

IF sy-subrc EQ 0. DELETE lt_matnr WHERE matnr = wmara-matnr. IF lt_matnr[] IS NOT INITIAL. READ TABLE lt_matnr INDEX 1 INTO DATA(ls_matnr).

MESSAGE e001(ztab) WITH wmara-custom_field1 ls_matnr-matnr.

ENDIF. ENDIF. ENDIF. ENDIF.

当我们双击CI_MMH1时,发现该结构不存在,我们直接SE11创建,然后把增强字段写进去

ABAP 随笔物料主数据界面增强页签增强 - 封面图
ABAP 随笔物料主数据界面增强页签增强 - 封面图
ABAP 随笔物料主数据界面增强页签增强 - 封面图
ABAP 随笔物料主数据界面增强页签增强 - 封面图

其实CI_MMH1在我们的增强中是做不到的,但是这个创建了CI_MMH1是在结构BMMH1中的,用于LSMW-如果这里不增强,LSMW就无法进行增强字段批导

ABAP 随笔物料主数据界面增强页签增强 - 封面图
ABAP 随笔物料主数据界面增强页签增强 - 封面图
ABAP 随笔物料主数据界面增强页签增强 - 封面图
ABAP 随笔物料主数据界面增强页签增强 - 封面图

激活保存后,我们找另一个物料SGPI002,在客户字段中输入1234567890 保存,这时会提示

ABAP 随笔物料主数据界面增强页签增强 - 封面图
ABAP 随笔物料主数据界面增强页签增强 - 封面图

## 4.注意

上方代码中 sy-tcode = 'MM01' 对MM01也进行唯一性的校验是因为,MM01可以对已存在的物料进行扩展

ABAP 随笔物料主数据界面增强页签增强 - 封面图
ABAP 随笔物料主数据界面增强页签增强 - 封面图

更多其他的文章请点击历史记录

[ ABAP随笔-物料主数据界面增强

](http://mp.weixin.qq.com/s?__biz=MzUxODI4MTQyMg==&mid=2247483773&idx=1&sn=57f4d5c3dd2d2e09ed6c4f3098a6db4a&chksm=f98a00dccefd89ca34a3c1ecc2c5c9b2d61dd58c3d6e8967263b4c7b49b05e3ca44ad9f250d6&scene=21#wechat_redirect)

[ BP客户增强-保存时增加校验事件(DCHCK)

](http://mp.weixin.qq.com/s?__biz=MzUxODI4MTQyMg==&mid=2247483901&idx=1&sn=ff94d3b5b17428801c953215a58b8214&chksm=f98a005ccefd894a84846127c9ba4b2a20236ddf9b7920507428d41be3446f91fd8d32a79e5c&scene=21#wechat_redirect)

[ BP客户增强-详细-干货

](http://mp.weixin.qq.com/s?__biz=MzUxODI4MTQyMg==&mid=2247483897&idx=1&sn=9796dc49916184ac314b5e05b964f952&chksm=f98a0058cefd894eef9c0526559a65f79e83861e14dc90adb2faeb6b8735aaa19d88d55a769a&scene=21#wechat_redirect)

[ S4 BP客户增强说明

](http://mp.weixin.qq.com/s?__biz=MzUxODI4MTQyMg==&mid=2247483893&idx=1&sn=8b3661c027b73c84c2ff96eea91cea26&chksm=f98a0054cefd894296bf83deebfe6f380c8b85670ea6efa275f5200f62606260aa01ebed995d&scene=21#wechat_redirect)

SAPTAB

关于作者:SAPTAB

企业信息化与 SAP 技术顾问,长期专注 SAP ABAP、FI/CO、MM、SD 等模块的技术分享与实战经验总结。查看更多介绍

来源说明:本文内容由「ABAP随笔物料主数据界面增强页签增强.md」整理生成,仅用于内部技术分享与学习交流。