sap-connector-by justin

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

SAP S/4HANA 接入统一入口。通过三条已部署的实时通道(OData MCP / SAP GUI MCP / ADT MCP)读取业务数据、查询任意 OData 实体/DDIC 表、读取并执行 ABAP 程序、通过 GUI 自动化跑事务、以及经 ADT 搜索/读取/编辑/语法检查/激活 ABAP 源码;另含 RFC/BAPI 直连方案与可落地替代路径。OData 与 GUI 登录凭据外置到 sap-connection.txt;ADT 凭据外置到 systems.json。改对应文件即可换 client/用户/密码/系统地址。当用户说"连接 SAP""查 SAP 数据""读销售订单/表""执行 ABAP 程序""跑事务""编辑/搜索/改 ABAP 源码""语法检查/激活程序""调 BAPI/RFC""改 SAP 登录信息"时使用。

一句话选型结论

按资料字段整理

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

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

安装

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

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

  2. 2
    拿到技能文件

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

  3. 3
    刷新技能列表

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

  4. 4
    验证是否生效

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

技能档案

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

典型使用场景

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

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

读仓库与生成改动

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

跑测试与排查故障

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

选择建议

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

值得选的地方

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

先想清楚的地方

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

更适合

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

不太适合

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

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
sap-connector-by justin当前 未标注权限 未标注 未标注 未标注 有
技能审查员 浏览器控制 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 全文

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

SAP Connector —— SAP 接入统一技能

> 作者 / Author: justin
> 安装目录提示:Skill Hub 安装后的实际目录名可能不是 sap-connector,请把文档中的 <你的skill目录名> 替换为你本地安装后的目录名(例如 sap-capability-hub-justin__skillhub)。

> 把 SAP 接入能力(两条实时 MCP 通道 + ADT 通道 + 离线技能)收敛为一个入口,
> 登录信息外置到可编辑的 TXT,改 TXT 即换登录。
> 本技能随包附带两条自建 MCP 服务端(sap-odata-mcp/server.py、sap-gui-mcp/server.py,纯标准库、零依赖)。

能力全景

通道 名称 状态 用途
A S/4HANA OData MCP 随包部署(sap-all) 读业务数据 / 查任意 OData 实体 / 读任意 DDIC 表 / 读 ABAP 源码 / 执行 ABAP 程序
B SAP GUI MCP 随包部署(sap-gui) 已登录 GUI 会话下跑事务、读 ALV、截图、状态查询
C SAP ADT MCP(aibap.mcp) 外部二进制(aibap-mcp) 经 ADT REST 搜索/读取/编辑/语法检查/激活 ABAP 源码、查使用位置、跑单元测试、锁/传输请求
D RFC/BAPI 直连(pyrfc + NWRFC SDK) 规划中(可选) 直接调 BAPI_* / 自定义 RFC,写操作与复杂逻辑;本机缺 SDK 暂不可落地,见替代路径
离线 abap-coder 等 5 个技能 随时可用 ABAP 编写/梳理、FICO/MM/SD/PP/QM 运维咨询、集成方案设计

连接配置(核心:凭据外置)

  • 配置文件:sap-connection.txt(随本 skill 一起存放)
  • 格式:KEY=VALUE,# 开头为注释,等号两侧不留空格。
  • 改这个文件就能换 client / 用户 / 密码 / 系统地址,无需动 mcp.json。
  • 改完后,在 WorkBuddy 连接器面板「重新信任 / 重启」sap-all 即生效。

字段说明:

# 登录信息(最常改)
S4_BASE_URL   = https://<host>:<port>     # S/4HANA 地址
S4_CLIENT     = 500                        # 客户端号
S4_USER       = <用户>                     # 登录用户名
S4_PASS       = <密码>                     # 登录密码
S4_VERIFY_SSL = false                      # 内网自签证书常关

# OData / 服务配置(一般不用改)
S4_SERVICE / S4_ENTITY / S4_PARAMS         # 默认销售订单分析服务
S4_TABLE_SERVICE                            # 通用表 OData 服务(读表用)
S4_PROGRAM_SERVICE / S4_PROGRAM_ENTITY / S4_PROGRAM_KEY  # ABAP 程序执行服务

