SAPDiagnose
Identify ABAP syntax errors, runtime dumps, slow OData calls, and authorization issues. Run checks, traces, and quick fixes to resolve them.
Instructions
ABAP diagnostics and runtime analysis. Actions:
"syntax": syntax-check (name+type; optional version; optional source = pre-write dry-run, nothing written).
"unittest": harmless ABAP Unit for CLAS/PROG/FUGR or DEVC (exact; includeSubpackages recurses).
"unittest_ci": harmless package tests with source reconciliation; empty/incomplete runs fail.
"atc": run ATC checks (name+type or objects [{type,name}], max 20; omit variant to bind the system default; unknown variant = error). "atc_variants": list variants + that default (variant = name filter; read-only).
"atc_ci": package ATC CI; requires available API and verified selection.
"cds_testcases": SAP-suggested ABAP Unit test cases for a CDS entity (name; read-only; SAP_BASIS 8.16+).
"object_state": compare active vs inactive source versions (name+type; CLAS compares all includes). Returns ETags/hashes/divergence flags.
"quickfix": proposals at name+type+source+line (optional column/sourceUri).
"apply_quickfix": return proposal text deltas without writing; needs quickfix inputs + proposalUri/proposalUserContent.
"dumps": list/read ST22 short dumps (no id = list, newest first, user/from/to/maxResults; id = read; includeFullText, sections).
"traces": list profiler traces; id+analysis analyzes one.
"trace_start": arm a profiler trace for the NEXT matching execution, then reproduce and read via "traces" (write scope; defaults: next HTTP request, SQL on).
"trace_requests": list armed trace requests. "trace_cancel": cancel one by id (write scope).
"system_messages": list SM02 messages. "gateway_errors": list /IWFND/ERROR_LOG (on-prem; detailUrl or id+errorType for detail).
"odata_perf": diagnose why an OData call is slow (url = host-relative path); returns the sap-statistics timing split (DB/ABAP/framework/auth). Read-only; needs allowDataPreview.
"authorization_trace": read the on-prem STUSERTRACE auth trace (SUAUTHVALTRC); needs SAP_ALLOW_DATA_PREVIEW.
"cds_sql": show the native SQL a CDS view compiles to (name; read-only).
"sql_trace_state" / "set_sql_trace_state" (sqlOn; needs SAP_ALLOW_WRITES) / "sql_trace_directory": ST05 SQL-trace control. Quickfix workflow: syntax/ATC → quickfix → apply_quickfix → write via SAPWrite. Full action reference: docs_page SAPDiagnose.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Dump or trace ID (for dumps/traces actions); also the trace-request id to cancel (for trace_cancel). Omit to list, provide to get details. | |
| to | No | Inclusive upper time bound for dumps/system_messages/gateway_errors; ISO or YYYYMMDDHHMMSS. | |
| url | No | odata_perf: host-relative OData path from the app network request (e.g. /sap/opu/odata4/sap/.../Entity?$filter=…). Absolute URLs rejected. | |
| from | No | Inclusive lower time bound for dumps/system_messages/gateway_errors; ISO or YYYYMMDDHHMMSS. | |
| line | No | Required quickfix/apply_quickfix source line. | |
| name | No | syntax/unittest/atc/object_state object name; cds_testcases/cds_sql CDS entity or DDLS name. | |
| type | No | Object type; unittest accepts CLAS, PROG, FUGR, or DEVC. | |
| user | No | SAP-user filter for dumps, feeds, or authorization_trace. | |
| sqlOn | No | set_sql_trace_state: true arms ST05 SQL trace, false disarms; user filters the SAP user. | |
| action | Yes | ||
| column | No | Quickfix source column (default 0). | |
| source | No | Current source code (required for quickfix/apply_quickfix). | |
| objects | No | ATC only, instead of name/type/url. One batch + at most one verification. Returns coverage; unreported objects stay incomplete. No packages. | |
| variant | No | atc/atc_ci variant; atc_variants name filter (*=all) | |
| version | No | syntax source version (default active); inactive checks pending changes. | |
| analysis | No | traces with id: hitlist=hot spots, statements=call tree, dbAccesses=DB access stats. | |
| coverage | No | unittest only: collect statement/branch/procedure coverage and methodsBelowFull. Unavailable measurements do not discard test results. Default false. | |
| packages | No | CI exact packages; 1–50 total with packageTrees. | |
| sections | No | dumps detail chapter IDs, e.g. ["kap0","kap3","kap8"]; omit for focused defaults. | |
| sqlTrace | No | trace_start SQL capture (default true; required for analysis="dbAccesses"). | |
| aggregate | No | trace_start aggregation (default true). | |
| detailUrl | No | Detail path: canonical /sap/bc/adt/gw/errorlog/...; no absolute URLs. | |
| errorType | No | gateway_errors: required with id instead of detailUrl, e.g. "Frontend Error". | |
| sourceUri | No | quickfix/apply_quickfix source URI; default type/name main source. Set for includes, e.g. /includes/definitions. | |
| traceUser | No | trace_start/trace_requests SAP user (default connected user). | |
| authObject | No | Authorization object filter, e.g. S_TCODE. | |
| maxResults | No | Result limit (default 50; authorization_trace 100). Caps: dumps 500, system_messages/gateway_errors 200, authorization_trace 10000. | |
| objectType | No | trace_start match type; defaults: http→url, dialog→transaction, batch→report, rfc→functionModule. | |
| description | No | trace_start label. | |
| processType | No | trace_start work process (default http/OData): dialog=SAP GUI, batch=background job, rfc=RFC. | |
| proposalUri | No | Quickfix proposal URI from quickfix action (required for apply_quickfix). | |
| expiresHours | No | trace_start expiry in hours (default 24). | |
| onlyFailures | No | authorization_trace: only denied checks (RC<>0), like SU53. | |
| packageTrees | No | CI packages including subpackages. | |
| resultFormat | No | unittest: legacy|structured|junit; atc: legacy|structured; other actions reject it. | |
| configuration | No | atc_ci: optional configuration. | |
| maxExecutions | No | trace_start executions to capture (default 1). | |
| failOnSeverity | No | atc_ci failure threshold (default error). | |
| timeoutSeconds | No | Timeout 1–3600s: unittest/atc default 300; CI overall default 600. | |
| includeFullText | No | dumps detail: include full formattedText (default false). | |
| includeReportXml | No | CI XML reports (default false; 256 KiB total cap). | |
| includeSubpackages | No | ||
| proposalUserContent | No | Opaque userContent from quickfix action (required for apply_quickfix). May be an empty string; pass through exactly. | |
| proposalAffectedObjects | No | quickfix affectedObjects; provide current content for each source unit when applying multi-object fixes. |