cl_demo_output=>显示尚不支持的数据类型

cl_demo_output=>display data type not yet supported

在 ABAP 7.4 或更高版本中,我们可以像在 SELECT *.

中一样使用 ASTERISK

以下内连接是我们可以使用的新语法示例。

 SELECT scarr~carrname, spfli~*, scarr~url
        FROM scarr INNER JOIN spfli ON scarr~carrid = spfli~carrid
        INTO TABLE @DATA(t_result).

我在尝试使用以下语句显示输出时遇到错误。

 cl_demo_output=>display( t_result ).

错误信息是"data type not yet supported"

谁能解释一下原因?

什么是更好的解决方案?

在 7.40 版本中,甚至在 ABAP 7.52 中,cl_demo_output=>display 只能显示一个内部 table 和 elementary 组件列表(stringi, c, 等等)

在你的例子中,内部 table t_result 自动声明为三个组件,第二个是 structure,它不是基本类型。

这是一个结构,因为您使用了 ~*。相反,显式声明每一列 (spfli~carrid, spfli~connid, ...)

注意:class cl_demo_output 不应有效使用。如果您需要通用工具,请创建自己的工具,例如基于 class cl_salv_table.