在静态方法上初始化的静态属性对其他静态方法不可见。

2020-09-15 11:55发布

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

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


你好大师,

我创建了将由工作流程任务触发的公共静态方法。 在此方法中,将为外部类初始化对象并将其保留在静态属性中(外部类未由IF_workflow扩展,因此我无法将其传递回工作流容器)。

这很好。

在批准过程之后,我必须调用我的外部类的方法,因此要引用上面创建的静态属性。 但是它是初始的,因此任务执行出错。

1)为什么此静态属性为value在我的静态方法中不可用? 方法退出后会清除内存吗?

2)是为外部类创建静态属性的一种写方法,因为该类将被所有实例共享。

3)因为我想在我的方法/任务中使用此对象,所以如果我创建实例属性并在构造函数中初始化,可以吗?

此致

Srichandra Sannidhi。

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

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


你好大师,

我创建了将由工作流程任务触发的公共静态方法。 在此方法中,将为外部类初始化对象并将其保留在静态属性中(外部类未由IF_workflow扩展,因此我无法将其传递回工作流容器)。

这很好。

在批准过程之后,我必须调用我的外部类的方法,因此要引用上面创建的静态属性。 但是它是初始的,因此任务执行出错。

1)为什么此静态属性为value在我的静态方法中不可用? 方法退出后会清除内存吗?

2)是为外部类创建静态属性的一种写方法,因为该类将被所有实例共享。

3)因为我想在我的方法/任务中使用此对象,所以如果我创建实例属性并在构造函数中初始化,可以吗?

此致

Srichandra Sannidhi。

付费偷看设置
发送
4条回答
shere_lin
1楼 · 2020-09-15 12:33.采纳回答

否,工作流可以在多个SAP会话中并在不同的用户ID下执行。 因此,您不应假定静态数据会从一个步骤到下一个步骤保留下来。 正确的方法可以将您需要的任何信息保留在工作流容器中。

小灯塔
2楼-- · 2020-09-15 12:48

大家好

静态属性应该在CLASS_CONSTRUCTOR中初始化(尽管它可以调用其他静态方法来实现类属性的交错初始化)。

完成后,您将可以在用户和会话之间使用静态属性(当然,……取决于类属性的内容:-))

使用ABAP OO工作流和IF_WORKFLOW接口时,也会隐式触摸CLASS_CONSTRUCTOR。 因此,这里与任何其他ABAP面向对象的实现都没有区别。

保重

弗洛林

当学会了学习
3楼-- · 2020-09-15 12:29

嗨,

如何声明Static属性。 访问外部类必须是公共的,或者必须有公共方法才能获取静态属性。

谢谢

黑丝骑士
4楼-- · 2020-09-15 12:49

嗨,

如何声明Static属性。 访问外部类必须是公共的,或者必须有公共方法才能获取静态属性。

谢谢

一周热门 更多>