如何控制对公共内部表的并发访问

2020-08-21 02:25发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我正在尝试并行处理。

我已经将多个FM称为任务​​,它们一旦完成便触发自己的关闭方法。(任务结束)

每种方法都将根据每个任务/FM的输出更新单个全局内部表。

如果同时触发多个方法并尝试一次更新内部表怎么办? 为了更新数据库表,我们可以使用锁对象。

我们如何控制和规范对内部表的并发访问? 需要这样的控制吗?

我们如何在abap方法中实现信号量/互斥量?

注意:我已经搜索了一段时间。 所有答案似乎都指向与基础相关的查询或其他编程语言。 可能是我缺少正确的关键字。 任何输入都会很有帮助。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我正在尝试并行处理。

我已经将多个FM称为任务​​,它们一旦完成便触发自己的关闭方法。(任务结束)

每种方法都将根据每个任务/FM的输出更新单个全局内部表。

如果同时触发多个方法并尝试一次更新内部表怎么办? 为了更新数据库表,我们可以使用锁对象。

我们如何控制和规范对内部表的并发访问? 需要这样的控制吗?

我们如何在abap方法中实现信号量/互斥量?

注意:我已经搜索了一段时间。 所有答案似乎都指向与基础相关的查询或其他编程语言。 可能是我缺少正确的关键字。 任何输入都会很有帮助。

付费偷看设置
发送
3条回答
Baoming ROSE
1楼-- · 2020-08-21 03:00

请解释为什么需要公用内部表。

如果不使用公用内部表,则无需控制并发访问。 您应该使每个任务与其他任务独立,使用局部变量而不是全局变量,然后在"闭包方法"(任务结束)中组合最终数据。

clever101
2楼-- · 2020-08-21 02:47

嗨,桑德拉,

每个闭包方法中的变量都是局部变量。

根据任务,最后调用不同的方法。 一个任务将返回EVER表条目,另一个任务将返回ERDK条目,另一个任务将返回BUT000条目。 而且每种方法都有代码,可以根据返回的数据来得出BP。

我需要将与上述各项相关的BP合并到一个内部表中。 为此,我将使用全局内部表。 在这种情况下,如果有多种方法尝试同时访问内部表,我们是否不需要锁定机制?

谢谢

约书亚。

Doze时光
3楼-- · 2020-08-21 02:52

您说:"我需要合并与上述各项相关的BP"。 为什么不使用方法"关闭方法"(任务结束)呢?

一周热门 更多>