From a3435ca8e2878c2170dc2b52240d6b948c332225 Mon Sep 17 00:00:00 2001 From: ConjuringCoffee <72548231+ConjuringCoffee@users.noreply.github.com> Date: Tue, 25 Nov 2025 12:15:45 +0000 Subject: [PATCH 1/5] CHECK_102: Activate exemptions on finding level --- src/checks/zcl_aoc_check_102.clas.abap | 6 +++++- src/checks/zcl_aoc_super.clas.abap | 7 ++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/checks/zcl_aoc_check_102.clas.abap b/src/checks/zcl_aoc_check_102.clas.abap index 6cf0b129..1a6373a4 100644 --- a/src/checks/zcl_aoc_check_102.clas.abap +++ b/src/checks/zcl_aoc_check_102.clas.abap @@ -37,6 +37,9 @@ CLASS zcl_aoc_check_102 IMPLEMENTATION. has_attributes = abap_true. attributes_ok = abap_true. + enable_checksum( ). + set_uses_checksum( ). + enable_rfc( ). mt_error_code_map = VALUE #( ( usage_kind = zcl_aoc_sy_variable_analyzer=>gc_usage_kind-usage_uncategorized @@ -113,7 +116,8 @@ CLASS zcl_aoc_check_102 IMPLEMENTATION. DATA(lv_include) = io_scan->get_include( -level ). - inform( p_sub_obj_name = lv_include + inform( p_position = -statement_index + p_sub_obj_name = lv_include p_line = -row p_kind = mv_errty p_test = myname diff --git a/src/checks/zcl_aoc_super.clas.abap b/src/checks/zcl_aoc_super.clas.abap index 9db4580c..9b29e0b8 100644 --- a/src/checks/zcl_aoc_super.clas.abap +++ b/src/checks/zcl_aoc_super.clas.abap @@ -78,6 +78,10 @@ CLASS zcl_aoc_super DEFINITION METHODS inform REDEFINITION . + + METHODS set_uses_checksum + IMPORTING + !iv_enable TYPE abap_bool DEFAULT abap_true. PRIVATE SECTION. TYPES: @@ -108,9 +112,6 @@ CLASS zcl_aoc_super DEFINITION !iv_position TYPE int4 RETURNING VALUE(rv_checksum) TYPE int4. - METHODS set_uses_checksum - IMPORTING - !iv_enable TYPE abap_bool DEFAULT abap_true. ENDCLASS. From 16b4827e45f1393dd8f04d0b958d6f8ff6236d98 Mon Sep 17 00:00:00 2001 From: ConjuringCoffee <72548231+ConjuringCoffee@users.noreply.github.com> Date: Tue, 25 Nov 2025 12:44:43 +0000 Subject: [PATCH 2/5] Rework how checksums are enabled --- src/checks/zcl_aoc_check_102.clas.abap | 2 - src/checks/zcl_aoc_super.clas.abap | 79 +++++++++++--------------- src/checks/zcl_aoc_super.clas.xml | 7 +++ 3 files changed, 41 insertions(+), 47 deletions(-) diff --git a/src/checks/zcl_aoc_check_102.clas.abap b/src/checks/zcl_aoc_check_102.clas.abap index 1a6373a4..1ab42d4a 100644 --- a/src/checks/zcl_aoc_check_102.clas.abap +++ b/src/checks/zcl_aoc_check_102.clas.abap @@ -38,8 +38,6 @@ CLASS zcl_aoc_check_102 IMPLEMENTATION. attributes_ok = abap_true. enable_checksum( ). - set_uses_checksum( ). - enable_rfc( ). mt_error_code_map = VALUE #( ( usage_kind = zcl_aoc_sy_variable_analyzer=>gc_usage_kind-usage_uncategorized diff --git a/src/checks/zcl_aoc_super.clas.abap b/src/checks/zcl_aoc_super.clas.abap index 9b29e0b8..77446b54 100644 --- a/src/checks/zcl_aoc_super.clas.abap +++ b/src/checks/zcl_aoc_super.clas.abap @@ -79,10 +79,10 @@ CLASS zcl_aoc_super DEFINITION METHODS inform REDEFINITION . - METHODS set_uses_checksum - IMPORTING - !iv_enable TYPE abap_bool DEFAULT abap_true. + PRIVATE SECTION. + "!

Name of the attribute USES_CHECKSUM which doesn't exist on lower releases

