結合上一個,在上一個中,建立的是選擇連結欄位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跳轉到詳細介面了