[随笔]ME53N 增加按钮,调用URL

2022-06-27 18:57:50 浏览数 (1)

ME53N 增加按钮,调用URL

最近遇到一个需求,就是在ME52N,ME53N上增加一个按钮,调用程序直接登录别的系统查看PR对应的单据(这里使用网址代替)

1.添加自定义按钮

打开函数组MEGUI->找到名为REQ的Status(如果对ME23N增强是选择NORMAL)点击上方的

直接添加一个BUTTON:ZCALLOAURL

注意这里修改时需要选择编辑->修改操作->关闭助手

2. 添加隐式增强

在我们加好按钮之后,我们需要对按钮增加相对应的逻辑,通过SE38 打开include LMEGUICJL 程序 在Method lcl_document_cmd->if_command_mm~execute 的最后做隐式增强 ZMM_TAB_CUSTOM_BUTTON,然后添加如下的代码

代码语言:javascript复制
CASE im_fcode.
  WHEN 'ZCALLURL'.
    IF SY-TCODE EQ 'ME52N' OR SY-TCODE = 'ME53N'.
    DATA(l_transaction_oaurl) = l_appl->my_trmgr->get_current( ).
    READ TABLE l_transaction_oaurl->my_data ASSIGNING FIELD-SYMBOL(<fs_oaurl>) INDEX 1.
    IF <fs_oaurl>-doc_key IS NOT INITIAL."这里doc_key是PR Number
"当PR存在时调用链接
    data lv_url TYPE string.
    lv_url = 'www.baidu.com'.

    CALL METHOD cl_gui_frontend_services=>execute
      EXPORTING
        document = lv_url
      EXCEPTIONS
        OTHERS   = 1.
    IF sy-subrc NE 0.
      MESSAGE s368(00) WITH  '打开连接失败' '' DISPLAY LIKE 'E'.
      RETURN.
    ENDIF.

    ENDIF.
    ENDIF.
  WHEN OTHERS.
ENDCASE.

其中<fs_oaurl>对应的结构是:doc_key存放着的是PR号码

3. ME5XN效果

完成后,我们在ME53N,选择一个PR后,点击调用链接,就可以跳转到百度首页了

0 人点赞