> 启动链路:sap-all → python server.py,server.py 在读取全局配置前自动从 sap-connection.txt 注入 S4_* 环境变量(env 优先,TXT 仅作默认)。
> 配置查找顺序(多候选兜底):相对路径优先——server.py 位于 sap-odata-mcp,自动向上一级到技能根读取 sap-connection.txt;绝对路径兜底——C:/Users/<用户名>/.workbuddy/sap-connection.txt(装到技能目录时自动命中)。因此本 skill 目录整体搬迁/分享后,配置随行无需额外改路径。
> 密码只存在于 TXT,不在 mcp.json,也不在 server.py。

通道 C 连接配置(ADT 凭据,独立于 OData/GUI)

> 关键区别:ADT 通道(aibap.mcp)不读 sap-connection.txt,它走 SAP_CONFIG_FILE 环境变量指向独立的 JSON 凭据文件。

  • 配置文件:建议放置于 C:/Users/<用户名>/.config/sap-mcp/systems.json
  • 加载机制:mcp.json 中 aibap-mcp 的 env.SAP_CONFIG_FILE 指向该文件;二进制启动时解析 systems 与 default_system。
  • 改这个文件就能换 ADT 登录的 host/client/用户/密码,改完后「重新信任 / 重启」aibap-mcp 即生效。

字段说明(一个 systems 可含多套系统,用 default_system 指定默认):

{
  "default_system": "dev",
  "systems": {
    "dev": {
      "host": "https://<host>:<port>",   // SAP ADT 地址(同 S/4,无需 /sap/bc/adt 后缀)
      "user": "<用户>",
      "password": "<密码>",
      "client": "500",                     // 客户端号
      "tls_skip_verify": true             // 内网自签证书常关
    }
  }
}

> 与 OData 通道的 S4_VERIFY_SSL 同理:tls_skip_verify=true 仅限内网自签场景,上公网务必开启校验。
> 注意:systems.json 与 sap-connection.txt 是两份独立凭据——换 OData/GUI 登录改 TXT,换 ADT 登录改 JSON,二者不会互相覆盖。

通道 A 工具与用法(OData MCP)

可用工具:ping / list_services / list_analytics / list_entity_sets / query / get_by_key / read_table / read_program / run_program / list_sales_orders / get_sales_order

  • 验证连通:ping
  • 查销售订单:list_sales_orders(top=20, filter="CreationDate ge datetime'2026-01-01'")
  • 按单号取订单:get_sales_order(sales_order_id='1000001')
  • 读任意 DDIC 表:read_table(table='VBAK', where="VBELN='0900000187'", top=100)
  • 查任意已激活 OData 实体:query(service='API_BUSINESS_PARTNER', entity='A_BusinessPartner', top=10, select='BusinessPartner,LastName')
  • 读 ABAP 源码:read_program(program='Z_REPORT_X', object_type='program')
  • 执行 ABAP 程序取输出:run_program(name='ZSD001')

> query 是取「SAP 全量数据」的主入口——只要 Basis 在 /IWFND/MAINT_SERVICE 激活了对应 OData 服务即可查。
> read_table / run_program 依赖 Basis 建好 Z_TABLE_SRV_SRV / Z_EXEC_SRV_SRV。

通道 B 工具与用法(GUI MCP)

前置(三者缺一不可):服务器 RZ11 sapgui/user_scripting=TRUE、GUI「启用脚本编写」、一个已登录的 SAP GUI 会话。

可用工具:ping / sap_list_connections / sap_connect / sap_run_transaction / sap_send_command / sap_set_text / sap_press / sap_status / sap_read_grid / sap_screenshot

  • 进入事务:sap_run_transaction(tcode='VA03') → sap_set_text(...) / sap_press(...) → sap_read_grid()
  • 截图:sap_screenshot()

通道 C 工具与用法(ADT MCP / aibap.mcp)

