点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)在.net程序中,根据SAP返回...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)在.net程序中,根据SAP返回...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
在.net程序中,根据SAP返回的消息,我收到使用BAPI_PO_CREATE1创建的采购订单。 实际上,每次执行时,都会得到一个新的下一个更高的数字PO。 这似乎很好。
另外,在BAPI返回我的.net程序之后,我立即执行BAPI_TRANSACTION_COMMIT。
但是,当我查看SAP时,PO不存在。
BAPI_TRANSACTION_COMMIT中的RETURN结构是初始的。 因此那里没有错误。
对于WAIT = X和BAPI_TRANSACTION_COMMIT中的默认WAIT,我已经尝试了相同的结果。
在该过程中是否有特殊的地方应调用此BAPI_TRANSACTION_COMMIT? 在调用CREATE PO BAPI之后,我立即"假设"是正确的时间和地点。
使用内置提交创建自定义RFC并不是正确的方法 问题:您正在进行服务器端ABAP更改,而C#客户端需要在与提交调用相同的上下文中调用有状态BAPI RFC,以便SAP能够理解正确的LUW来完成。 通常,客户端程序员没有开发人员访问SAP服务器的权限即可更改或添加RFC。 问题在于,默认情况下,连接是无状态的,BAPI RFC永远不会与提交匹配,反之亦然。 提交将返回虚拟成功,该成功仅表明SAP提交了默认的空事务。 相反,这两个调用需要绑定在一起。 为此使用RfcTransaction对象的方法是正确的。 另一种方法可能是使用BeginContext将上下文固定在RfcDestination上,然后调用BAPI RFC,然后显式调用BAPI COMMIT,然后可选地调用EndContext(将在不影响JCo/Nco的情况下工作,但对JCo/Nco更好,以允许清理其保留的上下文 的轨迹。
Markus Tolksdorf 我说对了吗?
一周热门 更多>