Ошибка Smartform "Плоские типы могут ссылаться только с помощью LIKE для параметров таблицы"

Я создал таблицу ZPDETAIL01 в se11 и активировал ее. В интерфейсе форм smartforms я создаю параметр таблицы zdetail на вкладке таблиц с назначением типа TYPE и связанным типом ZPDETAIL01. Когда я проверяю это, происходит ошибка: "На плоские типы ZPDETAIL01 можно ссылаться только с помощью LIKE для параметров таблицы"

Это ошибка самой таблицы или настройки параметров? Спасибо.

Я изменил тип присвоения на LIKE и проблема решена. Но мне интересно, почему в кнопке справки поиска я не могу найти опцию LIKE, только TYPE и TYPE REF.

1 ответ

Решение

Просто недостаток в пользовательском интерфейсе. Если это разрешено, то оно должно быть указано в качестве возможного значения.

Но я полагаю, что SAP просто не хотелось исправлять мелочи этой устаревшей технологии (например, Smart Forms... сейчас предпочитают формы Adobe или сторонние решения). Обратите внимание, что список значений взят из таблицы RSFBTYPEINи, вероятно, LIKE ранее был определен в этой таблице, но поскольку LIKE устарел для ввода параметров импорта и экспорта в функциональных модулях, SAP, вероятно, удалила его: большинство выигрывает у меньшинства. Просто предположение.

При желании вы можете открыть заявку в службе поддержки SAP, чтобы исправить ее.

Поведение в ABAP 7.52 SP01 (тесты выполняются с объектами DDIC: плоский стол SCARR, неплоский стол SOTR_TEXTU, тип таблицы BAPIRETTAB):

Typing   Associated type    Button           Error message
------   ----------------   --------------   -------------------------------------------
TYPE     Flat struc/table   Check            SCARR Flat types may only be referenced 
                                             using LIKE for table parameters
TYPE     Flat struc/table   Activate         Only table types may be used as the 
                                             reference type for a table parameter
TYPE     Non-flat str/tab.  Check/Activate   Only table types may be used as the 
                                             reference type for a table parameter
TYPE     Table type         Check/Activate   None
LIKE     Flat struc/table   Check/Activate   None

LIKE     Non-flat str/tab.  Check/Activate   None but short dump at runtime (because of
                                             syntax error in FM: "&1" must be a flat 
                                             structure. Internal tables, strings, references, 
                                             and structures cannot be used as components.)
LIKE     Table type         Check            Type BAPIRETTAB is not allowed in this context
LIKE     Table type         Activate         Tables using LIKE may only reference flat structures

Как видите, есть большая проблема, чем просто не показывать LIKE, в одном случае есть короткий дамп!

Обратите внимание, что я не тестировал TYPE REF TO, но сомневаюсь, что параметр TABLES может его использовать.

Другие вопросы по тегам