一、SAP 物料主数据增强自定义字段 - 基本数据2 视图

转载自:https://blog.csdn.net/heng0757/article/details/8067645

物料主数据自定义字段增强 - 基本数据2 视图

1.  SE11 创建自定义表 ZPARTAPPEND

2. SPRO--后勤-常规--物料主数据 -- 配置物料主记录 --  创建定制子屏幕的程序

3. SE80 -- 输入函数组 ZMGD1

在屏幕 0001 里增加 三个 MODULE:

代码如下:

*&---------------------------------------------------------------------*
*&      Module  DISABLE_FIELD  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE DISABLE_FIELD OUTPUT.
  IF SY-TCODE = 'MM03'.
      LOOP AT SCREEN.
          SCREEN-INPUT = '0'.
          MODIFY SCREEN.
        ENDLOOP.
    ENDIF.
ENDMODULE.                 " DISABLE_FIELD  OUTPUT
*&---------------------------------------------------------------------*
*&      Module  GET_DATA  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE GET_DATA OUTPUT.
  TABLES:ZPARTAPPEND.
  DATA: W_MATNR TYPE MATNR.

  IF SY-TCODE = 'MM02' OR SY-TCODE = 'MM03'.
      GET PARAMETER ID 'MAT' FIELD W_MATNR.
      SELECT SINGLE * FROM ZPARTAPPEND WHERE MATNR = W_MATNR.

    ENDIF.

ENDMODULE.                 " GET_DATA  OUTPUT
*&---------------------------------------------------------------------*
*&      Module  ASSIGN_DATA  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE ASSIGN_DATA INPUT.
  EXPORT ZPARTAPPEND TO MEMORY ID 'ZPARTAPPEND'.

ENDMODULE.                 " ASSIGN_DATA  INPUT

自定义屏幕截图如下,只使用了 ZPARTAPPEND 里的2个字段,其中字段名为: ZPARTAPPEND-F1    ,    ZPARTAPPEND-F2

4. CMOD 增强,使用出口 MGA00001

增强代码如下:

*&---------------------------------------------------------------------*
*&  包括                ZXMG0U02
*&---------------------------------------------------------------------*
TABLES:ZPARTAPPEND.

IF SY-UCOMM = 'BU' OR SY-UCOMM = 'YES'.

    IMPORT ZPARTAPPEND FROM MEMORY ID 'ZPARTAPPEND'.

    ZPARTAPPEND-MATNR = CMARA-MATNR.
    MODIFY ZPARTAPPEND FROM ZPARTAPPEND.

  ENDIF.

 

5. SPRO--后勤-常规--物料主数据 -- 配置物料主记录 --  定义每个屏幕序列的数据屏幕的结构

弹出界面后选中“21” 行 ,然后双击左边窗口的“数据屏幕”:

选中上面的“21” -- “08”  ,双击“子屏幕”

然后将“21” -- “08” -- “8” 的程序名改成:“SAPLZMGD1“ , 因为ZMGD1是我们之前创建的函数组。

6. 最后测试物料主数据视图

新增或修改物料时,这两字段可以保存到自定义创建的表ZPARTAPPEND 里 ,MM03 又可以显示出来。

到此完毕。

***********************************************************************

*实际测试效果反馈

***********************************************************************

如下不理想效果,虽然修改了自定义字段值,点击保存按钮,也成功保存了数据,但出现如下的消息提示

改进此问题:

上述增强点MGA00001中,增强如下代码

  IF ztmdm001-matnr NE space.
    "修改 更新此字段
    cmara-ernam = sy-uname.
    cmara-laeda = sy-datum.
    cmara-last_changed_time = sy-uzeit.
  ENDIF.

修改后如下所示:

*&---------------------------------------------------------------------*
*&  包括                ZXMG0U02
*&---------------------------------------------------------------------*
TABLES:ZPARTAPPEND.

IF SY-UCOMM = 'BU' OR SY-UCOMM = 'YES'.

    IMPORT ZPARTAPPEND FROM MEMORY ID 'ZPARTAPPEND'.

    IF ztmdm001-matnr NE space.
      "修改 更新此字段
      cmara-ernam = sy-uname.
      cmara-laeda = sy-datum.
      cmara-last_changed_time = sy-uzeit.
    ENDIF.

    ZPARTAPPEND-MATNR = CMARA-MATNR.
    MODIFY ZPARTAPPEND FROM ZPARTAPPEND.

  ENDIF.

 

 

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值