Purpose
Demo ZCL_XTT_DEMO_160 calls an object method from a marker. Use ;call= when a display value is too involved for a short ;cond= expression but does not justify another field in the report context.
For example, if you need to display the maximum of the fields A and B in the R structure, you can write in the template{R;cond=WHEN value-A gt value-B THEN value-A ELSE value-B } without creating a 3rd field in R. For brevity, the expression can be written like this {R:WHEN v-A gt value-B THEN v-A ELSE v-B}.
Move long or reusable presentation logic into a method so the template remains readable.
Implicit parameter passing
Pass the target object to MERGE( ), then use ;call= in the marker.

The complete root context is passed implicitly to an importing parameter named IS_ROOT.

It is passed implicitly, by the name IS_ROOT
get_fullname
IMPORTING
is_root TYPE ts_root "<--- is passed implicitly
RETURNING VALUE (rv_text) TYPE string,
...
METHOD get_fullname.
rv_text = to_upper (| {is_root-first_name} {is_root-last_name} {is_root-middle_name} |).
ENDMETHOD.
Short form
As : abbreviates ;cond=, @ abbreviates ;call=.

Explicit parameters
When the method needs only selected values, pass them explicitly with value-FIELD in the long form or v-FIELD in the @ shorthand.

The method has the following signature
date_text
IMPORTING
"is_root TYPE ts_flight_info <- no need. Pass v-FLDATE explicitly
iv_date TYPE d
iv_lang TYPE sylangu DEFAULT sy-langu
RETURNING VALUE (rv_text) TYPE string.
Unlike ;cond=, the output type is derived from the returning parameter. An explicit ;type= is normally unnecessary.
Result in two languages:

Date-formatting note
The date method is illustrative. For Excel, prefer ABAP type D and set the number format in the cell with Ctrl+1.


For locale-aware dates in PDF and Word, a string template in ;cond= with the COUNTRY formatting option is often sufficient.

