Skip to content

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_DYNAMIC

Technical Details ​

Released under the MIT License.