目录
- alv单元格跳转RCS模块 FPM应用Webdynpro界面
-
- 源代码截图
alv单元格跳转RCS模块 FPM应用Webdynpro界面
功能需求:通过alv的单元格跳转到 FPM的Webdynpro界面,例如:通过项目标识跳转到项目对应的总预算成本Webdynpro功能界面。
源代码截图
把使用的方法封装函数,后续根据业务需要可通过调用函数使用:
FUNCTION zfm_click_to_prj.
*"----------------------------------------------------------------------
*"*"本地接口:
*" IMPORTING
*" VALUE(I_OBJ) TYPE SOBJ_NAME
*" REFERENCE(I_KEY) TYPE /BOBF/CONF_KEY
*" EXPORTING
*" VALUE(I_URL) TYPE STRING
*" REFERENCE(E_MSG) TYPE BAPIMESSAGE
*"----------------------------------------------------------------------
SELECT SINGLE zlink_url INTO i_url
FROM zrre_url_to_prj
WHERE obj_name = i_obj.
IF sy-subrc = 0.
i_url = i_url && i_key .
CALL METHOD cl_gui_frontend_services=>execute
EXPORTING
document = i_url
EXCEPTIONS
OTHERS = 1.
ELSE.
e_msg = '表ZRRE_URL_TO_PRJ 缺少配置数据!'.
ENDIF.
ENDFUNCTION.
关键是方法 cl_gui_frontend_services=>execute 的使用。
需要把FPM的功能界面地址维护到相关的配置表,示例中的配置表为:zrre_url_to_prj。
表字段截图:

根据需要跳转的功能界面URL获取相关的OBJ_NAME:ZRRE_WDA_TGCST_MNT
可通过事务码SE80 查看对应FPM应用:
RCS模块需要在功能界面通过技术帮助找到相关的FPM应用的OBJ_NAME。
User-command代码示例:
FORM user_command USING u_ucomm TYPE sy-ucomm
us_selfield TYPE slis_selfield.
DATA:lv_msg TYPE bapimessage.
CASE u_ucomm.
WHEN '&IC1'.
READ TABLE gt_zcbys INDEX us_selfield-tabindex INTO DATA(wa_zcbys). "获取单击行
IF us_selfield-fieldname = 'XMBM' AND wa_zcbys-xmbm IS NOT INITIAL.
CALL FUNCTION 'ZFM_CLICK_TO_PRJ'
EXPORTING
i_obj = 'ZRRE_WDA_TGCST_MNT'
i_key = wa_zcbys-db_key
IMPORTING
* I_URL = I_URL
e_msg = lv_msg.
IF lv_msg IS NOT INITIAL.
MESSAGE s016 DISPLAY LIKE 'E'.
ENDIF.
ENDIF.
ENDCASE.
us_selfield-refresh = 'X'.
CLEAR u_ucomm.
ENDFORM.
效果截图;
点击项目标识单元格实现跳转: