最近做的一个需求是将ML81N采购服务订单确认产生的会计凭证抬头文本替换为特定格式,试了几种方案,都不成功。原先不成功的方案有:

方案一:

ML81N写个四代增强,实现的是物料凭证抬头文本替换为特定格式,产生的会计凭证抬头文本将自动与物料凭证抬头文本一致。

此方案对ML81N前台操作可行,对于BAPI:BAPI_ENTRYSHEET_CREATE 却不成功。

方案二:

在OBBH/GGB1中写替代。此方法也未成功。

最后采用大名鼎鼎的BTE 1120增强实现了。

现将小编对BTE增强的浅显理解做以下梳理,说的不对和考虑不全的地方,欢迎在下方一起讨论。

BTEs(Business Transaction Events),是SAP的一种增强方式,它主要有两种类型的接口:Publish and Subscribe Interface(P/S接口、消息)、Process Interface(处理接口)。

这两种类型的接口区别小编理解不深,在网上查相关资料,如下

  • Publish and Subscribe Interface(P/S接口)

用于告诉外部软件在SAP标准应用中触发了某些事件,并且把产生的数据提供给它们。外部软件不能给SAP系统返回任何数据。例如可以用在以下地方:

  • 主数据被创建、修改或锁定

  • 凭证被输入、预制、修改或冲销

  • 项目被清除或重置

也可以在附加的开发中基于此事件和数据产生附加的处理:

  • 启动工作流

  • 产生或修改附加数据

  • 请求通信

  • Process Interface(处理接口)

  • 用于控制与标准系统处理方法不同的业务流程,也就是用process  interface替换标准处理。它们干预标准流程,并返回数据给SAP应用。

