VA41/VA42增强-保存check

本文介绍了一种针对SAP销售订单的增强方法,包括屏幕字段增强、表字段增强及保存时检查等步骤。通过SE38进行包含mv45afzz的SAPMV45A增强,并详细展示了FORM USEREXIT_SAVE_DOCUMENT中的隐式增强过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景:

(1)VA41/VA42/VA43屏幕增强:在“付款方式”页签,进行屏幕字段增强

(2)VBAK表字段增强:增加相应的增强字段

(3)VA41/VA42保存时:check增强字段“合同所属事业部”是否在表cepc中存在

 

解决方案

1、SE38:SAPMV45A,其中的 include mv45afzz

(或者直接SE38:MV45AFZZ)

2、保存check:FORM USEREXIT_SAVE_DOCUMENT

(1)在该form中,进行隐式增强

(2)主要数据:xvbap[],XVBAK

相关代码:

FORM USEREXIT_SAVE_DOCUMENT.

* Example:
* CALL FUNCTION 'ZZ_EXAMPLE'
*      IN UPDATE TASK
*      EXPORTING
*           ZZTAB = ZZTAB.
*{   INSERT         S4DK901200                                        1
  "360 销售订单增强
  DATA:lt_vbep    TYPE STANDARD TABLE OF vbepvb,
       ls_vbep    LIKE LINE OF lt_vbep.

    lt_vbep = xvbep[].
    LOOP AT xvbap.

        READ TABLE lt_vbep INTO ls_vbep WITH KEY vbeln = xvbap-vbeln posnr = xvbap-posnr.
      if xvbap-zzeindt1 is initial .
        xvbap-zzeindt1 = ls_vbep-edatu.
        endif.
      if xvbap-zzeindt2 is initial .
        xvbap-zzeindt2 = ls_vbep-edatu.
        endif.

        if xvbap-zzeindt1 = xvbap-zzeindt2.
        xvbap-zzeindt2 = ls_vbep-edatu.
          endif.
      modify xvbap transporting zzeindt1 zzeindt2.

      endloop.

*}   INSERT

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""$"$\SE:(1) Form USEREXIT_SAVE_DOCUMENT, Ende                                                                                                                 A
*$*$-Start: (1)---------------------------------------------------------------------------------$*$*
ENHANCEMENT 1  ZMV45AFZZ_SAVE_DOCUMENT.    "active version
*
  DATA: LV_PRCTR TYPE CEPC-prctr.

  SELECT SINGLE PRCTR INTO LV_PRCTR
    FROM CEPC
    WHERE PRCTR = XVBAK-ZSPARE5.

  IF SY-SUBRC NE 0 AND LV_PRCTR IS INITIAL.
    MESSAGE '合同所属事业部的值:' && XVBAK-ZSPARE5 && '不在表CEPC中' TYPE 'E'.
  ENDIF.

ENDENHANCEMENT.
*$*$-End:   (1)---------------------------------------------------------------------------------$*$*
ENDFORM.

3、其他

(1)FORM USEREXIT_READ_DOCUMENT.
  "----销售订单抬头屏幕增强(附加数据B)——付款方式
  "--屏幕号:SAPMV45A --- 8309
  "--PBO:MV45AOZZ
  "--PAI:MV45AIZZ
  "--定义:MV45ATZZ(TOP的定义中)
  "--读取付款方式数据到內表:MV45AFZZ(读取其他数据出口)
  "--附加数据B 页签描述改动(SAPMV45A——4002屏幕—MODULE taxi_initialize_carrierscreen)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值