Skip to content

Check Downport Compatibility (7.40+ Modern Constructs) ​

WarningClean ABAP & Modern Syntax#EC PREF_DOWNPORTRemote Enabled

Overview ​

Detect 7.40+ syntax incompatible with downport targets.

ATC Finding Message: Modern ABAP construct is incompatible with downport target release

Rationale ​

Modern ABAP constructs such as constructor expressions, table expressions, inline declarations, string templates, and functional method chaining do not compile on legacy NetWeaver releases. When a project must remain downport-compatible, these constructs silently raise the required kernel and syntax level. The check keeps that incompatibility visible by reporting each modern construct; it is disabled by default so modern development is unaffected.

Non-Compliant ​

abap
DATA(lv_name) = lt_customers[ 1 ]-name.

Compliant ​

abap
DATA lv_name TYPE string.
DATA ls_customer TYPE ty_customer.
READ TABLE lt_customers INTO ls_customer INDEX 1.
IF sy-subrc = 0.
  lv_name = ls_customer-name.
ENDIF.

Configuration & Thresholds ​

This check can be fine-tuned directly in the ATC Check Variant Editor (CHKV) in Eclipse ADT:

Parameter NameData TypeDefault ValueDescription & Guidance
CHECK_CONSTRUCTORSBooleanfalseCheck constructor expressions (NEW, VALUE, CORRESPONDING, COND, SWITCH)
CHECK_TABLE_EXPRBooleanfalseCheck table expressions (lt_tab[ ... ]) incompatible with legacy releases
CHECK_INLINE_DECLBooleanfalseCheck inline declarations (DATA(...), FIELD-SYMBOL(...))
CHECK_STRING_TEMPLBooleanfalseCheck string templates (|...|)
CHECK_CHAININGBooleanfalseCheck functional method call chaining (lo->m1( )->m2( ))
CHECK_EMPTY_KEYBooleanfalseCheck WITH EMPTY KEY additions on internal tables
CHECK_CALC_ASSIGNBooleanfalseCheck calculation assignment operators (+=, -=, *=, /=)
CHECK_LINE_FUNCSBooleanfalseCheck built-in line functions (line_exists, line_index, lines)
CHECK_STRICT_SQLBooleanfalseCheck modern OpenSQL syntax (@ escaping and comma-separated projection)
CHECK_RAISE_MESSAGEBooleanfalseCheck modern RAISE EXCEPTION MESSAGE syntax

Suppression ​

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

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

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

Technical Details ​

Released under the MIT License.