FPM增强-在tooltip中显示OTR描述
在开发FPM程序时,为了使页面支持多语言,有时候会使用OTR文本(TCode: SOTR_EDIT)。
但在设计页面时无法很直观的看到OTR对应的文本,只有执行APP才能看到文本。
使用下述增强,设计页面时,可以在Form组件的tooltip上显示文本;在List组件的列名上显示文本
- FORM组件

在 类CL_FPM_ADV_FORM_BASE_DATA_MGR,方法GET_STANDARD_ELEMENTS中,增加增强逻辑,源码如下:
ENHANCEMENT 1 ZFPM_SHOW_OTR_TEXT. "active version "如果属性上标签文本为OTR,则在预览页签中input_prompt(输入提示)上,显示对应的描述(不影响用户输入的input_prompt) "mv_design_time = abap_true AND GET PARAMETER ID 'ZSHOW_OTR_TEXT' FIELD DATA(lv_show_otr_text). IF lv_show_otr_text IS NOT INITIAL. LOOP AT et_standard_element ASSIGNING FIELD-SYMBOL(<ls_element>). IF <ls_element>-label_text CS '$OTR:'. DATA(lv_otr) = <ls_element>-label_text. REPLACE ALL OCCURRENCES OF '$OTR:' IN lv_otr WITH ''. <ls_element>-input_prompt = cl_wd_utilities=>get_otr_text_by_alias( lv_otr ). ENDIF. ENDLOOP. ENDIF. ENDENHANCEMENT.
- LIST组件

在 类CL_FPM_LIST_UIBB_CONFIG_DATA,方法GET_COLUMNS_REF中,增加增强逻辑,源码如下:
ENHANCEMENT 1 ZFPM_SHOW_OTR_TEXT_LIST. "active version "如果属性上标题为OTR,则在预览时显示为描述 IF mv_design_time = abap_true. GET PARAMETER ID 'ZSHOW_OTR_TEXT' FIELD DATA(lv_show_otr_text). IF lv_show_otr_text IS NOT INITIAL. LOOP AT rr_columns->* ASSIGNING FIELD-SYMBOL(<ls_columns>). IF <ls_columns>-TEXT CS '$OTR:'. "$OTR:ZSRM_OTR_S/0239 DATA(lv_otr) = <ls_columns>-TEXT. REPLACE ALL OCCURRENCES OF '$OTR:' IN lv_otr WITH ''. <ls_columns>-text = cl_wd_utilities=>get_otr_text_by_alias( |{ lv_otr }| ). ENDIF. ENDLOOP. ENDIF. ENDIF. ENDENHANCEMENT.

浙公网安备 33010602011771号