Вывод текста в окне ABAP

В этой статье разберём задачу в вывода длинного текста пользователю в виде всплывающего окна. Для этого используем ФМ COPO_POPUP_TO_DISPLAY_TEXTLIST. Он даёт возможность вывести текст произвольной длины пользователю. Этот ФМ так же имеет несколько режимов, от которых зависит набор кнопок в окне. Задача вывод текста в окне ABAP часто возникает при работе с длинными текстами.

 

Вывод текста в окне ABAP с текстовым блоком на практике.

Предпосылки для возникновения этой статьи были следующие:

  • В таблице ALV, во первых, нет возможности вывести текст в столбце длиннее чем 255 символов. А задача вывести поле, например, 300 или 500 символов.
  • Даже если вывести с таблице поле 200-250 символов, оно займет большую часть экрана. Это снизит удобство работы с программой для пользователей SAP.
  • Даже при длине 100 символов, порой, нет смысла его отображать. Можно заменить его индикатором, а по щелчку на иконку открывать подробный текст.

Стандартный журнал сообщений как альтернатива.

Если задача в выводе текстов сообщений об ошибках, то можно воспользоваться выводом журнала сообщений. Но у него есть ограничение на длину одной строки сообщения в 200 символов. Также при этом к каждой строке в столбце будет выводиться индикатор типа сообщения. Надо учитывать эти ограничения при выборе варианта реализации. В случае списка сообщений с длинной до 200 символов, это хороший вариант.

 

Подготовка данных для передачи в ФМ.

У функционального модуля COPO_POPUP_TO_DISPLAY_TEXTLIST также имеются ограничения на длину одной строки. Оно составляет 132 символа, это максимальная длина одной строки при выводе. При этом не обязательно разбивать строку именно на подстроки по 132 символа. Можно разбить на любую удобную для имеющейся задачи длину. В связи с этим возникает задача разбиения произвольной строки на подстроки одинаковой длины. То есть задача разбилась на преобразование длинной строки в таблицу строк и передачу в ФМ. Теперь рассмотрим подробнее возможности функционального модуля.

https://youtu.be/V8br8S0XLCs
Вывод текста ABAP в окне

ФМ COPO_POPUP_TO_DISPLAY_TEXTLIST и вывод текста в окне ABAP

  • task – режим работы функционального модуля. Возможные режимы:
    • ‘DISPLAY’ – это режим для удобства просмотра, в котором есть возможность быстрого перехода между страницами текста на экране. Перейти на следующую страницу, перейти в конец текста, на первую страницу и в начало текста. При любом варианте закрытия окна FUNCTION = BACK.
    • ‘DECIDE’ – это режим с кнопками “Скопировать” и “Изменить”. Но на самом деле кнопки влияют только на заполнение параметра FUNCTION. При нажатии кнопки “Скопировать” пользователем FUNCTION = ACCE, а при нажатии “Изменить” FUNCTION = MODI.
  • titel – заголовок окна
  • function – код, возвращаемый ФМ по результату диалога с пользователем. Зависит от режима и действий пользователя. Варианты возврата: BACK, ACCE, MODI.

Шаблон для вывода текста пользователю в выпадающем окне(подробные статьи по гиперссылкам):

 

Операторы используемые в коде:

Добавить комментарий