Help with ABAP Cloud development including the 3-tier extensibility model, ABAP Cloud language version restrictions, wrapper patterns for unreleased APIs, clean core principles, and key user vs developer extensibility. Use when users ask about ABAP Cloud, ABAP for Cloud Development, clean core, 3-tier model, tier 1 tier 2 tier 3, wrapper pattern, released APIs, language version, restricted ABAP, embedded Steampunk, developer extensibility, key user extensibility, or ABAP Cloud readiness. Trigge…
Help with ABAP Cloud development including the 3-tier extensibility model, ABAP Cloud language version restrictions, wrapper patterns for unreleased APIs, clean core principles, and key user vs developer extensibility.
Use when users ask about ABAP Cloud, ABAP for Cloud Development, clean core, 3-tier model, tier 1 tier 2 tier 3, wrapper pattern, released APIs, language version, restricted ABAP, embedded Steampunk, developer extensibility, key user extensibility, or ABAP Cloud readiness.
Triggers include "ABAP Cloud restrictions", "clean core", "wrapper class", "tier model", "released API alternative", "ABAP language version", "Steampunk", or "extensibility model".
Similar popular skills
Related neighbors and high-traction skills in the same topics — useful to compare before installing.
Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.
Claude CodeNot declared
CursorNot declared
CodexNot declared
GitHub CopilotNot declared
WindsurfNot declared
Gemini CLINot declared
ClineNot declared
OpenCodeNot declared
Repository health
Stars59
LicenseLICENSE
Default branchmain
Open issues0
Status
Active
Package contents
Files included with this skill beyond the listing page.
skill mdSKILL.md7,772 B
docsSUMMARY.md691 B
History
First seen on skills.sh
First recorded snapshot · 59 installs
SKILL.md
ABAP Cloud / Clean Core
Guide for developing with the ABAP Cloud programming model, understanding the 3-tier extensibility model, and applying clean core principles.
Workflow
Determine the user's context:
- Understanding ABAP Cloud concepts and restrictions - Choosing the right extensibility tier - Wrapping unreleased APIs for use in ABAP Cloud - Identifying released API alternatives - Setting up clean core-compliant development
Identify the extensibility tier:
- Tier 1: Key user extensibility (no code) - Tier 2: Developer extensibility (ABAP Cloud / ABAP for Cloud Development) - Tier 3: Classic extensibility (standard ABAP, only on-premise/private cloud)
Guide implementation using clean core principles
ABAP Language Versions
Language Version
Scope
Available In
ABAP for Cloud Development
Only released APIs and objects; restricted syntax; no SAP GUI
Full ABAP syntax; all repository objects accessible
On-premise, private cloud
Key Restrictions in ABAP for Cloud Development
Only released SAP APIs (C1 contract) can be used
No direct database table access for SAP tables (use released CDS views instead)
No classic dynpro, selection screens, or SAP GUI-dependent statements
No CALL TRANSACTION, SUBMIT, AUTHORITY-CHECK (use CLABAPAUTHORIZATION instead)
No classic BAdIs or user exits
No EXEC SQL or native SQL (use ABAP SQL or AMDP)
No function modules (except released RFC-enabled ones)
No INCLUDE programs
No WRITE or classic list output
Must use ifooadt_classrun for console output
3-Tier Extensibility Model
Tier 1 — Key User Extensibility (No Code)
Custom fields and logic via SAP Fiori UIs
Custom CDS views (basic)
Custom business objects (simple)
Custom analytical queries
No ABAP development required
Tier 2 — Developer Extensibility (ABAP Cloud)
ABAP for Cloud Development language version
Only released APIs with stability contracts
RAP-based business objects
Side-by-side or embedded development
Full lifecycle management via ADT
"Example: Tier 2 class using only released APIs
CLASS zcl_my_extension DEFINITION
PUBLIC FINAL CREATE PUBLIC.
PUBLIC SECTION.
INTERFACES if_oo_adt_classrun.
ENDCLASS.
CLASS zcl_my_extension IMPLEMENTATION.
METHOD if_oo_adt_classrun~main.
"Only released CDS views — no direct table access
SELECT FROM I_BusinessPartner
FIELDS BusinessPartner, BusinessPartnerName
INTO TABLE @DATA(partners)
UP TO 10 ROWS.
out->write( partners ).
ENDMETHOD.
ENDCLASS.
Tier 3 — Classic Extensibility (Standard ABAP)
Full ABAP language scope
Access to all repository objects
Classic enhancement points, BAdIs, user exits
Only available on-premise or private cloud
Not recommended for new cloud-ready development
Wrapper Pattern
When a needed API is not released (Level B/C), create a wrapper in Tier 3 that exposes the functionality via a released interface consumable from Tier 2.
Wrapper Class Pattern
"Tier 3: Wrapper class (Standard ABAP language version)
"Released with C1 contract for use from Tier 2
CLASS zcl_wrapper_material DEFINITION
PUBLIC FINAL CREATE PUBLIC.
PUBLIC SECTION.
INTERFACES zif_material_reader.
"Set as released API with C1 contract in ADT
ENDCLASS.
CLASS zcl_wrapper_material IMPLEMENTATION.
METHOD zif_material_reader~get_material.
"Access unreleased API internally
SELECT SINGLE * FROM mara
WHERE matnr = @iv_matnr
INTO @DATA(ls_mara).
"Map to released structure
rs_material = VALUE #(
matnr = ls_mara-matnr
mtart = ls_mara-mtart
matkl = ls_mara-matkl ).
ENDMETHOD.
ENDCLASS.
Use released-abap-classes skill for common released classes
XCO Library
XCOCP* classes provide cloud-ready alternatives
Common Unreleased → Released Replacements
Unreleased (Classic)
Released Alternative (ABAP Cloud)
AUTHORITY-CHECK
CLABAPAUTHORIZATION=>check_authorization()
sy-uname
clabapcontextinfo=>getusertechnicalname()
sy-datum / sy-uzeit
clabapcontextinfo=>getsystem_date/time()
clguifrontend_services
Not available — use Fiori UI instead
CALL TRANSACTION
RAP action or Fiori navigation
SUBMIT ... AND RETURN
Background job via CLAPJRT_API
Direct SAP table SELECT
Use released CDS view (I\_\* views)
CONVERSIONEXIT*
CLABAPCONV_CODEPAGE, domain fixed values
BAPI_* function modules
Released APIs or RAP BO consumption
Classic MESSAGE statement
RAP messages via REPORTED
Output Format
When helping with ABAP Cloud / clean core topics, structure responses as:
## ABAP Cloud Guidance
### Context
- Extensibility tier: [Tier 1/2/3]
- Language version: [ABAP for Cloud Development / Standard ABAP]
- Target platform: [BTP / S/4HANA embedded / on-premise]
### Recommendation
[Guidance on the approach]
### Code Example
[ABAP code following clean core principles]
### Released API References
- [List of relevant released APIs used]