SAP物料主数据屏幕增强

增强步骤

1.为主表添加一个附加结构

根据业务需求新建一个结构,结构中放入需要增强的屏幕字段并激活。

打开事务代码SE11,在需要保存的主表中添加这个附加结构并激活。

注:根据业务需求及屏幕增强的视图判断需要保存的主表是哪张,如基本数据在MARA,工厂级数据在MARC

2.创建定制子屏幕的程序

打开事务代码SPRO,选择"创建定制子屏幕的程序"。

保存后会生成一个函数组。

在生成的屏幕或自建一个屏幕进行屏幕绘制。

主要DIALOG代码:

主要DIALOG代码:
PROCESS BEFORE OUTPUT.

* Verarbeitung vor der Ausgabe
  MODULE init_sub.
  MODULE get_daten_sub.
  MODULE feldauswahl.
  MODULE sonderfaus.
  MODULE sonfausw_in_fgruppen.
  MODULE fausw_bezeichnungen.
  MODULE bildstatus.
  MODULE feldhistorie.            "Aenderungsdienst
  MODULE zusref_vorschlagen_b.
  MODULE refdaten_vorschlagen.
  MODULE zusref_vorschlagen_a.
  MODULE bezeichnungen_lesen.
  MODULE set_daten_sub.

  MODULE mod_disable_field.

PROCESS AFTER INPUT.

  MODULE get_daten_sub.
  FIELD: mara-zzcoloren.
  FIELD: mara-zzproductname.
  FIELD: mara-zzproductname_en.
  FIELD: mara-zzdescription.
  MODULE set_daten_sub.

*&---------------------------------------------------------------------*
*& Module MOD_DISABLE_FIELD OUTPUT
*&---------------------------------------------------------------------*
MODULE mod_disable_field OUTPUT.
* SET PF-STATUS 'xxxxxxxx'.
* SET TITLEBAR 'xxx'.
  IF sy-tcode = 'MM03'.
    LOOP AT SCREEN.
      screen-input = '0'.
      MODIFY SCREEN.
    ENDLOOP.
  ELSEIF sy-tcode = 'MM01' OR sy-tcode = 'MM02'.
    LOOP AT SCREEN.
      screen-input = '1'.
      MODIFY SCREEN.
    ENDLOOP.
  ENDIF.
ENDMODULE.

3.在实例化出口中增加数据保存功能增强点

打开事务代码CMOD,在增强点实例中写数据保存的逻辑代码;只需要将数据分配到CMARA内表中即可,SAP会将CMARA中的数据保存至MARA表中

4.配置子屏幕

打开事务代码SPRO,选择"定义每个屏幕序列的数据屏幕的结构"。

选择需要增强的视图后双击子屏幕。

在相应的子屏幕位置新建条目并选择自定义的屏幕。其中程序名为SPAL+自己定义的函数组名,屏幕号为自定义的屏幕号。

注:视图中的子屏幕项与顺序有关,请根据需求新增在相应的位置

可以点击视图数据屏幕模拟查看效果。

5.配置字段组

打开事务代码SPRO,选择"给字段选择组分配字段"。

点击"新条目"并添加增强的字段。

其中维护状态为:EDVKALBQPSZXCFG,字段组为:GR_GLOB

所有字段新增后保存即可。

注:所有增强字段必须分配选择组,否则无法更新成功

效果如下:

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