mcpField
S
sap-transport-overview

sap-transport-overview

github.com/arc-mcp云与 DevOps239233 次安装2 天前更新
代码仓库

关于 sap-transport-overview

sap-transport-overview 面向 SAP Basis 团队和发布经理,用于盘点单个系统中的开放传输请求。它以精简摘要呈现负责人、规模和潜在风险,不获取源代码或差异。

主要功能

  1. 01盘点系统内开放传输请求
  2. 02以精简摘要显示对象数量
  3. 03按负责人分组并统计
  4. 04标记空请求和本地请求
  5. 05检查精确 CTS 键重叠

适用场景

  1. 01查看团队传输工作量
  2. 02找出待清理的请求
  3. 03评估导入批次前的风险

MCP 相关

该技能调用 SAPTransport 工具列出并选择性检查传输请求,不获取源代码差异。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/arc-mcp/arc-1 --skill sap-transport-overview

安装后在 Claude Code 中输入/sap-transport-overview确认已加载。

详细介绍

SAP 传输概览(系统范围)

面向基础架构负责人/主管的所有未关闭传输登记表:谁负责什么、每个请求有多大,以及风险在哪里——全程不获取源代码或差异。此技能刻意采用广度优先的方式,且节省令牌,只需一次调用:

  • SAPTransport(action="list", summary=true, user="*", status="D") — 所有用户的每个可修改请求,省略 objects[],保留 objectCount。(在繁忙的系统中,包含完整对象信息的列表约需 25K 个令牌;摘要会压缩到几 KB — 参见 ARC-1 PR #448。)

这是 sap-transport-review 的广度补充(后者侧重深度——查看单个传输中各对象的差异)。概览回答“整个系统中有哪些未关闭请求,哪些有风险”;审查回答“这个请求具体改了什么”。不要在这里查看差异。

智能默认值(静默应用,不要询问)

设置默认值理由
用户所有用户(user="*")基础架构团队关心的是整个系统,而非某一位开发者
状态可修改(status="D")未关闭/未发布的工作;传入 status="R" 查看已发布请求,传入 "*" 查看两者
内容summary=true清点只需要计数和请求头信息,绝不需要源代码 — 让包含 100 个请求的列表也能保持轻量
差异从不这是 sap-transport-review 的工作;本技能只关注广度
分组按负责人符合基础架构团队的思维模式:“谁有哪些请求、多少个、多大”

输入

可选的筛选条件 — 如果用户提供则应用,否则默认查看整个系统:

  • 负责人/用户 — 某位开发者未关闭的请求。
  • 状态 — D(默认)、R(已发布)、*(全部)。
  • 描述/大小/目标筛选条件 — 例如“匹配 ‘migration’”“条目超过 20 个”或“没有目标”。当前传输载荷不包含请求时长或对象包字段,因此若没有单独的权威数据源,不要提供按时长/包筛选的选项。

**范围守则:**系统范围列表可能包含数百个请求。始终从 summary=true 开始。如果结果仍然很大,就进行汇总(按负责人统计数量、按 objectCount 排序取前 N 项),并提供筛选选项 — 切勿未经询问就展开每个请求的对象列表。

步骤 1:登记表(轻量,始终执行)

SAPTransport(action="list", summary=true, user="*", status="D")

每个请求返回一行:id、description、owner、status、target/targetDesc、objectCount(以及每项任务的计数)。仅凭这些信息,就能回答整个系统中“有哪些未关闭请求、规模有多大”。

步骤 2:只展开重要内容(仍不查看差异)

对于用户指定的请求(或步骤 3 中可疑的请求),获取完整对象列表:

SAPTransport(action="get", id="<id>")

此操作会列出 CTS 条目(pgmid、type、name、wbtype、locked)——即请求的内容,而非源代码或包元数据。只对重点关注的少数对象执行 get;不要对整个系统执行 get。

第 3 步:风险 / 健康标记(Basis 值)

概览的用途就在于此。根据已收集的数据推导:

  • 已确认的精确重叠——明确展开范围内的请求后,同一个精确 CTS 键(pgmid、type、name)出现在两个清单中。这可能带来导入顺序风险。原始键交集的判断较为保守:它可能遗漏以 R3TR 和 LIMU / 语言子对象分别表示的概念性重叠,因此应标记为“精确 CTS 键重叠”,而非全面冲突检测。
  • 空请求(objectCount 为 0)——可考虑清理(删除或释放)。
  • 明确锁定的对象(get 返回 locked: true)——可能阻碍其他开发者。在较旧的版本中,tm:lock_status 可能不存在,因此 locked: false 并不能证明条目未锁定。
  • 无目标(target 为空)——无法继续传输的本地请求(通常是原本应当交付的工作被误设为本地请求)。

尽管操作名称沿用旧称,SAPTransport(action="history", type=…, name=…) 表示的是当前分配状态:relatedTransports 最多包含当前锁定请求,而 candidateTransports 是可分配该对象的请求。候选请求并不包含该对象,也不能作为冲突或历史证据。完整的历史成员关系需要访问 E071/E070;此处使用的标准 ADT 端点不提供此信息。

不要根据传输清单推断 $TMP:CTS 条目不会公开包信息,而本地包中的对象通常不属于传输内容。要做出此类判断,应另行查询包信息。

第 4 步:报告

# Open transports — <SID>  (<N> requests, <M> objects, <K> owners)

## By owner
| Owner | Requests | Objects | Notable |
|---|---|---|---|
| MARIAN | 6 | 41 | 1 empty, 1 local request |
| ANNA   | 2 | 8  | |

## Register
| Request | Owner | Description | Objects | Target | Flags |
|---|---|---|---|---|---|
| A4HK900123 | MARIAN | Sales order RAP | 12 | LOCAL | ⚠ no target — won't ship |
| A4HK900200 | ANNA   | Pricing fix     | 3  | C11   | ⚠ ZCL_PRICE also in A4HK900123 |

## Needs attention
- ⚠ Exact CTS key R3TR/CLAS/ZCL_PRICE is in 2 expanded requests (A4HK900123, A4HK900200) → possible import-order conflict; sequence or consolidate.
- ⚠ A4HK900155 (MARIAN) is empty → delete or release.
- ⚠ A4HK900123 has no target → local request; confirm it is not intended for downstream import.

只有在用户要求时才写入磁盘;否则直接内联返回。

错误处理

错误原因修复方法
list 返回大量请求系统繁忙保持 summary=true;按负责人汇总,并按大小列出前 N 项;提供筛选选项
user="*" 只返回我的请求后端忽略了未筛选的查询 / 范围受限确认 SAP 用户是否可以查看其他人的请求(S_TRANSPRT);某些系统会限制跨用户列表
对许多请求执行 get 时速度缓慢展开范围过大只展开标记的请求和重点请求,不要展开整个系统
history 返回许多候选项候选项是分配选项,不是包含对象的请求不要将其用作历史 / 重叠证据;应明确展开清单并进行比较
需要已释放的请求默认只显示 D使用 status="R" 或 status="*" 重新运行 list

何时使用此技能

  • Basis / 发布经理:“系统中有哪些未完成事项?导入时有哪些风险?”
  • 团队负责人:“大家现在都在做什么?” / 积压和清理审查。
  • 导入前 / 上线前:在一轮传输开始前,查找对象重叠和仅限本地的请求。

何时不使用此技能

  • 请求中具体更改了什么(源代码差异)→ sap-transport-review。
  • 单个对象的完整历史记录(“哪些传输涉及过 ZCL_X”)→ 标准 ADT 历史操作不提供此信息;请使用经授权的 E071/E070 数据工作流或外部 CTS 报告。
  • 单个对象当前的锁定 / 分配状态 → SAPTransport(action="history", type=…, name=…)。
  • 跨系统比较(DEV 是否领先于 QAS)→ 不在范围内:ARC-1 每个实例绑定一个系统;请针对每个系统运行 CLI 并进行比较。

后续选项

  • “要审查其中一个请求的实际更改吗?” → sap-transport-review。
  • “要释放已准备好的请求吗?” → SAPTransport(action="release") / release_recursive。
  • “要清理空请求吗?” → SAPTransport(action="delete")。

评论

支持 Markdown