diff --git a/src/demos/zdemo_excel.prog.abap b/src/demos/zdemo_excel.prog.abap index 8034d16..1da7a8a 100644 --- a/src/demos/zdemo_excel.prog.abap +++ b/src/demos/zdemo_excel.prog.abap @@ -9,6 +9,7 @@ REPORT zdemo_excel. DATA: lv_workdir TYPE string, + lv_filesep TYPE c LENGTH 1, lv_upfile TYPE string. @@ -31,8 +32,8 @@ START-OF-SELECTION. p_path = lv_workdir. ENDIF. - cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = sy-lisel ). - CONCATENATE p_path sy-lisel '01_HelloWorld.xlsx' INTO lv_upfile. + cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_filesep ). + CONCATENATE p_path lv_filesep '01_HelloWorld.xlsx' INTO lv_upfile. SUBMIT zdemo_excel1 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. "#EC CI_SUBMIT abap2xlsx Demo: Hello world SUBMIT zdemo_excel2 WITH rb_down = abap_true WITH rb_show = abap_false WITH p_path = p_path AND RETURN. "#EC CI_SUBMIT abap2xlsx Demo: Styles diff --git a/src/demos/zdemo_excel35.prog.abap b/src/demos/zdemo_excel35.prog.abap index 3a71ada..4a57325 100644 --- a/src/demos/zdemo_excel35.prog.abap +++ b/src/demos/zdemo_excel35.prog.abap @@ -50,8 +50,6 @@ INITIALIZATION. cl_gui_cfw=>flush( ). p_path = lv_workdir. - sy-title = 'ZDEMO_EXCEL2;Issue 139: Change cellstyle retroactivly'. - START-OF-SELECTION. IF p_path IS INITIAL. diff --git a/src/demos/zdemo_excel37.prog.abap b/src/demos/zdemo_excel37.prog.abap index dea6318..6c2cc78 100644 --- a/src/demos/zdemo_excel37.prog.abap +++ b/src/demos/zdemo_excel37.prog.abap @@ -87,6 +87,7 @@ FORM f4_p_upfile CHANGING p_upfile TYPE string. lt_fields TYPE dynpread_tabtype, ls_field LIKE LINE OF lt_fields, lt_files TYPE filetable, + lv_rc TYPE i, lv_file_filter TYPE string. lv_repid = sy-repid. @@ -115,7 +116,7 @@ FORM f4_p_upfile CHANGING p_upfile TYPE string. file_filter = lv_file_filter CHANGING file_table = lt_files - rc = sy-tabix + rc = lv_rc EXCEPTIONS OTHERS = 1 ). READ TABLE lt_files INDEX 1 INTO p_upfile. diff --git a/src/demos/zdemo_excel_outputopt_incl.prog.abap b/src/demos/zdemo_excel_outputopt_incl.prog.abap index ab789df..2d7edcd 100644 --- a/src/demos/zdemo_excel_outputopt_incl.prog.abap +++ b/src/demos/zdemo_excel_outputopt_incl.prog.abap @@ -60,7 +60,6 @@ INITIALIZATION. cl_gui_cfw=>flush( ). ENDIF. lcl_output=>parametertexts( ). " If started in language w/o textelements translated set defaults - sy-title = gc_save_file_name. txt_bl1 = 'Output options'(bl1). p_backfn = gc_save_file_name. " Use as default if nothing else is supplied by submit diff --git a/src/zcl_excel_common.clas.abap b/src/zcl_excel_common.clas.abap index 79fd262..f7afa31 100644 --- a/src/zcl_excel_common.clas.abap +++ b/src/zcl_excel_common.clas.abap @@ -521,6 +521,7 @@ CLASS zcl_excel_common IMPLEMENTATION. lv_range TYPE string, lv_columnrow_start TYPE string, lv_columnrow_end TYPE string, + lv_position TYPE i, lv_errormessage TYPE string. " Can't pass '...'(abc) to exception-class @@ -542,12 +543,12 @@ CLASS zcl_excel_common IMPLEMENTATION. EXIT. ELSEIF i_range(1) = `'`. " b) sheetname existing - starts with ' - FIND REGEX '\![^\!]*$' IN i_range MATCH OFFSET sy-fdpos. " Find last ! + FIND REGEX '\![^\!]*$' IN i_range MATCH OFFSET lv_position. " Find last ! IF sy-subrc = 0. - lv_sheet = i_range(sy-fdpos). - ADD 1 TO sy-fdpos. + lv_sheet = i_range(lv_position). + ADD 1 TO lv_position. lv_range = i_range. - SHIFT lv_range LEFT BY sy-fdpos PLACES. + SHIFT lv_range LEFT BY lv_position PLACES. ELSE. lv_errormessage = 'Invalid range'(001). zcx_excel=>raise_text( lv_errormessage ). diff --git a/src/zcl_excel_converter.clas.abap b/src/zcl_excel_converter.clas.abap index 0add4a6..128420e 100644 --- a/src/zcl_excel_converter.clas.abap +++ b/src/zcl_excel_converter.clas.abap @@ -893,7 +893,7 @@ CLASS zcl_excel_converter IMPLEMENTATION. FREE lo_addit_superclass. lo_addit_superclass = lo_addit->get_super_class_type( ). IF lo_addit_superclass IS INITIAL. - sy-subrc = '4'. + CLEAR ls_types-clsname. EXIT. ENDIF. lo_addit = lo_addit_superclass. @@ -904,7 +904,7 @@ CLASS zcl_excel_converter IMPLEMENTATION. ENDIF. ENDDO. ENDIF. - IF sy-subrc = 0. + IF ls_types-clsname IS NOT INITIAL. CREATE OBJECT lo_if TYPE (ls_types-clsname). lo_if->create_fieldcatalog( EXPORTING diff --git a/src/zcl_excel_reader_2007.clas.abap b/src/zcl_excel_reader_2007.clas.abap index e647b79..7e8f699 100644 --- a/src/zcl_excel_reader_2007.clas.abap +++ b/src/zcl_excel_reader_2007.clas.abap @@ -1737,6 +1737,7 @@ CLASS zcl_excel_reader_2007 IMPLEMENTATION. ls_range TYPE t_range, lv_range_value TYPE zexcel_range_value, + lv_position_temp TYPE i, *--------------------------------------------------------------------* * #229: Set active worksheet - begin data declarations *--------------------------------------------------------------------* @@ -2039,11 +2040,11 @@ CLASS zcl_excel_reader_2007 IMPLEMENTATION. lv_regex = `^[^!]*![^,]*,`. ENDIF. * Split into two ranges if necessary - FIND REGEX lv_regex IN lv_range_value MATCH LENGTH sy-fdpos. - IF sy-subrc = 0 AND sy-fdpos > 0. - lv_range_value_2 = lv_range_value+sy-fdpos. - SUBTRACT 1 FROM sy-fdpos. - lv_range_value_1 = lv_range_value(sy-fdpos). + FIND REGEX lv_regex IN lv_range_value MATCH LENGTH lv_position_temp. + IF sy-subrc = 0 AND lv_position_temp > 0. + lv_range_value_2 = lv_range_value+lv_position_temp. + SUBTRACT 1 FROM lv_position_temp. + lv_range_value_1 = lv_range_value(lv_position_temp). ELSE. lv_range_value_1 = lv_range_value. ENDIF. @@ -2229,6 +2230,7 @@ CLASS zcl_excel_reader_2007 IMPLEMENTATION. lo_ixml_cell_elem TYPE REF TO if_ixml_element, ls_cell TYPE lty_cell, lv_index TYPE i, + lv_index_temp TYPE i, lo_ixml_value_elem TYPE REF TO if_ixml_element, lo_ixml_formula_elem TYPE REF TO if_ixml_element, lv_cell_value TYPE zexcel_cell_value, @@ -2613,8 +2615,8 @@ CLASS zcl_excel_reader_2007 IMPLEMENTATION. ENDIF. IF ls_column-style > ''. - sy-index = ls_column-style + 1. - READ TABLE styles INTO lo_excel_style INDEX sy-index. + lv_index_temp = ls_column-style + 1. + READ TABLE styles INTO lo_excel_style INDEX lv_index_temp. DATA: dummy_zexcel_cell_style TYPE zexcel_cell_style. dummy_zexcel_cell_style = lo_excel_style->get_guid( ). lo_column->set_column_style_by_guid( dummy_zexcel_cell_style ). @@ -2630,8 +2632,8 @@ CLASS zcl_excel_reader_2007 IMPLEMENTATION. AND ls_column-min > 0. io_worksheet->zif_excel_sheet_properties~hide_columns_from = zcl_excel_common=>convert_column2alpha( ls_column-min ). ELSEIF ls_column-style > ''. - sy-index = ls_column-style + 1. - READ TABLE styles INTO lo_excel_style INDEX sy-index. + lv_index_temp = ls_column-style + 1. + READ TABLE styles INTO lo_excel_style INDEX lv_index_temp. dummy_zexcel_cell_style = lo_excel_style->get_guid( ). * Set style for remaining columns io_worksheet->zif_excel_sheet_properties~set_style( dummy_zexcel_cell_style ).