Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion src/checks/zcl_aoc_check_102.clas.abap
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ CLASS zcl_aoc_check_102 IMPLEMENTATION.
has_attributes = abap_true.
attributes_ok = abap_true.

enable_checksum( ).
enable_rfc( ).

mt_error_code_map = VALUE #( ( usage_kind = zcl_aoc_sy_variable_analyzer=>gc_usage_kind-usage_uncategorized
Expand Down Expand Up @@ -113,7 +114,8 @@ CLASS zcl_aoc_check_102 IMPLEMENTATION.

DATA(lv_include) = io_scan->get_include( <ls_statement>-level ).

inform( p_sub_obj_name = lv_include
inform( p_position = <ls_variable_usage>-statement_index
p_sub_obj_name = lv_include
p_line = <ls_token>-row
p_kind = mv_errty
p_test = myname
Expand Down
81 changes: 34 additions & 47 deletions src/checks/zcl_aoc_super.clas.abap
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,11 @@ CLASS zcl_aoc_super DEFINITION

METHODS inform
REDEFINITION .


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:
BEGIN OF ty_source,
Expand All @@ -89,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
Expand All @@ -108,10 +111,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.


Expand Down Expand Up @@ -271,7 +270,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 <lv_uses_checksum> TYPE abap_bool.

ASSIGN (gc_name_uses_checksum) TO <lv_uses_checksum>.
IF sy-subrc = 0.
<lv_uses_checksum> = abap_true.
ENDIF.
ENDMETHOD.


Expand Down Expand Up @@ -313,27 +318,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.


Expand Down Expand Up @@ -570,9 +572,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 ).
Expand All @@ -596,9 +596,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.


Expand All @@ -619,7 +616,14 @@ CLASS ZCL_AOC_SUPER IMPLEMENTATION.


METHOD is_checksum_enabled.
rv_enabled = mv_uses_checksum.
FIELD-SYMBOLS <lv_uses_checksum> TYPE abap_bool.
ASSIGN (gc_name_uses_checksum) TO <lv_uses_checksum>.

IF sy-subrc <> 0.
RETURN.
ENDIF.

rv_enabled = <lv_uses_checksum>.
ENDMETHOD.


Expand Down Expand Up @@ -723,21 +727,4 @@ CLASS ZCL_AOC_SUPER IMPLEMENTATION.
INSERT ls_source INTO TABLE mt_source.

ENDMETHOD.


METHOD set_uses_checksum.
* Activate checksum for current check, new feature for central ATC on 7.51

FIELD-SYMBOLS: <lv_uses_checksum> TYPE abap_bool.

IF is_checksum_enabled( ) = abap_false.
RETURN.
ENDIF.

ASSIGN ('USES_CHECKSUM') TO <lv_uses_checksum>.
IF sy-subrc = 0.
<lv_uses_checksum> = iv_enable.
ENDIF.

ENDMETHOD.
ENDCLASS.