> 通道 C 用 aibap.mcp(Hochfrequenz 出品,Go 二进制、零依赖)对接 SAP ADT REST API(/sap/bc/adt,NetWeaver 7.40+)。
> 定位:开发/质量系统上的 ABAP 源码级操作(搜索对象、读源码、改源码、语法检查、激活、查使用位置、单元测试、锁/传输请求),不读业务数据。
> 二进制:从 Hochfrequenz/aibap.mcp Releases 下载 windows-amd64 版,解压到本地(如 C:/Users/<用户名>/.workbuddy/skills/<你的skill目录名>/tools/aibap/)。

工具组与典型工具:

工具组 典型工具 用途
source get_source / set_source 读取 / 写入 ABAP 对象源码
objects search_objects / get_object_metadata 按 Z*、类型(PROG/CLAS/FUGR/DTEL…)搜索与取元数据
locking lock_object / unlock_object 编辑前加锁、改完解锁
testing run_unit_tests 跑 ABAP 单元测试(ABAP Unit)
version get_version / compare_versions 取对象版本、版本比对
messages get_messages / syntax_check 语法检查、拉取激活/检查结果消息
transport create_transport / add_to_transport 建/挂传输请求
system ping 连通性自检

常用操作示例(参数风格以实际工具签名为准,先 ping 再动作):

  • 连通性自检:ping
  • 搜索 Z 程序:search_objects(query="Z*", object_type="PROG")
  • 读源码:get_source(object_name="ZSD001", object_type="PROG")
  • 语法检查:syntax_check(object_name="ZSD001", object_type="PROG")
  • 激活:activate_object(object_name="ZSD001", object_type="PROG")
  • 查使用位置(where-used):where_used(object_name="ZTABLE", object_type="DTEL")
  • 跑单元测试:run_unit_tests(object_name="ZCL_DEMO", object_type="CLAS")

