Как показать редактируемый itab во всплывающем окне?

У меня есть редактируемые кнопки ALV (через status gui), SAVE, REFRESH и HISTORICAL.

введите здесь описание изображения

У меня нет проблем с save и refresh, но в historical я хотел бы показать через всплывающее окно вкладку, но эта вкладка должна быть редактируемой или, по крайней мере, иметь какую-либо кнопку для обновления изменений.

В этом случае важно не использовать пользовательский dynpro. Итак, существует ли какой-либо FM, отвечающий этим требованиям?

Спасибо!

Изменить:

Хорошо, похоже, мне придется использовать table control через dynpro. Я оставляю проблему нерешенной, чтобы опубликовать свое решение, когда я это сделаю


person Marc S.    schedule 25.11.2020    source источник
comment
редактируемые ALV обычно предназначены для обновления БД, в чем смысл редактируемых itab? Вы хотите отразить эти всплывающие изменения в ALV? или они будут сохраняться в БД?   -  person Suncatcher    schedule 25.11.2020
comment
Да, этот itab будет апостериорно обновлять таблицу из БД с ранее заряженным содержимым, ссылающимся на такие элементы, как sy-uname, sy-datum, sy-uzeit , и содержимым из столбца Devaluat (на снимке экрана), где его содержимое отличается от содержимого itab. (Просто таблица содержимого истории)   -  person Marc S.    schedule 25.11.2020
comment
Я не понимаю, почему вы не должны использовать пользовательский dynpro, который рекомендуется для создания модального диалога. Если он вам не нужен, вы можете создать амодальное диалоговое окно, создав экземпляр CL_GUI_DIALOGBOX_CONTAINER и включив в него редактируемый ALV. Я думаю, у вас есть много примеров в Интернете. Амодальный означает, что пользователь может продолжать взаимодействовать с текущим модальным диалогом (и другими амодальными). Если вам нужен только модальный диалог, вы должны использовать dynpro, поэтому я позволю вам найти общий dynpro, предназначенный для этой цели. Насколько я знаю, SAP не предлагает стандартный.   -  person Sandra Rossi    schedule 26.11.2020
comment
@SandraRossi Существует множество функциональных модулей для распространенных типов модальных диалогов, таких как POPUP_TO_CONFIRM или POPUP_TO_GET_ONE_VALUE. Так что это закономерный вопрос.   -  person Philipp    schedule 26.11.2020
comment
@Philipp Как я уже сказал, то, что вы упомянули, не отвечает на вопрос, и я имел в виду то, что предоставляет SAP, так это отсутствие официального API для встраивания элемента управления графическим интерфейсом. Если OP хочет что-то не официальное, то можно использовать CL_SCREEN_FRAMEWORK и связанные с ним классы, но сложно объяснить, как это работает. Я забыл упомянуть еще одно решение, основанное на технологии Dynpro, но оно касается экрана выбора, который создается операторами ABAP. Если OP примет решение, основанное на сгенерированном Dynpro, я буду рад опубликовать подробный ответ.   -  person Sandra Rossi    schedule 27.11.2020
comment
В конце концов, это изменение было объявлено устаревшим моим боссом, и я не стал его кодировать. Извините ребята!   -  person Marc S.    schedule 03.12.2020


Ответы (1)


Пробовали ли вы старый добрый FM REUSE_ALV_GRID_DISPLAY и передавать какие-то значения этим параметрам?

i_screen_start_column         = 5  " X0
i_screen_start_line           = 5  " Y0
i_screen_end_column           = 60 " X1
i_screen_end_line             = 20 " Y1

(значения приведены для примера)

И в fieldcat вы должны установить эти флаги, чтобы сделать столбец редактируемым.

ls_fieldcat-checkbox  = abap_true.
ls_fieldcat-edit      = abap_true.
person cape_bsas    schedule 04.12.2020