From b04f6d3c17d6f2312776eb92162eeca810e40916 Mon Sep 17 00:00:00 2001 From: Lars Hvam Date: Thu, 16 Jun 2022 11:15:01 +0200 Subject: [PATCH 1/5] replace use of ixml_iid_element (#1036) use of typegroup IXML is not permitted in Steampunk #632 --- src/zcl_excel_drawing.clas.abap | 31 ++++++++++++------------------- 1 file changed, 12 insertions(+), 19 deletions(-) diff --git a/src/zcl_excel_drawing.clas.abap b/src/zcl_excel_drawing.clas.abap index ae5131e..2999649 100644 --- a/src/zcl_excel_drawing.clas.abap +++ b/src/zcl_excel_drawing.clas.abap @@ -4,15 +4,6 @@ CLASS zcl_excel_drawing DEFINITION CREATE PUBLIC . PUBLIC SECTION. -*"* public components of class ZCL_EXCEL_DRAWING -*"* do not include other source files here!!! -*"* protected components of class ZCL_EXCEL_DRAWING -*"* do not include other source files here!!! -*"* protected components of class ZCL_EXCEL_DRAWING -*"* do not include other source files here!!! -*"* protected components of class ZCL_EXCEL_DRAWING -*"* do not include other source files here!!! - CONSTANTS c_graph_pie TYPE zexcel_graph_type VALUE 1. "#EC NOTEXT CONSTANTS c_graph_line TYPE zexcel_graph_type VALUE 2. "#EC NOTEXT CONSTANTS c_graph_bars TYPE zexcel_graph_type VALUE 0. "#EC NOTEXT @@ -150,6 +141,8 @@ CLASS zcl_excel_drawing DEFINITION DATA from_loc TYPE zexcel_drawing_location . DATA to_loc TYPE zexcel_drawing_location . DATA size TYPE zexcel_drawing_size . + CONSTANTS c_ixml_iid_element TYPE i VALUE 130. + ENDCLASS. @@ -465,7 +458,7 @@ CLASS ZCL_EXCEL_DRAWING IMPLEMENTATION. rval = lo_iterator. lo_node = lo_iterator->get_next( ). IF lo_node IS BOUND. - node2 ?= lo_node->query_interface( ixml_iid_element ). + node2 ?= lo_node->query_interface( c_ixml_iid_element ). ENDIF. WHILE lo_node IS BOUND. node3 ?= node2->find_from_name_ns( name = 'idx' uri = namespace-c ). @@ -501,7 +494,7 @@ CLASS ZCL_EXCEL_DRAWING IMPLEMENTATION. ip_sername = lv_sername. lo_node = lo_iterator->get_next( ). IF lo_node IS BOUND. - node2 ?= lo_node->query_interface( ixml_iid_element ). + node2 ?= lo_node->query_interface( c_ixml_iid_element ). ENDIF. ENDWHILE. "note: numCache avoided @@ -541,7 +534,7 @@ CLASS ZCL_EXCEL_DRAWING IMPLEMENTATION. rval = lo_iterator. lo_node = lo_iterator->get_next( ). IF lo_node IS BOUND. - node2 ?= lo_node->query_interface( ixml_iid_element ). + node2 ?= lo_node->query_interface( c_ixml_iid_element ). ENDIF. WHILE lo_node IS BOUND. zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ). @@ -657,7 +650,7 @@ CLASS ZCL_EXCEL_DRAWING IMPLEMENTATION. ENDIF. lo_node = lo_iterator->get_next( ). IF lo_node IS BOUND. - node2 ?= lo_node->query_interface( ixml_iid_element ). + node2 ?= lo_node->query_interface( c_ixml_iid_element ). ENDIF. ENDWHILE. @@ -679,7 +672,7 @@ CLASS ZCL_EXCEL_DRAWING IMPLEMENTATION. rval = lo_iterator. lo_node = lo_iterator->get_next( ). IF lo_node IS BOUND. - node2 ?= lo_node->query_interface( ixml_iid_element ). + node2 ?= lo_node->query_interface( c_ixml_iid_element ). ENDIF. WHILE lo_node IS BOUND. node3 ?= node2->find_from_name_ns( name = 'idx' uri = namespace-c ). @@ -711,7 +704,7 @@ CLASS ZCL_EXCEL_DRAWING IMPLEMENTATION. ip_sername = lv_sername. lo_node = lo_iterator->get_next( ). IF lo_node IS BOUND. - node2 ?= lo_node->query_interface( ixml_iid_element ). + node2 ?= lo_node->query_interface( c_ixml_iid_element ). ENDIF. ENDWHILE. @@ -761,7 +754,7 @@ CLASS ZCL_EXCEL_DRAWING IMPLEMENTATION. rval = lo_iterator. lo_node = lo_iterator->get_next( ). IF lo_node IS BOUND. - node2 ?= lo_node->query_interface( ixml_iid_element ). + node2 ?= lo_node->query_interface( c_ixml_iid_element ). ENDIF. WHILE lo_node IS BOUND. node3 ?= node2->find_from_name_ns( name = 'idx' uri = namespace-c ). @@ -801,7 +794,7 @@ CLASS ZCL_EXCEL_DRAWING IMPLEMENTATION. ip_sername = lv_sername. lo_node = lo_iterator->get_next( ). IF lo_node IS BOUND. - node2 ?= lo_node->query_interface( ixml_iid_element ). + node2 ?= lo_node->query_interface( c_ixml_iid_element ). ENDIF. ENDWHILE. "note: numCache avoided @@ -850,7 +843,7 @@ CLASS ZCL_EXCEL_DRAWING IMPLEMENTATION. rval = lo_iterator. lo_node = lo_iterator->get_next( ). IF lo_node IS BOUND. - node2 ?= lo_node->query_interface( ixml_iid_element ). + node2 ?= lo_node->query_interface( c_ixml_iid_element ). ENDIF. WHILE lo_node IS BOUND. zcl_excel_reader_2007=>fill_struct_from_attributes( EXPORTING ip_element = node2 CHANGING cp_structure = ls_prop ). @@ -962,7 +955,7 @@ CLASS ZCL_EXCEL_DRAWING IMPLEMENTATION. ENDIF. lo_node = lo_iterator->get_next( ). IF lo_node IS BOUND. - node2 ?= lo_node->query_interface( ixml_iid_element ). + node2 ?= lo_node->query_interface( c_ixml_iid_element ). ENDIF. ENDWHILE. WHEN OTHERS. From d161a757a7a5ecf85b2bcca5cfd69128434776f8 Mon Sep 17 00:00:00 2001 From: Lars Hvam Date: Thu, 16 Jun 2022 11:17:23 +0200 Subject: [PATCH 2/5] replace use of DTEL FIELDNAME (#1035) adds new custom DTEL ZEXCEL_FIELDNAME Co-authored-by: Gregor Wolf --- src/zexcel_fieldname.dtel.xml | 24 ++++++++++++ src/zexcel_s_converter_col.tabl.xml | 2 +- src/zexcel_s_converter_fcat.tabl.xml | 58 +--------------------------- src/zexcel_s_converter_fil.tabl.xml | 2 +- src/zexcel_s_fieldcatalog.tabl.xml | 2 +- 5 files changed, 29 insertions(+), 59 deletions(-) create mode 100644 src/zexcel_fieldname.dtel.xml diff --git a/src/zexcel_fieldname.dtel.xml b/src/zexcel_fieldname.dtel.xml new file mode 100644 index 0000000..7c3536e --- /dev/null +++ b/src/zexcel_fieldname.dtel.xml @@ -0,0 +1,24 @@ + + + + + + ZEXCEL_FIELDNAME + E + 30 + 10 + 20 + 40 + Field Name + Field Name + Field Name + Field Name + Field Name + E + CHAR + 000030 + 000030 + + + + diff --git a/src/zexcel_s_converter_col.tabl.xml b/src/zexcel_s_converter_col.tabl.xml index d107fb4..15120b6 100644 --- a/src/zexcel_s_converter_col.tabl.xml +++ b/src/zexcel_s_converter_col.tabl.xml @@ -18,7 +18,7 @@ COLUMNNAME - FIELDNAME + ZEXCEL_FIELDNAME 0 E diff --git a/src/zexcel_s_converter_fcat.tabl.xml b/src/zexcel_s_converter_fcat.tabl.xml index 68e1aba..b0281b5 100644 --- a/src/zexcel_s_converter_fcat.tabl.xml +++ b/src/zexcel_s_converter_fcat.tabl.xml @@ -20,15 +20,13 @@ FIELDNAME - FIELDNAME - DD03L + ZEXCEL_FIELDNAME 0 - P E COLUMNNAME - FIELDNAME + ZEXCEL_FIELDNAME 0 E @@ -174,54 +172,6 @@ - - FIELDNAME - ZEXCEL_S_CONVERTER_FCAT - TABNAME - DD03L - TABNAME - 0001 - AS4TAB - CHAR - - - FIELDNAME - ZEXCEL_S_CONVERTER_FCAT - FIELDNAME - DD03L - FIELDNAME - 0002 - FDNAME - CHAR - - - FIELDNAME - 'A' - DD03L - AS4LOCAL - 0003 - AS4LOCAL - CHAR - - - FIELDNAME - '0000' - DD03L - AS4VERS - 0004 - AS4VERS - NUMC - - - FIELDNAME - ZEXCEL_S_CONVERTER_FCAT - POSITION - DD03L - POSITION - 0005 - AS4POS - NUMC - TABNAME ZEXCEL_S_CONVERTER_FCAT @@ -252,10 +202,6 @@ - - FIELDNAME - DD03L - TABNAME DD02L diff --git a/src/zexcel_s_converter_fil.tabl.xml b/src/zexcel_s_converter_fil.tabl.xml index c71d789..ae94959 100644 --- a/src/zexcel_s_converter_fil.tabl.xml +++ b/src/zexcel_s_converter_fil.tabl.xml @@ -18,7 +18,7 @@ COLUMNNAME - FIELDNAME + ZEXCEL_FIELDNAME 0 E diff --git a/src/zexcel_s_fieldcatalog.tabl.xml b/src/zexcel_s_fieldcatalog.tabl.xml index 12dcfb6..78dbd1f 100644 --- a/src/zexcel_s_fieldcatalog.tabl.xml +++ b/src/zexcel_s_fieldcatalog.tabl.xml @@ -19,7 +19,7 @@ FIELDNAME - FIELDNAME + ZEXCEL_FIELDNAME 0 E From a0f28d9f54bdff098cce936d4d83d572f7017a28 Mon Sep 17 00:00:00 2001 From: Lars Hvam Date: Thu, 16 Jun 2022 11:18:47 +0200 Subject: [PATCH 3/5] update abaplint configuration (#1033) Co-authored-by: Gregor Wolf --- abaplint-app.json | 4 ++-- abaplint-steampunk.json | 2 +- abaplint.json | 22 +++++++++++++++++++--- 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/abaplint-app.json b/abaplint-app.json index 4520ac7..b6a4313 100644 --- a/abaplint-app.json +++ b/abaplint-app.json @@ -3,9 +3,9 @@ "default": { "filename": "./abaplint.json" }, - "steampunk": { - "filename": "./abaplint-steampunk.json" + "filename": "./abaplint-steampunk.json", + "annotations": false } } } diff --git a/abaplint-steampunk.json b/abaplint-steampunk.json index b64bd6a..be127d3 100644 --- a/abaplint-steampunk.json +++ b/abaplint-steampunk.json @@ -5,7 +5,7 @@ }, "dependencies": [ { - "url": "https://github.com/abapedia/steampunk-2202-api", + "url": "https://github.com/abapedia/steampunk-2205-api", "files": "/src/**/*.*" } ], diff --git a/abaplint.json b/abaplint.json index 5a128c6..3b1b9b7 100644 --- a/abaplint.json +++ b/abaplint.json @@ -19,10 +19,27 @@ "globalMacros": [] }, "rules": { + "align_parameters": false, + "cds_legacy_view": true, + "cds_parser_error": true, + "classic_exceptions_overlap": true, + "local_testclass_consistency": true, + "no_aliases": false, + "no_chained_assignment": false, + "unnecessary_pragma": false, + "unnecessary_chaining": false, + "superfluous_value": true, + "static_call_via_instance": false, + "slow_parameter_passing": false, + "prefer_corresponding": true, + "pragma_style": true, + "omit_preceding_zeros": true, + "no_inline_in_optional_branches": false, + "nrob_consistency": true, + "no_external_form_calls": true, "constant_classes": true, "cyclic_oo": false, "many_parentheses": true, - "pragma_placement": true, "unused_ddic": true, "dangerous_statement": true, "db_operation_in_loop": false, @@ -77,6 +94,7 @@ "avoid_use": { "define": true, "describeLines": false, + "testSeams": true, "statics": false, "defaultKey": false, "break": true @@ -87,7 +105,6 @@ "check_comments": false, "check_ddic": true, "check_include": true, - "check_no_handler_pragma": true, "check_syntax": true, "check_text_elements": false, "check_transformation_exists": true, @@ -117,7 +134,6 @@ "ignoreFunctionModuleName": false }, "local_class_naming": false, - "local_testclass_location": true, "main_file_contents": true, "message_exists": false, "msag_consistency": true, From 09c1eb027ba42896b5bc21ef33bf129ff1594a1e Mon Sep 17 00:00:00 2001 From: Lars Hvam Date: Thu, 16 Jun 2022 11:34:38 +0200 Subject: [PATCH 4/5] replace use of TABFDPOS (#1034) uses LIKE instead Co-authored-by: Gregor Wolf --- src/zcl_excel_common.clas.abap | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/zcl_excel_common.clas.abap b/src/zcl_excel_common.clas.abap index 5236b98..ab317bf 100644 --- a/src/zcl_excel_common.clas.abap +++ b/src/zcl_excel_common.clas.abap @@ -701,7 +701,7 @@ CLASS zcl_excel_common IMPLEMENTATION. ls_component TYPE abap_componentdescr, lo_elemdescr TYPE REF TO cl_abap_elemdescr, ls_dfies TYPE dfies, - l_position TYPE tabfdpos. + l_position LIKE ls_dfies-position. "for DDIC structure get the info directly IF io_struct->is_ddic_type( ) = abap_true. From 000b7cf79783314c946d89eb909278c1551b2fcd Mon Sep 17 00:00:00 2001 From: Domi Bigl Date: Sat, 2 Jul 2022 10:39:46 +0200 Subject: [PATCH 5/5] fixe column freeze error (#1042) use lv_freeze_cell_column to column freeze instead of lv_freeze_cell_row --- src/zcl_excel_writer_huge_file.clas.abap | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/zcl_excel_writer_huge_file.clas.abap b/src/zcl_excel_writer_huge_file.clas.abap index 8395fa7..c63c76a 100644 --- a/src/zcl_excel_writer_huge_file.clas.abap +++ b/src/zcl_excel_writer_huge_file.clas.abap @@ -415,7 +415,7 @@ CLASS zcl_excel_writer_huge_file IMPLEMENTATION. IF lv_freeze_cell_column > 1. lv_value = lv_freeze_cell_column - 1. - l_worksheet-xsplit = lv_freeze_cell_row - 1. + l_worksheet-xsplit = lv_freeze_cell_column - 1. ENDIF. lv_freeze_cell_column_alpha = zcl_excel_common=>convert_column2alpha( ip_column = lv_freeze_cell_column ).