sap-abap-cds
Comprehensive SAP ABAP CDS (Core Data Services) reference for data modeling, view development, and semantic enrichment. Use when creating CDS views or view…
Comprehensive ABAP development skill for SAP systems. Use when writing ABAP code, working with internal tables, structures, ABAP SQL, object-oriented programming, RAP (RESTful Application Programming Model), CDS views, EML statements, ABAP Cloud development, string processing,
$ npx -y skills add secondsky/sap-skills --skill sap-abap --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/sap-abapContext preview
The summary Claude sees to decide when to auto-load this skill.
Comprehensive ABAP development skill for SAP systems. Use when writing ABAP code, working with internal tables, structures, ABAP SQL, object-oriented programming, RAP (RESTful Application Programming Model), CDS views, EML statements, ABAP Cloud development, string processing,
name: sap-abap
description: |
Comprehensive ABAP development skill for SAP systems. Use when writing ABAP code,
working with internal tables, structures, ABAP SQL, object-oriented programming,
RAP (RESTful Application Programming Model), CDS views, EML statements, ABAP Cloud
development, string processing, dynamic programming, RTTI/RTTC, field symbols,
data references, exception handling, or ABAP unit testing. Covers both classic
ABAP and modern ABAP for Cloud Development patterns.
license: GPL-3.0
metadata:
maintainer: "Eduard Jiglau"
maintainer_email: "hello@sap-ai-skills.com"
website: "https://sap-ai-skills.com"
version: "2.4.1"
last_verified: "2026-04-02"
abap_release: "7.40 SP08+ / 7.50+ / ABAP Cloud"
sources:
- "https://help.sap.com/doc/abapdocu_latest_index_htm/latest/en-US/index.htm"
- "https://github.com/SAP-samples/abap-cheat-sheets"Use this skill when writing or reviewing ABAP code, modernizing classic ABAP to ABAP Cloud-compatible patterns, working with RAP or EML, implementing ABAP SQL, designing unit tests, or troubleshooting language/runtime behavior across supported ABAP releases.
This skill covers ABAP syntax from **7.40 SP08** through **ABAP Cloud**. Features requiring a higher release are annotated with inline comments in code examples using the format `" [7.xx+]` or noted in reference files. The table below summarizes the key version boundaries.
| Feature | 7.40 SP02 | 7.40 SP05 | 7.40 SP08 | 7.50 | 7.51 | 7.52 | 7.54 | |---------|:---------:|:---------:|:---------:|:----:|:----:|:----:|:----:| | Inline declarations `DATA(...)` | x | x | x | x | x | x | x | | Constructor operators (VALUE, NEW, CONV, COND, SWITCH, REF, EXACT, CAST) | x | x | x | x | x | x | x | | Table expressions `itab[...]` | x | x | x | x | x | x | x | | String templates | x | x | x | x | x | x | x | | `WITH EMPTY KEY` | x | x | x | x | x | x | x | | `line_exists()`, `line_index()` | x | x | x | x | x | x | x | | ABAP SQL: `@` host variables | | x | x | x | x | x | x | | ABAP SQL: comma-separated lists | | x | x | x | x | x | x | | ABAP SQL: SQL expressions in SELECT | | x | x | x | x | x | x | | `CORRESPONDING` operator | | x | x | x | x | x | x | | Table comprehensions (`FOR`) | | x | x | x | x | x | x | | `LET` expressions | | x | x | x | x | x | x | | `REDUCE` operator | | | x | x | x | x | x | | `FILTER` operator | | | x | x | x | x | x | | `BASE` addition | | | x | x | x | x | x | | `LOOP AT ... GROUP BY` | | | x | x | x | x | x | | ABAP SQL: `dbtab~*` in SELECT | | | x | x | x | x | x | | ABAP SQL: `RIGHT OUTER JOIN` | | x | x | x | x | x | x | | CDS views with parameters | | | x | x | x | x | x | | **`FINAL(...)` inline declaration** | | | | x | x | x | x | | **Host expressions `@( expr )`** | | | | x | x | x | x | | **`UNION` in SELECT** | | | | x | x | x | x | | **`IS INSTANCE OF` / `CASE TYPE OF`** | | | | x | x | x | x | | **`int8` type** | | | | x | x | x | x | | **CDS table functions** | | | | x | x | x | x | | **CDS access control (implicit)** | | | | x | x | x | x | | **`$session.user/client/system_language`** | | | | x | x | x | x | | **Test seams (`TEST-SEAM`)** | | | | x | x | x | x | | **Common Table Expressions (`WITH`)** | | | | | x | x | x | | **`OFFSET` in SELECT** | | | | | x | x | x | | **`UPPER`/`LOWER` in CDS** | | | | | x | x | x | | **Enumerated types** | | | | | x | x | x | | **Internal tables as data source `FROM @itab`** | | | | | | x | x | | **`WITH PRIVILEGED ACCESS`** | | | | | | x | x | | **`utclong` type and functions** | | | | | | | x |
**On a 7.40 system**: Replace any `FINAL(...)` with `DATA(...)`, and avoid 7.50+ features marked in bold above. Most modern ABAP syntax (VALUE, NEW, CONV, inline declarations, table expressions, REDUCE, FILTER, GROUP BY) is available since 7.40 SP08.
" Elementary types
DATA num TYPE i VALUE 123.
DATA txt TYPE string VALUE `Hello`.
DATA flag TYPE abap_bool VALUE abap_true.
" Inline declarations
DATA(result) = some_method( ).
FINAL(immutable) = `constant value`. " [7.50+] Use DATA(...) on 7.40
" Structures
DATA: BEGIN OF struc,
id TYPE i,
name TYPE string,
END OF struc.
" Internal tables
DATA itab TYPE TABLE OF string WITH EMPTY KEY.
DATA sorted_tab TYPE SORTED TABLE OF struct WITH UNIQUE KEY id.
DATA hashed_tab TYPE HASHED TABLE OF struct WITH UNIQUE KEY id." Create with VALUE
itab = VALUE #( ( col1 = 1 col2 = `a` )
( col1 = 2 col2 = `b` ) ).
" Read operations
DATA(line) = itab[ 1 ]. " By index
DATA(line2) = itab[ col1 = 1 ]. " By key
READ TABLE itab INTO wa INDEX 1.
READ TABLE itab ASSIGNING FIELD-SYMBOL(<fs>) WITH KEY col1 = 1.
" Modify operations
MODIFY TABLE itab FROM VALUE #( col1 = 1 col2 = `updated` ).
itab[ 1 ]-col2 = `changed`.
" Loop processing
LOOP AT itab ASSIGNING FIELD-SYMBOL(<line>).
<l40 SAP development plugins with evidence-tracked verification SAP development plugins for AI coding assistants, with public-source or package-registry verification tracked where available.
Repo: secondsky/sap-skills
Comprehensive SAP ABAP CDS (Core Data Services) reference for data modeling, view development, and semantic enrichment. Use when creating CDS views or view…
Guides development with SAP AI Core and SAP AI Launchpad for enterprise AI/ML workloads on SAP BTP. Use when: deploying generative AI models, building…
Evidence-based assessment of whether an SAP API/interface usage scenario aligns with the SAP API Policy (v.4.2026a). Use whenever someone asks whether a way of…
This skill provides comprehensive guidance for documenting SAP APIs following the SAP API Style Guide standards. It should be used when creating or reviewing…
Use when an agent must inspect or operate an authenticated SAP web UI through an in-app Browser, Microsoft Edge CDP, or an existing Playwright client,…
SAP BTP best practices for enterprise architecture, account management, security, and operations, with verification evidence tracked in the repository ledger.…