Skip to content

Check Downport Compatibility (7.40+ Modern Constructs) ​

WarningClean ABAP & Modern Syntax#EC DOWNPORT_COMPATRemote 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 Value
CHECK_CONSTRUCTORSBooleanfalse
CHECK_TABLE_EXPRBooleanfalse
CHECK_INLINE_DECLBooleanfalse
CHECK_STRING_TEMPLBooleanfalse
CHECK_CHAININGBooleanfalse
CHECK_EMPTY_KEYBooleanfalse
CHECK_CALC_ASSIGNBooleanfalse
CHECK_LINE_FUNCSBooleanfalse
CHECK_STRICT_SQLBooleanfalse
CHECK_RAISE_MESSAGEBooleanfalse

Suppression ​

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

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

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

Technical Details ​

Released under the MIT License.