Skip to content

Avoid Complex Expressions in Call Arguments ​

WarningClean ABAP & Modern Syntax#EC NO_COMPLEX_ARGRemote Enabled✏️ Edit Rule on GitHub

Overview ​

Avoid complex expressions in call arguments.

ATC Finding Message: Avoid complex expressions in call arguments; extract into a variable

Rationale ​

Method call arguments should be simple variables, literals, or single method calls. Nesting deep method chains or complex expressions like COND #( ... ) inside arguments reduces readability and makes debugging difficult. Extract complex expressions into local variables before the call.

Non-Compliant ​

abap
lo_service->process( iv_param = lo_factory->get_builder( )->build( ) ).

Compliant ​

abap
DATA(lo_item) = lo_factory->get_builder( )->build( ).
lo_service->process( iv_param = lo_item ).

Suppression ​

To suppress findings for this rule, append the pseudo-comment to the statement:

abap
" Standard pseudo-comment:
... "#EC NO_COMPLEX_ARG

" SAP CI_ prefix format:
... "#EC CI_NO_COMPLEX_ARG

Technical Details ​

Community & Feedback ​

Released under the MIT License.