要求:
假定有2个portal iview,iv1和iv2。 iv1中有一个link,当点击这个link后,当前的portal页面会导航到iv2。
类似于点击portal菜单页面导航的效果,只不是这个'菜单'包含在iv1中。
过程:
1. 创建2个Web dynpro application,其中WD1中包含link_to_action这个WD UI组件
2. 将上述2个WD配置成iview,iv1和iv2
3. 创建role,并保护iv1和iv2
4. 查看role下iv2的PCD Location: 假定是portal_content/z_portal_navi/z_folder/z_role/z_iv2
5. 在WD1的link_to_action的事件中加入以下代码:
DATA lo_api_component TYPE REF TO if_wd_component.
DATA lo_portal_manager TYPE REF TO if_wd_portal_integration.
lo_api_component = wd_comp_controller->wd_get_api( ).
lo_portal_manager = lo_api_component->get_portal_manager( ).
CALL METHOD lo_portal_manager->navigate_absolute
EXPORTING
navigation_target = 'pcd:portal_content/APPRAISAL/hrapprisal/iView/appiview_todo'
navigation_target = 'ROLES://portal_content/z_portal_navi/z_folder/z_role/z_iv2'
navigation_mode = IF_WD_PORTAL_INTEGRATION=>CO_SHOW_INPLACE
history_mode = IF_WD_PORTAL_INTEGRATION=>CO_NO_DUPLICATES.
6. 将role分配给portal用户,看一下效果吧。