随笔 ME53N 增加按钮调用 URL

作者:SAPTAB 约 3 分钟阅读 更新日期:2025-03-02 1 年前更新 标签:ABAP, Data Engineering, 开发, 数据工程
随笔 ME53N 增加按钮调用 URL - 封面图
随笔 ME53N 增加按钮调用 URL - 封面图

原创 Tab Zhu [ SAP TAB ](javascript:void\(0\);)

ME53N 增加按钮,调用URL

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

## 1.添加自定义按钮

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

随笔 ME53N 增加按钮调用 URL - 封面图
随笔 ME53N 增加按钮调用 URL - 封面图

直接添加一个BUTTON:ZCALLOAURL

随笔 ME53N 增加按钮调用 URL - 封面图
随笔 ME53N 增加按钮调用 URL - 封面图

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

随笔 ME53N 增加按钮调用 URL - 封面图
随笔 ME53N 增加按钮调用 URL - 封面图

## 2\. 添加隐式增强

在我们加好按钮之后,我们需要对按钮增加相对应的逻辑,通过SE38 打开include LMEGUICJL 程序 在Method

lcl_document_cmd->if_command_mm~execute 的最后做隐式增强

ZMM_TAB_CUSTOM_BUTTON,然后添加如下的代码

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.
随笔 ME53N 增加按钮调用 URL - 封面图
随笔 ME53N 增加按钮调用 URL - 封面图

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

随笔 ME53N 增加按钮调用 URL - 封面图
随笔 ME53N 增加按钮调用 URL - 封面图

## 3\. ME5XN效果

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

随笔 ME53N 增加按钮调用 URL - 封面图
随笔 ME53N 增加按钮调用 URL - 封面图
随笔 ME53N 增加按钮调用 URL - 封面图
随笔 ME53N 增加按钮调用 URL - 封面图
SAPTAB

关于作者:SAPTAB

企业信息化与 SAP 技术顾问,长期专注 SAP ABAP、FI/CO、MM、SD 等模块的技术分享与实战经验总结。查看更多介绍

来源说明:本文内容由「随笔ME53N增加按钮调用URL.md」整理生成,仅用于内部技术分享与学习交流。