SAP ABAP CDS View(ECC/S4)

SKILL开发
开发 未标注权限 许可证不明确
安装这个技能

按参数模板快速创建 SAP 各类 CDS/DDIC 视图并自动激活——基础视图、复合视图、消费视图、投影视图、带参数视图、表函数、视图扩展、分析型视图(CUBE/DIMENSION/QUERY)、层级视图,可连带生成元数据扩展与 OData 服务定义/绑定。当用户说"建个 CDS 视图""做一个接口视图/消费视图/投影视图/表函数/分析视图""把这个视图暴露成 OData""按模板建视图"时使用。

一句话选型结论

按资料字段整理

SAP ABAP CDS View(ECC/S4)是开发类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类开发 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_87e190e6/sap-abap-20290925-0001
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

开发
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_87e190e6仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791619485
正文体量6.0 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
写代码与改 bug

按需求补代码、定位并修掉报错。

读仓库与生成改动

让模型读懂项目结构,再给出可落地的改动。

跑测试与排查故障

按现象排查问题,补测试用例并复跑。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在开发场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
SAP ABAP CDS View(ECC/S4)当前 未标注权限 未标注 未标注 未标注 有
技能审查员 浏览器控制 ClawHub 市场 877.9 万 OpenClaw 有
Vercel React 最佳实践 浏览器控制 GitHub 仓库 849.1 万 Codex、Claude、Cursor 有
GitHub 代码协作 联网访问 ClawHub 市场 763.3 万 OpenClaw 有
网页设计指南 联网访问 GitHub 仓库 668.6 万 Codex、Claude、Cursor 有
本体论 只读 ClawHub 市场 663.7 万 OpenClaw 有

SKILL.md 全文

6.0 KB
模型实际读到的说明书原文,来自技能仓库

CDS 视图快速构建器

用 mcp-abap-adt 连接器完成「填模板 → 生成 DDL → 语法检查 → 写入 → 激活 → 数据验证」的完整闭环。

0. 硬规则(不可绕过)

  • 不新建请求号(CTS transport)。可传输包必须用户提供 transport_request;没有就先问,或用 ListTransports 列出用户自己名下可修改的请求让他挑。禁止调 CreateTransport 自作主张。
  • 不新建 DDIC 对象(表、结构、数据元素、域、表类型)。视图需要的新字段用 cast / 内置类型表达;确需新 DDIC 对象,停下来问。
  • 不写业务数据。建视图属于开发对象,但任何 INSERT/UPDATE/DELETE 业务表动作都不做。
  • 不重写已运行的视图。改已有视图时先 GetDdl 拉现有源码,在原文基础上增量改。
  • 对象名 Z/Y 开头,≤ 30 字符,不含连字符(用户惯用 ZDY* 前缀时沿用)。

1. 输入:参数模板

让用户填 assets/view-request-template.md(或按其字段口述)。最少必填四项:视图名、包、类型、数据源。

缺失字段按下列默认补全,不要逐项追问:

参数 默认值
视图语法 view entity(新语法)。系统不支持时回退 DDIC-based,见 §4
package $TMP(本地对象,免请求号)
transport_request 空 → 仅当包为 $TMP 可用;否则必须问
主语言 ZH(用户环境);@EndUserText.label 用中文
访问控制 #NOT_REQUIRED(除非用户明确要权限校验)
VDM 层次 单表 → #BASIC;有 join/association → #COMPOSITE;UI/报表用 → #CONSUMPTION
客户端处理 默认继承(view entity 不写 mandt,不加 client 参数)

2. 建模前:先查真字段,绝不猜

  1. 数据源是表 → GetTable;是结构/其他视图 → GetStructure / GetDdl。拿到真实字段名与类型。
  2. S/4 上库存类表带替换对象(MARD→nsdm_e_mard、MSEG→nsdm_e_mseg、MBEW→mbv_mbew),跟着用同一套视图,细节见 abap-s4-stock-nsdm 技能。
  3. 拿不准字段值域/检查表 → 用 abap-adt-field-value-range 技能(GetStructure 看 with foreign key,DD07T 查域固定值)。
  4. 可选:GetSqlQuery 抽样几条数据确认字段有值、确认 join 键对得上。

