当前位置: 首页 > news >正文

SAP BTEs的简介及实现

一、认识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种类型,类似于会计凭证的验证和替代。
P/S函数模块(Publish and Subscribe Interface):只提供SAP数据源,可以供外部程序使用或者达到数据检查的目的。
处理函数模块(Process Interface):可以达到数据修改的目的,用来增强标准的业务流程。

二、查找BTE增强

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

1、在标准程序中查找字符串“OPEN_FI_PERFORM”,如果找到的函数最后是“_E”,则说明这是“P/S函数模块”,如果是“_P”,则是“处理函数模块”。

 

2、利用事务代码FIBF,通过菜单“环境”→“信息系统(P/S)”/“环境”→“信息系统(处理)”进行查找,或者直接利用事务代码BERE(for Publishand Subscribe Interface)和BERP (for Process Interface)。 

 

 

 

三、BTE实现

利用事务代码FIBF,通过菜单“环境”→“信息系统(P/S)”选择需要实现的BTE,如下:

 

选择后单击“样本函数模块”(Sample function moudle)按钮,复制样本函数(注意首先需要准备好函数组)。 

FM创建完成后根据需要编辑自己的代码。 

之后回到事务代码FIBF,创建一个客户的产品。注意需要勾选激活复选框后进行保存。

 

 

接着利用事务代码FIBF将之前创建的函数(FM)和事件(EVENT)通过产品连接起来。

 

 

最后保存激活,调试测试。

四、已实现增强的查找
这里介绍一个比较简单的方法,可以将一个Package里面的所有已实现的增强展示出来。SAP提供了这样一个标准程序“SNIF”,首先我们需要找到所在的“包”。

利用事务代码SE80找到某个程序所在的“Package”,点击“显示上级对象列表”按钮即可。

运行程序“SNIF”,输入包名,如果勾上“也选择SAP实施业务加载项”就会把SAP标准的也显示出来。 

 

运行我们可以发现各类增强会分门别类的按照页签进行显示。

 

 

http://www.lryc.cn/news/35617.html

相关文章:

  • 如何利用海外主机服务提高网站速度?
  • 【SpringMVC】 一文掌握 》》》 @RequestMapping注解
  • 高三应该怎么复习
  • 如何通过C++ 将数据写入 Excel 工作表
  • Kalman Filter in SLAM (6) ——Error-state Kalman Filter (EsKF, 误差状态卡尔曼滤波)
  • centos7部署KVM虚拟化
  • 【华为机试真题详解 Python实现】最小施肥机能效【2023 Q1 | 100分】
  • SpringBoot - 什么是跨域?如何解决跨域?
  • Astra pro相机使用说明
  • 扬帆优配|数字经济刮起“东风”,龙头晋级7连板
  • Day911.DTO和DO为什么要互转 -SpringBoot与K8s云原生微服务实践
  • 查找、排序、二叉树的算法,统统记录于此。
  • 如何用Python实现在网页中嵌入YouTube的视频?
  • Easy Deep Learning——PyTorch中的自动微分
  • 【生物信息】利用ChatGPT解释GO分析中的关于Biological Processes的问题
  • 2018年MathorCup数学建模C题陆基导弹打击航母的数学建模与算法设计解题全过程文档及程序
  • 打怪升级之CFile类
  • [css]通过网站实例学习以最简单的方式构造三元素布局
  • 【冲刺蓝桥杯的最后30天】day6
  • ssm框架之spring:浅聊IOC
  • pytest初识
  • 设计模式~责任链模式(Chain of Responsibility)-12
  • 【ElasticSearch】(一)—— 初识ES
  • MySQL 事务隔离
  • 基础06-JS中for-in和for-of有什么区别
  • AI视频智能分析EasyCVR视频融合平台录像计划模块搜索框细节优化
  • TCP和UDP对比
  • CVS Health 西维斯健康EDI需求
  • Anaconda配置Python科学计算库SciPy的方法
  • 数据库基本功之复杂查询的子查询