方法一: 直接在AT SELECTION-SCREEN OUTPUT后赋值
方法二: 使用 SELECTION_TEXTS_MODIFY 函数
*--------------------------------------------------------------------*
* selection screen definition
*--------------------------------------------------------------------*
SELECTION- SCREEN BEGIN OF BLOCK B01 WITH FRAME .
PARAMETERS : P_BUDAT TYPE QALS-ENSTEHDAT .
SELECT-OPTIONS : SO_QPLOS FOR QALS-PRUEFLOS .
SELECTION- SCREEN END OF BLOCK B01 .
*--------------------------------------------------------------------*
* PBO event for selection screen
*--------------------------------------------------------------------*
AT SELECTION- SCREEN OUTPUT .
PERFORM SUB_MODIFY_SEL_TEXT .
*&---------------------------------------------------------------------*
*& Form SUB_MODIFY_SEL_TEXT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
*
*----------------------------------------------------------------------*
FORM SUB_MODIFY_SEL_TEXT .
DATA : LT_SEL TYPE TABLE OF RSSELTEXTS ,
LS_SEL TYPE RSSELTEXTS .
CLEAR LT_SEL[] .
LS_SEL-NAME = 'P_BUDAT' .
LS_SEL-KIND = 'P' . "parameter
LS_SEL-TEXT = '检验批生成日期'.
APPEND LS_SEL TO LT_SEL[] .
CLEAR LS_SEL .
LS_SEL-NAME = 'SO_QPLOS' .
LS_SEL-KIND = 'S' . "select-option
LS_SEL-TEXT = '检验批编号'.
APPEND LS_SEL TO LT_SEL[] .
CALL FUNCTION 'SELECTION_TEXTS_MODIFY'
EXPORTING
PROGRAM = SY-REPID
TABLES
SELTEXTS = LT_SEL
EXCEPTIONS
PROGRAM_NOT_FOUND = 1
PROGRAM_CANNOT_BE_GENERATED = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
* error handling ...
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM.
" SUB_MODIFY_SEL_TEXT 不调用:
'SELECTION_TEXTS_MODIFY'的效果:调用后:
参考链接:http://blog.chinaunix.net/uid-8527621-id-2983708.html
REPORT z_barry_test.
PARAMETERS: p_test(20).
AT SELECTION-SCREEN OUTPUT .
%_p_test_%_app_%-text = p_test.
PARAMETERS: p_test(20).
AT SELECTION-SCREEN OUTPUT .
%_p_test_%_app_%-text = p_test.
方法二: 使用 SELECTION_TEXTS_MODIFY 函数
*--------------------------------------------------------------------*
* selection screen definition
*--------------------------------------------------------------------*
SELECTION- SCREEN BEGIN OF BLOCK B01 WITH FRAME .
PARAMETERS : P_BUDAT TYPE QALS-ENSTEHDAT .
SELECT-OPTIONS : SO_QPLOS FOR QALS-PRUEFLOS .
SELECTION- SCREEN END OF BLOCK B01 .
*--------------------------------------------------------------------*
* PBO event for selection screen
*--------------------------------------------------------------------*
AT SELECTION- SCREEN OUTPUT .
PERFORM SUB_MODIFY_SEL_TEXT .
*&---------------------------------------------------------------------*
*& Form SUB_MODIFY_SEL_TEXT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
*
*----------------------------------------------------------------------*
FORM SUB_MODIFY_SEL_TEXT .
DATA : LT_SEL TYPE TABLE OF RSSELTEXTS ,
LS_SEL TYPE RSSELTEXTS .
CLEAR LT_SEL[] .
LS_SEL-NAME = 'P_BUDAT' .
LS_SEL-KIND = 'P' . "parameter
LS_SEL-TEXT = '检验批生成日期'.
APPEND LS_SEL TO LT_SEL[] .
CLEAR LS_SEL .
LS_SEL-NAME = 'SO_QPLOS' .
LS_SEL-KIND = 'S' . "select-option
LS_SEL-TEXT = '检验批编号'.
APPEND LS_SEL TO LT_SEL[] .
CALL FUNCTION 'SELECTION_TEXTS_MODIFY'
EXPORTING
PROGRAM = SY-REPID
TABLES
SELTEXTS = LT_SEL
EXCEPTIONS
PROGRAM_NOT_FOUND = 1
PROGRAM_CANNOT_BE_GENERATED = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
* error handling ...
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM.
" SUB_MODIFY_SEL_TEXT 不调用:
![](http://img.blog.itpub.net/blog/attachment/201506/10/29792642_1433919979htZr.jpg?x-oss-process=style/bb)
'SELECTION_TEXTS_MODIFY'的效果:调用后:
![](http://img.blog.itpub.net/blog/attachment/201506/10/29792642_1433920001S0V8.jpg?x-oss-process=style/bb)
参考链接:http://blog.chinaunix.net/uid-8527621-id-2983708.html
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29792642/viewspace-1694363/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29792642/viewspace-1694363/