FORMAT (ABAP keyword)

FORMAT is a keyword used in SAP ABAP programming.
This tutorial covers its introduction & syntax details.

FORMAT

Basic
form
FORMAT.

Additions

1. … COLOR n [ON] or … COLOR
OFF
2. … INTENSIFIED [ON] or … INTENSIFIED OFF
3. … INVERSE [ON] or
… INVERSE OFF
4. … HOTSPOT [ON] or … HOTSPOT OFF
5. … INPUT [ON]
or … INPUT OFF
6. … RESET

Effect
Sets or modifies the valid
output format.

Notes
The formats set by FORMAT work from the next
output in the list, i.e. from the next WRITE command or from the next new
line.
The addition … ON for switching on the relevant output format is
optional.

Addition 1
… COLOR n [ON] or …COLOR OFF

Color of
line background . n can have the following values:
OFF or COL_BACKGROUND
Background
1 or COL_HEADING Headers (grayish blue)
2 or COL_NORMAL List
body (bright gray)
3 or COL_TOTAL Totals (yellow)
4 or COL_KEY Key columns
(bluish green)
5 or COL_POSITIVE Positive threshold value(green)
6 or
COL_NEGATIVE Negative threshold value (red)
7 or COL_GROUP Control levels
(violet)

Note
Every time a new event ( START-OF-SELECTION ,
TOP-OF-PAGE , … ) is started, the system setting reverts to COLOR 0 .
The
additions .. INTENSIFIED and … INVERSE both affect the color display (see
below).
The attribute …COLOR does not work for lines .

Addition
2
… INTENSIFIED [ON] or … INTENSIFIED OFF

Intensified – affects
the background color.

Each color exists in a normal (desaturated) and in
an intensified (saturated) form. … INTENSIFIED takes the current background
color from the “intensified” palette, while the … INTENSIFIED OFF uses the
“normal” palette.

Note
Every time a new event ( START-OF-SELECTION ,
TOP-OF-PAGE , …) is started, the system setting reverts to … INTENSIFIED
.
On a standard background ( COLOR COL_BACKGROUND ), the foreground color may
be affected in certain cases.
If, for example, you use the addition …
INVERSE with the color palette “output field intense” (IntNorm), the addition
… INTENSIFIED has no effect; the only exception to this rule is COLOR
COL_BACKGROUND .
The attribute …COLOR does not work for lines
.

Addition 3
… INVERSE [ON] or … INVERSE OFF

Inverse –
affects the background and foreground colors.

Each color exists in an
inverse form. … INVERSE takes the current color from the “inverse” palette and
uses it as the foreground (script) color. The background ( COL_BACKGROUND ) then
has no color. … INVERSE OFF switches off the inverse
display.

Note
Every time a new event ( START-OF-SELECTION ,
TOP-OF-PAGE , …) is started, the system setting reverts to … INVERSE .
If
the use of … INVERSE results in the same background and foreground colors (
COLOR OFF INVERSE ), the background color and the foreground color are merely
reversed.
When you are using the inverse display, the addition …
INTENSIFIED has no effect. (As mentioned above, COLOR OFF INVERSE is an
exception to this rule.)
The attribute …COLOR does not work for lines
.

Addition 4
… HOTSPOT [ON] or … HOTSPOT
OFF

Effect
Affects the display format of the mouse pointer and the
effect of the mouse single click:
If you drage the mouse pointer over list
areas which are output with the format …HOTSPOT (lines or fields), the mouse
pointer switches from its standard display format (usually an arrow) to the
format of a hand with an outstretched index finger. If you then click once, the
effect is like double-clicking or pressing the function key F2 (AT
LINE-SELECTION ).

Note
The addition …HOTSPOT has no effect on input
fields.

Addition 5
… INPUT [ON] or … INPUT
OFF

Effect
Determines whether the user can enter data. You can change
the contents of list lines output with the format … INPUT on the screen. You
can also print out the change or process it further by using READ LINE in
interactive events.
… INPUT OFF reverses the ready for input
status.

Note
Every time a new event ( START-OF-SELECTION , TOP-OF-PAGE
, …) is started, the system setting reverts to … INPUT .
The additions
… COLOR , … INVERSE and … HOTSPOT have no effect on input fields.
The
addition … INTENSIFIED affects the background color (color palette “input
field” or “output field intensified”).
The attribute … INPUT causes lines
to be displayed character-by-character and ready for input ( or –
).

Addition 6
… RESET

Effect
Resets all formats (color,
intensified, inverse, hotspot and input).
This corresponds to the
command:

FORMAT COLOR OFF INTENSIFIED OFF INVERSE OFF HOTSPOT OFF
INPUT OFF.

Example

FORMAT INTENSIFIED INPUT.
WRITE 5
‘JOHN’.
FORMAT INPUT OFF.
WRITE 40 ‘CARL’COLOR
COL_GROUP.

produces the following
output:

….+….10…+….20…+….30…+….40…+

JOHN
CARL

ready for input: <------->
intensified:
<------------------------------------------>
color:
<--->

From the beginning of the line to the last character of
‘JOHN’ , the list is ready to accept input and is thus displayed in intensified
form.
From column 9 (i.e. after the ‘N’ of of ‘JOHN’ ), the list line is also
intensified but no longer ready for input.
‘CARL’ is output from line 40,
together with a colored bar (color COL_GROUP = 7 from the palette “color
intensified”). The script color is the color “output field intensified”
(ProtInt). The intensified line display ends with the last character of ‘CARL’
.

Note
If the formats apply only to the output of a single field, you
can set the same (and other) parameters as additions to the WRITE statement. If
you want to display different formats on the screen, there are no reserved
characters, i.e. you may output 2 fields with different formats one directly
after the other (without gaps). You can also set the static additions ON , OFF
and n (for COLOR ) dynamically with = var which always interprets the contents
of var as a number. Values other than zero are used as ON or color number, zero
works like OFF .
For color numbers less than zero or greater than 7, the
result is not defined.
Recommended data type:
I(nteger)

Example

DATA C TYPE I VALUE 5.
FORMAT INTENSIFIED ON
COLOR = C.