cl_demo_output => отображать тип данных еще не поддерживается - PullRequest
0 голосов
/ 06 января 2020

В ABAP 7.4 ИЛИ выше, мы можем использовать ASTERISK так же, как мы используем в SELECT *.

Следующее внутреннее объединение является примером нового синтаксиса, который мы можем использовать.

 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 ).

Сообщение об ошибке: «тип данных еще не поддерживается»

Может кто-нибудь объяснить причину?

что может быть лучшим решением?

1 Ответ

2 голосов
/ 06 января 2020

В выпуске 7.40 или даже в ABAP 7.52 cl_demo_output=>display может отображать только внутреннюю таблицу со списком элементарных компонентов (string, i, c, et c.)

В вашем случае внутренняя таблица t_result автоматически объявляется из трех компонентов, второй является структурой , который не является элементарным типом.

Это структура, потому что вы использовали ~*. Вместо этого объявите каждый столбец явно (spfli~carrid, spfli~connid, ...)

Примечание: класс cl_demo_output не должен использоваться продуктивно. Если вам нужен универсальный инструмент c, создайте свой собственный инструмент, например, на основе класса cl_salv_table.

...