SET UPDATE TASK LOCAL,用于执行一系列EWM BAPI

2020-09-03 14:33发布

         点击此处--->   EasySAP.com群内免费提供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

         点击此处--->   EasySAP.com群内免费提供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

付费偷看设置
发送
6条回答
me_for_i
1楼-- · 2020-09-03 15:13

下面我将解释一些可能对您有帮助的概念,以最大可能的方式解决您的问题。

通过"更新任务"中的"呼叫功能"或过时的"执行",可以注册一个或多个进程。

它们仅在COMMIT WORK启动时运行:

  • 通过更新任务(在不同的(更新)工作流程中),该任务与COMMIT WORK异步运行,或与COMMIT WORK AND WAIT伪同步运行
  • 或同步运行("本地更新" ,即与COMMIT WORK处于同一工作流程中),如果设置更新 运行TASK LOCAL (必须在进行任何注册之前进行,否则会进行短暂的转储)
  • 在这里,"同步"表示当COMMIT WORK完成时,更新任务或本地更新完成了
  • 即 在您的情况下,如果BAPI需要先前BAPI中的数据,则您需要同步运行中间COMMIT WORK。

BAPI可能仅在更新任务或本地更新之前返回错误 运行。 在更新任务或本地更新期间发生的任何错误均会导致ABORT消息(SM13中的更新任务错误,或本地更新的中止消息)。

BAPI通常从不执行COMMIT WORK,但在那里 有一些例外(有时会在SAP注释中记录)。

注意:使用BAPI时,应使用功能模块BAPI_TRANSACTION_COMMIT(最终参数为WAIT)代替COMMIT WORK,因为存在缓冲区概念 可以在" BAPI调用链"中实现。

哎,真难
2楼-- · 2020-09-03 15:13

您写了' 我不想使用WAIT语句来避免性能问题。'

将 't本地更新导致的性能损失几乎与WAIT语句相同,您只会取消更新进程队列中的任何等待,如果您在更新队列中遇到了漫长的等待(询问)

当学会了学习
3楼-- · 2020-09-03 15:20

谢谢 有关Sandra的详细信息。

我使用SET UPDATE TASK LOCAL,但是NEXT BAPI仍然存在锁定问题

shere_lin
4楼-- · 2020-09-03 15:20

嗨,Sandra

我确实提交了 并以我的代码编写的回滚工作(我的假设是锁)将被释放,但没有释放。 此外,在提交工作之后编写的SELECT语句在该特定时间段内无法从DB找到TO号。

SAP小菜
5楼-- · 2020-09-03 15:33

释放锁定取决于" 范围"。 缺省值(2)是在更新任务或本地更新结束时释放锁定。 如果您不用等待(异步调用)就执行了COMMIT WORK,那么您的程序当然会执行下一个BAPI,但是锁仍然在那里(异步删除)。 您会看到,一切都取决于您所面对的具体情况,不可能只给您一个答案。 您可以通过跟踪(ST05)或通过锁管理事务(SM12)实时查看锁及其作用域。

Cikesha
6楼-- · 2020-09-03 15:17

抱歉,我不知道 您要实施的解决方案。

"仍然"? 你以前有这个问题吗? :D

在您最初的建议中,您不使用COMMIT WORK,因此锁保持锁定是正常的。

我也应该解释一下如何处理锁吗?

一周热门 更多>