您无法访问私有方法" GETU_BCS_INSTANCE"。 不允许。

2020-08-14 15:09发布

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

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


嗨,

我正在尝试下面的代码,以使用类'cl_document_bcs'和SOST中的方法getu_bcs_instance获取附件详细信息。

,但是在激活它的给予错误时,"您无法访问私有方法" GETU_BCS_INSTANCE"。 不允许。'。 请建议我如何在我的 program.As 中使用此方法,因为它是一个持久类,不允许 也复制。

lt_attachment1类型参考cl_document_bcs

创建对象lt_attachment1。

呼叫方法lt_attachment1-> getu_bcs_instance

导出

im_soodk = l_att_id

接收

re_if_bcs = li_attachment。

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

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


嗨,

我正在尝试下面的代码,以使用类'cl_document_bcs'和SOST中的方法getu_bcs_instance获取附件详细信息。

,但是在激活它的给予错误时,"您无法访问私有方法" GETU_BCS_INSTANCE"。 不允许。'。 请建议我如何在我的 program.As 中使用此方法,因为它是一个持久类,不允许 也复制。

lt_attachment1类型参考cl_document_bcs

创建对象lt_attachment1。

呼叫方法lt_attachment1-> getu_bcs_instance

导出

im_soodk = l_att_id

接收

re_if_bcs = li_attachment。

付费偷看设置
发送
4条回答
土豆飞人
1楼 · 2020-08-14 15:55.采纳回答

在面向对象中,您应该使用接口访问类。

接口就像类与外部之间的契约。

有时类没有接口(这是一种不好的做法),所以您别无选择。 但是在这里,此类有几个接口。

有关信息,带有接口的代码如下所示:

数据lt_attachment类型ref到if_document_bcs。
 lt_attachment =新的cl_document_bcs()。
 

使用此代码,lt_attachment将仅访问界面中列出的方法。

,对于您的问题,您可以通过使用参数LOCAL FRIEND创建一个类来绕过所有这些限制。

https://help.sap.com/doc/abapdocu_752_index_htm /7.52/zh-CN/abenfriends.htm

我认为这也是纯净代码中的不良做法。

也许是为了您的问题,而不是给我们提出问题,而是说明了您为什么要这样做。 真正的最终目标是什么

me_for_i
2楼-- · 2020-08-14 15:44

实际的方法名称是GETU_INSTANCE_BY_KEY。 在此处查看代码段(作为对先前问题的解答): /img/ comments/13102354/view.html

SAP德到
3楼-- · 2020-08-14 15:38

你好 Debesh Tiwari

有一个GETU_INSTANCE_BY_KEY方法。 也许尝试一下?

亲切的问候,
Mateusz
SKY徐
4楼-- · 2020-08-14 15:30

它对我有用。谢谢

一周热门 更多>