SAP MIGO前台批次特性值增强(自动带出)<转载>

原文链接:https://blog.csdn.net/qq_45063256/article/details/128464411

增强点:程序LCTMSF3Z

在MIGO中点击批次右边的分类时,自动将该批次的批次特性值带出来。
在这里插入图片描述
在这里插入图片描述
现在打开程序LCTMSF3Z

该程序就只有一个FORM,首先切换到编辑模式,并点击菜单栏的增强
在这里插入图片描述
然后在ENDFORM处鼠标右键->增强操作->显示隐式增强
在这里插入图片描述
完成后会出现虚线,在虚线中点击鼠标右键->增强操作->创建实施
在这里插入图片描述
创建好之后双击创建的实施名字,就可以写代码了

具体实现代码如下:

可以关注一下该增强点程序的MI[] WS[]内表的值,批次特性值都存在WS[]中,而直接修改WS[]内表的值的话就会被重制为被修改前的状态,因为MI会影响WS。

因此下方代码主要是对MI[]进行修改,从而影响WS[]中批次特性值

ENHANCEMENT 3  Z_MM_MIGO_PCTX.    "active version

IF MI[] IS NOT INITIAL  AND WS[] IS NOT INITIAL AND SY-UCOMM <> 'ENDE'.

  DATA: INSTANCE       LIKE  DDB_C02-INSTANCE VALUE 1,
        VALUE          LIKE  CAWN-ATWRT,
        INTERNAL_VALUE LIKE  CAWN-ATWRT,
        IMP_REDUN      LIKE  TCLAO-REDUN VALUE 'X'.
"这里的代码就是引用程序SAPLMIGOGOHEAD工作区的值
"只需要引用批次特性值所需要的就可以了
  ASSIGN ('(SAPLMIGO)GOHEAD-BUDAT') TO FIELD-SYMBOL(<LFS_BUDAT>).
  IF SY-SUBRC <> 0. EXIT. ENDIF.
  ASSIGN ('(SAPLMIGO)GOITEM-EBELN') TO FIELD-SYMBOL(<LFS_EBELN>).
  IF SY-SUBRC <> 0. EXIT. ENDIF.
  ASSIGN ('(SAPLMIGO)GOITEM-EBELP') TO FIELD-SYMBOL(<LFS_EBELP>).
  IF SY-SUBRC <> 0. EXIT. ENDIF.
  ASSIGN ('(SAPLMIGO)GOITEM-MENGE') TO FIELD-SYMBOL(<LFS_MENGE>).
  IF SY-SUBRC <> 0. EXIT. ENDIF.
  ASSIGN ('(SAPLMIGO)GOITEM-LSMNG') TO FIELD-SYMBOL(<LFS_LSMNG>).
  IF SY-SUBRC <> 0. EXIT. ENDIF.

  LOOP AT MI INTO DATA(LS_MI)  .
    CASE LS_MI-ATNAM.
      WHEN 'Z_MSEG_MENGE'."批次特性名
        VALUE = <LFS_MENGE>.
      WHEN 'Z_MSEG_LSMNG'.
        VALUE = <LFS_LSMNG>.
      WHEN 'Z_MKPF_BUDAT'.
        VALUE = <LFS_BUDAT>.
      WHEN 'Z_EKPO_EBELN'.
        VALUE = <LFS_EBELN>.
      WHEN 'Z_EKPO_EBELP'.
        VALUE = <LFS_EBELP>.
      WHEN OTHERS.
        CONTINUE.
    ENDCASE.

    CALL FUNCTION 'CUDB_GET_CURRENT_VAL'
      EXPORTING
        ATINN          = LS_MI-ATINN
        INSTANCE       = INSTANCE
      EXCEPTIONS
        INTERNAL_ERROR = 1
        NO_VALUE_FOUND = 2
        OTHERS         = 3.
    IF SY-SUBRC <> 0.
      CALL FUNCTION 'CTMS_DDBI_SET_VALUE_OCHAR'
        EXPORTING
          CHARACTERISTIC  = LS_MI-ATINN
          VALUE           = VALUE
          INTERNAL_VALUE  = INTERNAL_VALUE
          IMP_REDUN       = IMP_REDUN
        EXCEPTIONS
          VALUE_NOT_FOUND = 1
          OTHERS          = 2.
    ENDIF.
  ENDLOOP.

ENDIF.

ENDENHANCEMENT.

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值