组件:Y_SELECT_OPTIONS_20
视图:V_MAIN
窗口:W_MAIN
Application:Y_SELECT_OPTIONS_20
重用标准组件WD_SELECT_OPTIONS_20
创建UI元素
定义属性CMP_SELECT_OPTIONS WD_SELECT_OPTIONS_20。
初始化代码WDDOINIT。
METHOD wddoinit . DATA: lt_attributes TYPE wdr_so_t_attributes, lt_initial_data TYPE wdr_so_t_values. DATA: lt_saved_searches TYPE wdr_context_attr_value_list. DATA: wa_general_texts TYPE wdr_so_s_general_texts, wa_general_visibility TYPE wdr_so_s_general_visibility, wa_global_options TYPE wdr_so_s_global_options. FIELD-SYMBOLS: <wa_attributes> TYPE wdr_so_s_attributes. * Create select options IF wd_this->wd_cpuse_cmp_select_options( )->has_active_component( ) = abap_false. wd_this->wd_cpuse_cmp_select_options( )->create_component( ). ENDIF. * Set general visibility wa_general_visibility-show_max_nr_rows = abap_true. wa_general_visibility-show_button_search = abap_true. wa_general_visibility-show_button_reset = abap_true. wa_general_visibility-show_button_clear = abap_true. wa_general_visibility-button_search_is_default = abap_true. wa_general_visibility-show_header = abap_false. * Set global options wa_global_options-default_max_nr_rows = 100. * Get selection handler wd_this->ao_selection_handler = wd_this->wd_cpifc_cmp_select_options( )->init_select_options( general_texts = wa_general_texts general_visibility = wa_general_visibility global_options = wa_global_options saved_searches = lt_saved_searches ). * Set search attributes APPEND INITIAL LINE TO lt_attributes ASSIGNING <wa_attributes>. <wa_attributes>-attribute = 'PARTNER'. <wa_attributes>-attr_type = if_wd_select_options_20=>e_attribute_types-text. <wa_attributes>-disp_index = 1. <wa_attributes>-value_suggest = abap_true. <wa_attributes>-rtti_type = CAST cl_abap_elemdescr( cl_abap_elemdescr=>describe_by_name( 'BU_PARTNER' ) ). UNASSIGN: <wa_attributes>. APPEND INITIAL LINE TO lt_attributes ASSIGNING <wa_attributes>. <wa_attributes>-attribute = 'TYPE'. <wa_attributes>-attr_type = if_wd_select_options_20=>e_attribute_types-dropdown. <wa_attributes>-disp_index = 2. <wa_attributes>-rtti_type = CAST cl_abap_elemdescr( cl_abap_elemdescr=>describe_by_name( 'BU_TYPE' ) ). UNASSIGN: <wa_attributes>. DATA lt_wdr_context_attr_value_list TYPE wdr_context_attr_value_list. DATA ls_wdr_context_attr_value TYPE wdr_context_attr_value. ls_wdr_context_attr_value-value = 'MC_NAME1'. ls_wdr_context_attr_value-value = '2222'. APPEND ls_wdr_context_attr_value TO lt_wdr_context_attr_value_list. APPEND INITIAL LINE TO lt_attributes ASSIGNING <wa_attributes>. <wa_attributes>-attribute = 'MC_NAME1'. <wa_attributes>-attr_type = if_wd_select_options_20=>e_attribute_types-text. <wa_attributes>-disp_index = 3. <wa_attributes>-value_set = lt_wdr_context_attr_value_list. <wa_attributes>-rtti_type = CAST cl_abap_elemdescr( cl_abap_elemdescr=>describe_by_name( 'BU_MCNAME1' ) ). UNASSIGN: <wa_attributes>. * fill initial data APPEND INITIAL LINE TO lt_initial_data ASSIGNING FIELD-SYMBOL(<wa_initial_data>). <wa_initial_data>-attribute = 'TYPE'. <wa_initial_data>-sign = 'I'. <wa_initial_data>-operator = if_wd_select_options_20=>e_operators-is. <wa_initial_data>-low = 2. UNASSIGN: <wa_initial_data>. APPEND INITIAL LINE TO lt_initial_data ASSIGNING <wa_initial_data>. <wa_initial_data>-attribute = 'PARTNER'. <wa_initial_data>-sign = 'I'. <wa_initial_data>-operator = if_wd_select_options_20=>e_operators-is. <wa_initial_data>-low = '110'. UNASSIGN: <wa_initial_data>. * Add attributes to search help wd_this->ao_selection_handler->add_attributes( attributes = lt_attributes initial_data = lt_initial_data ). FREE: lt_saved_searches, lt_attributes, lt_initial_data. CLEAR: wa_general_texts, wa_general_visibility, wa_global_options. ENDMETHOD.
测试。
如按钮描述、最大结果默认数、范围(包含、大于、等于、小于.....)、设置下拉等都可以控制,具体查看WDR_SO_S_GENERAL_VISIBILITY、WDR_SO_S_GENERAL_VISIBILITY等结构。