xtt->MERGE( IV_BLOCK_NAME = ‘R’ IS_BLOCK =
{"TITLE"=>"Document title", "TEXT"=>"Just string", "INT"=>3, "BOTTOM"=>"bottom"}
).
Вывод блока по условию
Время от времени в отчетах надо скрыть или показать часть данных в шаблоне. Как это сделать наиболее информативно?
Очередной ABAP в шаблоне
Два предыдущих случая были
- Вывод данных по условию с их форматированием в ;cond=
- show_if, hide_if для условного выбора из “шаблонов” строк
Дополнение ‘;type=block’
Напоминает больше всего show_if, но предназначена не для конкретного дерева или таблицы, а для написания произвольных условий
К примеру данный блок будет выведен в 2019 году ;cond=sy-datum(4) eq ‘2019’
12-я строка будет отображена если поле TITLE в структуре R будет содержать данные
Можно и было написать ;cond=value-title IS NOT INITIAL
Для PDF скрываться будет блок внутри SUBFORM для Excel & Word область действия задается таблицей
В Word границы таблиц могут быть не видны
Для их отображения
Таблицы -> Макет -> Отобразить сетку
Ранее для скрытия блока нужно было создавать специальную таблицу ABAP и заполнять ее:
- 1 - строкой (для показа)
- 0 - если нужно было скрыть блок
Данное дополнение просто выполняет ту же функцию только с написанием условия в самом шаблоне
Краткая форма написания
Для удобства {R-BL2;type=block;cond=strlen( value-TITLE ) gt 0} можно сократить на {R-BL2;=strlen( v-TITLE ) gt 0}
*Смотрите шаблоны 140