From 11b47ec222f54792abb077cd5a56fb0a782edd79 Mon Sep 17 00:00:00 2001 From: sandraros <34005250+sandraros@users.noreply.github.com> Date: Wed, 13 Jul 2022 20:28:07 +0200 Subject: [PATCH 1/2] endless loop in bind_table (#1044) Fix #1043 * endless loop in bind_table * Handle more than 100 identical texts * correct typos in comments Co-authored-by: sandraros Co-authored-by: Abo --- src/zcl_excel_worksheet.clas.abap | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/src/zcl_excel_worksheet.clas.abap b/src/zcl_excel_worksheet.clas.abap index a94d403..db1837e 100644 --- a/src/zcl_excel_worksheet.clas.abap +++ b/src/zcl_excel_worksheet.clas.abap @@ -2964,14 +2964,18 @@ CLASS zcl_excel_worksheet IMPLEMENTATION. DATA: lt_field_catalog TYPE zexcel_t_fieldcatalog, lv_value_lowercase TYPE string, + lv_scrtext_l_initial TYPE scrtext_l, + lv_long_text TYPE string, + lv_max_length TYPE i, + lv_temp_length TYPE i, lv_syindex TYPE c LENGTH 3, lt_column_name_buffer TYPE SORTED TABLE OF string WITH UNIQUE KEY table_line. FIELD-SYMBOLS: TYPE zexcel_s_fieldcatalog, - TYPE any, - TYPE any, - TYPE any. + TYPE any, + TYPE any, + TYPE any. - " Due restrinction of new table object we cannot have two column with the same name + " Due to restrictions in new table object we cannot have two columns with the same name " Check if a column with the same name exists, if exists add a counter " If no medium description is provided we try to use small or long @@ -3008,6 +3012,8 @@ CLASS zcl_excel_worksheet IMPLEMENTATION. -scrtext_l = 'Column'. " default value as Excel does ENDIF. + lv_scrtext_l_initial = -scrtext_l. + DESCRIBE FIELD -scrtext_l LENGTH lv_max_length IN CHARACTER MODE. DO. lv_value_lowercase = -scrtext_l. TRANSLATE lv_value_lowercase TO LOWER CASE. @@ -3017,7 +3023,14 @@ CLASS zcl_excel_worksheet IMPLEMENTATION. EXIT. ELSE. lv_syindex = sy-index. - CONCATENATE -scrtext_l lv_syindex INTO -scrtext_l. + CONCATENATE lv_scrtext_l_initial lv_syindex INTO lv_long_text. + IF strlen( lv_long_text ) <= lv_max_length. + -scrtext_l = lv_long_text. + ELSE. + lv_temp_length = strlen( lv_scrtext_l_initial ) - 1. + lv_scrtext_l_initial = substring( val = lv_scrtext_l_initial len = lv_temp_length ). + CONCATENATE lv_scrtext_l_initial lv_syindex INTO -scrtext_l. + ENDIF. ENDIF. ENDDO. From 4ab5bbe961ab4f49ca9d777d3b57c418173335f6 Mon Sep 17 00:00:00 2001 From: sandraros <34005250+sandraros@users.noreply.github.com> Date: Fri, 15 Jul 2022 09:33:39 +0200 Subject: [PATCH 2/2] ZABAPGIT_STANDALONE instea of ZABAPGIT_FULL (#1047) [abapGit instructions](https://docs.abapgit.org/guide-install.html) say `create a new report named ZABAPGIT_STANDALONE (formerly ZABAPGIT_FULL)` --- docs/abapGit-installation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/abapGit-installation.md b/docs/abapGit-installation.md index 14b3a48..0f08dd1 100644 --- a/docs/abapGit-installation.md +++ b/docs/abapGit-installation.md @@ -4,7 +4,7 @@ ## Procedure -Execute abapGit using the report **ZABAPGIT_FULL**, click on *New Online*, fill the field *Git repository URL* with *https://github.com/abap2xlsx/abap2xlsx.git*, package with *$abap2xlsx* if you just want to test. If you want to transport abap2xlsx to production then use a non local package, for example ZABAP2XLSX. Click *Create package* if the package doesn't exist yet. Then click *Clone online repo*. +Execute abapGit using the report **ZABAPGIT_STANDALONE**, click on *New Online*, fill the field *Git repository URL* with *https://github.com/abap2xlsx/abap2xlsx.git*, package with *$abap2xlsx* if you just want to test. If you want to transport abap2xlsx to production then use a non local package, for example ZABAP2XLSX. Click *Create package* if the package doesn't exist yet. Then click *Clone online repo*. ![abapGit New Online Repository](new-online-abap2xlsx.png)