Link Search Menu Expand Document

;type=block

Conditional block output

From time to time in reports it is necessary to hide or show part of the data in the template. How can this be done most informatively?

image

Another ABAP in the template

The two previous cases were

  • Conditional data output with formatting in ;cond=
  • show_if, hide_if for conditional selection from “templates” of rows

Addition ‘;type=block’

It resembles most of all show_if, but it is not intended for a specific tree or table, but for writing arbitrary conditions


For example, this block will be displayed in 2019 ;cond=sy-datum(4) eq ‘2019’ image


The 12th line will be displayed if the TITLE field in the R structure contains data

image

You could also write ;cond=value-title IS NOT INITIAL


For PDF, SUBFORM is used for detecting scopes of the block. For Excel & Word, the scope is declared by tables rows

Table borders may not be visible in Word

image

To display the borders in the template
Table Tools -> Layout -> View Gridlines

image


Previously, to hide a block, you had to create a special ABAP table and fill it in:

  • 1 - line (for display)
  • 0 - if it was necessary to hide the block

This add-on simply performs the same function only by writing a condition in the template itself

Shorthand

For convenience {R-BL2;type=block;cond=strlen( value-TITLE ) gt 0} can be abbreviated to {R-BL2;=strlen( v-TITLE ) gt 0}

*See templates 140