点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
我目前正在开发Web服务,用于从外部系统(Web应用程序)更新入站交付。
外部应用程序将具有显示和更新SAP入库交货的功能。 在应用程序的编辑模式下,应在SAP中锁定内向交货
我创建了3个RFC功能模块,并从中创建Web服务:
1。 锁定FM ENQUEUE_EVVBLKE的Web服务以锁定SAP入站交付
2。 Web服务,用于更新调用FM BAPI_OUTB_DELIVERY_CHANGE
的交付3。 用于解锁FM DEQUEUE_EVVBLKE的SAP入站交付的Web服务
在使用SOAPUI进行的测试中,我顺序运行了Web服务,但是在调用Web服务以更新交付时发现了问题。 SAP throw错误消息表示传递已锁定(相同的用户ID)。
即使我们使用相同的SAP ID,第二个Web服务(更新交付)似乎也正在创建新的会话/LUW。
当我在SM04中检查用户会话时,第一次执行Web服务(锁定交付)的会话仍然存在。
我还尝试在调用FM BAPI_OUTB_DELIVERY_CHANGE之前先调用FM DEQUEUE_EVVBLKE,但是SM12中的锁定条目仍然存在。 发生这种情况是因为锁定交付和更新交付的会话不同。
有人在开发这种开发方面有经验吗? 请分享您的想法
这是因为它们不在单个会话中运行。 调用Web服务时,它将打开一个会话,并在那里工作并关闭该会话并显示数据。
因此,第一个Web服务调用创建了锁,并且
第二个服务调用,在调用锁FM时,显然是错误,因为这是第二个会话。
您的方案在GUI和webdynpro中运行良好,但在这里不是。
因此最好更改您的方法,并将所有锁定都包含在一个服务调用中。
如果您想要一种方法来执行此操作,请查看SAP OData服务软状态,通过它可以实现这种状态 功能。
否则,您也可以使用ETAG来实现。 但这不是悲观锁定,而是乐观锁定。
请注意
Mahesh
嗨,Mahesh,
谢谢您的答复。
不能选择致电服务,因为第三方应用程序将具有显示和更改交货的功能,例如SAP中的vl02n。
我注意到的一件事是,从第三方应用程序调用Web服务之后,会话仍保留在SAP中,并且可以在SM04中查看。
是否可以在下一次调用Web服务时重用那些会话?
一周热门 更多>