3. 生成 DDL

按 type 从 references/ddl-templates.md 取对应骨架,填入注解与字段。注解速查见 references/annotations.md。

固定写进头部的注解(缺了在 HANA 上会有告警或激活失败):

@AbapCatalog.viewEnhancementCategory: [#NONE]
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: '<中文标签>'
@Metadata.ignorePropagatedAnnotations: true

生成后自检清单:

  • key 字段全部排在选择列表最前(view entity 强制要求)
  • 每个字段有唯一别名;join/association 的表必须起别名
  • 数量字段挂 @Semantics.quantity.unitOfMeasure,金额挂 @Semantics.amount.currencyCode,且单位/币种字段必须在同一视图里存在
  • view entity 不要写 @AbapCatalog.sqlViewName(写了报错),也不要 select mandt
  • 末尾字段无逗号;每个注解块以 ; 或 , 正确收尾

4. 写入 SAP:四步顺序

1) CreateDdl(ddl_name, package_name, transport_request?, description, master_language="ZH")
   → 只建空壳,此时还没有源码
2) UpdateDdl(ddl_name, ddl_source, transport_request?, activate=false)
   → 写源码,先别激活
3) CheckDdl(ddl_name, version="inactive")
   → 有错就改源码重跑 UpdateDdl + CheckDdl,循环到干净
4) ActivateDdl(ddl_name)
   → 激活;报 inactive 残留时补调一次
  • UpdateDdl 默认 activate=false,不要图省事直接 true:先 Check 再 Activate,失败不会留残局。
  • 首次调用常遇 CSRF token validation failed → 先调一次 GetSession 再继续。
  • 若激活报"不支持 view entity / 语法不识别" → 系统版本老,改走 DDIC-based(define view + @AbapCatalog.sqlViewName,名字 ≤16 位)重来,并告诉用户回退了。
  • 详见 references/adt-cds-pitfalls.md。

5. 可选延伸(用户要才做)

需求 动作
UI 注解外置 CreateMetadataExtension 建 DDLX,再 UpdateMetadataExtension 写 @UI.* 代码
暴露 OData CreateServiceDefinition(define service ... { expose ...; })→ CreateServiceBinding(默认 ODATA_V4_UI)
表函数实现 DDL 里 implemented by method <类>=>方法;AMDP 类用 CreateClass + UpdateClass 另建,不在本视图内写 ABAP
视图单元测试 CreateCdsUnitTest

6. 交付前验证

  1. ActivateDdl 之后用 GetDdl(version="active") 确认拉到的是激活版。
  2. GetSqlQuery 跑一条 SELECT * FROM <视图> WHERE ... 确认能出数(可加 row_number: 5)。
  3. 输出交付报告:视图名、包名、请求号、类型、激活状态、字段名与来源表、验证 SQL 与返回行数;失败则贴出 CheckDdl 的原始报错。

7. 失败清理

  • 只建了空壳没写源码 → DeleteDdl(ddl_name, transport_request?) 删掉再重来。
  • 激活失败但对象已存在 → 改源码走 UpdateDdl + CheckDdl 循环,不要删了重建(会留下重复 E071 条目)。
  • 锁冲突(User xxx is currently editing):ADT 侧解锁通常无效,让用户 SM12 删锁或等会话超时(~30min);REST 兜底做法见 adt-rest-object-write 技能。

常见问题

5 问
答案由本站依据条目字段整理
SAP ABAP CDS View(ECC/S4)怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_87e190e6/sap-abap-20290925-0001。安装方式为未标注。装完刷新技能列表或重开客户端。

SAP ABAP CDS View(ECC/S4)支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

SAP ABAP CDS View(ECC/S4)权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

SAP ABAP CDS View(ECC/S4)收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

SAP ABAP CDS View(ECC/S4)用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。