From f3507a9265f12f346177e84f35e7818b14bb4e98 Mon Sep 17 00:00:00 2001 From: Lucas Borin <5233413+lucasborin@users.noreply.github.co> Date: Wed, 13 Oct 2021 13:51:31 +0000 Subject: [PATCH 1/2] Fixes #454 --- src/checks/y_check_form.clas.abap | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/src/checks/y_check_form.clas.abap b/src/checks/y_check_form.clas.abap index 618a271c..cb5c4cb0 100644 --- a/src/checks/y_check_form.clas.abap +++ b/src/checks/y_check_form.clas.abap @@ -5,6 +5,9 @@ CLASS y_check_form DEFINITION PUBLIC INHERITING FROM y_check_base CREATE PUBLIC. PROTECTED SECTION. METHODS inspect_tokens REDEFINITION. + PRIVATE SECTION. + METHODS is_screen_event RETURNING VALUE(result) TYPE abap_bool. + ENDCLASS. @@ -28,7 +31,8 @@ CLASS Y_CHECK_FORM IMPLEMENTATION. METHOD inspect_tokens. - CHECK get_token_abs( statement-from ) = 'FORM'. + CHECK keyword( ) = if_kaizen_keywords_c=>gc_form. + CHECK is_screen_event( ) = abap_false. DATA(check_configuration) = detect_check_configuration( statement ). @@ -39,4 +43,27 @@ CLASS Y_CHECK_FORM IMPLEMENTATION. ENDMETHOD. + METHOD is_screen_event. + DATA(form) = get_token_abs( statement_wa-from + 1 ). + + SELECT tabname + FROM tvimf + INTO TABLE @DATA(views) + WHERE formname = @form. + + IF views IS INITIAL. + RETURN. + ENDIF. + + LOOP AT views ASSIGNING FIELD-SYMBOL(). + LOOP AT ref_scan->tokens TRANSPORTING NO FIELDS WHERE str = . + IF get_token_abs( sy-tabix - 1 ) = if_kaizen_keywords_c=>gc_tables. + result = abap_true. + RETURN. + ENDIF. + ENDLOOP. + ENDLOOP. + ENDMETHOD. + + ENDCLASS. From 0575dbc0d71df606d2d4194d1618b219b0827e10 Mon Sep 17 00:00:00 2001 From: Lucas Borin <5233413+lucasborin@users.noreply.github.com> Date: Wed, 13 Oct 2021 10:52:58 -0300 Subject: [PATCH 2/2] changelog --- changelog.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/changelog.txt b/changelog.txt index bb6a5904..b906ca8e 100644 --- a/changelog.txt +++ b/changelog.txt @@ -18,6 +18,7 @@ Legend 2021-08-XX v.1.16.0 ------------------ +* Y_CHECK_FORM: Screen Events (#454) * Magic Number: CASE SY-TABIX and CO NUMBERS (#480) * Magic Number: Leading Zeros (#479) * Prefer New to Create Object: Dynamic Type (#469)