SAP增强与修正系列06BTE增强.ppt
SAP增强与修正,BTE增强北京博宏慧点科技有限公司(BRIGHT KEY)张伟朋2011年4月23日,2023/11/8,北京博宏慧点科技有限公司(Bright Key),1,注意事项,请填写签到表对任何疑问您可以随时提出或者将问题书面提交讲解者讲解者会向与会人元征询请填写课程评价表考试,2023/11/8,北京博宏慧点科技有限公司(Bright Key),2,课程内容,2023/11/8,北京博宏慧点科技有限公司(Bright Key),3,BTE详解,BTE实现示例,什么是BTE及BTE用途,什么是BTE,BTE(Business Transaction Event),业务交易事件BTEs(Business Transaction Events),是SAP的一种增强方式,技术上讲是介于Customer Exits和BAdIs的产物。,2023/11/8,北京博宏慧点科技有限公司(Bright Key),4,什么是BTE,2023/11/8,北京博宏慧点科技有限公司(Bright Key),5,BTE:Software Delivery Process,2023/11/8,北京博宏慧点科技有限公司(Bright Key),6,BTE接口类型和使用范围,Publish and Subscribe Interface(P/S接口)用于告诉外部软件在SAP标准应用中触发了某些事件,并且把产生的数据提供给它们。外部软件不能给R/3系统返回任何数据。例如可以用在以下地方:主数据被创建、修改或锁定凭证被输入、预制、修改或冲销项目被清除或重置 也可以在附加的开发中基于此事件和数据产生附加的处理:启动工作流产生或修改附加数据请求通信 Process Interface(处理接口)用于控制与标准R/3系统处理方法不同的业务流程,也就是用process interface替换标准处理。它们干预标准流程,并返回数据给SAP应用。,2023/11/8,北京博宏慧点科技有限公司(Bright Key),7,课程内容,2023/11/8,北京博宏慧点科技有限公司(Bright Key),8,BTE详解,BTE实现示例,什么是BTE及BTE用途,BTE:Possible Scenarios(1),2023/11/8,北京博宏慧点科技有限公司(Bright Key),9,此图是关于Publish&Subscribe interfaces的,我们可以看到数据是单向流动的,从SAP application到additional component。SAP在事务的某些调用点提供了可用的接口,SAP合作伙伴和客户都可以使用这些接口,增加一些附加的逻辑。这和Customer exits有点类似。,BTE:Possible Scenarios(2),2023/11/8,北京博宏慧点科技有限公司(Bright Key),10,此图也是关于Publish&Subscribe interfaces的,和Customer exits不一样,BTE允许一个接口有多个附加逻辑,但是必须确定在什么时候用哪一个。这些接口是并行的。,P/S函数模块和处理函数模块,2023/11/8,北京博宏慧点科技有限公司(Bright Key),11,P/S函数模块和处理函数模块,P/S函数模块:一个事件触发时,允许开始一个或多个附加操作,它们不影响标准的R/3程序。多个操作相互不影响。附加开发的组件只能从SAP导入数据。可能使用在附加的检查,例如:权限,查重等。处理函数模块:会发生双向的数据交换,因此限制了一个接口可以附加开发的组件个数。事件触发时,一个标准处理流程只能被一个外部流程所替换。对于一个process interface,如果你使用SAP合作伙伴的附加开发的组件,运行时会使用他的增强;如果后来对此process interface使用自己开发的,在运行时将会用你的增强替换合作伙伴的。,2023/11/8,北京博宏慧点科技有限公司(Bright Key),12,BTE处理过程,2023/11/8,北京博宏慧点科技有限公司(Bright Key),13,BTE的调用语法,2023/11/8,北京博宏慧点科技有限公司(Bright Key),14,SAP和客户,2023/11/8,北京博宏慧点科技有限公司(Bright Key),15,查找BTE的方法,2023/11/8,北京博宏慧点科技有限公司(Bright Key),16,查找BTE的方法,2023/11/8,北京博宏慧点科技有限公司(Bright Key),17,1、运行事务码(例如XK02),选择“System-Status-双击“Program(screen)”,选中“In main program”,查找“OPEN_FI_PERFORM”字符串,如上图所示。2、IMG=财务会计全局设置(新)=工具=客户增强=业务事务事件(FIBF),选择菜单“环境”。,文档,2023/11/8,北京博宏慧点科技有限公司(Bright Key),18,产品的作用,2023/11/8,北京博宏慧点科技有限公司(Bright Key),19,如何实现BTE,2023/11/8,北京博宏慧点科技有限公司(Bright Key),20,Customer Exit和BTE的异同,2023/11/8,北京博宏慧点科技有限公司(Bright Key),21,总结,BTE比较核心的理念是,使一个接口重复利用,多种实现并且互不干扰。技术实现的时候,就采用在标准程序中Call固定的一个function,然后再用这个function动态调用自己定义的增强function,从而达到预期目的。,2023/11/8,北京博宏慧点科技有限公司(Bright Key),22,课程内容,2023/11/8,北京博宏慧点科技有限公司(Bright Key),23,BTE详解,BTE实现示例,什么是BTE及BTE用途,业务需求,在创建或修改客户时做最终检查,不符合条件不允许保存。,2023/11/8,北京博宏慧点科技有限公司(Bright Key),24,查找合适的事件,1、运行事务码XD02,查找到对应的程序为SAPMF02D,在此程序中搜索字符串“OPEN_FI_PERFORM”,可以找到此程序中的所有用到的BTE。2、运行事务码FIBF。由于此例只是做检查,因此要查找的是P/S型的事件,因此选择菜单“环境-信息系统(P/S)-F8运行程序”,根据事件描述和事件文档对事件的详细描述逐个筛查,找出最符合要求的BTE事件。3、通过筛查可以看到“00001340 客户主数据:最终检查”比较符合要求。,2023/11/8,北京博宏慧点科技有限公司(Bright Key),25,根据样本函数创建自定义函数,2023/11/8,北京博宏慧点科技有限公司(Bright Key),26,创建产品,2023/11/8,北京博宏慧点科技有限公司(Bright Key),27,如果产品在外部系统,则需要输入RFC目标系统,如果产品在同一系统,则不需要输入。不要忘记激活产品。,配置事件、产品和函数的对应关系,2023/11/8,北京博宏慧点科技有限公司(Bright Key),28,将“Ctr”和“应用”字段留空,除非你想使用特定国家或特定行业的实施增强代替标准流程的。,练习,2023/11/8,北京博宏慧点科技有限公司(Bright Key),29,问题与解答,2023/11/8,北京博宏慧点科技有限公司(Bright Key),30,