From ARC-1 — SAP ABAP for Claude
Lists every open transport request system-wide with owner, size, and risk flags (locked objects, $TMP, stale/empty). Headers-only, no source diffs. Use for transport backlog, open requests overview, or import-order conflicts.
How this skill is triggered — by the user, by Claude, or both
Slash command
/arc-1:sap-transport-overviewThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
A basis-/lead-oriented **register of every open transport** in the system: who owns what, how large
A basis-/lead-oriented register of every open transport in the system: who owns what, how large each request is, and where the risks are — without ever pulling source or diffs. It's deliberately breadth-first and token-cheap, built on one call:
SAPTransport(action="list", summary=true, user="*", status="D") — every modifiable request, all
users, with objects[] omitted and an objectCount kept. (On a busy system the full object-laden
list is ~25K tokens; summary cuts it to a few KB — see ARC-1 PR #448.)This is the breadth companion to sap-transport-review (which is depth — diffs of one transport's objects). Overview answers "what's open and risky across the landscape"; review answers "what exactly changed in this one." Don't diff here.
| Setting | Default | Rationale |
|---|---|---|
| Users | all (user="*") | Basis cares about the whole system, not one developer |
| Status | modifiable (status="D") | Open/unreleased work; pass status="R" for released, "*" for both |
| Payload | summary=true | Inventory needs counts + headers, never source — keeps a 100-request list cheap |
| Diffs | never | That's sap-transport-review's job; this skill stays breadth-only |
| Grouping | by owner | The basis mental model: "whose requests, how many, how big" |
Optional narrowing — apply if given, else default to the whole system:
D (default), R (released), * (all).Scope guard: the system-wide list can be hundreds of requests. Always start with summary=true.
If it's still large, aggregate (counts per owner, top-N by objectCount) and offer to filter — never
expand every request's object list unprompted.
SAPTransport(action="list", summary=true, user="*", status="D")
Returns one row per request: id, description, owner, status, target/targetDesc,
objectCount (+ per-task counts). That alone answers "what's open and how big" for the whole system.
For requests the user flags (or the suspicious ones from Step 3), pull the full object list:
SAPTransport(action="get", id="<id>")
This lists the objects (type/name/locked) — the contents, not the source. Only get the handful in
focus; do not get the whole system.
These are what an overview is for. Derive from the data already gathered:
SAPTransport(action="history", type="<type>", name="<name>"). To find them in a working set, get the in-scope requests and intersect their object lists.$TMP / local objects — won't transport; flag requests that carry them.objectCount 0) — cleanup candidates (delete or release).changedAt); ageing backlog.locked: true from get) — block other developers; may need release or unlock.target empty) — a local request that cannot be transported onward (often a mistake for work meant to ship).# Open transports — <SID> (<N> requests, <M> objects, <K> owners)
## By owner
| Owner | Requests | Objects | Notable |
|---|---|---|---|
| MARIAN | 6 | 41 | 1 empty, 1 stale (>60d) |
| 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
- ⚠ ZCL_PRICE is in 2 open requests (A4HK900123, A4HK900200) → import-order conflict; sequence or consolidate.
- ⚠ A4HK900155 (MARIAN) is empty → delete or release.
- ⚠ A4HK900090 open since <date> (>60d) → stale; confirm still needed.
Write to disk only if asked; otherwise return inline.
| Error | Cause | Fix |
|---|---|---|
list returns very many requests | Busy system | Keep summary=true; aggregate per owner + top-N by size; offer to filter |
user="*" returns only my requests | Backend ignored the unfiltered query / scope limits | Confirm the SAP user may see others' requests (S_TRANSPRT); some systems restrict cross-user listing |
history/get slow across many requests | Expanding too much | Only expand the flagged/in-focus requests, never the whole system |
| Need released history too | Default is D only | Re-run with status="R" or status="*" |
SAPTransport(action="history", type=…, name=…) directly.SAPTransport(action="release") / release_recursive.SAPTransport(action="delete").npx claudepluginhub arc-mcp/arc-1 --plugin arc-1Reviews SAP transports and unactivated drafts by producing per-object unified diffs with risk flags. Useful for code review, hand-off, or pre-release gates.
Guides through CTS transport release: lists open transports, validates syntax and inactive objects, then releases and confirms import readiness for SAP ABAP systems.
Configures and manages SAP BTP Cloud Transport Management: transport landscapes, nodes/routes, MTA deployments to Cloud Foundry, CI/CD integration, ABAP transports, troubleshooting.