【ABAP AI 编程】-基于 Claude Code+MCP 的全流程实践
1. 背景:ABAP AI 编程现状
1.1 现状
当前主流 AI 编程工具(Eclipse+GitHub Copilot、VSCode+Roo Code、cursor 等)均围绕 “本地文件” 设计,但 ABAP 的核心特性导致工具无法落地:
- 存储形态差异:ABAP 代码 / 对象存储在 SAP 服务器端,而非本地文件系统;
- 工具能力局限:传统 AI 工具仅能实现编辑器级别的代码补全,无法触达 ABAP 开发核心操作(创建 / 删除 / 激活对象、锁管理、传输请求等)。
1.2 核心瓶颈总结
AI 工具与 ABAP 开发环境的 “操作范式不兼容”——AI 以 “文件” 为核心,ABAP 以 “服务器端对象” 为核心,无标准化协议打通两者。
1.3 Joule
虽然sap有自己的abap编程辅助工具,但更多是面向cloud产品,国内还是有大量的op产品没办法继承
2. 破局关键:MCP 协议打通 ABAP 服务器端操作壁垒
2.1 MCP 是什么?
Model Context Protocol(模型上下文协议):是 AI 模型与外部工具交互的标准化协议,核心是将外部系统的操作封装为 “可被 AI 调用的工具”,让 AI 能通过统一指令执行外部系统的复杂操作。
2.2 ABAP 场景的 MCP 落地:mcp-abap-abap-adt-api
- 项目地址:https://github.com/mario-andreschak/mcp-abap-abap-adt-api
- 也可以使用我修改过的mcp:lingcSun/mcp-abap-abap-adt-api: MCP-Server for SAP ABAP wrapping abap-adt-api (增加了长代码的处理、缩减tool数量、增加域、元素等的创建)
- 核心价值:基于 ABAP ADT API 封装 MCP 工具集,将 ABAP 服务器端的全量操作转化为 AI 可调用的标准化工具;
- 核心覆盖能力:
✅ 认证与会话(login/logout);
✅ 对象全生命周期(创建 / 删除 / 读写源码 / 激活);
✅ 开发管控(锁管理、传输请求、语法检查);
✅ 代码分析(定义跳转、重构)。
3. 落地方案:Claude Code+MCP+Skill+Memory 全流程实践
3.1 典型场景:AI 自主修改并激活 ABAP 类
- 需求输入:用户向 Claude Code 提出 “修改 ZCL_TEST 类的 get_data 方法,增加日期过滤逻辑”;
- 上下文准备:Claude Code 调用 Memory 读取该类历史信息(如对象 URI、所属传输请求);
- MCP 工具调用(Skill 驱动):
- 调用
searchObject获取 ZCL_TEST 的完整 URI; - 调用
lock锁定对象,Memory 存储返回的 lockHandle; - 调用
getObjectSource获取服务器端源码;
- 调用
- 代码生成:Claude Code 基于需求生成修改后的 ABAP 代码;
- 验证与提交:
- 调用
syntaxCheckCode做语法检查,修复异常; - 调用
setObjectSource提交修改(传入 lockHandle / 传输请求号); - 调用
activate激活对象,unLock解锁;
- 调用
- 结果反馈:Claude Code 将操作结果(如激活状态、语法检查日志)反馈给用户
4. 未来:官方趋势
SAP 官方已宣布将 ABAP Development Tools 全面适配 VSCode(官方链接):
- 体验统一:ABAP 开发向 “本地文件化编辑” 迁移,降低 AI 工具适配成本;
- 生态融合:VSCode 插件生态可直接对接 MCP/Claude Code,形成 “官方工具链 + AI 能力” 的闭环;
- 标准化:MCP 将成为 AI 工具对接 ABAP 环境的主流协议。

浙公网安备 33010602011771号