Создать этот пример Выберите шаблон и создайте новый отчёт с помощью демонстрационного сервиса.

xtt->merge( iv_block_name = 'R' is_block =

JSON
{"TITLE":"Document title","TEXT":"Just string","INT":3,"BOTTOM":"bottom"}

).


Создать демо 140

;type=block

Предпросмотр запроса

Назначение

Демо-класс ZCL_XTT_DEMO_140 выводит или удаляет целую область шаблона по ABAP-условию. Используйте ;type=block, когда условие относится к диапазону строк или PDF-подформуляру, а не к одному значению.

Вывод блока по условию

Время от времени в отчетах надо скрыть или показать часть данных в шаблоне. Как это сделать наиболее информативно?

image

Очередной ABAP в шаблоне

Два предыдущих случая были

  • Вывод данных по условию с их форматированием в ;cond=
  • show_if, hide_if для условного выбора из “шаблонов” строк

Дополнение ‘;type=block’

Напоминает больше всего show_if, но предназначена не для конкретного дерева или таблицы, а для написания произвольных условий


К примеру данный блок будет выведен в 2019 году ;cond=sy-datum(4) eq ‘2019’ image


12-я строка будет отображена если поле TITLE в структуре R будет содержать данные

image

Можно и было написать ;cond=value-title IS NOT INITIAL


Для PDF скрываться будет блок внутри SUBFORM для Excel & Word область действия задается таблицей

В Word границы таблиц могут быть не видны

image

Для их отображения
Таблицы -> Макет -> Отобразить сетку

image


Ранее для скрытия блока нужно было создавать специальную таблицу ABAP и заполнять ее:

  • 1 - строкой (для показа)
  • 0 - если нужно было скрыть блок

Данное дополнение просто выполняет ту же функцию только с написанием условия в самом шаблоне

Краткая форма написания

Для удобства {R-BL2;type=block;cond=strlen( value-TITLE ) gt 0} можно сократить на {R-BL2;=strlen( v-TITLE ) gt 0}

*Смотрите шаблоны 140