Skip to content
Development
Skill

/sap-abap

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,

From plugin
sap-skills
40440 skills31 agents69 commands8 MCP
Install
$ npx -y skills add secondsky/sap-skills --skill sap-abap --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/sap-abap

Context 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,

SKILL.md

sap-abap.SKILL.md
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"

SAP ABAP Development Skill

Related Skills

  • **sap-abap-cds**: Use when developing CDS views for ABAP-backed Fiori applications or defining data models with annotations
  • **sap-btp-cloud-platform**: Use when working with ABAP Environment on BTP or deploying ABAP applications to the cloud
  • **sap-cap-capire**: Use when connecting ABAP systems with CAP applications or integrating with OData services
  • **sap-fiori-tools**: Use when building Fiori applications with ABAP backends or consuming OData services from ABAP systems
  • **sap-api-style**: Use when documenting ABAP APIs or following SAP API documentation standards

When to Use This Skill

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.

Version Compatibility

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.

Table of Contents

  • [Version Compatibility](#version-compatibility)
  • [Quick Reference](#quick-reference)
  • [Bundled Resources](#bundled-resources)
  • [Common Patterns](#common-patterns)
  • [Error Catalog](#error-catalog)
  • [Performance Tips](#performance-tips)
  • [Source Documentation](#source-documentation)

Quick Reference

Data Types and Declarations

" 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.

Internal Tables - Essential Operations

" 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>).
  <l
Read more
Ships withsap-skills

40 SAP development plugins with evidence-tracked verification SAP development plugins for AI coding assistants, with public-source or package-registry verification tracked where available.

Get the whole plugin

Other skills on sap-skills.