Do not change sy fields anymore (abaplint) (#797)

Fix #704

Co-authored-by: sandra <sandra.rossi@gmail.com>
This commit is contained in:
sandraros 2021-09-19 09:49:46 +02:00 committed by GitHub
parent 3b80566fa8
commit 69d4883773
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 23 additions and 21 deletions

View File

@ -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

View File

@ -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.

View File

@ -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.

View File

@ -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

View File

@ -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 ).

View File

@ -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

View File

@ -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 ).