sap abap 物料主数据页面增强字段方法

1、SE11 创建增强结构:ZMMS062
在这里插入图片描述
2、在需要增加的标准表附加该增强结构:MARA附加ZMMS062
在这里插入图片描述
3、SPRO创建函数组ZFGMM062
在这里插入图片描述
SE80查看该函数组,并在已经创建好的0001空白子屏幕进行屏幕绘制

打开屏幕绘制器,建立文本及输入输出框,使用创建的增强结构字段
在这里插入图片描述
设置组编号为 G1,控制显示与修改
在这里插入图片描述
逻辑流新增:MODULE disable_field、 MODULE get_data、MODULE assign_data

PROCESS BEFORE OUTPUT.
*                      Verarbeitung vor der Ausgabe
  MODULE disable_field.
  MODULE get_data.

PROCESS AFTER INPUT.
*                      Verarbeitung nach der Eingabe
  MODULE assign_data.

MODULE disable_field:当t_code为mm03时,G1组不能输入

*&---------------------------------------------------------------------*
*& Module DISABLE_FIELD OUTPUT
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
MODULE disable_field OUTPUT.
* SET PF-STATUS 'xxxxxxxx'.
* SET TITLEBAR 'xxx'.
  IF sy-tcode = 'MM03'.
    LOOP AT SCREEN .
      CASE screen-group1.
        WHEN 'G1'.
          screen-input = 0.
          MODIFY SCREEN.
      ENDCASE.
    ENDLOOP.
  ENDIF.
ENDMODULE.

MODULE get_data:

*&---------------------------------------------------------------------*
*& Module GET_DATA OUTPUT
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
MODULE get_data OUTPUT.
* SET PF-STATUS 'xxxxxxxx'.
* SET TITLEBAR 'xxx'.
*  DATA gv_bjsx TYPE zmms062-zbjsx.
  DATA lv_matnr TYPE matnr.
  DATA gt_drop TYPE vrm_values WITH HEADER LINE.

  IF sy-tcode = 'MM02' OR sy-tcode = 'MM03'.
    GET PARAMETER ID 'MAT' FIELD lv_matnr.

  ENDIF.

  CLEAR gt_drop.
  gt_drop-key  = '1'.
  gt_drop-text = '消耗件'.
  APPEND gt_drop.

  CLEAR gt_drop.
  gt_drop-key  = '2'.
  gt_drop-text = '属性件'.
  APPEND gt_drop.

  CALL FUNCTION 'VRM_SET_VALUES'
    EXPORTING
      id              = 'ZMMS062-ZBJSX'
      values          = gt_drop[]
    EXCEPTIONS
      id_illegal_name = 1
      OTHERS          = 2.
  IF sy-subrc <> 0.
* Implement suitable error handling here
  ENDIF.

*  gv_bjsx = gv_bjsx.
  CLEAR gt_drop[].

  SELECT zdtsbbm AS key,zdtsbms AS text INTO TABLE @gt_drop
    FROM zmmtdtsb.

  CALL FUNCTION 'VRM_SET_VALUES'
    EXPORTING
      id              = 'ZMMS062-ZDTSBBM'
      values          = gt_drop[]
    EXCEPTIONS
      id_illegal_name = 1
      OTHERS          = 2.
  IF sy-subrc <> 0.
* Implement suitable error handling here
  ENDIF.
  CLEAR gt_drop[].

  CALL FUNCTION 'MARA_GET_SUB'
    IMPORTING
      wmara = mara
      xmara = *mara
      ymara = lmara.
*  .
*
  zmms062-zbjsx = mara-zbjsx.
  zmms062-zssfl = mara-zssfl.
  zmms062-zdtsbbm = mara-zdtsbbm.
  zmms062-zbjfl = mara-zbjfl.
ENDMODULE.

MODULE assign_data:

*&---------------------------------------------------------------------*
*&      Module  ASSIGN_DATA  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE assign_data INPUT.
*BREAK-POINT.
  mara-zbjsx = zmms062-zbjsx.
  mara-zssfl = zmms062-zssfl.
  mara-zdtsbbm = zmms062-zdtsbbm.
  mara-zbjfl = zmms062-zbjfl.
  MOVE-CORRESPONDING mara TO zmms062.

  CALL FUNCTION 'MARA_GET_SUB'
    IMPORTING
      wmara = mara
      xmara = *mara
      ymara = lmara.

  MOVE-CORRESPONDING zmms062 TO mara.
*  gv_bjsx = gv_bjsx.
*  FREE MEMORY ID 'ZMM062'.
*  EXPORT gv_bjsx  TO MEMORY ID 'ZMM062'.

*
  CALL FUNCTION 'MARA_SET_SUB'
    EXPORTING
      wmara = mara.

ENDMODULE.

创建增强点:
SPRO入口,或者直接CMOD进去
在这里插入图片描述
创建增强分配 ZMME062
在这里插入图片描述
增强输入 MGA00001
在这里插入图片描述
功能出口:EXIT_SAPLMGMU_001
实现逻辑,把值赋到cmara视图

*&---------------------------------------------------------------------*
*& 包含               ZXMG0U02
*&---------------------------------------------------------------------*
TABLES: zmms062.

IF zmms062 IS NOT INITIAL.

  MOVE-CORRESPONDING zmms062 TO CMARA.
ENDIF.

*IF sy-ucomm = 'BU' OR sy-ucomm = 'YES'.
*  IMPORT gv_bjsx  FROM MEMORY ID 'ZMM062'.
*  zmms062-zbjsx = cmara-zbjsx.
*  MODIFY zmms062 FROM zmms062.
*ENDIF.

配置屏幕
在这里插入图片描述
选择屏幕顺序:标准标识(段)表页,双击子屏幕
在这里插入图片描述
在这里插入图片描述
可以看到在空白子屏幕维护的屏幕
在这里插入图片描述
配置字段
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
前台页面效果mm01
在这里插入图片描述
mm03
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你好coder

大佬们,行行好!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值