ABAP marc表字段增强及屏幕增强

网上关于mara表字段及屏幕增强的文章已经有很多了,但关于marc表字段及屏幕增强的例子不多且不够详细,这里用一个示例希望能帮到大家

一、marc表字段增强

在marc表附加结构里添加自定义结构,并在结构里添加自定义字段即可。
在这里插入图片描述

二、定制自定义屏幕

1、路径:事务码spro->物料-常规->物料主数据->配置物料主记录->创建定制子屏幕的程序
在这里插入图片描述
2、这时会让你自定义一个函数组,后续的屏幕创建就会放在这个函数组里。函数组里自带0001及0002屏幕,可以用0001屏幕,也可以自建一个屏幕,这里以自建0003屏幕示例:
在这里插入图片描述
3、点击上方布局按钮,进入屏幕绘制,按照图示绘制屏幕
在这里插入图片描述
在这里插入图片描述

这里注意:屏幕字段需要用自定义结构ZMARCENH里的自定义字段,而不能直接用marc的自定义字段,否则MM03是不会显示我们画的屏幕的

4、在屏幕逻辑流里面添加如下代码:
在这里插入图片描述

PROCESS BEFORE OUTPUT.
  MODULE init_sub.
  MODULE get_daten_sub.
  MODULE feldauswahl.
  MODULE sonderfaus.
  MODULE sonfausw_in_fgruppen.
  MODULE bildstatus.
  MODULE zusref_vorschlagen_b.
  MODULE refdaten_vorschlagen.
  MODULE zusref_vorschlagen_a.
  MODULE set_daten_sub.

*    MODULE status_0003.
  MODULE get_data.

PROCESS AFTER INPUT.
  MODULE get_daten_sub.

  FIELD: zmarcenh-zjcf.
  MODULE assign_data.

  MODULE set_daten_sub.

在PBO get_data里面给ZMARCENH赋值

MODULE get_data OUTPUT.
  MOVE-CORRESPONDING marc TO zmarcenh.
ENDMODULE.

在PAI assign_data里面给marc赋值

MODULE assign_data INPUT.
  MOVE-CORRESPONDING zmarcenh TO marc.
ENDMODULE.

在TOP文件里面添加全局变量:ZMARCENH
在这里插入图片描述

5、屏幕画好后,按如下路径:spro->物料-常规->物料主数据->配置物料主记录->定义每个屏幕序列的数据屏幕的结构,配置我们画的屏幕放在屏幕的哪个视图及哪个位置
在这里插入图片描述
6、选择图示屏幕双击‘’数据屏幕’,我这里是放的采购视图,具体视图可根据业务需求制定,双击子屏幕进入采购视图配置,我放在第6行,也就是视图最下方
程序名是:SAPL+你的函数组名字
屏幕号:即你绘制的屏幕编号

点击旁边的’视图数据屏幕’可看到整个视图的屏幕情况,选中单行点击’视图子屏幕’可查看子屏幕情况
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
7、此时还需要给字段分配字段组,否则MM02也是不会更新到表里面的,路径:spro->物料-常规->物料主数据->字段选择->给字段选择组分配字段
在这里插入图片描述
8、可直接复制现有字段创建,维护状态根据视图不同可不同,我这里用采购视图所以是E,注意这里要维护正确的维护状态值,否则在调用函数更新视图的时候可能不会成功,ALE字段组一定要选择GR_GLOB
在这里插入图片描述
在这里插入图片描述

至此我们的屏幕绘制以及屏幕配置已经完成

三、给物料修改保存增强EXIT_SAPLMGMU_001添加更新逻辑

1、此函数出口只有给mara表更新的cmara参数,所以我们需要在我们的函数组里创建一个更新函数,并且创建一个c_maru参数,给c_maru参数赋值
在这里插入图片描述
2、在增强里调用此函数,让屏幕值更新到底表里
在这里插入图片描述
至此,我们的marc表字段增强以及marc表字段屏幕增强就大功完成啦!用MM01,MM02,MM03进行数据验证吧!下图是屏幕实现效果
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值