Token导航 LogoToken导航

Agent Skill · 研究检索

sap-abap-cds(SAP abap CDS 搜索)

sap-abap-cds 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

sap-abap-cds 是研究检索类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为需要联网;许可证信息还不明确,第三方扫描已通过,按安装量在研究检索类的 73,675 个 Skill 里排第 27,939。

总安装 3,305周安装 135GitHub Stars 239下载 1,058核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:sap-abap-cds(SAP abap CDS 搜索)
来源仓库:https://github.com/secondsky/sap-skills
仓库路径:skills/sap-abap-cds
安装命令:
npx skills add https://github.com/secondsky/sap-skills --skill sap-abap-cds
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/secondsky/sap-skills --skill sap-abap-cds

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

用于查找、检索和筛选 SAP ABAP CDS 相关信息。适合在 Codex、Claude、Cursor、Gemini CLI 中根据关键词快速定位候选结果。通过 npx skills add 命令从 GitHub 仓库安装使用。建议确认权限范围和维护状态,避免触发联网或文件读写操作。

可结合原始 README 进一步核验具体用法和功能边界。

来源仓库内路径:skills/sap-abap-cds

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/secondsky/sap-skills --skill sap-abap-cds;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要需要联网,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

sap-abap-cds 怎么安装?

在终端执行 npx skills add https://github.com/secondsky/sap-skills --skill sap-abap-cds。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

sap-abap-cds 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

sap-abap-cds 需要什么权限?

权限级别是需要联网。该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

sap-abap-cds 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

sap-abap-cds 用的人多吗?

公开数据是累计安装 3,305 次,近一周安装 135 次,下载 1,058 次,GitHub 239 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

sap-abap-cds 安全吗?

第三方扫描结果为通过,但这只覆盖已知的静态检查项,不能替代自己读一遍源码和安装命令。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。
  • 第三方扫描已通过,常见的高风险行为没有命中。

先想清楚的地方

  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。

不太适合

  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
sap-abap-cds

SAP abap CDS 搜索 · 本页

3,305239需要联网未明确通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

SAP ABAP CDS (Core Data Services)

Related Skills

  • sap-abap: Use for ABAP programming patterns used with CDS or when implementing EML statements in ABAP
  • sap-btp-cloud-platform: Use for CDS deployment scenarios on BTP or ABAP Environment configurations
  • sap-fiori-tools: Use when building Fiori Elements applications that consume CDS views or working with UI annotations
  • sap-cap-capire: Use for comparing CDS syntax between ABAP and CAP or when integrating ABAP CDS with CAP services
  • sap-api-style: Use when documenting CDS-based OData services or following API documentation standards

Quick Reference: https://help.sap.com/doc/abapdocu_cp_index_htm/CLOUD/en-US/abencds.html | SAP Cheat Sheets: https://github.com/SAP-samples/abap-cheat-sheets/blob/main/15_CDS_View_Entities.md

Version Compatibility

This skill covers CDS features from 7.40 SP8 through ABAP Cloud. Key version boundaries:

Feature7.40 SP87.507.517.55+
CDS View (DEFINE VIEW)xxxx
CDS associations, parameters, built-in functionsxxxx
CDS Table Functions (DEFINE TABLE FUNCTION)xxx
CDS Access Control (DEFINE ROLE / pfcg_auth)xxxx
CDS Access Control (implicit evaluation)xxx
Session variables ($session.user/client/system_language)xxxx
@Environment.systemField annotationxxx
UPPER/LOWER functionsxx
$session.system_datexx
CDS Metadata Extensions (ANNOTATE VIEW)xx
Cross Join in CDSxx
CDS View Entity (DEFINE VIEW ENTITY)x
New cardinality syntax (to one/to many)7.57+

On a 7.40 system: Use DEFINE VIEW (not DEFINE VIEW ENTITY). CDS table functions are not available before 7.50. Basic DCL (DEFINE ROLE with pfcg_auth) is available from 7.40 SP08, but implicit role evaluation in ABAP SQL requires 7.50+. $session.user/client/system_language are available from 7.40 SP08. The templates in templates/ include both classic CDS View and View Entity variants.

Table of Contents


1. CDS View Fundamentals

View Types

TypeSyntaxDatabase ViewSince
CDS ViewDEFINE VIEWYes7.4 SP8
CDS View EntityDEFINE VIEW ENTITYNo7.55

