&---------------------------------------------------------------------
*& Report ZTESTXUE020 动态更改选择屏幕文本
*&
&---------------------------------------------------------------------
*& Created by xuesc on 2017-06-11
*&
&---------------------------------------------------------------------
REPORT ztestxue020 NO STANDARD PAGE HEADING.
** 声明数据库表 Declaration of database **
TABLES mara.
DATA:gv_repid TYPE sy-repid.
** 选择屏幕 Customize the selection-screen **
SELECTION-SCREEN BEGIN OF BLOCK xavery WITH FRAME TITLE text-001.
PARAMETER p_text TYPE char30.
SELECT-OPTIONS: s_mtart FOR mara-mtart ,
s_matnr FOR mara-matnr .
SELECTION-SCREEN END OF BLOCK xavery.
** 执行程序事件 Executing the program’s events **
INITIALIZATION.
PERFORM sub_init_cond.
AT SELECTION-SCREEN OUTPUT.
PERFORM sub_set_text USING ‘P’ ‘P_TEXT’ ‘输入字段描述’.
PERFORM sub_set_text USING ‘S’ ‘S_MTART’ ‘物料类型’.
PERFORM sub_set_text USING ‘S’ ‘S_MATNR’ p_text.
&---------------------------------------------------------------------
*& Form SUB_INIT_COND
&---------------------------------------------------------------------
-
初始化数据
----------------------------------------------------------------------
FORM sub_init_cond .
- text-001 = ‘选择屏幕’.
ENDFORM. " SUB_INIT_COND
&---------------------------------------------------------------------
*& Form SUB_SET_TEXT
&--------------------------------------------------------------------- -
text
----------------------------------------------------------------------
-
-->LV_REPID 程序名称
-
-->LV_KIND 选择屏幕上的字段类型:单值,范围
-
-->LV_FIELD 选择字段名称
-
-->LV_TEXT 要设值的选择字段文本
----------------------------------------------------------------------
FORM sub_set_text USING lv_kind TYPE char1
lv_field TYPE char30
lv_text TYPE char30.
DATA lt_seltext TYPE rsseltexts OCCURS 1 WITH HEADER LINE.
CHECK lv_text IS NOT INITIAL.
REFRESH lt_seltext.
lt_seltext-name = lv_field.
lt_seltext-kind = lv_kind.
lt_seltext-text = lv_text.
APPEND lt_seltext.
gv_repid = sy-repid.
CALL FUNCTION ‘SELECTION_TEXTS_MODIFY’
EXPORTING
program = gv_repid
TABLES
seltexts = lt_seltext
EXCEPTIONS
program_not_found = 1
program_cannot_be_generated = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM. " SUB_SET_TEXT