(参考资料来源:https://blog.csdn.net/wbin9752/article/details/7954663?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~all~first_rank_v2~rank_v25-1-7954663.nonecase&utm_term=abap%20%E5%9B%9B%E4%BB%A3%E5%A2%9E%E5%BC%BA)

如果不知道ML81N中会用到哪些BTE,可在函数:BF_FUNCTIONS_FIND 和PC_FUNCTION_FIND 中打断点或者在程序中搜索字符串“OPEN_FI_PERFORM_” (函数前缀)。分别查看I_EVENT 、I_PROCS这两个变量的值,分别对应Publish and Subscribe Interface(P/S接口)、和Process Interface(处理接口)。可以找到此程序中的所有用到的BTE。如果同时有多个断点进入,可根据具体的需求和 bte函数的参数确定使用哪个。

1.  运行事务码:FIBF。因为此需求要干预标准流程,因此要查找的是“信息系统(处理)(N)”。选择菜单“环境->信息系统(处理)(N)->F8运行程序”,根据事件描述和事件文档对事件的详细描述逐个筛查,找出最符合要求的1120事件(与会计凭证相关的需求首先考虑1120事件)。

2. 在函数:PC_FUNCTION_FIND 中打断点,查看I_PROCS是否有1120。发现调用此事件。说明1120可用。

3.将样本函数复制并创建到自定义函数组和函数中。

4. 创建产品

5. 配置事件、产品和函数的对应关系

此处要注意!!!如果是“信息系统(处理)(N)”的事件要配置在“处理模块(R)”->“一个客户的”中,如果是“信息系统(P/S)(I)”的事件要配置在“发布/订阅模块” ->“一个客户的”中,配置错误将不进入增强点,增强失败。

有时在BTE中打断点,却没进断点。原因是事件在更新函数中被调用。

这时需在debug界面打开“系统调试”和“更新调试”,同时要确保界面充足,不超过6个,否则无界面展示无法进入断点。

END

往期推荐

ABAP调试器的一些高级用法

GRIR重分类(上)

GRIR重分类(下)

批次管理(上)

批次管理(下)

屏幕变式设置(方式一)

因增强导致BDC录屏执行异常的梗

序列号Serial Number管理

外币评估精选

字串拼接“空格”的使用

Select-options restrict

ERP 本地client copy

STRANS高效导出数据到WORD/EXCEL

关注公众号,加入SAP顾问讨论群!

扫描二维码

获取更多精彩

菜鸟家园

点点在看行不行

ABAP:BTE的查找及使用相关推荐

  1. ABAP ONF4 事件 查找表

    ABAP ONF4事件中查找表 暂时找到两个方法. 1-    DATA:L_DDOBJNAME TYPE RSEDD0-DDOBJNAME.     CALL FUNCTION 'RS_DD_F4_ ...

  2. ABAP程序:查找TC相关的出口。

    *该程序用于查找与TC相关的用户出口. REPORT ZUSEREXIT. TABLES:tstc,       tadir,       modsapt,       modact,       t ...

  3. ABAP BTE增强举例

    目的:实现在创建或修改时,检查客户是否有修改权限,判断销售价是否审批. 事务代码:FIBF  查看销售价BTE检查 创建一个产品,并激活 将BTE和产品,函数关联. 参照创建函数 ZFIBF_0050 ...

  4. [ABAP] BTE增强查找实施方法

    SAP BTE增强模式: 与USER_EXIT的思想类似,BTE增强模式是对SAP中预留的标准事件进行增强,所以BTE增强实施的核心工作是寻找合适的事件号码 1.寻找事件号及其对应的函数模块 首先进入 ...

  5. SAP ABAP SPRO配置查找对应TCODE或配置表

    右键->显示技术信息 一般情况后四位就是对应的事务代码

  6. SAP 业务交易事件BTE(Business Transaction Event)

    业务交易事件BTE BTE是什么,当然不是BT的ERP, E文全称Business Transaction Event,业务交易事件,我们知道一般的增强(Tcode:SMOD|CMOD)依旧使用ABA ...

  7. SAP携手泉州市政府共建SAP海丝工业互联网创新中心

    日前,SAP宣布与泉州市政府达成战略合作,双方将重点围绕泉州"八大千亿产业集群"转型升级和新基建建设全面深化,共建SAP海丝工业互联网(泉州)创新中心(以下简称"创新中心 ...

  8. 使用BDC进行Miro录屏时的公司代码弹窗问题

    最近这几个月手边头繁琐的事情比较多,所以在公众号推文方面有所懈怠.今天是21年的第一天,带孩子出去了一天,这阵找点时间来写一篇,鞭策自己新的一年努力努力再努力. 01 - 简要介绍 我们知道,有些事务 ...

  9. SAPERP软件如何修改采购订单信息记录中的净价?

    作者:Chisting 声明:本文章仅用于SAP软件的应用与学习,不代表SAP公司.(注:文中所示截图来源SAP软件,相应著作权归SAP所有.) 在SAP系统中如果采购信息记录中的净价维护错误,是可以 ...

最新文章

  1. CCF201604-3 路径解析(解法二)(100分)
  2. linux配置oracle11G监听及本地网络服务 及 数据库建库
  3. 科普:String hashCode 方法为什么选择数字 31 作为乘子
  4. java.lang.Class.getDeclaredMethod()方法详解
  5. 从Storm到Flink,有赞五年实时计算效率提升实践
  6. SQL数据库操作优化
  7. codeforce Gym 100500F Door Lock (二分)
  8. c语言 勒让德多项式,2406: C语言习题 求n阶勒让德多项式(示例代码)
  9. windows .bat批处理实现进程监控确保程序运行
  10. linux下rocksdb的编译安装
  11. 读书笔记-Java完全自学手册
  12. 大数据的IT分析工具
  13. python登录接口并发测试_使用python脚本作接口并发测试
  14. 高通linux-多核启动以及CPU热插拔驱动
  15. Java为 pdf、word和excel添加水印
  16. “0基础考生考前三小时突破《申论》80分气哭学霸”——单一题(问题+影响)
  17. word怎样把多个标题设置成一级标题,二级标题的简便方法
  18. 华为交换机本地查看登录和操作日志
  19. tplinkwr710n改无线打印服务器,【多图】TP-Link TL-WR710N 改8M Flash 刷OpenWrt
  20. django连接sqlserver的一些坑

热门文章

  1. np.min()和np.argmin()函数用法
  2. 尼古拉·特斯拉,到底有多神?
  3. windows 10 电脑必备软件
  4. mysql 查询最多的_MySQL中用通用查询日志找出查询次数最多的语句的教程
  5. 关于个人对培训的看法
  6. 哔哩哔哩 声音太小,怎么调大?
  7. OPC 、OPC DA、OPC UA介绍
  8. 二维高斯曲面拟合法求取光斑中心
  9. 小米,苹果,百度,三星等公司的智能语音识别功能如何测试?
  10. C#中向Chart中添加数据