1. 程式人生 > 其它 >WDA學習(27):RoadMap使用

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
  ).