原创 Tab Zhu [ SAP TAB ](javascript:void\(0\);)
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,然后添加如下的代码
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=>executeEXPORTING
document = lv_urlEXCEPTIONS
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后,点击调用链接,就可以跳转到百度首页了