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.
复制代码

 

posted @   客于溟  阅读(39)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示