Basic form 2
GET CURSOR ...
1. GET
CURSOR FIELD f.
2. GET CURSOR LINE line.
GET CURSOR FIELD f.
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.
The Return Code is set as follows:
Unlike screen processing, list processing allows you to output literals, field symbols, parameters and
local variables of subroutines. Literals, local variables, VALUE
parameters of subroutines, and object attributes 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.
With
field symbols, this depends on whether the variable assigned is local or global. An assignment made
using LOOP ASSIGNING does not return a field name for the field symbol since a table work area is always local.
DATA: CURSORFIELD(20),
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'.
FIELD-SYMBOLS: <F> TYPE ANY.
PERFORM WRITE_LIST USING REF_PARAMETER VAL_PARAMETER.
ASSIGN GLOB_FIELD TO <F>.
AT LINE-SELECTION.
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.
ENDFORM.
When you double-click on 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.
... OFFSET off
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.
... LINE line
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).
... VALUE g
g contains the value of the field where the cursor stands, always in output format (character display).
... LENGTH len
len contains the output length of the field where the cursor stands.
If the data type of the field, on which the cursor is, is character-type, the
LENGTH addition only works on lists. On screens, the system always returns the value 255.
If the cursor is positioned on the field of a table view control, the name of the control is placed in the field a.
GET CURSOR LINE line.
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.
The Return Code is set as follows:
... OFFSET off
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.
... VALUE g
List processing only. The field g contains the list line where the cursor is positioned.
... LENGTH len
List processing only. len contains the length of the line (LINE-SIZE).
Specifyingthe Cursor Position
Reading Lists at theCursor Position