WDA學習(27):RoadMap使用
1.20 UI Element:RoadMap使用
本例項測試建立RoadMap;
執行結果:
點選2,Input顯示輸入航班Id
點選3,根據input輸入,查詢航班資訊
1.建立Component,View: V_ROADMAP;
2.建立Context節點;
建立Node:NODE_INPUT,使用者輸入航班ID;
建立Attribute:CARRID,儲存CARRID;
建立Node:NODE_OUTPUT,顯示輸出航班資訊;
Table:SPFLI欄位資訊;
建立Node:NODE_CONFIG,控制頁面輸入,輸出顯示;
建立Attribute:SHOW_INP,型別:WDUI_VISIBILITY,控制輸入顯示;
建立Attribute:SHOW_TAB,型別:WDUI_VISIBILITY,控制Table輸出顯示;
3.建立Layout UI Element
建立RoadMap:RM;
onLoadSteps: 繫結Action,LOAD_ROADMAP;
onSelect:繫結Action,SEL_ROADMAP;
建立RoadMapStep:START,
name:1
建立RoadMapStep:INPUT,
name:2
建立RoadMapStep:OUTPOUT,
name:3
建立RoadMapStep:END
name:4
建立Transparent Container,包含InputField和Label
visible: 繫結Attribute,NODE_CONFIG.SHOW_INP;
建立InputField:INP
value: 繫結Attribute,NODE_INPUT.CARRID;
建立Table:TAB,繫結spfli查詢資料;
dataSource:繫結Node, NODE_OUTPUT,
visible:繫結Attribute,NODE_CONFIG.SHOW_TAB;
4.實現Method頁籤方法
Method: SEARCH_DATA,根據輸入carrid,查詢spfli資訊;
程式碼例項:
DATA:lo_node TYPE REF TO if_wd_context_node.DATA:lo_element TYPE REF TO if_wd_context_element. DATA:lv_input TYPE spfli-carrid. DATA:lt_spfli TYPE wd_this->elements_node_output. DATA:ls_spfli TYPE wd_this->element_node_output. "獲取節點 lo_node = wd_context->get_child_node( wd_this->wdctx_node_input ). lo_element = lo_node->get_element( ). lo_element->get_attribute( EXPORTING name = 'CARRID' IMPORTING value = lv_input ). SELECT * INTO CORRESPONDING FIELDS OF TABLE lt_spfli FROM spfli WHERE carrid = lv_input. lo_node = wd_context->get_child_node( wd_this->wdctx_node_output ). lo_node->bind_table( new_items = lt_spfli ).
Method:ONACTIONSEL_ROADMAP,Action:Sel_roadMap對應方法
程式碼例項:
DATA:lo_node TYPE REF TO if_wd_context_node. DATA:lo_element TYPE REF TO if_wd_context_element. DATA:lv_step TYPE string. DATA:lv_visible TYPE wdui_visibility VALUE '02'. "獲取節點 lo_node = wd_context->get_child_node( wd_this->wdctx_node_config ). lo_element = lo_node->get_element( ). lv_step = wdevent->get_string( name = 'STEP' ). CASE lv_step. WHEN 'START'. wd_comp_controller->show_msg( msg = 'start' msg_type = 'S' ). lv_visible = '01'. lo_element->set_attribute( EXPORTING name = 'SHOW_INP' value = lv_visible ). lo_element->set_attribute( EXPORTING name = 'SHOW_TAB' value = lv_visible ). WHEN 'INPUT'. lo_element->set_attribute( EXPORTING name = 'SHOW_INP' value = lv_visible ). WHEN 'OUTPUT'. lo_element->set_attribute( EXPORTING name = 'SHOW_TAB' value = lv_visible ). wd_this->search_data( ). WHEN 'END'. wd_comp_controller->show_msg( msg = 'end' msg_type = 'S' ). lv_visible = '01'. lo_element->set_attribute( EXPORTING name = 'SHOW_INP' value = lv_visible ). lo_element->set_attribute( EXPORTING name = 'SHOW_TAB' value = lv_visible ). WHEN OTHERS. ENDCASE.
WDDOINIT方法,初始化設定隱藏Input,Output;
程式碼例項:
DATA:lo_node TYPE REF TO if_wd_context_node. DATA:lo_element TYPE REF TO if_wd_context_element. DATA:lv_visible TYPE wdui_visibility VALUE '01'. "獲取節點 lo_node = wd_context->get_child_node( wd_this->wdctx_node_config ). lo_element = lo_node->get_element( ). lo_element->set_attribute( EXPORTING name = 'SHOW_INP' value = lv_visible ). lo_element->set_attribute( EXPORTING name = 'SHOW_TAB' value = lv_visible ).