Skip to content

Use Only Statements Available in ABAP Cloud ​

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

Overview ​

Statements not available in ABAP Cloud.

ATC Finding Message: Statement is not supported in ABAP Cloud; use modern syntax or a released API

Rationale ​

ABAP Cloud restricts development to a strictly released subset of language elements and APIs. Classic statements such as SUBMIT, CALL TRANSACTION, EXEC SQL, or legacy list processing are fundamentally unsupported in modern cloud environments (SAP BTP ABAP Environment and S/4HANA Cloud). Code containing these constructs cannot be compiled or transported to cloud systems. Replace non-cloud statements with released successor APIs, RAP business objects, or modern ABAP OO design patterns.

Non-Compliant ​

abap
" Classic report execution is not supported in ABAP Cloud
SUBMIT z_billing_report
  WITH p_vbeln = lv_billing_doc
  AND RETURN.

Compliant ​

abap
" Encapsulate logic into modern class methods or background jobs
zcl_billing_service=>process(
  iv_billing_doc = lv_billing_doc ).

Suppression ​

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

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

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

Statement Scope and Handling ​

The check scans statement prefixes against the ABAP Cloud forbidden catalog:

Statement ConstructStatusNote
SUBMIT ...ForbiddenClassic report execution
CALL TRANSACTION ...ForbiddenDynpro transaction call
EXEC SQL ...ForbiddenNative SQL
CALL FUNCTION ...AllowedReleased function modules
CREATE OBJECT ... TYPE ...AllowedStandard ABAP OO instantiation
SORT itab BY ...AllowedInternal table sorting

Prefix Disambiguation ​

When a keyword prefix is shared between classic and cloud syntax, the longest match applies:

  • CALL is forbidden, but CALL FUNCTION and CALL METHOD are allowed.
  • SORT without an internal table is forbidden (dataset sort); SORT itab is allowed.
  • CREATE OBJECT with TYPE is allowed; OLE automation (CREATE OBJECT ref 'PROGID') is forbidden.
  • Loop events (AT NEW, AT LAST) are allowed; dynpro events (AT PF01, AT LINE-SELECTION) are forbidden.

Suppression ​

Suppress intentional legacy usages with "#EC PREF_CLOUD_READY.

Technical Details ​

Community & Feedback ​

Released under the MIT License.