ABAPDocMCP——WRICEF技术规范生成器
从SAP传输请求生成结构化ABAP技术规范文档的MCP工具。 通过ADT REST API连接到任何SAP系统,并生成涵盖所有WRICEF对象类型的现成Markdown规范。
______________________________________________________________________
它的作用
GenerateWricefTechSpec 是一个MCP(模型上下文协议)工具,它:
- 读取一个或多个 运输请求编号 从您的SAP系统
- 获取运输对象及其 源代码 通过ADT
- 分析数据库表、功能模块调用、授权对象、错误处理模式和性能反模式的来源
- 生成一个完全结构化的 Markdown技术规范 最多可配置32个部分
- 包括a 美人鱼对象关系图 按运输方式分组的颜色编码对象
______________________________________________________________________
支持的WRICEF类型
| 类型 | 代码 | 专用章节 |
|---|---|---|
| 报告 | REPORT | 选择屏幕/输入参数、输出/ALV布局 |
| 接口 | INTERFACE | 接口详细信息(方向、协议、频率)、消息结构/字段映射 |
| 转换 | CONVERSION | 伪代码、数据库对象、错误处理 |
| 增强功能 | ENHANCEMENT | 增强点详细信息(BAdI/用户退出/隐式) |
| 表格 | FORM | 表单详细信息(SmartForms/Adobe/SAPscript),输出类型 |
| 工作流程 | WORKFLOW | 工作流程步骤 |
| OData/RAP | 任何类型 | OData/RAP详细信息(服务绑定、服务定义) |
一个WRICEF可以跨越 多个传输请求 并包含 混合对象类型 --所有这些都在一个规范中处理。
______________________________________________________________________
快速开始
1.先决条件
- 转到1.21+(从源代码构建) 或 使用预构建的二进制文件
- 启用ADT的SAP系统(
/sap/bc/adt/ICF服务处于活动状态)
2.建造
git clone https://github.com/SaurabhVC/ABAPDocMCP.git
cd ABAPDocMCP
go build -o abapdocmcp ./cmd/vsp/main.go3.配置克劳德桌面
增添 ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"abapdocmcp": {
"command": "/path/to/abapdocmcp",
"env": {
"SAP_URL": "https://your-sap-host:44300",
"SAP_USER": "your-username",
"SAP_PASSWORD": "your-password",
"SAP_CLIENT": "100"
}
}
}
}自签名证书: 添加 "SAP_INSECURE": "true" 转到env块。4.配置克劳德代码
添加 .mcp.json 到您的项目根目录:
{
"mcpServers": {
"abapdocmcp": {
"command": "/path/to/abapdocmcp",
"env": {
"SAP_URL": "https://your-sap-host:44300",
"SAP_USER": "your-username",
"SAP_PASSWORD": "your-password",
"SAP_CLIENT": "100"
}
}
}
}______________________________________________________________________
工具参考-- GenerateWricefTechSpec
必填参数
| 参数 | 类型 | 说明 |
|---|---|---|
transport_numbers | string | 逗号分隔的TR数字,例如。 DEVK900123,DEVK900124 |
WRICEF元数据(可选)
| 参数 | 类型 | 说明 | |||||
|---|---|---|---|---|---|---|---|
wricef_type | 字符串 | REPORT | INTERFACE | CONVERSION | ENHANCEMENT | FORM | WORKFLOW (默认值: REPORT) |
wricef_id | string | WRICEF标识符,例如。 ZSD-R-001 | |||||
complexity | 字符串 | S | M | L | XL | ||
cr_number | string | 更改请求/票号 | |||||
module | string | SAP模块: SD, FI, MM, HR, … |
人们
| 参数 | 类型 | 说明 |
|---|---|---|
developer_name | string | 开发人员全名 |
developer_user_id | string | 开发人员SAP用户ID |
reviewer_name | string | 审阅者全名 |
approver_name | string | 审批人全名 |
系统
| 参数 | 类型 | 说明 |
|---|---|---|
system_id | string | SAP系统ID(默认值: DEV) |
client | string | SAP客户端(默认值: 100) |
version | string | 文档版本(默认值: 1.0) |
源代码丰富
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
fetch_source_code | 布尔值 | true | 获取并分析数据库表、FM调用、身份验证对象、错误处理、性能模式的源代码 |
接口特定
| 参数 | 说明 | ||||
|---|---|---|---|---|---|
interface_direction | Inbound | Outbound | Bidirectional | ||
interface_protocol | RFC | IDoc | REST | SOAP | File |
interface_frequency | Real-time | Batch | Event-driven |
特定增强功能
| 参数 | 说明 | ||
|---|---|---|---|
enhancement_type | BAdI | User Exit | Implicit Enhancement |
enhancement_name | BAdI/增强退出名称 | ||
original_program | 正在增强的程序或对象 |
表格特定
| 参数 | 说明 | ||
|---|---|---|---|
form_technology | SmartForms | Adobe Forms | SAPscript |
form_output_type | Spool | Email | PDF |
工作流特定
| 参数 | 说明 |
|---|---|
workflow_steps | 工作流步骤说明 |
OData/RAP特定
| 参数 | 说明 |
|---|---|
service_binding | OData/RAP服务绑定名称 |
service_definition | OData/RAP服务定义名称 |
其他
| 参数 | 说明 |
|---|---|
notes | 规范中应包含的其他注释 |
______________________________________________________________________
示例用法(克劳德语)
最小值——只是一个运输编号:
GenerateWricefTechSpec(
transport_numbers = "DEVK900123"
)完整报告规范:
GenerateWricefTechSpec(
transport_numbers = "DEVK900123,DEVK900124",
wricef_type = "REPORT",
wricef_id = "ZSD-R-001",
complexity = "M",
cr_number = "CHG0012345",
module = "SD",
developer_name = "John Smith",
developer_user_id = "JSMITH",
reviewer_name = "Mary Johnson",
system_id = "DEV",
client = "100"
)增强规格:
GenerateWricefTechSpec(
transport_numbers = "DEVK900145",
wricef_type = "ENHANCEMENT",
wricef_id = "ZFI-E-001",
complexity = "S",
module = "FI",
enhancement_type = "BAdI",
enhancement_name = "BADI_ACC_DOCUMENT",
original_program = "SAPLGL_ACCOUNT_ASSIGNMENT"
)接口规格:
GenerateWricefTechSpec(
transport_numbers = "DEVK900130",
wricef_type = "INTERFACE",
wricef_id = "ZMM-I-001",
complexity = "L",
module = "MM",
interface_direction = "Outbound",
interface_protocol = "IDoc",
interface_frequency = "Event-driven"
)______________________________________________________________________
生成的部分
所有部分均由以下人员控制 tech-spec-config.json默认设置(按顺序):
| # | 章节 | 描述 |
|---|---|---|
| 1 | 文件信息 | 标题、WRICEF ID、类型、复杂性、系统、运输编号 |
| 2 | 开发者信息 | 开发者、审阅者、批准者 |
| 3 | 变更请求参考 | CR/票号、业务理由 |
| 4 | WRICEF分类 | 类别、复杂性、估计工作量、模块 |
| 5 | 传输请求详细信息 | 每个TR一个元数据块(所有者、状态、目标) |
| 6 | 运输内容 | 带类型和TR参考的完整对象列表 |
| 7 | 业务需求 | 功能描述的可编辑占位符 |
| 8 | 范围和假设 | 范围内/范围外/假设/依赖关系 |
| 9 | 技术设计概述 | 对象列表、类型、方法总结 |
| 10 | 对象结构 | ADT中的对象树(如果可用) |
| 11 | 类型层次结构 | 类层次结构(如果可用) |
| 12 | 对象关系图 | 美人鱼图——仅对对象进行编码,按类型进行颜色编码 |
| 13 | 报告详情 | 选择屏幕参数+ALV输出布局 |
| 14 | 接口详细信息 | 方向、协议、频率、源/目标系统 |
| 15 | 消息结构/字段映射 | 来源→ 目标字段映射表 |
| 16 | 增强点详细信息 | 增强类型、名称、原始对象、激活 |
| 17 | 表单详细信息 | 技术、输出类型、表单/接口名称 |
| 18 | 工作流详细信息 | 工作流步骤 |
| 19 | OData/RAP详细信息 | 服务绑定和定义名称 |
| 20 | 处理逻辑(伪代码) | 每个源对象提取的伪代码 |
| 21 | 调用图 | ADT的调用图(如果可用) |
| 22 | 使用的数据库对象 | 从源检测到的表/视图 |
| 23 | 调用功能模块/BAPI/方法 | 从源检测到FM调用 |
| 24 | 授权对象 | 从源检测到的身份验证对象 |
| 25 | ATC发现 | ATC检查结果(如有) |
| 26 | 单元测试结果 | 单元测试的结果(如有) |
| 27 | 错误处理 | 从源检测到的错误模式 |
| 28 | 性能考虑 | 检测到反模式(SELECT\*,LOOP中的SELECT) |
| 29 | 测试场景 | 5行可编辑测试用例表 |
| 30 | 附加注释 | 来自的自由文本注释 notes 参数 |
| 31 | 变更历史 | 版本表(初始行已预填) |
| 32 | 签核 | 开发/审核/批准人签核表 |
______________________________________________________________________
美人鱼对象关系图
该图是从传输对象自动生成的,并且在获取源代码时,它丰富了以下内容的边:
INCLUDE声明→includes边缘CALL FUNCTION/CALL METHOD→calls FM/calls method边缘CREATE OBJECT/NEW→instantiates边缘
显示的代码对象类型 (表、结构、域等除外):
| 类型 | 颜色 | 代表 |
|---|---|---|
PROG | 蓝色 | 报告/计划 |
INCL | 浅蓝色 | 包括 |
CLAS | 绿色 | 类 |
INTF | 浅绿色 | 界面 |
FUNC | 橙色 | 功能模块 |
FUGR | 浅橙色 | 功能组 |
ENHO | 红色 | 增强实施 |
ENHS | 浅红色 | 增强点 |
BADI | 红橙色 | BAdI定义 |
SFPF | 紫色 | SmartForms表单 |
SSFO | 紫罗兰色 | Adobe表格 |
SRVB | Dark Teal | OData服务绑定 |
SRVD | Teal | 服务定义 |
BDEF | 淡青色 | 行为定义 |
DDLS | CDS标题 | CDS视图(DDL源代码) |
WDYN | Indigo | Web Dynpro应用程序 |
当WRICEF跨越 多个传输请求,每个TR显示为带标签的子图。
______________________________________________________________________
配置节-- tech-spec-config.json
地方 tech-spec-config.json 在与二进制文件(或工作目录)相同的目录中,自定义显示哪些部分以及显示顺序:
{
"sections": [
"documentInfo",
"developerInfo",
"changeRequest",
"wricefClassification",
"transportDetails",
"transportContents",
"businessRequirement",
"scopeAssumptions",
"technicalDesign",
"objectRelationDiagram",
"reportDetails",
"interfaceDetails",
"messageMapping",
"enhancementDetails",
"formDetails",
"workflowDetails",
"odataDetails",
"pseudocode",
"databaseObjects",
"calledFunctions",
"authorizationObjects",
"errorHandling",
"performanceConsiderations",
"testScenarios",
"additionalNotes",
"changeHistory",
"signOff"
],
"sectionTitles": {
"documentInfo": "Document Information",
"objectRelationDiagram": "Object Relationship Diagram",
"reportDetails": "Selection Screen / Input Parameters"
}
}sections--要包括的部分ID的有序列表;省略任何ID以抑制该部分sectionTitles--覆盖任何标题文本;仅指定要更改其标题的部分
32个节ID及其默认标题的完整列表位于 技术规范配置json 项目根目录下的文件。
______________________________________________________________________
示例输出
看 示例_价格_技术_规格.md 完整示例显示:
- R——报告 规范(ZSD-R-001),带选择屏幕、ALV布局、伪代码、DB表、FM调用、ATC、认证对象
- I——接口 带字段映射表的规范(ZMM-I-001)
- E--增强 规范(ZFI-E-001),含BAdI详细信息和伪代码
______________________________________________________________________
配置参考
| 环境变量 | CLI标志 | 描述 |
|---|---|---|
SAP_URL | --url | SAP系统URL(例如。 https://host:44300) |
SAP_USER | --user | SAP用户名 |
SAP_PASSWORD | --password | SAP密码 |
SAP_CLIENT | --client | SAP客户端(默认值: 001) |
SAP_INSECURE | --insecure | 跳过TLS验证(对于自签名证书) |
SAP_MODE | --mode | focused (默认)或 expert (所有工具) |
______________________________________________________________________
源代码结构
ABAPDocMCP/
├── cmd/vsp/main.go # Entry point (CLI + MCP server)
├── internal/
│ ├── mcp/
│ │ ├── server.go # Tool registration
│ │ └── handlers_techspec.go # GenerateWricefTechSpec handler
│ └── techspec/
│ ├── config.go # Section config loader (tech-spec-config.json)
│ ├── mermaid.go # Mermaid diagram generator
│ └── generator.go # 32-section spec renderer
├── pkg/adt/ # SAP ADT REST API client
│ ├── client.go
│ ├── transport.go # GetTransport, ListTransports
│ └── workflows.go # GetSource (PROG, CLAS, FUNC, INCL …)
├── tech-spec-config.json # Default section order & titles
└── SAMPLE_WRICEF_TECH_SPEC.md # Sample generated output______________________________________________________________________
建筑
# Current platform
go build -o abapdocmcp ./cmd/vsp/main.go
# All platforms (requires make)
make build-all______________________________________________________________________
许可证
麻省理工学院
