mirror of
https://github.com/abap2xlsx/abap2xlsx.git
synced 2025-05-05 01:56:28 +08:00
converter new test methods, still failing
This commit is contained in:
parent
5bb343a3e4
commit
d071d29f11
|
@ -38,6 +38,8 @@ DATA: lo_excel TYPE REF TO zcl_excel,
|
|||
lo_salv TYPE REF TO cl_salv_table,
|
||||
gr_events TYPE REF TO lcl_handle_events,
|
||||
lr_events TYPE REF TO cl_salv_events_table,
|
||||
lo_layout TYPE REF TO cl_salv_layout,
|
||||
ls_layoutkey TYPE salv_s_layout_key,
|
||||
gt_sbook TYPE TABLE OF sbook.
|
||||
|
||||
DATA: l_path TYPE string, " local dir
|
||||
|
@ -88,6 +90,12 @@ START-OF-SELECTION.
|
|||
CREATE OBJECT gr_events.
|
||||
SET HANDLER gr_events->on_user_command FOR lr_events.
|
||||
|
||||
lo_layout = lo_salv->get_layout( ).
|
||||
ls_layoutkey-report = sy-repid.
|
||||
lo_layout->set_key( ls_layoutkey ).
|
||||
lo_layout->set_save_restriction( cl_salv_layout=>restrict_none ).
|
||||
lo_layout->set_default( cl_salv_layout=>true ).
|
||||
|
||||
lo_salv->display( ).
|
||||
|
||||
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
CLASS zcl_excel_converter_alv DEFINITION
|
||||
PUBLIC
|
||||
ABSTRACT
|
||||
CREATE PUBLIC .
|
||||
class ZCL_EXCEL_CONVERTER_ALV definition
|
||||
public
|
||||
abstract
|
||||
create public .
|
||||
|
||||
*"* public components of class ZCL_EXCEL_CONVERTER_ALV
|
||||
*"* do not include other source files here!!!
|
||||
PUBLIC SECTION.
|
||||
|
||||
INTERFACES zif_excel_converter
|
||||
ALL METHODS ABSTRACT .
|
||||
|
||||
CLASS-METHODS class_constructor .
|
||||
*"* protected components of class ZCL_EXCEL_CONVERTER_ALV
|
||||
*"* do not include other source files here!!!
|
||||
public section.
|
||||
|
||||
interfaces ZIF_EXCEL_CONVERTER
|
||||
all methods abstract .
|
||||
|
||||
class-methods CLASS_CONSTRUCTOR .
|
||||
PROTECTED SECTION.
|
||||
|
||||
DATA wt_sort TYPE lvc_t_sort .
|
||||
|
@ -49,7 +49,7 @@ ENDCLASS.
|
|||
|
||||
|
||||
|
||||
CLASS zcl_excel_converter_alv IMPLEMENTATION.
|
||||
CLASS ZCL_EXCEL_CONVERTER_ALV IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD apply_sort.
|
||||
|
@ -407,22 +407,118 @@ CLASS zcl_excel_converter_alv IMPLEMENTATION.
|
|||
<fs_srange> TYPE any,
|
||||
<fs_trange> TYPE STANDARD TABLE.
|
||||
|
||||
IF ws_option-filter = abap_false.
|
||||
CLEAR et_filter.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
CASE 2.
|
||||
|
||||
ASSIGN xo_table->* TO <fs_tab>.
|
||||
WHEN 1.
|
||||
|
||||
CREATE DATA lo_ltabdata LIKE <fs_tab>.
|
||||
ASSIGN lo_ltabdata->* TO <fs_ltab>.
|
||||
IF ws_option-filter = abap_false.
|
||||
CLEAR et_filter.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
|
||||
LOOP AT wt_filt INTO ls_filt.
|
||||
LOOP AT <fs_tab> ASSIGNING <fs_stab>.
|
||||
l_line = sy-tabix.
|
||||
ASSIGN COMPONENT ls_filt-fieldname OF STRUCTURE <fs_stab> TO <fs>.
|
||||
IF sy-subrc = 0.
|
||||
IF l_line = 1.
|
||||
ASSIGN xo_table->* TO <fs_tab>.
|
||||
|
||||
CREATE DATA lo_ltabdata LIKE <fs_tab>.
|
||||
ASSIGN lo_ltabdata->* TO <fs_ltab>.
|
||||
|
||||
LOOP AT wt_filt INTO ls_filt.
|
||||
LOOP AT <fs_tab> ASSIGNING <fs_stab>.
|
||||
l_line = sy-tabix.
|
||||
ASSIGN COMPONENT ls_filt-fieldname OF STRUCTURE <fs_stab> TO <fs>.
|
||||
IF sy-subrc = 0.
|
||||
IF l_line = 1.
|
||||
CLEAR lt_components_tab.
|
||||
ls_components-name = 'SIGN'.
|
||||
lo_addit ?= cl_abap_typedescr=>describe_by_data( ls_filt-sign ).
|
||||
ls_components-type = lo_addit .
|
||||
INSERT ls_components INTO TABLE lt_components_tab.
|
||||
ls_components-name = 'OPTION'.
|
||||
lo_addit ?= cl_abap_typedescr=>describe_by_data( ls_filt-option ).
|
||||
ls_components-type = lo_addit .
|
||||
INSERT ls_components INTO TABLE lt_components_tab.
|
||||
ls_components-name = 'LOW'.
|
||||
lo_addit ?= cl_abap_typedescr=>describe_by_data( <fs> ).
|
||||
ls_components-type = lo_addit .
|
||||
INSERT ls_components INTO TABLE lt_components_tab.
|
||||
ls_components-name = 'HIGH'.
|
||||
lo_addit ?= cl_abap_typedescr=>describe_by_data( <fs> ).
|
||||
ls_components-type = lo_addit .
|
||||
INSERT ls_components INTO TABLE lt_components_tab.
|
||||
"create new line type
|
||||
TRY.
|
||||
lo_struc = cl_abap_structdescr=>create( p_components = lt_components_tab
|
||||
p_strict = abap_false ).
|
||||
CATCH cx_sy_struct_creation.
|
||||
CONTINUE.
|
||||
ENDTRY.
|
||||
lo_table = cl_abap_tabledescr=>create( lo_struc ).
|
||||
|
||||
CREATE DATA lo_trange TYPE HANDLE lo_table.
|
||||
CREATE DATA lo_srange TYPE HANDLE lo_struc.
|
||||
|
||||
ASSIGN lo_trange->* TO <fs_trange>.
|
||||
ASSIGN lo_srange->* TO <fs_srange>.
|
||||
ENDIF.
|
||||
CLEAR <fs_trange>.
|
||||
ASSIGN COMPONENT 'SIGN' OF STRUCTURE <fs_srange> TO <fs1>.
|
||||
<fs1> = ls_filt-sign.
|
||||
ASSIGN COMPONENT 'OPTION' OF STRUCTURE <fs_srange> TO <fs1>.
|
||||
<fs1> = ls_filt-option.
|
||||
ASSIGN COMPONENT 'LOW' OF STRUCTURE <fs_srange> TO <fs1>.
|
||||
<fs1> = ls_filt-low.
|
||||
ASSIGN COMPONENT 'HIGH' OF STRUCTURE <fs_srange> TO <fs1>.
|
||||
<fs1> = ls_filt-high.
|
||||
INSERT <fs_srange> INTO TABLE <fs_trange>.
|
||||
IF <fs> IN <fs_trange>.
|
||||
IF ws_option-filter = abap_true.
|
||||
ls_filter-rownumber = l_line.
|
||||
ls_filter-columnname = ls_filt-fieldname.
|
||||
INSERT ls_filter INTO TABLE et_filter.
|
||||
ELSE.
|
||||
INSERT <fs_stab> INTO TABLE <fs_ltab>.
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
ENDLOOP.
|
||||
IF ws_option-filter = abap_undefined.
|
||||
<fs_tab> = <fs_ltab>.
|
||||
CLEAR <fs_ltab>.
|
||||
ENDIF.
|
||||
ENDLOOP.
|
||||
|
||||
|
||||
WHEN 2.
|
||||
|
||||
TYPES: BEGIN OF ty_field_range,
|
||||
fieldname TYPE lvc_fname,
|
||||
range_tab TYPE REF TO data,
|
||||
range_wa TYPE REF TO data,
|
||||
END OF ty_field_range.
|
||||
DATA: lt_field_range TYPE HASHED TABLE OF ty_field_range WITH UNIQUE KEY fieldname,
|
||||
ls_field_range LIKE LINE OF lt_field_range.
|
||||
FIELD-SYMBOLS: <fs_field_range> LIKE LINE OF lt_field_range.
|
||||
|
||||
IF ws_option-filter = abap_false.
|
||||
CLEAR et_filter.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
|
||||
ASSIGN xo_table->* TO <fs_tab>.
|
||||
|
||||
CREATE DATA lo_ltabdata LIKE <fs_tab>.
|
||||
ASSIGN lo_ltabdata->* TO <fs_ltab>.
|
||||
|
||||
* Range creation and range comparison must be done in two steps:
|
||||
* This is due to the fact, that range values might be applied
|
||||
* all together at once not value after value for a specific fieldname
|
||||
* --> Having multiple excluding values is a problem that would otherwise
|
||||
* occur...
|
||||
|
||||
* 1. Step: Create a the combined ranges for each fieldname...
|
||||
LOOP AT wt_filt INTO ls_filt.
|
||||
|
||||
READ TABLE lt_field_range WITH TABLE KEY fieldname = ls_filt-fieldname ASSIGNING <fs_field_range>.
|
||||
IF sy-subrc <> 0.
|
||||
CLEAR lt_components_tab.
|
||||
ls_components-name = 'SIGN'.
|
||||
lo_addit ?= cl_abap_typedescr=>describe_by_data( ls_filt-sign ).
|
||||
|
@ -432,14 +528,23 @@ CLASS zcl_excel_converter_alv IMPLEMENTATION.
|
|||
lo_addit ?= cl_abap_typedescr=>describe_by_data( ls_filt-option ).
|
||||
ls_components-type = lo_addit .
|
||||
INSERT ls_components INTO TABLE lt_components_tab.
|
||||
|
||||
lo_table ?= cl_abap_tabledescr=>describe_by_data( <fs_tab> ).
|
||||
TRY.
|
||||
lo_struc ?= lo_table->get_table_line_type( ).
|
||||
ls_components-type = lo_struc->get_component_type( p_name = ls_filt-fieldname ).
|
||||
CATCH cx_sy_move_cast_error.
|
||||
* Unstructured table. Might never occur...
|
||||
ls_components-type = lo_table->get_table_line_type( ).
|
||||
ENDTRY.
|
||||
|
||||
CHECK ls_components-type IS NOT INITIAL.
|
||||
|
||||
ls_components-name = 'LOW'.
|
||||
lo_addit ?= cl_abap_typedescr=>describe_by_data( <fs> ).
|
||||
ls_components-type = lo_addit .
|
||||
INSERT ls_components INTO TABLE lt_components_tab.
|
||||
ls_components-name = 'HIGH'.
|
||||
lo_addit ?= cl_abap_typedescr=>describe_by_data( <fs> ).
|
||||
ls_components-type = lo_addit .
|
||||
INSERT ls_components INTO TABLE lt_components_tab.
|
||||
|
||||
"create new line type
|
||||
TRY.
|
||||
lo_struc = cl_abap_structdescr=>create( p_components = lt_components_tab
|
||||
|
@ -449,13 +554,16 @@ CLASS zcl_excel_converter_alv IMPLEMENTATION.
|
|||
ENDTRY.
|
||||
lo_table = cl_abap_tabledescr=>create( lo_struc ).
|
||||
|
||||
CREATE DATA lo_trange TYPE HANDLE lo_table.
|
||||
CREATE DATA lo_srange TYPE HANDLE lo_struc.
|
||||
ls_field_range-fieldname = ls_filt-fieldname.
|
||||
CREATE DATA ls_field_range-range_tab TYPE HANDLE lo_table.
|
||||
CREATE DATA ls_field_range-range_wa TYPE HANDLE lo_struc.
|
||||
INSERT ls_field_range INTO TABLE lt_field_range ASSIGNING <fs_field_range>.
|
||||
|
||||
ASSIGN lo_trange->* TO <fs_trange>.
|
||||
ASSIGN lo_srange->* TO <fs_srange>.
|
||||
ENDIF.
|
||||
CLEAR <fs_trange>.
|
||||
|
||||
ASSIGN <fs_field_range>-range_tab->* TO <fs_trange>.
|
||||
ASSIGN <fs_field_range>-range_wa->* TO <fs_srange>.
|
||||
|
||||
ASSIGN COMPONENT 'SIGN' OF STRUCTURE <fs_srange> TO <fs1>.
|
||||
<fs1> = ls_filt-sign.
|
||||
ASSIGN COMPONENT 'OPTION' OF STRUCTURE <fs_srange> TO <fs1>.
|
||||
|
@ -465,22 +573,37 @@ CLASS zcl_excel_converter_alv IMPLEMENTATION.
|
|||
ASSIGN COMPONENT 'HIGH' OF STRUCTURE <fs_srange> TO <fs1>.
|
||||
<fs1> = ls_filt-high.
|
||||
INSERT <fs_srange> INTO TABLE <fs_trange>.
|
||||
IF <fs> IN <fs_trange>.
|
||||
IF ws_option-filter = abap_true.
|
||||
ls_filter-rownumber = l_line.
|
||||
ls_filter-columnname = ls_filt-fieldname.
|
||||
INSERT ls_filter INTO TABLE et_filter.
|
||||
|
||||
ENDLOOP.
|
||||
|
||||
* 2. Step: Now apply the fieldname ranges afterwards...
|
||||
LOOP AT <fs_tab> ASSIGNING <fs_stab>.
|
||||
ls_filter-rownumber = sy-tabix.
|
||||
DATA selected TYPE abap_bool.
|
||||
selected = abap_true.
|
||||
LOOP AT lt_field_range ASSIGNING <fs_field_range>.
|
||||
ASSIGN COMPONENT ls_filt-fieldname OF STRUCTURE <fs_stab> TO <fs>.
|
||||
ASSIGN <fs_field_range>-range_tab->* TO <fs_trange>.
|
||||
IF <fs> IN <fs_trange>.
|
||||
IF ws_option-filter = abap_true.
|
||||
ls_filter-columnname = <fs_field_range>-fieldname.
|
||||
INSERT ls_filter INTO TABLE et_filter.
|
||||
ENDIF.
|
||||
ELSE.
|
||||
INSERT <fs_stab> INTO TABLE <fs_ltab>.
|
||||
selected = abap_false.
|
||||
ENDIF.
|
||||
ENDLOOP.
|
||||
IF selected = abap_true AND ws_option-filter = abap_undefined.
|
||||
INSERT <fs_stab> INTO TABLE <fs_ltab>.
|
||||
ENDIF.
|
||||
ENDLOOP.
|
||||
|
||||
IF wt_filt IS NOT INITIAL AND ws_option-filter = abap_undefined.
|
||||
<fs_tab> = <fs_ltab>.
|
||||
CLEAR <fs_ltab>.
|
||||
ENDIF.
|
||||
ENDLOOP.
|
||||
IF ws_option-filter = abap_undefined.
|
||||
<fs_tab> = <fs_ltab>.
|
||||
CLEAR <fs_ltab>.
|
||||
ENDIF.
|
||||
ENDLOOP.
|
||||
|
||||
ENDCASE.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
|
238
src/not_cloud/zcl_excel_converter_alv.clas.testclasses.abap
Normal file
238
src/not_cloud/zcl_excel_converter_alv.clas.testclasses.abap
Normal file
|
@ -0,0 +1,238 @@
|
|||
*CLASS ltc_get_filter DEFINITION DEFERRED.
|
||||
*CLASS zcl_excel_converter_alv DEFINITION LOCAL FRIENDS
|
||||
* ltc_get_filter.
|
||||
|
||||
CLASS ltc_converter_alv DEFINITION FOR TESTING INHERITING FROM zcl_excel_converter_alv.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
TYPES: BEGIN OF ty_alv_line,
|
||||
field_1 TYPE string,
|
||||
field_2 TYPE string,
|
||||
END OF ty_alv_line,
|
||||
ty_alv_table TYPE STANDARD TABLE OF ty_alv_line WITH DEFAULT KEY.
|
||||
|
||||
METHODS:
|
||||
zif_excel_converter~can_convert_object REDEFINITION,
|
||||
zif_excel_converter~create_fieldcatalog REDEFINITION,
|
||||
zif_excel_converter~get_supported_class REDEFINITION.
|
||||
|
||||
METHODS set_alv_table
|
||||
IMPORTING
|
||||
alv_table TYPE ty_alv_table.
|
||||
|
||||
METHODS set_alv_filter_table
|
||||
IMPORTING
|
||||
alv_filter_table TYPE lvc_t_filt.
|
||||
|
||||
METHODS wrapper_of_get_filter
|
||||
EXPORTING
|
||||
et_filter TYPE zexcel_t_converter_fil
|
||||
et_filtered_alv_table TYPE ty_alv_table.
|
||||
|
||||
PRIVATE SECTION.
|
||||
|
||||
DATA: alv_table TYPE ty_alv_table.
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS ltc_converter_alv IMPLEMENTATION.
|
||||
|
||||
METHOD zif_excel_converter~can_convert_object.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD zif_excel_converter~create_fieldcatalog.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD zif_excel_converter~get_supported_class.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD wrapper_of_get_filter.
|
||||
DATA: ref_alv_table TYPE REF TO data.
|
||||
|
||||
et_filtered_alv_table = alv_table.
|
||||
GET REFERENCE OF et_filtered_alv_table INTO ref_alv_table.
|
||||
|
||||
" Get ET_FILTER
|
||||
ws_option-filter = abap_true.
|
||||
get_filter(
|
||||
IMPORTING
|
||||
et_filter = et_filter
|
||||
CHANGING
|
||||
xo_table = ref_alv_table ).
|
||||
|
||||
" Get filtered table
|
||||
ws_option-filter = abap_undefined.
|
||||
get_filter(
|
||||
CHANGING
|
||||
xo_table = ref_alv_table ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD set_alv_table.
|
||||
|
||||
me->alv_table = alv_table.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD set_alv_filter_table.
|
||||
|
||||
wt_filt = alv_filter_table.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
CLASS ltc_get_filter DEFINITION FOR TESTING
|
||||
RISK LEVEL HARMLESS
|
||||
DURATION SHORT.
|
||||
|
||||
PRIVATE SECTION.
|
||||
|
||||
TYPES: BEGIN OF ty_output,
|
||||
filter_table TYPE zexcel_t_converter_fil,
|
||||
filtered_alv_table TYPE ltc_converter_alv=>ty_alv_table,
|
||||
END OF ty_output.
|
||||
DATA:
|
||||
f_cut TYPE REF TO ltc_converter_alv, "class under test
|
||||
alv_line TYPE ltc_converter_alv=>ty_alv_line,
|
||||
alv_table TYPE ltc_converter_alv=>ty_alv_table,
|
||||
alv_filter_line TYPE lvc_s_filt,
|
||||
alv_filter_table TYPE lvc_t_filt,
|
||||
filter_line TYPE zexcel_s_converter_fil,
|
||||
filter_table TYPE zexcel_t_converter_fil,
|
||||
filtered_alv_line TYPE ltc_converter_alv=>ty_alv_line,
|
||||
filtered_alv_table TYPE ltc_converter_alv=>ty_alv_table,
|
||||
act TYPE ty_output,
|
||||
exp TYPE ty_output.
|
||||
|
||||
METHODS:
|
||||
none FOR TESTING RAISING cx_static_check,
|
||||
one_field_eq_or_eq FOR TESTING RAISING cx_static_check,
|
||||
simple FOR TESTING RAISING cx_static_check,
|
||||
two_fields_eq FOR TESTING RAISING cx_static_check.
|
||||
|
||||
METHODS: setup.
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS ltc_get_filter IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD none.
|
||||
|
||||
f_cut->wrapper_of_get_filter(
|
||||
IMPORTING
|
||||
et_filter = act-filter_table
|
||||
et_filtered_alv_table = act-filtered_alv_table ).
|
||||
|
||||
exp-filtered_alv_table = alv_table.
|
||||
|
||||
cl_abap_unit_assert=>assert_equals( act = act-filter_table exp = exp-filter_table ).
|
||||
cl_abap_unit_assert=>assert_equals( act = act-filtered_alv_table exp = exp-filtered_alv_table ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD one_field_eq_or_eq.
|
||||
|
||||
alv_filter_line-fieldname = 'FIELD_1'.
|
||||
alv_filter_line-sign = 'I'.
|
||||
alv_filter_line-option = 'EQ'.
|
||||
alv_filter_line-low = 'A'.
|
||||
APPEND alv_filter_line TO alv_filter_table.
|
||||
alv_filter_line-low = 'B'.
|
||||
APPEND alv_filter_line TO alv_filter_table.
|
||||
f_cut->set_alv_filter_table( alv_filter_table ).
|
||||
|
||||
f_cut->wrapper_of_get_filter(
|
||||
IMPORTING
|
||||
et_filter = act-filter_table
|
||||
et_filtered_alv_table = act-filtered_alv_table ).
|
||||
|
||||
filter_line-rownumber = 1.
|
||||
filter_line-columnname = 'FIELD_1'.
|
||||
INSERT filter_line INTO TABLE exp-filter_table.
|
||||
filter_line-rownumber = 2.
|
||||
filter_line-columnname = 'FIELD_1'.
|
||||
INSERT filter_line INTO TABLE exp-filter_table.
|
||||
|
||||
exp-filtered_alv_table = alv_table.
|
||||
|
||||
cl_abap_unit_assert=>assert_equals( act = act-filter_table exp = exp-filter_table ).
|
||||
cl_abap_unit_assert=>assert_equals( act = act-filtered_alv_table exp = exp-filtered_alv_table ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD setup.
|
||||
|
||||
CREATE OBJECT f_cut.
|
||||
alv_line-field_1 = 'A'.
|
||||
alv_line-field_2 = 'C'.
|
||||
APPEND alv_line TO alv_table.
|
||||
alv_line-field_1 = 'B'.
|
||||
alv_line-field_2 = 'D'.
|
||||
APPEND alv_line TO alv_table.
|
||||
f_cut->set_alv_table( alv_table ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD simple.
|
||||
|
||||
alv_filter_line-fieldname = 'FIELD_1'.
|
||||
alv_filter_line-sign = 'I'.
|
||||
alv_filter_line-option = 'EQ'.
|
||||
alv_filter_line-low = 'A'.
|
||||
alv_filter_line-high = ''.
|
||||
APPEND alv_filter_line TO alv_filter_table.
|
||||
f_cut->set_alv_filter_table( alv_filter_table ).
|
||||
|
||||
f_cut->wrapper_of_get_filter(
|
||||
IMPORTING
|
||||
et_filter = act-filter_table
|
||||
et_filtered_alv_table = act-filtered_alv_table ).
|
||||
|
||||
filter_line-rownumber = 1.
|
||||
filter_line-columnname = 'FIELD_1'.
|
||||
INSERT filter_line INTO TABLE exp-filter_table.
|
||||
|
||||
exp-filtered_alv_table = alv_table.
|
||||
DELETE exp-filtered_alv_table WHERE field_1 <> 'A'.
|
||||
|
||||
cl_abap_unit_assert=>assert_equals( act = act-filter_table exp = exp-filter_table ).
|
||||
cl_abap_unit_assert=>assert_equals( act = act-filtered_alv_table exp = exp-filtered_alv_table ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD two_fields_eq.
|
||||
|
||||
alv_filter_line-fieldname = 'FIELD_1'.
|
||||
alv_filter_line-sign = 'I'.
|
||||
alv_filter_line-option = 'EQ'.
|
||||
alv_filter_line-low = 'A'.
|
||||
APPEND alv_filter_line TO alv_filter_table.
|
||||
alv_filter_line-fieldname = 'FIELD_2'.
|
||||
alv_filter_line-low = 'D'.
|
||||
APPEND alv_filter_line TO alv_filter_table.
|
||||
f_cut->set_alv_filter_table( alv_filter_table ).
|
||||
|
||||
f_cut->wrapper_of_get_filter(
|
||||
IMPORTING
|
||||
et_filter = act-filter_table
|
||||
et_filtered_alv_table = act-filtered_alv_table ).
|
||||
|
||||
cl_abap_unit_assert=>assert_equals( act = act-filter_table exp = exp-filter_table ).
|
||||
cl_abap_unit_assert=>assert_equals( act = act-filtered_alv_table exp = exp-filtered_alv_table ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
ENDCLASS.
|
|
@ -10,6 +10,7 @@
|
|||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
<WITH_UNIT_TESTS>X</WITH_UNIT_TESTS>
|
||||
</VSEOCLASS>
|
||||
<DESCRIPTIONS>
|
||||
<SEOCOMPOTX>
|
||||
|
|
Loading…
Reference in New Issue
Block a user