Chinaunix首页 | 论坛 | 博客
  • 博客访问: 940621
  • 博文数量: 463
  • 博客积分: 10070
  • 博客等级: 上将
  • 技术积分: 4963
  • 用 户 组: 普通用户
  • 注册时间: 2008-01-16 14:16
文章分类

全部博文(463)

文章存档

2011年(18)

2010年(144)

2009年(83)

2008年(218)

我的朋友

分类: IT职场

2008-07-27 12:42:41

   最近一个同事碰到一个FI的增强,要用BTEs实现,我也是第一次接触到这种增强,所以跟着他一起做了一下。写一个这方面的小节。
   BTEs(Business Transaction Events),是SAP的一种增强方式,技术上讲是介于Customer Exits和BAdIs的产物。
   它主要有两种类型的接口:
   Publish and Subscribe Interface
   Process Interface
   其比较核心的理念是,使一个接口重复利用,多种实现并且互不干扰。而技术实现的时候,就采用在标准程序中Call固定的一个functioin,然后再用这个function动态调用自己定义的增强function,从而达到预期目的。
   这样的接口,在标准程序中常常是以OPEN_FI_PERFORM_或者OUTBOUND_CALL_开头的function。
由于采用这种技术架构,SAP就使这些接口,分为Made by SAP, Made by SAP's Partner, Made by SAP's Customer,三方可以个取所需。
   至于Publish and Subscribe Interface和Process Interface的区别,主要还是用途上的。前者,使给外部软件提供信息的,而后者主要用于R/3流程的。不过前者也可以生成或修改一些additional data。
   BTEs主要用于总帐,应收应付和销售分销模块。
   我做的那个是Process Interface,说来也很简单,就是在billing posting的时候,把Head的text改掉。
   下面,我来说一下流程。
  1. T-code: FIBF 进入BTEs的界面
  2. Environment->Infosystem(Processes)->运行->Process 00001120->Sample function module, 然后复制这个function到自己的Z或Y程序中->编辑新复制的程序,加入自己的代码
  3. 回到FIFB界面,Settings->Products->...of customer->New Entries加入自己的product,并激活
  4. 回到FIFB界面,Settings->Process Modules->... of customer->新建主键是 00001120的Process,并将刚才建立的function module和product写到相应栏位。

  之后,运行相应的过账程序,诸如T-CODE VF01或是FB01,生成财务凭证,察看凭证的HEAD TEXT是否被修改。

  原代码不方便贴,就放些关键的代码。 

  LOOP AT T_BKPFSUB.
    T_BKPFSUB-BKTXT = 'KEVIN BTEs'.
    MODIFY T_BKPFSUB INDEX SY-TABIX.
  ENDLOOP.
 

 
 
阅读(1598) | 评论(2) | 转发(0) |
给主人留下些什么吧!~~

zcywset152008-07-28 09:37:33

写得太快,写错了,是FIBF,谢谢老白指正。

qdbarry2008-07-28 08:47:05

Tcode是FIBF吧。。。