FavoriteLoading
0

BTEs – 业务交易事件开发例子

[隐藏]

1, BTE介绍

BTE英文全称Business Transaction Event,业务交易事件,我们知道一般的增强(Tcode:SMOD|CMOD)依旧使用ABAP,BTE则可提供了RFC调用其它产品的可能(Tcode:FIBF)。BTE的设计思路还是比较简单,和BADI有点类似。在标准程序中留有OPEN_FI的出口(以函数OPEN_FI_PERFORM_eventid_type的形式存在),然后提供一个可配置的TABLE,可以在里面针对某个特定的Event维护自己定义的出口函数,标准程序走到这里,如果查出用户定义了出口函数,则会调用,达到增强的目的。
BTE增强有2种类型,类似于会计凭证验证和替代。
Publish and Subscribe Interface:只提供SAP数据源,可以供外部程序使用或者达到数据检查的目的。
Process Interface:是达到数据修改的目的,用来增强标准的业务流程。

2016-08-26_15-47-13

2, 查找BTE增强

通常有两种方法查找BTE增强

1,在标准程序中查找String ‘OPEN_FI_PERFORM’,找到的函数如果最后是’_E’,则说明这是Publishand Subscribe Interface:,如果是’_P’,则是ProcessInterface。

2016-08-26_15-53-38

2,Tcode:FIBF,菜单   Environment->Info System (P/S ),或者直接BERE for Publishand Subscribe Interface  BERP for Process Interface。

2016-08-26_15-55-41

2016-08-26_15-57-42

3, BTE实现

tcode:FIBF, 菜单 Environment->Info System (P/S )

选择需要实现的BTE,如下:

pastedImage_0

双击 ‘Sample function moudle’按钮,copy 例子FM(需要先创建function group)

pastedImage_26

编辑新创建的FM,加入自己的代码

pastedImage_41

FIBF,创建一个客户的产品

2016-08-26_16-05-26

别忘了勾上激活checkbox,保存需要生成TR

2016-08-26_16-11-05

下一步,tcode FIBF,将刚才创建的FM和EVENT通过产品连接起来,如下:

2016-08-26_16-13-14

2016-08-26_16-14-02

然后保存激活,大功告成。