executing-plans
executing-plans
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available
dump-triageTriage ABAP short dumps (ST22) — list recent dumps, group by root cause, read the dump chapters, pull the source at the termination point, and produce a prioritized report with a concrete fix suggestion per dump family. Use whenever the user mentions dumps, ST22, runtime errors, CX_ exceptions, "production crashed", TYPELOAD errors, "why did this ABAP termi…
Independent GitHub snapshot · Automated classification · Original documentation governs
Turn a pile of ST22 short dumps into a short, prioritized action list. The workflow is read-only end to end, so it is safe to point at production systems.
adt_ping to verify)./sap/bc/adt/runtime/dumps) is not exposed on older releases. If
adt_list_dumps 404s, the system doesn't serve the feed; tell the user to
use ST22 directly and stop.YYYYMMDD on on-prem systems (e.g. 20260611).adt_list_dumps with a sensible window — default to the last 24h unless the
user says otherwise (from: <yesterday YYYYMMDD>). Filter by user only when
asked; note the user filter is enforced client-side. Respect maxResults
(default 20; raise for a weekly review).
Don't fetch every dump's detail. Group the list by (runtimeError, program) —
that pair defines a dump family. 200 TYPELOAD_NEW_VERSION entries from one
job are one problem, not 200. Rank families by:
CONVT_NO_NUMBER, ITAB_DUPLICATE_KEY in update tasks rank above
one-off TIME_OUTs).For the top 3–5 families: adt_get_dump with the family's most recent dump id.
The default chapter set (shortText, whatHappened, errorAnalysis, howToCorrect,
whereTerminated, sourceCodeExtract) is usually enough; request more chapters
only when the analysis is inconclusive.
From whereTerminated, extract program/include + line. Then pull real context:
adt_get_source for that include around the failing line (use
firstLine/lastLine — ±40 lines is plenty; never fetch a 20k-line program
whole). The dump's own sourceCodeExtract is narrow; the live source shows the
surrounding logic, and whether the code has changed since the dump
(adt_list_versions / adt_compare_versions when staleness is suspected).
State a root-cause hypothesis grounded in the chapters + source, not generic advice. Typical patterns worth checking explicitly:
adt_list_transports
(recently released) rather than blaming the code.adt_read_table SELECT can confirm the offending rows
(read-only, requires NW 7.55+).adt_where_used helps trace callers).One block per family, ranked:
DUMP TRIAGE — DEV, last 24h (37 dumps → 4 families)
#1 TYPELOAD_NEW_VERSION — 29× — program SAPLZSD_PRICING — users: BATCH
Cause: TR E4DK900812 released 02:14, jobs ZPRICE_RECALC were mid-run.
Fix: none needed in code; reschedule the job after imports, or use
server-group restart. Prevention: import window outside job schedule.
#2 CONVT_NO_NUMBER — 5× — ZRPT_MARGIN line 214
Cause: CONV #( lv_input ) on a field fed from file upload; row 3 of the
file contains '12,5' (comma decimal).
Fix: validate/replace decimal separator before CONV — patch sketch below.
…
Close with: which families are ignorable (one-offs, already-fixed code, test-system noise) — saying what NOT to chase is half the value of triage. Offer follow-ups: "want me to draft the fix for #2?" (write mode) or "schedule this as a daily morning check".