Recommendation: Use CDS View Entities for new development.

Basic CDS View Syntax

@AbapCatalog.sqlViewName: 'ZCDS_EXAMPLE_V'
@AbapCatalog.compiler.CompareFilter: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Example CDS View'

define view ZCDS_EXAMPLE
  as select from db_table as t
{
  key t.field1,
      t.field2,
      t.field3 as AliasName
}

CDS View Entity Syntax (7.55+)

@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Example View Entity'

define view entity Z_CDS_EXAMPLE
  as select from db_table as t
{
  key t.field1,
      t.field2,
      t.field3 as AliasName
}

Key Difference: View entities omit @AbapCatalog.sqlViewName - no SQL view generated.

Eclipse ADT Setup

  1. File → New → Other → Core Data Services → Data Definition
  2. Enter name, description, and package
  3. Select template (view, view entity, etc.)

2. Essential Annotations

Core Annotations

Essential annotations for CDS development:

  • @AbapCatalog.sqlViewName - SQL view name (max 16 chars)
  • @AbapCatalog.compiler.CompareFilter - Optimize WHERE clauses
  • @AccessControl.authorizationCheck - Set to #NOT_REQUIRED, #CHECK, #MANDATORY, or #NOT_ALLOWED
  • @EndUserText.label - User-facing description
  • @Metadata.allowExtensions - Allow view extensions

Complete Reference: See references/annotations-reference.md for 50+ annotations with examples.

Semantics Annotations (Currency/Quantity)

Required for CURR and QUAN data types to avoid error SD_CDS_ENTITY105:

-- Currency fields
@Semantics.currencyCode: true
waers,
@Semantics.amount.currencyCode: 'waers'
amount,

-- Quantity fields
@Semantics.unitOfMeasure: true
meins,
@Semantics.quantity.unitOfMeasure: 'meins'
quantity

UI Annotations (Fiori Elements)

@UI.lineItem: [{ position: 10 }]
@UI.identification: [{ position: 10 }]
@UI.selectionField: [{ position: 10 }]
field1,

@UI.hidden: true
internal_field

Consumption Annotations (Value Help)

@Consumption.valueHelpDefinition: [{
  entity: { name: 'I_Currency', element: 'Currency' }
}]
waers

For complete annotation reference, see references/annotations-reference.md.


3. Expressions and Operations

CASE Expressions

Simple CASE (single variable comparison):

case status
  when 'A' then 'Active'
  when 'I' then 'Inactive'
  else 'Unknown'
end as StatusText

Searched CASE (multiple conditions):

case
  when amount > 1000 then 'High'
  when amount > 100 then 'Medium'
  else 'Low'
end as AmountCategory

Comparison Operators

Standard operators: =, <>, <, >, <=, >= Special operators: BETWEEN x AND y, LIKE, IS NULL, IS NOT NULL

Complete Reference: See references/expressions-reference.md for all operators and expressions.

Arithmetic Operations

quantity * price as TotalAmount,
amount / 100 as Percentage,
-amount as NegatedAmount

Session Variables

Available system variables (SY fields equivalent):

  • $session.user (SY-UNAME) - Current user [7.40 SP08+]
  • $session.client (SY-MANDT) - Client [7.40 SP08+]
  • $session.system_language (SY-LANGU) - Language [7.40 SP08+]
  • $session.system_date (SY-DATUM) - Current date [7.51+]
Note: $session.user/client/system_language are available from 7.40 SP08. $session.system_date requires 7.51+. @Environment.systemField requires 7.50+.

Complete Reference: See references/expressions-reference.md for all system variables.

$session.user as CurrentUser,
$session.system_date as Today

4. Built-in Functions

CDS provides comprehensive built-in functions for string, numeric, and date operations.

Key Function Categories

  • String Functions: concat(), length(), substring(), upper(), lower(), replace()
  • Numeric Functions: abs(), ceil(), floor(), round(), division()
  • Date Functions: dats_add_days(), dats_add_months(), dats_days_between()
  • CAST Expression: Convert between ABAP data types
Note: upper() and lower() in CDS require 7.51+. On 7.40/7.50, case conversion must be performed in ABAP after selecting (there is no CDS equivalent).

Complete Reference: See references/functions-reference.md for all 50+ functions with examples.

Quick Examples

-- String operations
concat(first_name, last_name) as FullName,
upper(name) as UpperName,
substring(description, 1, 10) as ShortDesc

