不同调用实例的实例更新属性

2020-09-15 02:15发布

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

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


该问题正在SAP BPC的Badi开发环境中发生。

在Badi可以开发代码的方法中,我们使用了exising

标准SAP类(CL_UJO_WRITE_BACK)可将数据保存到

数据库。 我们创建该类的实例,然后调用传递一些信息的方法

参数。 在该方法中,将更新类的属性。 不知何故

还会更新调用实例的属性。

我将再次示意地解释这一点:

X类,实例Xa

实例Xa拥有属性y

实例Xa调用调用Badi的方法。

在Badi方法中,实例Xb创建为

同一班。 属性y用

方法更新

实例Xb。 不知何故,它也会更新属性y

实例Xa。

这是Abap对象的正常行为吗?

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

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


该问题正在SAP BPC的Badi开发环境中发生。

在Badi可以开发代码的方法中,我们使用了exising

标准SAP类(CL_UJO_WRITE_BACK)可将数据保存到

数据库。 我们创建该类的实例,然后调用传递一些信息的方法

参数。 在该方法中,将更新类的属性。 不知何故

还会更新调用实例的属性。

我将再次示意地解释这一点:

X类,实例Xa

实例Xa拥有属性y

实例Xa调用调用Badi的方法。

在Badi方法中,实例Xb创建为

同一班。 属性y用

方法更新

实例Xb。 不知何故,它也会更新属性y

实例Xa。

这是Abap对象的正常行为吗?

付费偷看设置
发送
8条回答
Nan4612
1楼 · 2020-09-15 02:34.采纳回答

按文档所述工作。

https://帮助。 sap.com/doc/abapdocu_752_index_htm/7.52/zh-CN/abapprivate.htm?file=abapprivate.htm

ABAP对象的最小封装单位是类,而不是对象。

黑丝骑士
2楼-- · 2020-09-15 02:30

嗨,瓦迪姆,


这是一个复杂的业务逻辑,已经存在了一段时间。 我无法在这个论坛上对此进行解释,

,它与该问题无关。 现在出现了问题,因为问题来了

保存的数据需要审核,并且由于这个问题,数据没有保存在审核日志中。 这是一个ABAP

技术问题,这就是为什么我在ABAP论坛上发布了它。

SAP小菜
3楼-- · 2020-09-15 02:31

如果发布了实际代码,这将更容易回答。 使用编辑器中的"代码"按钮。

在调试器中运行,然后查看Xa和Xb的实例号。 他们是一样的吗?

lukcy2020
4楼-- · 2020-09-15 02:32

我正在使用回写Bad​​i。 因为我正在调用该类的回写方法,所以

标准程序已更新(因此,审核日志未更新,因此我可以看到

在调试中)。 我认为Badi绝不应该更新标准的类属性

SAP程序。 我现在想知道这是否可能是内核中的错误。

梦想连接
5楼-- · 2020-09-15 02:26

"这是已经存在一段时间的复杂的业务逻辑。我无法在此论坛上对此进行解释"-最高机密! :)

我为不同的系统写过很多回信,但从来没有像您这样的问题。

但是我从来没有设置ls_wb_param-update_audit = abap_false。 并禁用我的badi中的工作状态检查-在我看来,这通常是一种不良做法。

所有写入多维数据集的数据(通过输入形式,脚本逻辑,badi等)都必须反映在审核日志中。 相同的工作状态锁定。

小熊yu生菜
6楼-- · 2020-09-15 02:42

尝试我在回答中提出的建议,然后联系我们。

lukcy2020
7楼-- · 2020-09-15 02:23

是的,不幸的是,这是ABAP对象的正常行为。

类X的每个实例都可以更改X类实例的私有属性。

一周热门 更多>