> 前置(务必确认):
> 1. SAP 端 SICF 已激活 /sap/bc/adt(探测 https://<host>:<port>/sap/bc/adt/discovery?sap-client=500:
> - 200 = 已激活且认证通过;401 = 已激活待认证;403(德语页) = 未激活,需 Basis 激活 SICF 服务;000 = 网络不可达。
> 2. 账号有 ADT 开发权限(S_DEVELOP 等),且 Basic Auth 可达。
> 3. 生产系统常因 SAML SSO + Web Dispatcher 拦截 ADT → 生产只走 GUI 通道(B),ADT 仅用于开发/质量系统。

规划通道 D:RFC/BAPI 直连(pyrfc + NWRFC SDK)—— 可选,附替代路径

> 定位:经 SAP NetWeaver RFC 协议直接调用 BAPI_* / 自定义 RFC 函数模块,适合稳定的写操作与复杂业务逻辑的 ECC/On-Prem 场景。
> 现状:需 NWRFC SDK(SAP SMP 的 S-user 下载,非公开)+ VC++ 运行库 + 管理员权限,落地门槛较高。

解锁两条路径(二选一即可落地)
- 路径 A — 补原生 SDK(推荐用于要真正直连)
- 从 SAP SMP 下载 NWRFC SDK(windows-x64)→ 设环境变量 SAPNWRFC_HOME 指向它,安装 VC++ 运行库。
- 在真实 venv 里 pip install pyrfc,封装为 MCP 暴露 call_function(rfc_name, params) 工具,注册进 mcp.json。
- 验证:call_function("BAPI_USER_GETLIST", {...}) 返回即就绪。
- 路径 B — 走已部署 OData MCP 作等同替代(绕过 SDK 与权限)
- 让 Basis 把要调用的 FM/BAPI 封装成一个 OData 操作:扩展现有 Z_EXEC_SRV(或新建 SEGW 服务),在 DPC_EXT 里调 BAPI_* 并把结果作为实体返回。
- 即可经已通的 OData MCP(通道 A)调用该 BAPI,完全绕开原生 SDK、VC++ 依赖与内网环境限制。

> 选型建议:要稳定直连 + 高频 RFC → 走 A;只是偶尔调个 BAPI 取数/写数 → 走 B(复用通道 A,零额外依赖)。

离线技能(不联网)

  • abap-coder:报表/ALV、OO、增强 BADI、HANA/AMDP/CDS、开发说明书分析
  • abap-logic-analyzer:ABAP 源码 → 多 Sheet Excel 逻辑梳理文档
  • sap-daily-operations:FICO/MM/SD/PP/QM 事务码、配置、月末结账、报错排查
  • sap-fico-consultant:FI/CO 配置、S/4HANA 迁移、跨模块集成
  • sap-integration:RFC/BAPI/OData 集成方案与设计(含脚本模板)

部署 / 验证

通道 A / B(OData / GUI)

  1. 确认 sap-connection.txt 已填好(随包附模板)。
  2. mcp.json 中 sap-all / sap-gui 的 args 已直接指向随包的 server.py(无需在 mcp.json 写凭据;server.py 启动时自读 TXT)。
  3. 连接器面板重新信任 sap-all 与 sap-gui。
  4. 调 ping 验证:返回「连接成功」即就绪。

通道 C(ADT / aibap.mcp)

  1. 取得二进制:从 Hochfrequenz/aibap.mcp Releases 下载 windows-amd64 版,解压到本地 tools/aibap/。
  2. 写 ADT 凭据 systems.json(见上文「通道 C 连接配置」)。
  3. 在 mcp.json 注册 aibap-mcp(见 mcp-config-snippet.json)。
  4. 连接器面板重新信任 aibap-mcp。
  5. 端到端验证:调 search_objects(query="Z*", object_type="PROG") 真实命中 SAP 返回 Z 程序即就绪。

> 完整的 mcp.json 注册片段见随包根目录 mcp-config-snippet.json;SAP 侧自建 OData 服务的激活/实施步骤见随包 使用教程.md 与 references/ 下的实施手册。

排错速查

现象 原因 / 处理
启动即报错「找不到连接配置文件」 创建/补全 sap-connection.txt 并填 S4_BASE_URL/S4_USER/S4_PASS
ping 返回 403 该 OData 服务未激活,让 Basis 在 /IWFND/MAINT_SERVICE 激活
ping 连接失败 / 超时 地址/端口错误,或运行机访问不到内网(检查 S4_BASE_URL)
read_table 被拒绝 Z_TABLE_SRV_SRV 未激活到该 client
run_program 404/405 Z_EXEC_SRV_SRV 未建好
read_program 403/空 账号缺 S_DEVELOP 开发权限
GUI 工具 RPC 服务器不可用 先登录 SAP GUI,再信任/重启 sap-gui
ADT ping 返回 403(德语错误页) /sap/bc/adt 在 SICF 未激活,联系 Basis 激活
ADT ping 返回 401 服务已激活但认证失败,检查 systems.json 的 user/password/client
ADT 连生产系统失败 / 被 SSO 拦截 生产常走 SAML SSO 拦截 ADT → 改用通道 B(GUI MCP)
调 search_objects 等报错「无权限」 账号缺 S_DEVELOP,仅开发/质量系统可操作
改完 systems.json 不生效 在连接器面板「重新信任 / 重启」aibap-mcp(环境变量不热加载)

安全提示

  • OData/GUI 密码明文存于 sap-connection.txt,ADT 密码明文存于 systems.json;注意本机文件权限,勿提交到任何仓库。
  • S4_VERIFY_SSL=false 与 tls_skip_verify=true 关闭了证书校验,仅限内网自签场景;若上公网务必开启。
  • 生产系统建议走 SSO + GUI 通道,OData 用只读账号;ADT 通道仅用于开发/质量系统,切勿对生产做源码写操作。
  • aibap.mcp 二进制为第三方 Go 程序(Hochfrequenz),仅从官方 Releases 下载并校验。
  • 自建 OData 服务(Z_TABLE_SRV/Z_EXEC_SRV)属高权限接口,必须收敛账号权限并仅限内网;详见 references/ 手册的「安全须知」。

常见问题

5 问
答案由本站依据条目字段整理
sap-connector-by justin怎么安装?

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

sap-connector-by justin支持哪些客户端?

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

sap-connector-by justin权限高吗,安全吗?

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

sap-connector-by justin收费吗?

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

sap-connector-by justin用什么许可证?

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

热门专题

按场景挑技能
全部专题 →

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