-- Numeric operations
abs(amount) as AbsoluteAmount,
round(value, 2) as RoundedValue,
division(10, 3, 2) as PreciseDivision

-- Date operations
dats_add_days(current_date, 7) as NextWeek,
dats_days_between(start_date, end_date) as Duration

-- Type conversion
cast(field as abap.char(10)) as TextField,
cast(amount as abap.curr(15,2)) as CurrencyField

**ABAP Types**: `abap.char()`, `abap.numc()`, `abap.int4`, `abap.dats`, `abap.tims`, `abap.curr()`, `abap.cuky`, `abap.quan()`, `abap.unit()`

---

## 5. Joins

### Join Types

-- INNER JOIN (matching rows only) inner join makt as t on m.matnr = t.matnr

-- LEFT OUTER JOIN (all from left, matching from right) left outer join marc as c on m.matnr = c.matnr

-- RIGHT OUTER JOIN (all from right, matching from left) -- [7.51+] right outer join mvke as v on m.matnr = v.matnr

-- CROSS JOIN (cartesian product) -- [7.51+] cross join t001 as co


---

## 6. Associations

Associations define relationships between entities (join-on-demand):

### Defining Associations

define view Z_ASSOC_EXAMPLE as select from scarr as c association [1..*] to spfli as _Flights on $projection.carrid = _Flights.carrid association [0..1] to sairport as _Airport on $projection.hub = _Airport.id { key c.carrid, c.carrname, c.hub,

// Expose associations _Flights, _Airport }


### Cardinality Notation

**Syntax mapping**:

- `[0..1]` or `[1]` → `association to one` (LEFT OUTER MANY TO ONE)
- `[1..1]` → `association to one` (exact match)
- `[0..*]` or `[*]` → `association to many` (LEFT OUTER MANY TO MANY)
- `[1..*]` → `association to many` (one or more)

**Complete Reference**: See `references/associations-reference.md` for detailed cardinality guide.

### New Cardinality Syntax (Release 2302+)

association to one _Customer on ... -- [0..1] association to many _Items on ... -- [0..*]


### Using Associations

-- Expose for consumer use _Customer,

-- Ad-hoc field access (triggers join) _Customer.name as CustomerName


### Path Expressions with Filter

-- Filter with cardinality indicator _Items[1: Status = 'A'].ItemNo


For complete association reference, see `references/associations-reference.md`.

---

## 7. Input Parameters

### Defining Parameters

define view Z_PARAM_EXAMPLE with parameters p_date_from : dats, p_date_to : dats, @Environment.systemField: #SYSTEM_LANGUAGE p_langu : spras as select from vbak as v { key v.vbeln, v.erdat, v.erzet } where v.erdat between :p_date_from and :p_date_to


### Parameter Reference

Use colon notation `:p_date_from` or `$parameters.p_date_from`

**Calling from ABAP**:

SELECT * FROM z_param_example( p_date_from = '20240101', p_date_to = '20241231', p_langu = @sy-langu ) INTO TABLE @DATA(lt_result).


---

## 8. Aggregate Expressions

### Aggregate Functions

define view Z_AGG_EXAMPLE as select from vbap as i { i.vbeln, sum(i.netwr) as TotalAmount, avg(i.netwr) as AvgAmount, max(i.netwr) as MaxAmount, min(i.netwr) as MinAmount, count(*) as ItemCount } group by i.vbeln having sum(i.netwr) > 1000


---

## 9. Access Control (DCL)

### Basic DCL Structure

@MappingRole: true define role Z_CDS_EXAMPLE_DCL { grant select on Z_CDS_EXAMPLE where (bukrs) = aspect pfcg_auth(F_BKPF_BUK, BUKRS, ACTVT = '03'); }


### Authorization Check Options

**Available values**:

- `#NOT_REQUIRED` - No authorization check
- `#CHECK` - Warning if no DCL exists
- `#MANDATORY` - Error if no DCL exists
- `#NOT_ALLOWED` - DCL ignored if exists

**Complete Reference**: See `references/access-control-reference.md` for detailed DCL patterns.

### Condition Types

**PFCG Authorization**: `where (field) = aspect pfcg_auth(AUTH_OBJECT, AUTH_FIELD, ACTVT = '03')`

**Literal Condition**: `where status <> 'DELETED'`

**User Aspect**: `where created_by?= aspect user`

**Combined**: `where (bukrs) = aspect pfcg_auth(...) and status = 'ACTIVE'`

For complete access control reference, see `references/access-control-reference.md`.

---

## 10. Data Retrieval from ABAP

### Standard SELECT

SELECT * FROM zcds_example WHERE field1 = @lv_value INTO TABLE @DATA(lt_result).


### SALV IDA (Integrated Data Access)

cl_salv_gui_table_ida=>create_for_cds_view( CONV #( 'ZCDS_EXAMPLE' ) )->fullscreen( )->display( ).


---

## 11. Common Errors and Solutions

### SD_CDS_ENTITY105: Missing Reference Information

**Problem**: CURR/QUAN fields without reference

**Solution**: Add semantics annotations

@Semantics.currencyCode: true waers, @Semantics.amount.currencyCode: 'waers' netwr


Or import currency from related table:

inner join t001 as c on ... { c.waers, @Semantics.amount.currencyCode: 'waers' v.amount }


### Cardinality Warnings

**Problem**: Cardinality doesn't match actual data

**Solution**: Define cardinality matching data model

association [0..1] to ... -- Use for optional relationships association [1..*] to ... -- Use for required one-to-many


For complete troubleshooting guide, see `references/troubleshooting.md`.

---

## 12. Useful Transactions and Tables

### Key Transactions

- **SDDLAR** - Display/repair DDL structures
- **RSRTS_ODP_DIS** - TransientProvider preview
- **RSRTS_QUERY_CHECK** - CDS query metadata validation
- **SE63** - Translation (EndUserText)
- **SE11** - ABAP Dictionary
- **SU21** - Authorization objects

### Important Tables

- **DDHEADANNO** - Header-level annotations
- **CDSVIEWANNOPOS** - CDS view header annotations
- **CDS_FIELD_ANNOTATION** - Field-level annotations
- **ABDOC_CDS_ANNOS** - SAP annotation definitions

### API Class

`CL_DD_DDL_ANNOTATION_SERVICE` - Programmatic annotation access:

- `get_annos()` - Get all annotations
- `get_label_4_element()` - Get @EndUserText.label

---

## Bundled Resources

### Reference Documentation

For detailed guidance, see the reference files in `references/`:

- `annotations-reference.md` - Complete annotation catalog
- `functions-reference.md` - All built-in functions with examples
- `associations-reference.md` - Associations and cardinality guide
- `access-control-reference.md` - DCL and authorization patterns
- `expressions-reference.md` - Expressions and operators
- `troubleshooting.md` - Common errors and solutions

### Templates

For templates, see `templates/`:

- `basic-view.md` - Standard CDS view template
- `parameterized-view.md` - View with input parameters
- `dcl-template.md` - Access control definition

---

## Source Documentation

**Update this skill by checking**:

- [https://help.sap.com/doc/abapdocu_cp_index_htm/CLOUD/en-US/abencds.html](https://help.sap.com/doc/abapdocu_cp_index_htm/CLOUD/en-US/abencds.html) (ABAP Cloud)
- [https://help.sap.com/doc/abapdocu_740_index_htm/7.40/en-US/index.htm](https://help.sap.com/doc/abapdocu_740_index_htm/7.40/en-US/index.htm) (7.40 Reference)
- [https://help.sap.com/docs/SAP_NETWEAVER_AS_ABAP_752/f2e545608079437ab165c105649b89db/7c078765ec6d4e6b88b71bdaf8a2bd9f.html](https://help.sap.com/docs/SAP_NETWEAVER_AS_ABAP_752/f2e545608079437ab165c105649b89db/7c078765ec6d4e6b88b71bdaf8a2bd9f.html) (NetWeaver 7.52 User Guide)
- [https://github.com/SAP-samples/abap-cheat-sheets](https://github.com/SAP-samples/abap-cheat-sheets)
- [https://github.com/SAP-samples/abap-cheat-sheets/blob/main/33_ABAP_Release_News.md](https://github.com/SAP-samples/abap-cheat-sheets/blob/main/33_ABAP_Release_News.md) (Release News)

**Last Verified**: 2026-04-02

平台分布

Claude

32.46%
按下载量换算343

Codex

32.07%
按下载量换算339

Cursor

18.39%
按下载量换算195

Gemini CLI

10.15%
按下载量换算107

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills