Avoid Unnecessary Dynamic Programming Constructs
WarningSecurity & Robustness#EC NO_DYNAMICRemote Enabled
Overview
No Dynamic Constructs (CALL, ASSIGN, CREATE, etc.).
ATC Finding Message:
Avoid dynamic calls and language constructs
Rationale
Dynamic calls such as CALL FUNCTION lv_name, ASSIGN (lv_name), and CALL METHOD (lv_name) defer resolution to runtime. Compile-time checking is lost, refactoring cannot follow the call, and user-controlled input can become an injection vector. Prefer static calls and typed references, and sanitize any unavoidable dynamic access.
Non-Compliant
abap
CALL FUNCTION lv_function_name.Compliant
abap
CALL FUNCTION 'BAPI_USER_GET_DETAIL'.Suppression
To suppress findings for this rule, append the pseudo-comment to the statement:
abap
" Standard pseudo-comment:
... "#EC NO_DYNAMIC
" SAP CI_ prefix format:
... "#EC CI_NO_DYNAMICTechnical Details
- Native ATC Class:
ZCL_SKYLINT_NO_DYNAMIC_STMT - Implementation File: zcl_skylint_no_dynamic_stmt.clas.abap