供应商增强

2018-03-01  本文已影响0人  阿努比斯1117

在S/4中,由于MK01停用,转而使用TCODE:BP。
供应商的增强VENDOR_ADD_DATA不再使用。
现在BP的BADI是PARTNER_UPDATE。

  METHOD IF_EX_PARTNER_UPDATE~CHANGE_BEFORE_UPDATE.
    "(SAPLBUD0)MEM_BUT000[]

    FIELD-SYMBOLS <FS> TYPE ANY TABLE.
    FIELD-SYMBOLS <FS2> TYPE BUS000___I.
    DATA WA_VENDOR_LOG TYPE ZTMD_VENDOR_LOG.
    DATA G_TIMESTAMP(14) TYPE C.

    CLEAR:G_TIMESTAMP.
    IF SY-TCODE = 'BP'.
      ASSIGN ('(SAPLBUD0)MEM_BUT000[]') TO <FS>.
      IF <FS> IS ASSIGNED.
        LOOP AT <FS> ASSIGNING <FS2>.
          EXIT.
        ENDLOOP.
        IF <FS2> IS ASSIGNED.
* 供应商组织 Z001 Z002 Z003 Z008 Z101 Z102 Z999
          IF <FS2>-BU_GROUP = 'Z001' OR  <FS2>-BU_GROUP = 'Z002' OR  <FS2>-BU_GROUP = 'Z003' OR  <FS2>-BU_GROUP = 'Z008'
            OR  <FS2>-BU_GROUP = 'Z101' OR  <FS2>-BU_GROUP = 'Z102' OR  <FS2>-BU_GROUP = 'Z999'.
            WA_VENDOR_LOG-MANDT = SY-MANDT.
            WA_VENDOR_LOG-LIFNR = <FS2>-PARTNER.
            G_TIMESTAMP(8) = SY-DATUM.
            G_TIMESTAMP+8(6) = SY-UZEIT.
            WA_VENDOR_LOG-TIMESTAMP = G_TIMESTAMP.
            WA_VENDOR_LOG-ZCRE_USER = SY-UNAME.
            WA_VENDOR_LOG-ZCRE_DATE = SY-DATUM.
            WA_VENDOR_LOG-ZCRE_TIME = SY-UZEIT.
            WA_VENDOR_LOG-ZPROC_STA = 'N'.
            MODIFY ZTMD_VENDOR_LOG FROM WA_VENDOR_LOG..
          ENDIF.
        ENDIF.
      ENDIF.
      UNASSIGN : <FS>, <FS2>.
    ENDIF.



  ENDMETHOD.
上一篇 下一篇

猜你喜欢

热点阅读