+ CONSTANTS gc_name_uses_checksum TYPE string VALUE 'USES_CHECKSUM' ##NO_TEXT. TYPES: BEGIN OF ty_source, @@ -93,7 +93,6 @@ CLASS zcl_aoc_super DEFINITION ty_source_tt TYPE SORTED TABLE OF ty_source WITH UNIQUE KEY name . DATA mt_source TYPE ty_source_tt. - DATA mv_uses_checksum TYPE abap_bool. METHODS check_class IMPORTING @@ -117,7 +116,7 @@ ENDCLASS. -CLASS ZCL_AOC_SUPER IMPLEMENTATION. +CLASS zcl_aoc_super IMPLEMENTATION. METHOD check. @@ -272,7 +271,13 @@ CLASS ZCL_AOC_SUPER IMPLEMENTATION. METHOD enable_checksum. - mv_uses_checksum = abap_true. + " Activate checksum for current check, new feature for central ATC on 7.51 + FIELD-SYMBOLS TYPE abap_bool. + + ASSIGN (gc_name_uses_checksum) TO . + IF sy-subrc = 0. + = abap_true. + ENDIF. ENDMETHOD. @@ -314,27 +319,24 @@ CLASS ZCL_AOC_SUPER IMPLEMENTATION. READ TABLE ref_scan->statements INDEX iv_position INTO ls_statement. IF sy-subrc <> 0. - set_uses_checksum( abap_false ). - ELSE. + RETURN. + ENDIF. - TRY. + TRY. * parameter "p_version" does not exist in 751 * value p_version = '2' does not exist in 752 - CALL METHOD ('GET_STMT_CHECKSUM') - EXPORTING - p_position = iv_position - CHANGING - p_checksum = ls_checksum - EXCEPTIONS - error = 0. - CATCH cx_sy_dyn_call_illegal_method cx_sy_dyn_call_param_not_found. - RETURN. - ENDTRY. - - rv_checksum = ls_checksum-i1. - - ENDIF. + CALL METHOD ('GET_STMT_CHECKSUM') + EXPORTING + p_position = iv_position + CHANGING + p_checksum = ls_checksum + EXCEPTIONS + error = 0. + CATCH cx_sy_dyn_call_illegal_method cx_sy_dyn_call_param_not_found. + RETURN. + ENDTRY. + rv_checksum = ls_checksum-i1. ENDMETHOD. @@ -571,9 +573,7 @@ CLASS ZCL_AOC_SUPER IMPLEMENTATION. ENDIF. ENDIF. - set_uses_checksum( is_checksum_enabled( ) ). - - IF sy-subrc = 0 AND p_checksum_1 IS NOT INITIAL. + IF p_checksum_1 IS NOT INITIAL. lv_checksum_1 = p_checksum_1. ELSE. lv_checksum_1 = get_checksum( p_position ). @@ -597,9 +597,6 @@ CLASS ZCL_AOC_SUPER IMPLEMENTATION. p_inclspec = p_inclspec p_detail = p_detail p_checksum_1 = lv_checksum_1 ). - - set_uses_checksum( is_checksum_enabled( ) ). - ENDMETHOD. @@ -620,7 +617,14 @@ CLASS ZCL_AOC_SUPER IMPLEMENTATION. METHOD is_checksum_enabled. - rv_enabled = mv_uses_checksum. + FIELD-SYMBOLS TYPE abap_bool. + ASSIGN (gc_name_uses_checksum) TO . + + IF sy-subrc <> 0. + RETURN. + ENDIF. + + rv_enabled = . ENDMETHOD. @@ -726,19 +730,4 @@ CLASS ZCL_AOC_SUPER IMPLEMENTATION. ENDMETHOD. - METHOD set_uses_checksum. -* Activate checksum for current check, new feature for central ATC on 7.51 - - FIELD-SYMBOLS: TYPE abap_bool. - - IF is_checksum_enabled( ) = abap_false. - RETURN. - ENDIF. - - ASSIGN ('USES_CHECKSUM') TO . - IF sy-subrc = 0. - = iv_enable. - ENDIF. - - ENDMETHOD. ENDCLASS. diff --git a/src/checks/zcl_aoc_super.clas.xml b/src/checks/zcl_aoc_super.clas.xml index dd46aefd..84416c8a 100644 --- a/src/checks/zcl_aoc_super.clas.xml +++ b/src/checks/zcl_aoc_super.clas.xml @@ -26,6 +26,13 @@ MIT License + + + GC_NAME_USES_CHECKSUM + E + Name of the attribute USES_CHECKSUM which doesn't exist on l + + From 6041aa77f57db2718dd16fc99453ec145b7a00d5 Mon Sep 17 00:00:00 2001 From: ConjuringCoffee <72548231+ConjuringCoffee@users.noreply.github.com> Date: Tue, 25 Nov 2025 12:47:34 +0000 Subject: [PATCH 3/5] Fix ABAP Doc length --- src/checks/zcl_aoc_super.clas.abap | 3 ++- src/checks/zcl_aoc_super.clas.xml | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/checks/zcl_aoc_super.clas.abap b/src/checks/zcl_aoc_super.clas.abap index 77446b54..5fc7b736 100644 --- a/src/checks/zcl_aoc_super.clas.abap +++ b/src/checks/zcl_aoc_super.clas.abap @@ -81,7 +81,8 @@ CLASS zcl_aoc_super DEFINITION PRIVATE SECTION. - "!

