做网站待遇,wordpress调用标签,做网站遇到的问题及解决方法,做网站怎么把背景变成纯色前言
呃#xff0c;又是很磨人的需求#xff0c;正常情况下是不允许在增强中COMMIT的#xff0c;会影响源程序本身的逻辑#xff0c;但是这个需求就得这么干… 就是在交货单增强里面要再调用一次交货单BAPI#xff0c;通过SO的交货单自动创建STO的交货单#xff0c;如果…前言
呃又是很磨人的需求正常情况下是不允许在增强中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会报错所以就用这种间接的方式了