ABAP选择屏幕设置必填Required =‘2‘,回车时光标跳转到必填字段
需求:程序中设置选择屏幕字段为Required = ‘2’(存在必填标记,却不进行必填校验),此时,回车并不会让光标跳转到必填字段上;用户希望在选择屏幕界面回车的时候,光标会自动跳转到必填字段上,可以带给用户更好的使用体验。
需要在 AT SELECTION-SCREEN OUTPUT事件中,增加SET CURSOR FIELD语句,实现方式如下代码。
TABLES marc.
SELECT-OPTIONS: s_matnr FOR marc-matnr.
PARAMETERS: p_werks TYPE resb-werks,
p_charg TYPE resb-rsnum.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF screen-name = 'P_WERKS' OR screen-name = 'P_CHARG'.
screen-required = '2'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
IF p_werks IS INITIAL.
PERFORM frm_set_cursor USING 'P_WERKS'.
ELSEIF p_charg IS INITIAL.
PERFORM frm_set_cursor USING 'P_CHARG'.
ENDIF.
FORM frm_set_cursor USING l_txt.
SET CURSOR FIELD l_txt.
MESSAGE '请输入必填字段' TYPE 'S' DISPLAY LIKE 'E'.
LEAVE LIST-PROCESSING.
ENDFORM.
输入第一个必填之后,回车会自动跳转到第二个必填。
post SAP-Garson
原文链接:https://blog.csdn.net/weixin_44911062/article/details/108848149文章来自于网络,如果侵犯了您的权益,请联系站长删除!