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会报错,所以就用这种间接的方式了

相关推荐
Odoo老杨4 天前
成长型企业 ERP 系统选型:SAP 与 Odoo 免费开源 ERP 全面对比
sap·odoo·erp·中小企业数字化
阿达_优阅达5 天前
告别手工对账:xSuite 如何帮助 SAP 企业实现财务全流程自动化?
服务器·数据库·人工智能·自动化·sap·企业数字化转型·xsuite
Henry-SAP6 天前
SAP MRP关键参数业务视角解析
sap·erp
Henry-SAP9 天前
SAP MPS主生产计划,BOM分解物料结构,库存资源业务关系解析.
sap·erp
Jack.Huangjh10 天前
SAP ODATA
abap
Henry-SAP11 天前
SAP UI5中DOMParser解析XML关键步骤
sap·erp
Henry-SAP12 天前
SAP(ERP)客户订单与预测需求如何影响MRP净需求.
sap·erp
Henry-SAP13 天前
SAP Target mapping目标映射本质
sap
山茶花开时。1 个月前
[SAP] SAP MM模块学习路径
sap·mm
stone08231 个月前
SAP - 使用CL_FDT_XL_SPREADSHEET将Excel文档导入到内表
sap