Check Downport Compatibility (7.40+ Modern Constructs)
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
DATA(lv_name) = lt_customers[ 1 ]-name.Compliant
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 Name | Data Type | Default Value |
|---|---|---|
CHECK_CONSTRUCTORS | Boolean | false |
CHECK_TABLE_EXPR | Boolean | false |
CHECK_INLINE_DECL | Boolean | false |
CHECK_STRING_TEMPL | Boolean | false |
CHECK_CHAINING | Boolean | false |
CHECK_EMPTY_KEY | Boolean | false |
CHECK_CALC_ASSIGN | Boolean | false |
CHECK_LINE_FUNCS | Boolean | false |
CHECK_STRICT_SQL | Boolean | false |
CHECK_RAISE_MESSAGE | Boolean | false |
Suppression
To suppress findings for this rule, append the pseudo-comment to the statement:
" Standard pseudo-comment:
... "#EC DOWNPORT_COMPAT
" SAP CI_ prefix format:
... "#EC CI_DOWNPORT_COMPATTechnical Details
- Native ATC Class:
ZCL_SKYLINT_PREF_DOWNPORT - Implementation File: zcl_skylint_pref_downport.clas.abap