在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.