关于光标设定常用的就是下面这种
AT SELECTION-SCREEN OUTPUT.
SET CURSOR FIELD 'P_03'."P_03 是选择画面的组件名称
注意点
- 其中注意点是选择画面的首字母必须是大写的。
- 在AT SELECTION-SCREEN OUTPUT 中去实现
特殊需求:
在主逻辑中,客户需要在选择画面报出错误信息的同时,还需要对光标进行定位,
直接上代码
*-----------------选择画面-------------------------
PARAMETERS: P_01 TYPE STRING,
P_02 TYPE STRING,
P_03 TYPE STRING.
*-----------------DATA定义-------------------------
DATA: LV_01 TYPE STRING.
*-----------------画面初始化-----------------------
AT SELECTION-SCREEN OUTPUT.
IMPORT LV_01 FROM MEMORY ID 'Z01'."通过ABAP内存获取变量的值
IF LV_01 = 'Z1'.
SET CURSOR FIELD 'P_03'.
ENDIF.
FREE MEMORY ID 'Z01'.
*-----------------画面初始化-----------------------
START-OF-SELECTION.
IF SY-UNAME <> 'XX'. " 自己的判断条件 再此处以用户名为例
LV_01 = 'Z1'.
EXPORT LV_01 TO MEMORY ID 'Z01'." 把用来判断的变量设置到ABAP内存
MESSAGE s001(00) WITH 'TEST SET CURSOR' DISPLAY LIKE 'E'.
LEAVE LIST-PROCESSING."返回选择画面
ENDIF.