GET CURSOR
Variants
1. GET CURSOR FIELD f.
2. GET CURSOR LINE lin.
Variant 1
GET CURSOR FIELD f.
Additions
1. ... OFFSET off
2. ... LINE lin
3. ... VALUE g
4. ... LENGTH len
Effect
Transfers the name of the field at the cursor position
to the field f .
The return code value is set as follows:
SY-SUBRC = 0
Cursor was positionedd on a field.
SY_SUBRC = 4
Cursor was not positioned on a field.
Note
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.
Example
-
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>.
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 'lokal field'.
ASSIGN FIELD_SYMBOL TO <F>.
WRITE: / GLOB_FIELD, / LOK_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 .
Addition 1
... OFFSET off
Effect
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.
Addition 2
... LINE lin
Effect
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 ).
Addition 3
... VALUE g
Effect
g contains the value of the field where the
cursor stands, always in output format (character display).
Addition 4
... LENGTH len
Effect
len contains the output length of the field where
the cursor stands.
Variant 2
GET CURSOR LINE lin.
Additions
1. ... OFFSET off
2. ... VALUE g
3. ... LENGTH len
Effect
As for variant 1 with addition LINE ,
except that there are differences with the return value and the effect
of the additions.
The return code value is set as follows:
SY-SUBRC = 0
The cursor is on one of the list lines (list
processing) or on a loop line (step loop).
SY_SUBRC = 4
The cursor is not on one of the list or loop lines.
Addition 1
... OFFSET off
Effect
Applies to list processing only. The field off
contains the position of the cursor releative 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.
Addition 2
... VALUE g
Effect
List processing only. The field g contains the
list line where the cursor is positioned.
Addition 3
... LENGTH len
Effect
List processing only. len contains the length of
the line ( LINE-SIZE ).
Related
SET CURSOR
Index
© SAP AG 1996