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

2020-08-14 15:09发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我正在尝试下面的代码,以...

         点击此处--->   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条回答
土豆飞人
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

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

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

一周热门 更多>