ABAP 在增强中COMMIT

前言

呃,又是很磨人的需求,正常情况下是不允许在增强中COMMIT的,会影响源程序本身的逻辑,但是这个需求就得这么干...

就是在交货单增强里面要再调用一次交货单BAPI,通过SO的交货单自动创建STO的交货单,如果无法成功创建STO交货单那么原SO交货单也不允许新建

STO交货单失败的情况很好做,反正都不建报个E类型错就行;但是STO交货单要是创建成功那就要COMMIT了,而且还要写到自建表里面,最后用下面的方法实现了

解决方案

看了别的大佬的博客,用远程RFC可以另起一个会话,在另外的会话中做commit就不会影响原来的bapi,我再wait个半秒钟从自建表里面捞commit的结果就能知道BAPI有没有成功

抄了个大概,要建两个RFC,一个正常的RFC给BAPI调用,一个远程的RFC给正常的RFC调用

增强里面调用正常RFC

正常RFC调用远程RFC,返回uuid给增强程序,后续增强程序根据uuid查询日志自建表判断此次远程调用是否成功并获取消息

远程RFC调用BAPI并COMMIT

重点没什么,其实主要就是STARTING NEW TASK让SAP另起一个异步会话去处理,增强里面直接调远程RFC会报错,所以就用这种间接的方式了

相关推荐
乐乐82342 天前
ABAP:SET CURSOR FIELD设置鼠标焦点
abap
向上的车轮2 天前
ODOO学习笔记(4):Odoo与SAP的主要区别是什么?
笔记·学习·sap·odoo
哲讯智能科技4 天前
SAP Business One市场价格解析
运维·sap·erp
小九不懂SAP8 天前
SAP(PP生产制造)拆解工单业务处理
sap·制造·s4·pp
冰魄禾9 天前
SAP ABAP开发学习——BAPI
运维·开发语言·笔记·运维开发·sap·abap
syounger12 天前
是我们“辜负”了IBM、SAP么?
sap
Liquid UI13 天前
Amcor 如何借助 Liquid UI 实现SAP PM可靠性
ui·自动化·sap·制造
Lisson 319 天前
The ABAP program lines are wider than the internal table.
abap
数字化转型202524 天前
跨国SAP实施 - 美国 - 税法 - 咨询
sap
阿达_优阅达1 个月前
优阅达携手 Theobald 亮相新加坡科技周,助力企业 SAP 数据集成与应用
科技·ai·sap·企业数字化转型·theobald