diff --git a/ZA2X/CLAS/ZCL_EXCEL_CONVERTER_ALV_GRID.slnk b/ZA2X/CLAS/ZCL_EXCEL_CONVERTER_ALV_GRID.slnk
index 9a1861c..866be54 100644
--- a/ZA2X/CLAS/ZCL_EXCEL_CONVERTER_ALV_GRID.slnk
+++ b/ZA2X/CLAS/ZCL_EXCEL_CONVERTER_ALV_GRID.slnk
@@ -6,16 +6,11 @@
final
create public .
+public section.
*"* public components of class ZCL_EXCEL_CONVERTER_ALV_GRID
*"* do not include other source files here!!!
-public section.
- interfaces ZIF_EXCEL_CONVERTER .
-
- aliases CAN_CONVERT_OBJECT
- for ZIF_EXCEL_CONVERTER~CAN_CONVERT_OBJECT .
- aliases CREATE_FIELDCATALOG
- for ZIF_EXCEL_CONVERTER~CREATE_FIELDCATALOG .
+ interfaces ZIF_EXCEL_CONVERTER .
*"* protected components of class ZCL_EXCEL_CONVERTER_ALV_GRID
*"* do not include other source files here!!!
protected section.
@@ -43,36 +38,36 @@ private section.
endmethod.
- method ZIF_EXCEL_CONVERTER~CREATE_FIELDCATALOG.
- data: lo_alv type ref to cl_gui_alv_grid.
- data: ls_converter_fcat type zexcel_s_converter_fcat,
- lt_fcat type lvc_t_fcat,
- ls_fcat type lvc_s_fcat,
- ls_layout type lvc_s_layo.
+ METHOD zif_excel_converter~create_fieldcatalog.
+ DATA: lo_alv TYPE REF TO cl_gui_alv_grid.
+ DATA: ls_converter_fcat TYPE zexcel_s_converter_fcat,
+ lt_fcat TYPE lvc_t_fcat,
+ ls_fcat TYPE lvc_s_fcat,
+ ls_layout TYPE lvc_s_layo.
- field-symbols: <fs_stable> type any.
- try.
- can_convert_object( io_object = io_object ).
- endtry.
+ FIELD-SYMBOLS: <fs_stable> TYPE any.
+ TRY.
+ zif_excel_converter~can_convert_object( io_object = io_object ).
+ ENDTRY.
lo_alv ?= io_object.
- clear: es_layout,
+ CLEAR: es_layout,
et_fieldcatalog.
- if lo_alv is bound.
- lo_alv->get_frontend_fieldcatalog( importing et_fieldcatalog = lt_fcat ).
- lo_alv->get_frontend_layout( importing es_layout = ls_layout ).
- if ls_layout-zebra is not initial.
+ IF lo_alv IS BOUND.
+ lo_alv->get_frontend_fieldcatalog( IMPORTING et_fieldcatalog = lt_fcat ).
+ lo_alv->get_frontend_layout( IMPORTING es_layout = ls_layout ).
+ IF ls_layout-zebra IS NOT INITIAL.
es_layout-is_stripped = abap_true.
- endif.
- if ls_layout-no_keyfix is initial or
+ ENDIF.
+ IF ls_layout-no_keyfix IS INITIAL OR
ls_layout-no_keyfix = '0'.
es_layout-is_fixed = abap_true.
- endif.
- loop at lt_fcat into ls_fcat.
- clear ls_converter_fcat.
- if ls_fcat-tech = abap_false.
+ ENDIF.
+ LOOP AT lt_fcat INTO ls_fcat.
+ CLEAR ls_converter_fcat.
+ IF ls_fcat-tech = abap_false.
ls_converter_fcat-tabname = ls_fcat-tabname.
ls_converter_fcat-fieldname = ls_fcat-fieldname .
ls_converter_fcat-columnname = ls_fcat-fieldname .
@@ -81,128 +76,37 @@ endmethod.
ls_converter_fcat-scrtext_s = ls_fcat-scrtext_s .
ls_converter_fcat-scrtext_m = ls_fcat-scrtext_m .
ls_converter_fcat-scrtext_l = ls_fcat-scrtext_l.
- if ls_fcat-do_sum is not initial.
+ IF ls_fcat-do_sum IS NOT INITIAL.
ls_converter_fcat-totals_function = zcl_excel_table=>totals_function_sum.
- endif.
+ ENDIF.
ls_converter_fcat-fix_column = ls_fcat-fix_column.
- if ls_layout-cwidth_opt is initial.
- if ls_fcat-col_opt is not initial.
+ IF ls_layout-cwidth_opt IS INITIAL.
+ IF ls_fcat-col_opt IS NOT INITIAL.
ls_converter_fcat-is_optimized = abap_true.
- endif.
- else.
+ ENDIF.
+ ELSE.
ls_converter_fcat-is_optimized = abap_true.
- endif.
- if ls_fcat-no_out is not initial.
- clear ls_converter_fcat-is_visible.
- else.
+ ENDIF.
+ IF ls_fcat-no_out IS NOT INITIAL.
+ CLEAR ls_converter_fcat-is_visible.
+ ELSE.
ls_converter_fcat-is_visible = abap_true.
- endif.
- case ls_fcat-just.
- when 'R'.
+ ENDIF.
+ CASE ls_fcat-just.
+ WHEN 'R'.
ls_converter_fcat-alignment = zcl_excel_style_alignment=>c_horizontal_right.
- when 'L'.
+ WHEN 'L'.
ls_converter_fcat-alignment = zcl_excel_style_alignment=>c_horizontal_left.
- when 'C'.
+ WHEN 'C'.
ls_converter_fcat-alignment = zcl_excel_style_alignment=>c_horizontal_center.
- when others.
- clear ls_converter_fcat-alignment.
- endcase.
- append ls_converter_fcat to et_fieldcatalog.
- endif.
- endloop.
- endif.
+ WHEN OTHERS.
+ CLEAR ls_converter_fcat-alignment.
+ ENDCASE.
+ APPEND ls_converter_fcat TO et_fieldcatalog.
+ ENDIF.
+ ENDLOOP.
+ ENDIF.
-endmethod.
+ENDMETHOD.
-
-
-
- method ZIF_EXCEL_CONVERTER~CAN_CONVERT_OBJECT.
- data: lo_alv type REF TO cl_gui_alv_grid.
-
- try.
- lo_alv ?= io_object.
- catch cx_sy_move_cast_error .
- raise exception type zcx_excel.
- endtry.
-
-endmethod.
-
-
-
-
-
-
-
- method ZIF_EXCEL_CONVERTER~CREATE_FIELDCATALOG.
- data: lo_alv type ref to cl_gui_alv_grid.
- data: ls_converter_fcat type zexcel_s_converter_fcat,
- lt_fcat type lvc_t_fcat,
- ls_fcat type lvc_s_fcat,
- ls_layout type lvc_s_layo.
-
- field-symbols: <fs_stable> type any.
- try.
- can_convert_object( io_object = io_object ).
- endtry.
-
- lo_alv ?= io_object.
-
- clear: es_layout,
- et_fieldcatalog.
-
- if lo_alv is bound.
- lo_alv->get_frontend_fieldcatalog( importing et_fieldcatalog = lt_fcat ).
- lo_alv->get_frontend_layout( importing es_layout = ls_layout ).
- if ls_layout-zebra is not initial.
- es_layout-is_stripped = abap_true.
- endif.
- if ls_layout-no_keyfix is initial or
- ls_layout-no_keyfix = '0'.
- es_layout-is_fixed = abap_true.
- endif.
- loop at lt_fcat into ls_fcat.
- clear ls_converter_fcat.
- if ls_fcat-tech = abap_false.
- ls_converter_fcat-tabname = ls_fcat-tabname.
- ls_converter_fcat-fieldname = ls_fcat-fieldname .
- ls_converter_fcat-columnname = ls_fcat-fieldname .
- ls_converter_fcat-position = ls_fcat-col_pos.
- ls_converter_fcat-inttype = ls_fcat-inttype.
- ls_converter_fcat-scrtext_s = ls_fcat-scrtext_s .
- ls_converter_fcat-scrtext_m = ls_fcat-scrtext_m .
- ls_converter_fcat-scrtext_l = ls_fcat-scrtext_l.
- if ls_fcat-do_sum is not initial.
- ls_converter_fcat-totals_function = zcl_excel_table=>totals_function_sum.
- endif.
- ls_converter_fcat-fix_column = ls_fcat-fix_column.
- if ls_layout-cwidth_opt is initial.
- if ls_fcat-col_opt is not initial.
- ls_converter_fcat-is_optimized = abap_true.
- endif.
- else.
- ls_converter_fcat-is_optimized = abap_true.
- endif.
- if ls_fcat-no_out is not initial.
- clear ls_converter_fcat-is_visible.
- else.
- ls_converter_fcat-is_visible = abap_true.
- endif.
- case ls_fcat-just.
- when 'R'.
- ls_converter_fcat-alignment = zcl_excel_style_alignment=>c_horizontal_right.
- when 'L'.
- ls_converter_fcat-alignment = zcl_excel_style_alignment=>c_horizontal_left.
- when 'C'.
- ls_converter_fcat-alignment = zcl_excel_style_alignment=>c_horizontal_center.
- when others.
- clear ls_converter_fcat-alignment.
- endcase.
- append ls_converter_fcat to et_fieldcatalog.
- endif.
- endloop.
- endif.
-
-endmethod.
-
diff --git a/ZA2X/CLAS/ZCL_EXCEL_CONVERTER_SALV_TABLE.slnk b/ZA2X/CLAS/ZCL_EXCEL_CONVERTER_SALV_TABLE.slnk
index 7f3e324..689ad2e 100644
--- a/ZA2X/CLAS/ZCL_EXCEL_CONVERTER_SALV_TABLE.slnk
+++ b/ZA2X/CLAS/ZCL_EXCEL_CONVERTER_SALV_TABLE.slnk
@@ -6,16 +6,11 @@
final
create public .
+public section.
*"* public components of class ZCL_EXCEL_CONVERTER_SALV_TABLE
*"* do not include other source files here!!!
-public section.
- interfaces ZIF_EXCEL_CONVERTER .
-
- aliases CAN_CONVERT_OBJECT
- for ZIF_EXCEL_CONVERTER~CAN_CONVERT_OBJECT .
- aliases CREATE_FIELDCATALOG
- for ZIF_EXCEL_CONVERTER~CREATE_FIELDCATALOG .
+ interfaces ZIF_EXCEL_CONVERTER .
*"* protected components of class ZCL_EXCEL_CONVERTER_SALV_TABLE
*"* do not include other source files here!!!
protected section.
@@ -43,244 +38,114 @@ private section.
endmethod.
- method ZIF_EXCEL_CONVERTER~CREATE_FIELDCATALOG.
- data: lo_salv type ref to cl_salv_table.
+ METHOD zif_excel_converter~create_fieldcatalog.
+ DATA: lo_salv TYPE REF TO cl_salv_table.
- data: lo_columns type ref to cl_salv_columns_table,
- lo_column type ref to cl_salv_column_table,
- lo_aggregations type ref to cl_salv_aggregations,
- lo_aggregation type ref to cl_salv_aggregation,
- lo_sorts type ref to cl_salv_sorts,
- lo_sort type ref to cl_salv_sort,
- lo_display type ref to cl_salv_display_settings,
- l_agre type salv_de_aggregation,
- lt_column type salv_t_column_ref,
- ls_column type salv_s_column_ref,
- ls_fieldcatalog type zexcel_s_converter_fcat,
- ls_ref type salv_s_ddic_reference,
- l_alignment type salv_de_alignment,
- l_fix type sap_bool,
- l_optimized type sap_bool.
+ DATA: lo_columns TYPE REF TO cl_salv_columns_table,
+ lo_column TYPE REF TO cl_salv_column_table,
+ lo_aggregations TYPE REF TO cl_salv_aggregations,
+ lo_aggregation TYPE REF TO cl_salv_aggregation,
+ lo_sorts TYPE REF TO cl_salv_sorts,
+ lo_sort TYPE REF TO cl_salv_sort,
+ lo_display TYPE REF TO cl_salv_display_settings,
+ l_agre TYPE salv_de_aggregation,
+ lt_column TYPE salv_t_column_ref,
+ ls_column TYPE salv_s_column_ref,
+ ls_fieldcatalog TYPE zexcel_s_converter_fcat,
+ ls_ref TYPE salv_s_ddic_reference,
+ l_alignment TYPE salv_de_alignment,
+ l_fix TYPE sap_bool,
+ l_optimized TYPE sap_bool.
- field-symbols: <fs_stable> type any.
- try.
- can_convert_object( io_object = io_object ).
- endtry.
+ FIELD-SYMBOLS: <fs_stable> TYPE any.
+ TRY.
+ zif_excel_converter~can_convert_object( io_object = io_object ).
+ ENDTRY.
lo_salv ?= io_object.
- clear: es_layout,
+ CLEAR: es_layout,
et_fieldcatalog.
- if lo_salv is bound.
+ IF lo_salv IS BOUND.
lo_columns = lo_salv->get_columns( ).
lt_column = lo_columns->get( ) .
lo_aggregations = lo_salv->get_aggregations( ) .
lo_display = lo_salv->get_display_settings( ) .
es_layout-is_stripped = lo_display->is_striped_pattern( ) .
l_optimized = lo_columns->is_optimized( ).
- loop at lt_column into ls_column.
- clear ls_fieldcatalog.
- if ls_column-r_column->is_technical( ) = abap_false.
- try.
+ LOOP AT lt_column INTO ls_column.
+ CLEAR ls_fieldcatalog.
+ IF ls_column-r_column->is_technical( ) = abap_false.
+ TRY.
lo_column ?= lo_columns->get_column( columnname = ls_column-columnname ).
- catch cx_salv_not_found.
- raise exception type zcx_excel.
- endtry.
+ CATCH cx_salv_not_found.
+ RAISE EXCEPTION TYPE zcx_excel.
+ ENDTRY.
ls_ref = ls_column-r_column->get_ddic_reference( ).
ls_fieldcatalog-tabname = ls_ref-table.
ls_fieldcatalog-fieldname = ls_ref-field.
ls_fieldcatalog-columnname = ls_column-columnname.
- try.
+ TRY.
ls_fieldcatalog-position = lo_columns->get_column_position( columnname = ls_column-columnname ).
- catch cx_salv_not_found.
- raise exception type zcx_excel.
- endtry.
+ CATCH cx_salv_not_found.
+ RAISE EXCEPTION TYPE zcx_excel.
+ ENDTRY.
ls_fieldcatalog-inttype = ls_column-r_column->get_ddic_inttype( ).
ls_fieldcatalog-scrtext_s = ls_column-r_column->get_short_text( ) .
ls_fieldcatalog-scrtext_m = ls_column-r_column->get_medium_text( ) .
ls_fieldcatalog-scrtext_l = ls_column-r_column->get_long_text( ).
- try.
+ TRY.
lo_aggregation = lo_aggregations->get_aggregation( columnname = ls_column-columnname ) .
- catch cx_salv_not_found.
- clear lo_aggregation.
- endtry.
- if lo_aggregation is bound.
+ CATCH cx_salv_not_found.
+ CLEAR lo_aggregation.
+ ENDTRY.
+ IF lo_aggregation IS BOUND.
l_agre = lo_aggregation->get( ).
- case l_agre.
- when if_salv_c_aggregation=>total. " Total
+ CASE l_agre.
+ WHEN if_salv_c_aggregation=>total. " Total
ls_fieldcatalog-totals_function = zcl_excel_table=>totals_function_sum.
- when if_salv_c_aggregation=>minimum. " Minimum
+ WHEN if_salv_c_aggregation=>minimum. " Minimum
ls_fieldcatalog-totals_function = zcl_excel_table=>totals_function_min.
- when if_salv_c_aggregation=>maximum. " Maximum
+ WHEN if_salv_c_aggregation=>maximum. " Maximum
ls_fieldcatalog-totals_function = zcl_excel_table=>totals_function_max.
- when if_salv_c_aggregation=>average. " Mean Value
+ WHEN if_salv_c_aggregation=>average. " Mean Value
ls_fieldcatalog-totals_function = zcl_excel_table=>totals_function_average.
- when others.
- clear ls_fieldcatalog-totals_function.
- endcase.
- endif.
+ WHEN OTHERS.
+ CLEAR ls_fieldcatalog-totals_function.
+ ENDCASE.
+ ENDIF.
ls_fieldcatalog-is_visible = ls_column-r_column->is_visible( ).
ls_fieldcatalog-fix_column = lo_column->is_key( ).
l_fix = lo_column->is_key_presence_required( ).
- if l_optimized = '1' or l_optimized = abap_true.
+ IF l_optimized = '1' OR l_optimized = abap_true.
ls_fieldcatalog-is_optimized = abap_true.
- else.
+ ELSE.
l_optimized = ls_column-r_column->is_optimized( ).
- if l_optimized = '1' or l_optimized = abap_true.
+ IF l_optimized = '1' OR l_optimized = abap_true.
ls_fieldcatalog-is_optimized = abap_true.
- endif.
- endif.
+ ENDIF.
+ ENDIF.
l_alignment = ls_column-r_column->get_alignment( ) .
- case l_alignment.
- when if_salv_c_alignment=>left. " Align left
+ CASE l_alignment.
+ WHEN if_salv_c_alignment=>left. " Align left
ls_fieldcatalog-alignment = zcl_excel_style_alignment=>c_horizontal_left.
- when if_salv_c_alignment=>right. " Align right
+ WHEN if_salv_c_alignment=>right. " Align right
ls_fieldcatalog-alignment = zcl_excel_style_alignment=>c_horizontal_right.
- when if_salv_c_alignment=>centered. " Centered
+ WHEN if_salv_c_alignment=>centered. " Centered
ls_fieldcatalog-alignment = zcl_excel_style_alignment=>c_horizontal_center.
- when others.
- clear ls_fieldcatalog-alignment.
- endcase.
- append ls_fieldcatalog to et_fieldcatalog.
- endif.
- endloop.
- if l_fix is not initial.
+ WHEN OTHERS.
+ CLEAR ls_fieldcatalog-alignment.
+ ENDCASE.
+ APPEND ls_fieldcatalog TO et_fieldcatalog.
+ ENDIF.
+ ENDLOOP.
+ IF l_fix IS NOT INITIAL.
es_layout-is_fixed = abap_true.
- endif.
- endif.
+ ENDIF.
+ ENDIF.
-endmethod.
+ENDMETHOD.
-
-
-
- method ZIF_EXCEL_CONVERTER~CAN_CONVERT_OBJECT.
- data: lo_salv type ref to cl_salv_table.
-
- try.
- lo_salv ?= io_object.
- catch cx_sy_move_cast_error .
- raise exception type zcx_excel.
- endtry.
-
-endmethod.
-
-
-
-
-
-
-
- method ZIF_EXCEL_CONVERTER~CREATE_FIELDCATALOG.
- data: lo_salv type ref to cl_salv_table.
-
- data: lo_columns type ref to cl_salv_columns_table,
- lo_column type ref to cl_salv_column_table,
- lo_aggregations type ref to cl_salv_aggregations,
- lo_aggregation type ref to cl_salv_aggregation,
- lo_sorts type ref to cl_salv_sorts,
- lo_sort type ref to cl_salv_sort,
- lo_display type ref to cl_salv_display_settings,
- l_agre type salv_de_aggregation,
- lt_column type salv_t_column_ref,
- ls_column type salv_s_column_ref,
- ls_fieldcatalog type zexcel_s_converter_fcat,
- ls_ref type salv_s_ddic_reference,
- l_alignment type salv_de_alignment,
- l_fix type sap_bool,
- l_optimized type sap_bool.
-
- field-symbols: <fs_stable> type any.
- try.
- can_convert_object( io_object = io_object ).
- endtry.
-
- lo_salv ?= io_object.
-
- clear: es_layout,
- et_fieldcatalog.
-
- if lo_salv is bound.
- lo_columns = lo_salv->get_columns( ).
- lt_column = lo_columns->get( ) .
- lo_aggregations = lo_salv->get_aggregations( ) .
- lo_display = lo_salv->get_display_settings( ) .
- es_layout-is_stripped = lo_display->is_striped_pattern( ) .
- l_optimized = lo_columns->is_optimized( ).
- loop at lt_column into ls_column.
- clear ls_fieldcatalog.
- if ls_column-r_column->is_technical( ) = abap_false.
- try.
- lo_column ?= lo_columns->get_column( columnname = ls_column-columnname ).
- catch cx_salv_not_found.
- raise exception type zcx_excel.
- endtry.
- ls_ref = ls_column-r_column->get_ddic_reference( ).
- ls_fieldcatalog-tabname = ls_ref-table.
- ls_fieldcatalog-fieldname = ls_ref-field.
- ls_fieldcatalog-columnname = ls_column-columnname.
- try.
- ls_fieldcatalog-position = lo_columns->get_column_position( columnname = ls_column-columnname ).
- catch cx_salv_not_found.
- raise exception type zcx_excel.
- endtry.
- ls_fieldcatalog-inttype = ls_column-r_column->get_ddic_inttype( ).
- ls_fieldcatalog-scrtext_s = ls_column-r_column->get_short_text( ) .
- ls_fieldcatalog-scrtext_m = ls_column-r_column->get_medium_text( ) .
- ls_fieldcatalog-scrtext_l = ls_column-r_column->get_long_text( ).
- try.
- lo_aggregation = lo_aggregations->get_aggregation( columnname = ls_column-columnname ) .
- catch cx_salv_not_found.
- clear lo_aggregation.
- endtry.
- if lo_aggregation is bound.
- l_agre = lo_aggregation->get( ).
- case l_agre.
- when if_salv_c_aggregation=>total. " Total
- ls_fieldcatalog-totals_function = zcl_excel_table=>totals_function_sum.
- when if_salv_c_aggregation=>minimum. " Minimum
- ls_fieldcatalog-totals_function = zcl_excel_table=>totals_function_min.
- when if_salv_c_aggregation=>maximum. " Maximum
- ls_fieldcatalog-totals_function = zcl_excel_table=>totals_function_max.
- when if_salv_c_aggregation=>average. " Mean Value
- ls_fieldcatalog-totals_function = zcl_excel_table=>totals_function_average.
- when others.
- clear ls_fieldcatalog-totals_function.
- endcase.
- endif.
- ls_fieldcatalog-is_visible = ls_column-r_column->is_visible( ).
- ls_fieldcatalog-fix_column = lo_column->is_key( ).
- l_fix = lo_column->is_key_presence_required( ).
-
- if l_optimized = '1' or l_optimized = abap_true.
- ls_fieldcatalog-is_optimized = abap_true.
- else.
- l_optimized = ls_column-r_column->is_optimized( ).
- if l_optimized = '1' or l_optimized = abap_true.
- ls_fieldcatalog-is_optimized = abap_true.
- endif.
- endif.
- l_alignment = ls_column-r_column->get_alignment( ) .
- case l_alignment.
- when if_salv_c_alignment=>left. " Align left
- ls_fieldcatalog-alignment = zcl_excel_style_alignment=>c_horizontal_left.
- when if_salv_c_alignment=>right. " Align right
- ls_fieldcatalog-alignment = zcl_excel_style_alignment=>c_horizontal_right.
- when if_salv_c_alignment=>centered. " Centered
- ls_fieldcatalog-alignment = zcl_excel_style_alignment=>c_horizontal_center.
- when others.
- clear ls_fieldcatalog-alignment.
- endcase.
- append ls_fieldcatalog to et_fieldcatalog.
- endif.
- endloop.
- if l_fix is not initial.
- es_layout-is_fixed = abap_true.
- endif.
- endif.
-
-endmethod.
-