From 0ccae1ac59e3b01fbfcc65f71e03b3872a785cb4 Mon Sep 17 00:00:00 2001 From: Ivan Femia Date: Sun, 22 Jan 2012 16:52:36 +0000 Subject: [PATCH] Removed aliases (they causes an error with SAPLink) git-svn-id: https://subversion.assembla.com/svn/abap2xlsx/trunk@254 b7d68dce-7c3c-4a99-8ce0-9ea847f5d049 --- ZA2X/CLAS/ZCL_EXCEL_CONVERTER_ALV_GRID.slnk | 188 +++--------- ZA2X/CLAS/ZCL_EXCEL_CONVERTER_SALV_TABLE.slnk | 273 +++++------------- 2 files changed, 115 insertions(+), 346 deletions(-) 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. -