将带有内置函数的计算值传递给TYPE数据导入参数语法错误

2020-09-20 05:12发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我想使用CL_DEMO_OUTP...

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

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


我想使用CL_DEMO_OUTPUT显示一些调试值。 一个是内部表的行数。 我写了这样的东西:

数据:gt_tab TYPE字符串标签。

 cl_demo_output => new(
   )-> write_data(行(gt_tab)
   )-> display()。

我很惊讶地发现语法上不正确并且不能编译(751SP02)。

作为类型确定失败或没有足够信息时的首选方法,我调整了行以提供一些帮助:

 cl_demo_output => new(
   )-> write_data(CONV i(lines(gt_tab))
   )-> display()。
 

这现在会导致语法警告:

这对我来说似乎很奇怪,因为如果多余的话,我应该可以将其忽略。

我查看了write_data的参数接口,试图找出它是通过值传递还是通过引用传递通用导入参数是否有所不同,但这似乎没有任何区别。 尽管使用TYPE ANY而不是TYPE数据(?!),但有什么不同。 我的印象是它们的作用相同,如今数据将成为使用的数据(如果您必须使用通用参数)。 在文档中,我也找不到关于它们行为不同的任何提示:

"任何泛型都可以像此处列出的所有泛型一样,除了数据和对象之外,只能在TYPE之后直接指定,并且在那里具有与泛型数据完全相同的效果。" (

https ://help.sap.com/http.svc/rc/abapdocu_752_index_htm/7.52/zh-CN/index.htm?file = abenbuilt_in_types_generic.htm )

(1.9 kB)