Use Only Statements Available in ABAP Cloud
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
" Classic report execution is not supported in ABAP Cloud
SUBMIT z_billing_report
WITH p_vbeln = lv_billing_doc
AND RETURN.Compliant
" 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:
" Standard pseudo-comment:
... "#EC PREF_CLOUD_READY
" SAP CI_ prefix format:
... "#EC CI_PREF_CLOUD_READYStatement Scope and Handling
The check scans statement prefixes against the ABAP Cloud forbidden catalog:
| Statement Construct | Status | Note |
|---|---|---|
SUBMIT ... | Forbidden | Classic report execution |
CALL TRANSACTION ... | Forbidden | Dynpro transaction call |
EXEC SQL ... | Forbidden | Native SQL |
CALL FUNCTION ... | Allowed | Released function modules |
CREATE OBJECT ... TYPE ... | Allowed | Standard ABAP OO instantiation |
SORT itab BY ... | Allowed | Internal table sorting |
Prefix Disambiguation
When a keyword prefix is shared between classic and cloud syntax, the longest match applies:
CALLis forbidden, butCALL FUNCTIONandCALL METHODare allowed.SORTwithout an internal table is forbidden (dataset sort);SORT itabis allowed.CREATE OBJECTwithTYPEis 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.
Related Rules
- Eliminate Obsolete Control Flow and Procedural Statements —
#EC NO_OBS_CONTROL - Prohibit Dynpro List Processing Statements in ABAP Cloud —
#EC NO_LIST_PROC - Replace Obsolete Function Modules with Class-Based APIs —
#EC PREF_FUNC_MOD
Technical Details
- Native ATC Class:
/SKYL/CL_PREF_CLOUD_READY - ABAP Implementation: /skyl/cl_pref_cloud_ready.clas.abap
- Rule Metadata: rules-data.mjs (Line 5926)