Name of the attribute USES_CHECKSUM which doesn't exist on lower releases

+ "!

Name of attribute USES_CHECKSUM

+ "!

This attribute doesn't exist on older releases.

CONSTANTS gc_name_uses_checksum TYPE string VALUE 'USES_CHECKSUM' ##NO_TEXT. TYPES: diff --git a/src/checks/zcl_aoc_super.clas.xml b/src/checks/zcl_aoc_super.clas.xml index 84416c8a..b9e538a0 100644 --- a/src/checks/zcl_aoc_super.clas.xml +++ b/src/checks/zcl_aoc_super.clas.xml @@ -30,7 +30,7 @@ GC_NAME_USES_CHECKSUM E - Name of the attribute USES_CHECKSUM which doesn't exist on l + Name of attribute USES_CHECKSUM From c5eb4c41badcbb0afaae5259f0b4c422d489aed6 Mon Sep 17 00:00:00 2001 From: ConjuringCoffee <72548231+ConjuringCoffee@users.noreply.github.com> Date: Tue, 25 Nov 2025 12:49:34 +0000 Subject: [PATCH 4/5] Remove synchronized description --- src/checks/zcl_aoc_super.clas.abap | 10 +++------- src/checks/zcl_aoc_super.clas.xml | 7 ------- 2 files changed, 3 insertions(+), 14 deletions(-) diff --git a/src/checks/zcl_aoc_super.clas.abap b/src/checks/zcl_aoc_super.clas.abap index 5fc7b736..ce0d4aeb 100644 --- a/src/checks/zcl_aoc_super.clas.abap +++ b/src/checks/zcl_aoc_super.clas.abap @@ -80,9 +80,8 @@ CLASS zcl_aoc_super DEFINITION REDEFINITION . - PRIVATE SECTION. - "!

Name of attribute USES_CHECKSUM

- "!

This attribute doesn't exist on older releases.

+private section. + "! Name of attribute USES_CHECKSUM which doesn't exist on older releases. CONSTANTS gc_name_uses_checksum TYPE string VALUE 'USES_CHECKSUM' ##NO_TEXT. TYPES: @@ -112,12 +111,11 @@ CLASS zcl_aoc_super DEFINITION !iv_position TYPE int4 RETURNING VALUE(rv_checksum) TYPE int4. - ENDCLASS. -CLASS zcl_aoc_super IMPLEMENTATION. +CLASS ZCL_AOC_SUPER IMPLEMENTATION. METHOD check. @@ -729,6 +727,4 @@ CLASS zcl_aoc_super IMPLEMENTATION. INSERT ls_source INTO TABLE mt_source. ENDMETHOD. - - ENDCLASS. diff --git a/src/checks/zcl_aoc_super.clas.xml b/src/checks/zcl_aoc_super.clas.xml index b9e538a0..dd46aefd 100644 --- a/src/checks/zcl_aoc_super.clas.xml +++ b/src/checks/zcl_aoc_super.clas.xml @@ -26,13 +26,6 @@ MIT License - - - GC_NAME_USES_CHECKSUM - E - Name of attribute USES_CHECKSUM - - From 82671ddd0a26dc5df8dc1480829fd52f2ab8af62 Mon Sep 17 00:00:00 2001 From: ConjuringCoffee <72548231+ConjuringCoffee@users.noreply.github.com> Date: Tue, 25 Nov 2025 12:50:36 +0000 Subject: [PATCH 5/5] Fix linting --- src/checks/zcl_aoc_super.clas.abap | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/checks/zcl_aoc_super.clas.abap b/src/checks/zcl_aoc_super.clas.abap index ce0d4aeb..03a0692e 100644 --- a/src/checks/zcl_aoc_super.clas.abap +++ b/src/checks/zcl_aoc_super.clas.abap @@ -80,7 +80,7 @@ CLASS zcl_aoc_super DEFINITION REDEFINITION . -private section. + PRIVATE SECTION. "! Name of attribute USES_CHECKSUM which doesn't exist on older releases. CONSTANTS gc_name_uses_checksum TYPE string VALUE 'USES_CHECKSUM' ##NO_TEXT.