Basic form 2
GET CURSOR. ...
1. GET CURSOR FIELD f.
2. GET CURSOR LINE line.
1. ... OFFSET off
2. ... LINE line
3. ... VALUE g
4. ... LENGTH len
Transfers the name of the field at the cursor position to the field f.
Unlike screen processing, list processing allows you to output literals, field symbols, parameters and local variables of
subroutines. Literals, local variables and VALUE parameters of subroutines are treated like fields without names
(field name SPACE, return value 0).
Otherwise, GET CURSOR FIELD returns only names of global fields,
regardless of whether they are addressed directly (i.e. by "WRITE"), by field symbols or by reference parameters.
GLOB_FIELD(20) VALUE 'global field',
REF_PARAMETER(30) VALUE 'parameter by reference',
VAL_PARAMETER(30) VALUE 'parameter by value',
FIELD_SYMBOL(20) VALUE 'field symbol'.
PERFORM WRITE_LIST USING REF_PARAMETER VAL_PARAMETER.
ASSIGN GLOB_FIELD TO <F>.
GET CURSOR FIELD CURSORFIELD.
WRITE: / CURSORFIELD, SY-SUBRC.
FORM WRITE_LIST USING RP VALUE(VP).
DATA: LOK_FIELD(20) VALUE 'local field'.
ASSIGN FIELD_SYMBOL TO <F>.
WRITE: / GLOB_FIELD, / LOC_FIELD,
/ RP, / VP,
/ 'literal', / FIELD_SYMBOL.
When you double-click the word "global field", CURSORFIELD contains the field name GLOB_FIELD
, on "parameter by reference" the field name REF_PARAMETER, on "field symbol" the field name
FIELD_SYMBOL, and on "local field", "parameter by value" and "literal" the value SPACE.
Copies the position of the cursor within the field to the field off (1st column = 0).
If the cursor is not
somewhere within a field (SY-SUBRC = 4), the offset value is set to 0.
With step loops, lin contains the number of the loop line where the cursor stands. In list processing, this is the
absolute line number (as stored in the system field SY-LILLI).
g contains the value of the field where the cursor stands, always in output format (character display).
len contains the output length of the field where the cursor stands.
If the cursor is positioned on the field of a table view control, the name of the control is placed in the field area.
1. ... OFFSET off
2. ... VALUE g
3. ... LENGTH len
As for variant 1 with addition LINE,
except that there are differences with the return code and the effect of the additions.
SY-SUBRC = 0:
The cursor is on one of the list lines (list processing) or on a loop line (step loop).
Applies to list processing only. The field off contains the position of the cursor relative to the beginning of the
list line (1st column = 0). With horizontally shifted lists, the offset
value can thus be greater than 0, even if the cursor is positioned on the extreme left of the window.
List processing only. The field g contains the list line where the cursor is positioned.
List processing only. len contains the length of the line (LINE-SIZE).