业务交易事件BTE
BTE是什么,当然不是BT的ERP, E文全称Business Transaction Event,业务交易事件,我们知道一般的增强(Tcode:SMOD|CMOD)依旧使用ABAP,BTE则可提供了RFC调用其它产品的可能(Tcode:FIBF),举一个检查物料主数据的实例说明BTE用法,简化为三个步骤.
第一步:建立附加产品(Tcode:BF24)
图1,建立产品ZMM01-2,选图1-[2]表示激活.
第一步:连接事件到产品(Tcode:BF34).
系统预定义了很多事件,00001250是保存物料主数据的事件,系统似乎并没有为物料主数据的维护设置增强而是留下了这个BTE,输入函数ZMM01_2_CHECK.
第三步:建立检查函数(Tcode:SE37).
你可以输入00001250*快速找到类似SAMPLE_INTERFACE+EVENT号的函数,Copy一个出来,如图3.
下面是一个限制某工厂只能输入某利润中心和不允许用户修改利润中心的参考代码.
DATA: I_MSG1(60) TYPE C, I_MSG2(50) TYPE C. * Never let user change profit center of material . if ( I_MARC_NEW-PRCTR <> I_MARC_OLD-PRCTR ) and ( I_MARC_OLD-PRCTR <> '' ) . CALL FUNCTION 'READ_CUSTOMIZED_MESSAGE' EXPORTING I_ARBGB = 'ZFI' I_DTYPE = '' I_MSGNR = '003' IMPORTING E_MSGTY = SY-MSGTY. CHECK E_MSGTY <> '-' . MESSAGE ID ' ZFI ' TYPE SY-MSGTY NUMBER '003' with 'Change Material profit center not allowed!' |