Ошибка 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 может его использовать.