sap-abap-cds
Comprehensive SAP ABAP CDS (Core Data Services) reference for data modeling, view development, and semantic enrichment. Use when…
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,
Claude Code
$ npx -y skills add secondsky/sap-skills --skill sap-abap --agent claude-code
Codex
$ npx skills add secondsky/sap-skills --skill sap-abap -a codex -y
Cursor
$ npx skills add secondsky/sap-skills --skill sap-abap -a cursor -y
Gemini CLI
$ npx skills add secondsky/sap-skills --skill sap-abap -a gemini-cli -y
GitHub Copilot
$ npx skills add secondsky/sap-skills --skill sap-abap -a github-copilot -y
OpenCode
$ npx skills add secondsky/sap-skills --skill sap-abap -a opencode -y
Windsurf
$ npx skills add secondsky/sap-skills --skill sap-abap -a windsurf -y
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.
Comprehensive SAP ABAP CDS (Core Data Services) reference for data modeling, view development, and semantic enrichment. Use when…
Guides development with SAP AI Core and SAP AI Launchpad for enterprise AI/ML workloads on SAP BTP. Use when: deploying…
Evidence-based assessment of whether an SAP API/interface usage scenario aligns with the SAP API Policy (v.4.2026a). Use whenever…
This skill provides comprehensive guidance for documenting SAP APIs following the SAP API Style Guide standards. It should be…
Use when an agent must inspect or operate an authenticated SAP web UI through an in-app Browser, Microsoft Edge CDP, or an…
SAP BTP best practices for enterprise architecture, account management, security, and operations, with verification evidence…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.