Skills Plugins MCP Prompt Model 博客 我的中心
Development #data #writing #cloud #testing

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

DeepseekModel Curated skill Quality Excellent · 78 v1.0.0

Get

https://deepseekmodel.com/api/download.php?id=secondsky-sap-skills-plugins-sap-abap-skills-sap-abap-skill-md&format=skill
Download .skill Standard format with system_prompt and model_config, ready for any agent framework
The actual content of the system_prompt field in the .skill file.
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 Quick Reference Bundled Resources Common Patterns Error Catalog Performance Tips 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>). <line>-col2 = to_upper( <line>-col2 ). ENDLOOP. " Delete DELETE itab WHERE col1 > 5. DELETE TABLE itab FROM VALUE #( col1 = 1 ). ABAP SQL Essentials " SELECT into table SELECT * FROM dbtab INTO TABLE @DATA(result_tab). " @ syntax: 7.40 SP05+ " SELECT with conditions SELECT carrid, connid, fldate " comma syntax: 7.40 SP05+ FROM zdemo_abap_fli WHERE carrid = 'LH' INTO TABLE @DATA(flights). " Aggregate functions SELECT carrid, COUNT(*) AS cnt, AVG( price ) AS avg_price FROM zdemo_abap_fli GROUP BY carrid INTO TABLE @DATA(stats). " JOIN operations SELECT a~carrid, a~connid, b~carrname FROM zdemo_abap_fli AS a INNER JOIN zdemo_abap_carr AS b ON a~carrid = b~carrid INTO TABLE @DATA(joined). " Modification statements INSERT dbtab FROM @struc. UPDATE dbtab FROM @struc. MODIFY dbtab FROM TABLE @itab. DELETE FROM dbtab WHERE condition. Constructor Expressions " VALUE - structures and tables DATA(struc) = VALUE struct_type( comp1 = 1 comp2 = `text` ). DATA(itab) = VALUE itab_type( ( a = 1 ) ( a = 2 ) ( a = 3 ) ). " NEW - create instances DATA(dref) = NEW i( 123 ). DATA(oref) = NEW zcl_my_class( param = value ). " CORRESPONDING - structure/table mapping target = CORRESPONDING #( source ). target = CORRESPONDING #( source MAPPING target_field = source_field ). " COND/SWITCH - conditional values DATA(text) = COND string( WHEN flag = abap_true THEN `Yes` ELSE `No` ). DATA(result) = SWITCH #( code WHEN 1 THEN `A` WHEN 2 THEN `B` ELSE `X` ). " CONV - type conversion DATA(dec) = CONV decfloat34( 1 / 3 ). " FILTER - table filtering DATA(filtered) = FILTER #( itab WHERE status = 'A' ). " REDUCE - aggregation DATA(sum) = REDUCE i( INIT s = 0 FOR wa IN itab NEXT s = s + wa-amount ). Object-Oriented ABAP " Class definition CLASS zcl_example DEFINITION PUBLIC FINAL CREATE PUBLIC. PUBLIC SECTION. METHODS constructor IMPORTING iv_name TYPE string. METHODS get_name RETURNING VALUE(rv_name) TYPE string. CLASS-METHODS factory RETURNING VALUE(ro_instance) TYPE REF TO zcl_example. PRIVATE SECTION. DATA mv_name TYPE string. ENDCLASS. CLASS zcl_example IMPLEMENTATION. METHOD constructor. mv_name = iv_name. ENDMETHOD. METHOD get_name. rv_name = mv_name. ENDMETHOD. METHOD factory. ro_instance = NEW #( `Default` ). ENDMETHOD. ENDCLASS. " Interface implementation CLASS zcl_impl DEFINITION PUBLIC. PUBLIC SECTION. INTERFACES zif_my_interface. ENDCLASS. Exception Handling TRY. DATA(result) = risky_operation( ). CATCH cx_sy_zerodivide INTO DATA(exc). DATA(msg) = exc->get_text( ). CATCH cx_root INTO DATA(any_exc). " Handle any exception CLEANUP. " Cleanup code ENDTRY. " Raising exceptions RAISE EXCEPTION TYPE zcx_my_exception EXPORTING textid = zcx_my_exception=>error_occurred. " With COND/SWITCH DATA(val) = COND #( WHEN valid THEN result ELSE THROW zcx_my_exception( ) ). String Processing " Concatenation DATA(full) = first && ` ` && last. txt &&= ` appended`. " String templates DATA(msg) = |Name: { name }, Date: { date DATE = ISO }|. " Functions DATA(upper) = to_upper( text ). DATA(len) = strlen( text ). DATA(found) = find( val = text sub = `search` ). DATA(replaced) = replace( val = text sub = `old` with = `new` occ = 0 ). DATA(parts) = segment( val = text index = 2 sep = `,` ). " FIND/REPLACE statements FIND ALL OCCURRENCES OF pattern IN text RESULTS DATA(matches). REPLACE ALL OCCURRENCES OF old IN text WITH new. Dynamic Programming " Field symbols FIELD-SYMBOLS <fs> TYPE any. ASSIGN struct-component TO <fs>. ASSIGN struct-(comp_name) TO <fs>. " Dynamic component " Data references DATA dref TYPE REF TO data. dref = REF #( variable ). CREATE DATA dref TYPE (type_name). dref->* = value. " RTTI - Get type information DATA(tdo) = cl_abap_typedescr=>describe_by_data( dobj ). DATA(components) = CAST cl_abap_structdescr( tdo )->components. " RTTC - Create types dynamically DATA(elem_type) = cl_abap_elemdescr=>get_string( ). CREATE DATA dref TYPE HANDLE elem_type. Bundled Resources This skill includes 28 comprehensive reference files covering all aspects of ABAP development: Related Skills sap-abap-cds : For CDS view development and ABAP Cloud data modeling sap-btp-cloud-platform : For ABAP Environment setup and BTP deployment sap-cap-capire : For CAP service integration and ABAP system connections sap-fiori-tools : For Fiori application development with ABAP backends sap-api-style : For API documentation standards and best practices Quick Access Reference Guide : references/skill-reference-guide.md - Complete guide to all reference files Internal Tables : references/internal-tables.md - Complete table operations ABAP SQL : references/abap-sql.md - Comprehensive SQL reference Object Orientation : references/object-orientation.md - Classes and interfaces Development Topics references/constructor-expressions.md - VALUE, NEW, COND, REDUCE references/rap-eml.md - RAP and EML operations references/cds-views.md - CDS view development references/string-processing.md - String functions and regex references/unit-testing.md - ABAP Unit framework references/performance.md - Optimization techniques ... and 18 more specialized references Common Patterns Safe Table Access (Avoid Exceptions) " Using VALUE with OPTIONAL DATA(line) = VALUE #( itab[ key = value ] OPTIONAL ). " Using VALUE with DEFAULT DATA(line) = VALUE #( itab[ 1 ] DEFAULT VALUE #( ) ). " Check before access IF line_exists( itab[ key = value ] ). DATA(line) = itab[ key = value ]. ENDIF. Functional Method Chaining DATA(result) = NEW zcl_builder( ) ->set_name( `Test` ) ->set_value( 123 ) ->build( ).
Keywords that activate this skill. Click one to copy it.

This skill does not provide trigger words.

The downloaded .skill package contains the following fields.
Field Description
formatFormat tag (skill/v1)
skill_idUnique skill ID
nameSkill name
versionVersion
descriptionDescription
categoryCategories (array)
trigger_wordsTrigger words
tagsTags
sourceSource
source_urlSource URL (this page)
exported_atExported at (set per download)
system_promptSystem prompt body
model_configModel config: provider / model / temperature / max_tokens / top_p
examplesExamples
install_guideImport guide for Coze / Dify / Claude / custom frameworks
The same skill can be exported in different platform formats.
.skill Standard format with system_prompt and model_config, ready for any agent framework Download
.skillpro Enhanced format with scripts, tools, dependencies and hooks Download
.json Plain JSON export with system_prompt and model parameters only Download
Coze Markdown with frontmatter, for Coze platform import Download
Dify Dify DSL, import directly after creating an app Download

每日精选 Skill 推荐,免费送到你邮箱

输入邮箱,每天接收一个精选 AI Agent 技能推荐。完全免费,持续更新。

提交后我们会发送一封确认邮件,点击邮件里的链接才会开始收信。

完全免费,取消任意时间。我们不会发送垃圾邮件。