点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
在尝试将方法调用的结果(对数据的类型引用)"分配"给字段符号时,我遇到了一个奇怪的错误。
class lcl_test定义创建public。 公共部分。 受保护的部分。 私人部分。 方法get_data_ref 向数据返回值(r_data)TYPE REF。 结束类。 lcl_test类的实现。 方法get_data_ref。 DATA lr_test_data TYPE REF TO数据。 使用EMPTY KEY创建数据lr_test_data类型表。 r_data = lr_test_data。 方法。 结束类。 选择开始。 FIELD-SYMBOLS:类型任何表。 DATA(O_test)=新的lcl_test()。 ASSIGN o_test-> get_data_ref()-> *至 。
我不断收到此错误"由于无法测试的源代码已经引用了该类" O_TEST-> GET_DATA_REF(不能创建为" FOR TESTING"。" >
那不可能吗? 我还尝试了使用非通用返回值(char10)。
它分两个步骤工作。 如果您首先将方法" get_data_ref"的结果保存在变量中,然后将该变量传递给Assign语句。
亲切的问候,
开
在我的系统上对其进行了尝试,并得到了相同的结果。 错误消息是不正确的-应该说一些关于不能取消引用方法调用的信息。 您应该先将get_data_ref转移到公共部分,然后在 support.sap.com 上进行报告!/p>
我在7.52 SP 1中收到语法错误消息:"无法在当前位置指定任何方法。" (无论GET_DATA_REF是私有的还是公共的)。
无论如何,返回的值仅在当前语句的持续时间内存在,因此正常情况下ASSIGN不接受它(至少在ABAP 7.52中)。 还有其他一些情况。
您正在访问私有方法。 语法错误可能是因为这个原因吗?
我认为这是因为方法链接具有相同的语法(method()-> ...),因此不允许在那里取消引用。
否。 因为当您将方法定义移到公共位置时,仍然会收到错误。
一周热门 更多>