结合上一个,在上一个中,创建的是选择链接字段EBELN。
下面来实现点击EBELN跳转到详细界面:
1.创建ZLYTEST03_H组件,做详细界面。
2.创建概览页 DETOV.
3.创建视图集 DETVS.因为只有一个视图,所以选择1行1列,DETAIL。
4.创建DETAIL视图,并配置DETAIL显示列表
5.组件控制器中创建RESULT节点,并与DETAIL的DETAIL节点绑定。
6.运行时中,将DETAIL加到VS视图集,将VS视图集加到OV概览页,将OV概览页加到WINDOW中,并配置概览页。
7.窗口中添加内向插件,FROMSELECT.
8.运行时,ComponentInterface将WINDOW加入,并将InterfaceController中加入上下文节点,RESULT。
至此,DETAIL界面的事情处理完成了,再回到ZLYTEST03中,做些跳转处理。
1.组件控制器中创建RESULT节点,并与WINDOW中的结果节点与之绑定。
2.在结果视图中重定义OP_EBELN。系统创建的是统一走CLICKONLINK事件,统一分配外向插件,所以可以不用管事件。
method OP_EBELN. DATA: LR_WINDOW TYPE REF TO CL_BSP_WD_WINDOW. LR_WINDOW = ME->VIEW_MANAGER->GET_WINDOW_CONTROLLER( ). LR_WINDOW->CALL_OUTBOUND_PLUG( 'SELECTTODETAIL' ). endmethod.
3.窗口中创建外向插件SELECTTODETAIL(此处可使用默认的WCFSELECT插件)
method OP_SELECTTODETAIL. FIRE_OUTBOUND_PLUG( IV_OUTBOUND_PLUG = 'SELECTTODETAIL' ). endmethod.
4.运行时中,将上下文节点RESULT加到InterfaceController中。
好了,到这里,查询组件的事情也处理完了,接下来做MAIN组件控制
1.创建ZLYTEST03_M组件
2.添加BOL,并在组件控制器中创建RESULT节点。
3.运行时中,ComponentUsages中,将搜索窗口和详细窗口加进来:
4.创建NavigationalLinks
SELECTTODETAIL 源,ZLYTEST03 SELECTTODETAIL 目标 ZLYTEST03_H FROMSELECT
5.组件控制器中,重定义WD_USAGE_INITIALIZE
METHOD WD_USAGE_INITIALIZE. DATA: LV_USAGE TYPE REF TO IF_BSP_WD_COMPONENT_USAGE, LR_CUSTOMCTRL TYPE REF TO ZL_ZLYTEST0_BSPWDCOMPONE2_IMPL,"CL_BT111S_O_CUCOSEARCH_IMPL, LR_ENTITY TYPE REF TO CL_CRM_BOL_ENTITY. LV_USAGE = ME->COMP_CONTROLLER->GET_COMPONENT_USAGE( IV_USAGE->USAGE_NAME ). CASE IV_USAGE->USAGE_NAME. * Opportunity Search WHEN 'SEARCH'. CALL METHOD LV_USAGE->BIND_CONTEXT_NODE EXPORTING IV_CONTROLLER_TYPE = CL_BSP_WD_CONTROLLER=>CO_TYPE_COMPONENT IV_TARGET_NODE_NAME = 'RESULT' IV_NODE_2_BIND = 'RESULT'. * Opportunity header WHEN 'DETAIL'. CALL METHOD LV_USAGE->BIND_CONTEXT_NODE EXPORTING IV_CONTROLLER_TYPE = CL_BSP_WD_CONTROLLER=>CO_TYPE_COMPONENT IV_TARGET_NODE_NAME = 'RESULT' IV_NODE_2_BIND = 'RESULT'. WHEN OTHERS. ENDCASE. ENDMETHOD.
至此,就可以点击EBELN跳转到详细界面了