BTE-业务交易事件
BTE是什么,当然不是BT的ERP, E文全称Business Transaction Event,业务交易事件,我们知道一般的增强(Tcode:SMOD|CMOD)依旧使用ABAP,BTE则可提供了RFC调用其它产品的可能(Tcode:FIBF),举一个检查物料主数据的实例说明BTE用法,简化为三个步骤.
第一步:建立附加产品(BF24)
或通过事务码FIBF进去
第二步:连接事件到产品(TCODE:BF34)
或通过FIBF进入
系统预定了很多事件,00001011是过账行项目检查的事件
第三步:建立检查函数(TCODE:se37)
FUNCTION ZSAMPLE_INTERFACE_00001011.
*"--------------------------------------------------------------------
*"*"本地接口:
*" IMPORTING
*" VALUE(I_BSEG) LIKE BSEG STRUCTURE BSEG
*" VALUE(I_BKPF) LIKE BKPF STRUCTURE BKPF
*"--------------------------------------------------------------------
DATA:
LV_LIFNR TYPE LFA1-LIFNR.
IF I_BSEG-BSCHL = '50' AND ( I_BSEG-HKONT = '0010020117' OR I_BSEG-HKONT = '0010021103'
OR I_BSEG-HKONT = '0010021400' OR I_BSEG-HKONT = '0010021500' OR I_BSEG-HKONT = '0010021006'
).
IF I_BSEG-XREF3 IS INITIAL.
ELSE.
*->内外部转换
CLEAR LV_LIFNR.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = I_BSEG-XREF3
IMPORTING
OUTPUT = LV_LIFNR.
*->检查校验对应关系
SELECT COUNT(*) FROM LFA1 WHERE LIFNR = LV_LIFNR.
IF SY-SUBRC <> 0.
MESSAGE A398(00) WITH '供应商编码不存在!' ' ' '' ''.
ENDIF.
ENDIF.
ENDIF.
ENDFUNCTION.