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
48540 skills31 agents69 commands8 MCP

Claude Code

$ npx -y skills add secondsky/sap-skills --skill sap-abap --agent claude-code

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
@secondsky
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.

48540 skills31 agents8 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
485
Star history of secondsky/sap-skills on GitHub, a chart by star-history.com

Other skills on sap-skills.

sap-abap-cds

sap-abap-cds

Comprehensive SAP ABAP CDS (Core Data Services) reference for data modeling, view development, and semantic enrichment. Use when…

sap-ai-core

sap-ai-core

Guides development with SAP AI Core and SAP AI Launchpad for enterprise AI/ML workloads on SAP BTP. Use when: deploying…

sap-api-policy

sap-api-policy

Evidence-based assessment of whether an SAP API/interface usage scenario aligns with the SAP API Policy (v.4.2026a). Use whenever…

sap-api-style

sap-api-style

This skill provides comprehensive guidance for documenting SAP APIs following the SAP API Style Guide standards. It should be…

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills10d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc11d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react1d252k
@facebook@facebookInstall Skill

Questions about sap-abap.

Which coding agents can use sap-abap?
sap-abap installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.