销售订单短文本拼接特性值自动带到申请单描述中

增强点:MV45AFZZ

FORM userexit_move_field_to_vbep.

CHECK sy-tcode = 'VA02' OR sy-tcode = 'VA01'.
  IF vbak-auart = 'Z022'.
    DATA:configuration    TYPE TABLE OF conf_out,
         ls_configuration TYPE conf_out.
    DATA lv_objectkey TYPE inob-cuobj.
    DATA: lv_arktx TYPE char40.
    DATA: lv_atwrt TYPE char40.
    DATA: lv_atwrt2 TYPE char40.


    CLEAR: lv_arktx,lv_atwrt,lv_atwrt2,lv_objectkey.
    REFRESH configuration.
    lv_objectkey = vbap-cuobj.
    CALL FUNCTION 'VC_I_GET_CONFIGURATION'
      EXPORTING
        instance            = lv_objectkey
        language            = sy-langu
        iv_no_value_check   = 'X'
        iv_no_dialog        = 'X'
      TABLES
        configuration       = configuration
      EXCEPTIONS
        instance_not_found  = 1
        internal_error      = 2
        no_class_allocation = 3
        instance_not_valid  = 4
        OTHERS              = 5.
    IF sy-subrc <> 0.
*   Implement suitable error handling here
    ENDIF.


    CLEAR ls_configuration.
    READ TABLE configuration INTO ls_configuration WITH KEY atnam = 'Z0021'.
    IF sy-subrc = 0.
      lv_atwrt = ls_configuration-atwrt.
    ENDIF.

    CLEAR ls_configuration.
    READ TABLE configuration INTO ls_configuration WITH KEY atnam = 'Z0003'.
    IF sy-subrc = 0.
      IF ls_configuration-atwrt IS NOT INITIAL.
        DATA(lv_len) = strlen( ls_configuration-atwrt ) - 2.
        lv_atwrt2 = ls_configuration-atwrt(lv_len).
        REPLACE ALL OCCURRENCES OF ',' IN lv_atwrt2 WITH space.
        CONDENSE lv_atwrt2 NO-GAPS.
      ENDIF.
    ENDIF.
    SELECT SINGLE maktx INTO  lv_arktx FROM makt WHERE matnr = xvbap-matnr.
    CLEAR vbap-arktx.
    vbap-arktx = lv_arktx && '\' && lv_atwrt && '\' && lv_atwrt2.
  ENDIF.

SAPMV45A主程序

4001屏幕字段更新

PBO增加  MODULE

MODULE zmod_add_field_value OUTPUT.
  CHECK sy-tcode = 'VA02' OR sy-tcode = 'VA01'.
  IF vbak-auart = 'Z022'.
    DATA:configuration    TYPE TABLE OF conf_out,
         ls_configuration TYPE conf_out.
    DATA lv_objectkey TYPE inob-cuobj.
    DATA: lv_arktx TYPE char40.
    DATA: lv_atwrt TYPE char40.
    DATA: lv_atwrt2 TYPE char40.


    LOOP AT xvbap WHERE NOT matnr IS INITIAL.
      CLEAR: lv_arktx,lv_atwrt,lv_atwrt2,lv_objectkey.
      REFRESH configuration.
      lv_objectkey = xvbap-cuobj.
      CALL FUNCTION 'VC_I_GET_CONFIGURATION'
        EXPORTING
          instance            = lv_objectkey
          language            = sy-langu
          iv_no_value_check   = 'X'
          iv_no_dialog        = 'X'
        TABLES
          configuration       = configuration
        EXCEPTIONS
          instance_not_found  = 1
          internal_error      = 2
          no_class_allocation = 3
          instance_not_valid  = 4
          OTHERS              = 5.
      IF sy-subrc <> 0.
*   Implement suitable error handling here
      ENDIF.


      CLEAR ls_configuration.
      READ TABLE configuration INTO ls_configuration WITH KEY atnam = 'Z0021'.
      IF sy-subrc = 0.
        lv_atwrt = ls_configuration-atwrt.
      ENDIF.


      CLEAR ls_configuration.
      READ TABLE configuration INTO ls_configuration WITH KEY atnam = 'Z0003'.
      IF sy-subrc = 0.
        IF ls_configuration-atwrt IS NOT INITIAL.
          DATA(lv_len) = strlen( ls_configuration-atwrt ) - 2.
          lv_atwrt2 = ls_configuration-atwrt(lv_len).
          REPLACE ALL OCCURRENCES OF ',' IN lv_atwrt2 WITH space.
          CONDENSE lv_atwrt2 NO-GAPS.
        ENDIF.
      ENDIF.
      SELECT SINGLE maktx INTO  lv_arktx FROM makt WHERE matnr = xvbap-matnr.
      CLEAR xvbap-arktx.
      xvbap-arktx = lv_arktx && '\' && lv_atwrt && '\' && lv_atwrt2.
      MODIFY xvbap.
    ENDLOOP.
  ENDIF.
ENDMODULE.

自动生产申请单(销售订单计划行),申请单描述由销售订单带出

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值