点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
您好,大师
我在SCN上经过多个线程进行字幕查询,但无法得出我的情况的结论
我需要为EWM相关方案执行8个BAPI,在这种情况下,如果Bapi 2返回错误,则我不应该还原由Bapi 1提交的数据库更改。 同时,我不想使用WAIT语句来避免性能问题。
请不要将先前BAPI所做的数据库更改用于下一个BAPI,依此类推。 如果我不使用WAIT,有时下一个Bapi找不到MBLNR或HU详细信息,因此要消除此问题并同时提高性能,我打算使用SET UPDATE TASK LOCAL。
请确认SET UPDATE TASK LOCAL是否适合我的情况...
..........................,。
设置更新任务本地
致电BAPI 1
设置更新任务本地
致电BAPI 2
设置更新任务本地
致电BAPI 3
..........以此类推,直到Bapi 8
请确认。
我的要求也与UPDATE TASK FM不同,我想不管COMMIT WORK语句如何触发BAPI
谢谢
Sachin
下面我将解释一些可能对您有帮助的概念,以最大可能的方式解决您的问题。
通过"更新任务"中的"呼叫功能"或过时的"执行",可以注册一个或多个进程。
它们仅在COMMIT WORK启动时运行:
BAPI可能仅在更新任务或本地更新之前返回错误 运行。 在更新任务或本地更新期间发生的任何错误均会导致ABORT消息(SM13中的更新任务错误,或本地更新的中止消息)。
BAPI通常从不执行COMMIT WORK,但在那里 有一些例外(有时会在SAP注释中记录)。
注意:使用BAPI时,应使用功能模块BAPI_TRANSACTION_COMMIT(最终参数为WAIT)代替COMMIT WORK,因为存在缓冲区概念 可以在" BAPI调用链"中实现。
您写了' 我不想使用WAIT语句来避免性能问题。'
将 't本地更新导致的性能损失几乎与WAIT语句相同,您只会取消更新进程队列中的任何等待,如果您在更新队列中遇到了漫长的等待(询问)
谢谢 有关Sandra的详细信息。
我使用SET UPDATE TASK LOCAL,但是NEXT BAPI仍然存在锁定问题
嗨,Sandra
我确实提交了 并以我的代码编写的回滚工作(我的假设是锁)将被释放,但没有释放。 此外,在提交工作之后编写的SELECT语句在该特定时间段内无法从DB找到TO号。
释放锁定取决于" 范围"。 缺省值(2)是在更新任务或本地更新结束时释放锁定。 如果您不用等待(异步调用)就执行了COMMIT WORK,那么您的程序当然会执行下一个BAPI,但是锁仍然在那里(异步删除)。 您会看到,一切都取决于您所面对的具体情况,不可能只给您一个答案。 您可以通过跟踪(ST05)或通过锁管理事务(SM12)实时查看锁及其作用域。
抱歉,我不知道 您要实施的解决方案。
"仍然"? 你以前有这个问题吗? :D
在您最初的建议中,您不使用COMMIT WORK,因此锁保持锁定是正常的。
我也应该解释一下如何处理锁吗?
一周热门 更多>