Skip to main content
Glama

SAPRead

Read-only

Reads SAP ABAP source code, metadata, table data, and syntax results to support code review, explanations, and pre-change analysis.

Instructions

Read SAP ABAP source, metadata and syntax results. For source purpose, explanations, specs, reviews or pre-change context, prefer SAPContext first. DDIC metadata: omit format (default text); structured is CLAS-only for ordinary reads. TABLE_QUERY: multi-column filters, data preview required; CDS needs SAP_BASIS 752+. TABLE_CONTENTS: single-column filter. INACTIVE_OBJECTS: no name. TABL/DTT: technical settings. SYNTAX: read-only SAP check (objectType+name, optional source for unsaved text). CLAS: method="*" for signatures, method="NAME" for one body, or grep. Global class declaration/implementation: MAIN (omit include). definitions/implementations contain local helpers.

Input Schema

NameRequiredDescriptionDefault
toNoaction="diff" NEW side (default "inactive" = pending unactivated changes). Same values as from.
fromNoaction="diff" OLD side: "active" (default), "inactive", a revision id from SAPRead(type="VERSIONS"), or a /sap/bc/adt/ revision URI.
grepNoCase-insensitive source regex: matching lines, 1-based numbers and ±3 context; invalid regex becomes literal. CLAS adds owning class/method; include scopes a section. Never combine with method. Works for source-bearing types (CLAS, INTF, DDLS, DCLS, BDEF, SRVD, SRVB, SKTD/KTD, DDLX, TABL, PROG, FUNC, FUGR, INCL, VIEW).
nameNoObject name (e.g., ZTEST_PROGRAM, ZCL_ORDER, MARA)
typeYesRepository or metadata type. TABL includes structures. KTD aliases SKTD; MESSAGES aliases MSAG. FTG2 aliases FEATURE_TOGGLE. SYNTAX requires objectType+name. Server-driven: discovery-gated XML metadata, AFF JSON source; DTSC/DSFD/DTDC/DRTY use DDL text. ENQU: JSON. TABL/DTI: TABLE~INDEX, prefers pending JSON. DESD external schema; EVTB/EVTO event binding/object; CSNM CSN model; COTA communication target; DTSC/DTDC static/dynamic cache; DSFD scalar function; UIAD launchpad descriptor; DRTY CDS type; APLO log object; SAJC/SAJT job catalog/template.
groupNoFunction group of the function module for FUNC, VERSIONS, or API_STATE with objectType=FUNC. Auto-resolved via SAPSearch if omitted.
whereNoFor TABLE_QUERY: structured WHERE conditions, ANDed together. Each item: {field, op, value?}. Ops: =, <>, <, <=, >, >=, LIKE, NOT LIKE, IN, NOT IN, IS NULL, IS NOT NULL; STARTS_WITH: literal prefix. Use <>; 758 rejects !=. IN/NOT IN: bare comma-separated values, e.g. "261,262". ARC-1 quotes/escapes them; no subqueries. Example: [{"field":"MATNR","op":"=","value":"300006888"},{"field":"BUDAT_MKPF","op":">=","value":"20250101"}].
actionNoSet to "diff" for a unified diff between two source versions (uses from/to) — cheaper than fetching both sources. Source types only: PROG, CLAS, INTF, FUNC, FUGR, INCL, DDLS, DCLS, BDEF, SRVD, DDLX, TABL.
formatNoDefault text; DEVC returns array then listing metadata, diff a patch. structured: CLAS metadata+includes, DEVC {objects,listing}, diff JSON. editable: fresh {source,sourceHash} for guarded SAPWrite; omit version/method/grep, select CLAS include.
methodNoFor CLAS: read a method (e.g., "get_name", "zif_order~process", "lhc_travel~accept") or use "*" to list methods. Without include=, lhc_*/lcl_* use implementations, ltc_* uses testclasses, and others use MAIN; explicit include= wins. For SOBJ: BOR method name to read. If omitted, returns the full BOR method catalog. Not used with other types.
sourceNoSYNTAX only: proposed source to check without saving. Omit to check stored version (default active; inactive checks draft). Object must exist; version=auto is unsupported.
columnsNoFor TABLE_QUERY: columns to SELECT (default: all). Example: ["MATNR","BWART","BUDAT","MENGE"].
includeNoTABL: indexes. CLAS: omit include or use main for global class; definitions/implementations are local helpers; macros/testclasses as named. Explicit include wins over method routing. DDLS: elements returns field catalog (keys, aliases, associations, types). VERSIONS CLAS: selects include history. BSP: case-sensitive path; name also accepts APP/path. TEXT_ELEMENTS: symbols|selections|headings; omit for pool (CLAS: symbols).
lineEndNoLast source line (inclusive); requires lineStart. Clamped to the source end; a start beyond the source is an error.
maxRowsNoReturned row cap for TABLE_CONTENTS/TABLE_QUERY (default 100, max 10,000; byte limit may apply sooner).
toLabelNoDiff NEW-side display label; does not change source resolution.
versionNoSource defaults active; inactive requests a draft (SAP may return active if none); auto selects developer view. DTEL/ENQU/server-driven types default to developer view. Server-driven types return an error if SAP cannot confirm an explicit version (e.g. no draft).
fromLabelNoDiff OLD-side display label; does not change source resolution.
lineStartNoFirst source line (1-based, inclusive); requires lineEnd. Text reads only: CLAS, INTF, DDLS, DCLS, BDEF, SRVD, DDLX, TABL, PROG, FUNC, INCL. Supports CLAS include; incompatible with grep, method, diff, structured/editable output and signature/element extraction.
sqlFilterNoTABLE_CONTENTS condition expression only (no WHERE, no SELECT); broken on 758 (SAP expects SELECT). Use TABLE_QUERY where.
maxResultsNoDEVC output cap: default 200, clamp 1–1000. Metadata reports possible truncation; total/completeness unknown. Direct mode does not cap SAP responses.
objectTypeNoDEVC direct: exact folder (CLAS/OC, TABL/DS). SYNTAX: required type (CLAS, PROG, DDLS). API_STATE: inferred. VERSIONS: endpoint type; inferred from CL_/IF_/CX_, else PROG. TEXT_ELEMENTS: PROG (default), CLAS or FUGR.
versionUriNoVERSION_SOURCE: canonical source/revision URI from VERSIONS .revisions[].uri; rejects unrelated ADT endpoints, absolute URLs, traversal, queries, and fragments.
packageScopeNoDEVC direct contents, no recursion/descriptions (16 folders/2 MiB/10s). Omit for indexed search.
force_refreshNoFor source reads: bypass cached source and inactive-list state before reading. Use when you know the object changed outside ARC-1.
expand_includesNoPROG/INCL/FUGR: add nested includes as "=== name ===" blocks; bounded, a closing note reports omissions. With grep: search all (FUGR: implied). No dynpros.
includeSignatureNoFUNC: JSON {source,signature,processingType?,updateTaskKind?}. Signature and descriptions come from source. Default false: raw source.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed13 schema fields changedv1.9.0
    • changedInput schema / properties / expand_includes / description
      Previous value: -"For FUGR type only. When true, recursively expands the function group include tree — the main source plus all nested INCLUDEs (the FUNCTION...ENDFUNCTION bodies live in nested LZ<grp>U01/U02 includes, so a flat one-level walk misses them). Each block is prefixed with a \"=== name ===\" marker; depth/count-capped. Dynpros and GUI status are not included (ADT does not expose them over REST)."New value: +"PROG/INCL/FUGR: add nested includes as \"=== name ===\" blocks; bounded, a closing note reports omissions. With grep: search all (FUGR: implied). No dynpros."
    • changedInput schema / properties / format / description
      Previous value: -"Default text. editable: fresh {source, sourceHash} for guarded SAPWrite; omit version/method/grep, select CLAS include. structured: CLAS metadata+includes, DEVC {objects,listing}, or action=diff JSON. DEVC text returns the array then listing metadata; diff text returns a patch."New value: +"Default text; DEVC returns array then listing metadata, diff a patch. structured: CLAS metadata+includes, DEVC {objects,listing}, diff JSON. editable: fresh {source,sourceHash} for guarded SAPWrite; omit version/method/grep, select CLAS include."
    • changedInput schema / properties / fromLabel / description
      Previous value: -"action=\"diff\" optional display label for the OLD side in the summary and patch header, e.g. \"DNT-6-6: Validate discounts (DS7K900123)\". Does not affect source resolution."New value: +"Diff OLD-side display label; does not change source resolution."
    • changedInput schema / properties / grep / description
      Previous value: -"Regex pattern (case-insensitive) to search within the object source. Returns only matching lines with 1-based line numbers and ±3 context lines, instead of the full source — token-efficient. For CLAS, matches are annotated with the owning class/method; combine with include= to scope a section, but do NOT combine with method= (use grep to find, then method= to read). Works for source-bearing types (CLAS, INTF, DDLS, DCLS, BDEF, SRVD, SRVB, SKTD/KTD, DDLX, TABL, PROG, FUNC, FUGR, INCL, VIEW). Falls back to a literal search when the pattern is not valid regex."New value: +"Case-insensitive source regex: matching lines, 1-based numbers and ±3 context; invalid regex becomes literal. CLAS adds owning class/method; include scopes a section. Never combine with method. Works for source-bearing types (CLAS, INTF, DDLS, DCLS, BDEF, SRVD, SRVB, SKTD/KTD, DDLX, TABL, PROG, FUNC, FUGR, INCL, VIEW)."
    • changedInput schema / properties / include / description
      Previous value: -"TABL: indexes lists native secondary indexes. CLAS: omit include or use main for the global declaration + implementation; definitions/implementations select local helper classes, macros/testclasses their own sections. Explicit include wins over method auto-routing. For DDLS: use include=\"elements\" for the CDS field catalog (key fields, aliases, associations, expression types) instead of raw DDL. For VERSIONS (CLAS): include selects the class include history to query (main, definitions, implementations, macros, testclasses). BSP: case-sensitive path; name may also be APP/path. TEXT_ELEMENTS: symbols|selections|headings; omit for pool (CLAS: symbols)."New value: +"TABL: indexes. CLAS: omit include or use main for global class; definitions/implementations are local helpers; macros/testclasses as named. Explicit include wins over method routing. DDLS: elements returns field catalog (keys, aliases, associations, types). VERSIONS CLAS: selects include history. BSP: case-sensitive path; name also accepts APP/path. TEXT_ELEMENTS: symbols|selections|headings; omit for pool (CLAS: symbols)."
    • changedInput schema / properties / includeSignature / description
      Previous value: -"For FUNC type only. When true, response is JSON: {source, signature: {importing[], exporting[], changing[], tables[], exceptions[], raising[]}, processingType?, updateTaskKind?} — each parameter parsed into {kind, name, type, byValue?, default?, optional?}; processingType reports rfc/update/normal. Default false (returns plain source body)."New value: +"FUNC: JSON {source,signature,processingType?,updateTaskKind?}. Signature and descriptions come from source. Default false: raw source."
    • changedInput schema / properties / maxResults / description
      Previous value: -"DEVC object limit (default 200, clamped to [1, 1000]). Listing metadata reports the effective limit and possible truncation. Total and full repository completeness remain unknown."New value: +"DEVC output cap: default 200, clamp 1–1000. Metadata reports possible truncation; total/completeness unknown. Direct mode does not cap SAP responses."
    • changedInput schema / properties / maxRows / description
      Previous value: -"Row cap for TABLE_CONTENTS/TABLE_QUERY (default 100, max 10,000; byte limit may apply sooner). On 758, TABLE_CONTENTS returns N+1; use TABLE_QUERY for exact caps."New value: +"Returned row cap for TABLE_CONTENTS/TABLE_QUERY (default 100, max 10,000; byte limit may apply sooner)."
    • changedInput schema / properties / objectType / description
      Previous value: -"SYNTAX: required repository type (e.g. CLAS, PROG, DDLS). API_STATE: inferred if omitted. VERSIONS: type selects the endpoint; inferred from CL_/IF_/CX_, else PROG. TEXT_ELEMENTS: PROG (default), CLAS or FUGR."New value: +"DEVC direct: exact folder (CLAS/OC, TABL/DS). SYNTAX: required type (CLAS, PROG, DDLS). API_STATE: inferred. VERSIONS: endpoint type; inferred from CL_/IF_/CX_, else PROG. TEXT_ELEMENTS: PROG (default), CLAS or FUGR."
    • addedInput schema / properties / packageScope
      Added value: +{
      +  "description": "DEVC direct contents, no recursion/descriptions (16 folders/2 MiB/10s). Omit for indexed search.",
      +  "enum": [
      +    "direct"
      +  ],
      +  "type": "string"
      +}
    • changedInput schema / properties / toLabel / description
      Previous value: -"action=\"diff\" optional display label for the NEW side in the summary and patch header, e.g. \"active\" or \"inactive draft\". Does not affect source resolution."New value: +"Diff NEW-side display label; does not change source resolution."
    • changedInput schema / properties / type / description
      Previous value: -"Object or metadata type. TABL includes DDIC structures; KTD aliases SKTD (Knowledge Transfer Documents). SYNTAX checks objectType+name. Server-driven objects use discovery-gated XML metadata and AFF JSON source (DTSC/DSFD/DTDC/DRTY use DDL text). DESD logical external schema; EVTB event binding; EVTO event object; CSNM CSN model; COTA communication target; DTSC static cache; DTDC dynamic cache; DSFD scalar function; UIAD launchpad descriptor; DRTY CDS type; APLO log object; SAJC/SAJT job catalog/template; TABL/DTI secondary index named TABLE~INDEX (read prefers pending JSON). Deprecated: MESSAGES→MSAG. FTG2→FEATURE_TOGGLE. ENQU lock object as JSON."New value: +"Repository or metadata type. TABL includes structures. KTD aliases SKTD; MESSAGES aliases MSAG. FTG2 aliases FEATURE_TOGGLE. SYNTAX requires objectType+name. Server-driven: discovery-gated XML metadata, AFF JSON source; DTSC/DSFD/DTDC/DRTY use DDL text. ENQU: JSON. TABL/DTI: TABLE~INDEX, prefers pending JSON. DESD external schema; EVTB/EVTO event binding/object; CSNM CSN model; COTA communication target; DTSC/DTDC static/dynamic cache; DSFD scalar function; UIAD launchpad descriptor; DRTY CDS type; APLO log object; SAJC/SAJT job catalog/template."
    • changedInput schema / properties / where / description
      Previous value: -"For TABLE_QUERY: structured WHERE conditions, ANDed together. Each item: {field, op, value?}. Ops: =, <>, <, <=, >, >=, LIKE, NOT LIKE, IN, NOT IN, IS NULL, IS NOT NULL; use <> because 758 rejects !=. For IN/NOT IN: use bare comma-separated values; do NOT quote them. ARC-1 quotes and escapes values, e.g. \"261,262\". No subqueries. Example: [{\"field\":\"MATNR\",\"op\":\"=\",\"value\":\"300006888\"},{\"field\":\"BUDAT_MKPF\",\"op\":\">=\",\"value\":\"20250101\"}]."New value: +"For TABLE_QUERY: structured WHERE conditions, ANDed together. Each item: {field, op, value?}. Ops: =, <>, <, <=, >, >=, LIKE, NOT LIKE, IN, NOT IN, IS NULL, IS NOT NULL; STARTS_WITH: literal prefix. Use <>; 758 rejects !=. IN/NOT IN: bare comma-separated values, e.g. \"261,262\". ARC-1 quotes/escapes them; no subqueries. Example: [{\"field\":\"MATNR\",\"op\":\"=\",\"value\":\"300006888\"},{\"field\":\"BUDAT_MKPF\",\"op\":\">=\",\"value\":\"20250101\"}]."
  2. Changed7 schema fields changedv1.6.0
    • changedInput schema / properties / group / description
      Previous value: -"For FUNC/VERSIONS type. The function group containing the function module. Optional for FUNC — auto-resolved via SAPSearch if omitted. Required for VERSIONS when querying a function module revision feed."New value: +"Function group of the function module for FUNC, VERSIONS, or API_STATE with objectType=FUNC. Auto-resolved via SAPSearch if omitted."
    • changedInput schema / properties / include / description
      Previous value: -"CLAS: omit include or use main for the global declaration + implementation; definitions/implementations select local helper classes, macros/testclasses their own sections. Explicit include wins over method auto-routing. For DDLS: use include=\"elements\" for the CDS field catalog (key fields, aliases, associations, expression types) instead of raw DDL. For VERSIONS (CLAS): include selects the class include history to query (main, definitions, implementations, macros, testclasses). BSP: case-sensitive path; name may also be APP/path. TEXT_ELEMENTS: symbols|selections|headings; omit for pool (CLAS: symbols)."New value: +"TABL: indexes lists native secondary indexes. CLAS: omit include or use main for the global declaration + implementation; definitions/implementations select local helper classes, macros/testclasses their own sections. Explicit include wins over method auto-routing. For DDLS: use include=\"elements\" for the CDS field catalog (key fields, aliases, associations, expression types) instead of raw DDL. For VERSIONS (CLAS): include selects the class include history to query (main, definitions, implementations, macros, testclasses). BSP: case-sensitive path; name may also be APP/path. TEXT_ELEMENTS: symbols|selections|headings; omit for pool (CLAS: symbols)."
    • addedInput schema / properties / lineEnd
      Added value: +{
      +  "description": "Last source line (inclusive); requires lineStart. Clamped to the source end; a start beyond the source is an error.",
      +  "minimum": 1,
      +  "type": "integer"
      +}
    • addedInput schema / properties / lineStart
      Added value: +{
      +  "description": "First source line (1-based, inclusive); requires lineEnd. Text reads only: CLAS, INTF, DDLS, DCLS, BDEF, SRVD, DDLX, TABL, PROG, FUNC, INCL. Supports CLAS include; incompatible with grep, method, diff, structured/editable output and signature/element extraction.",
      +  "minimum": 1,
      +  "type": "integer"
      +}
    • changedInput schema / properties / objectType / description
      Previous value: -"SYNTAX: required repository type (e.g. CLAS, PROG, DDLS). API_STATE: inferred if omitted. VERSIONS: type selects the endpoint (FUNC needs group); inferred from CL_/IF_/CX_, else PROG. TEXT_ELEMENTS: PROG (default), CLAS or FUGR."New value: +"SYNTAX: required repository type (e.g. CLAS, PROG, DDLS). API_STATE: inferred if omitted. VERSIONS: type selects the endpoint; inferred from CL_/IF_/CX_, else PROG. TEXT_ELEMENTS: PROG (default), CLAS or FUGR."
    • changedInput schema / properties / type / description
      Previous value: -"Object or metadata type. TABL includes DDIC structures; KTD aliases SKTD (Knowledge Transfer Documents). SYNTAX checks objectType+name. Server-driven objects use discovery-gated XML metadata and AFF JSON source (DTSC/DSFD/DTDC/DRTY use DDL text). DESD logical external schema; EVTB event binding; EVTO event object; CSNM CSN model; COTA communication target; DTSC static cache; DTDC dynamic cache; DSFD scalar function; UIAD launchpad descriptor; DRTY CDS type; APLO log object; SAJC/SAJT job catalog/template. Deprecated: MESSAGES→MSAG. FTG2→FEATURE_TOGGLE. ENQU lock object as JSON."New value: +"Object or metadata type. TABL includes DDIC structures; KTD aliases SKTD (Knowledge Transfer Documents). SYNTAX checks objectType+name. Server-driven objects use discovery-gated XML metadata and AFF JSON source (DTSC/DSFD/DTDC/DRTY use DDL text). DESD logical external schema; EVTB event binding; EVTO event object; CSNM CSN model; COTA communication target; DTSC static cache; DTDC dynamic cache; DSFD scalar function; UIAD launchpad descriptor; DRTY CDS type; APLO log object; SAJC/SAJT job catalog/template; TABL/DTI secondary index named TABLE~INDEX (read prefers pending JSON). Deprecated: MESSAGES→MSAG. FTG2→FEATURE_TOGGLE. ENQU lock object as JSON."
    • changedInput schema / properties / type / enum
      Previous value: -[
      -  "PROG",
      -  "CLAS",
      -  "INTF",
      -  "FUNC",
      -  "FUGR",
      -  "INCL",
      -  "DDLS",
      -  "DCLS",
      -  "DDLX",
      -  "BDEF",
      -  "SRVD",
      -  "SRVB",
      -  "SKTD",
      -  "KTD",
      -  "TABL",
      -  "VIEW",
      -  "DOMA",
      -  "DTEL",
      -  "TRAN",
      -  "TTYP",
      -  "ENQU",
      -  "TABLE_CONTENTS",
      -  "TABLE_QUERY",
      -  "DEVC",
      -  "SOBJ",
      -  "SYSTEM",
      -  "COMPONENTS",
      -  "MSAG",
      -  "MESSAGES",
      -  "TEXT_ELEMENTS",
      -  "VARIANTS",
      -  "BSP",
      -  "BSP_DEPLOY",
      -  "API_STATE",
      -  "INACTIVE_OBJECTS",
      -  "SYNTAX",
      -  "AUTH",
      -  "FEATURE_TOGGLE",
      -  "FTG2",
      -  "ENHO",
      -  "VERSIONS",
      -  "VERSION_SOURCE",
      -  "DESD",
      -  "DTSC",
      -  "CSNM",
      -  "EVTB",
      -  "EVTO",
      -  "COTA",
      -  "DSFD",
      -  "DTDC",
      -  "UIAD",
      -  "DRTY",
      -  "APLO",
      -  "SAJC",
      -  "SAJT"
      -]New value: +[
      +  "PROG",
      +  "CLAS",
      +  "INTF",
      +  "FUNC",
      +  "FUGR",
      +  "INCL",
      +  "DDLS",
      +  "DCLS",
      +  "DDLX",
      +  "BDEF",
      +  "SRVD",
      +  "SRVB",
      +  "SMBC",
      +  "SKTD",
      +  "KTD",
      +  "TABL",
      +  "TABL/DTT",
      +  "VIEW",
      +  "DOMA",
      +  "DTEL",
      +  "TRAN",
      +  "TTYP",
      +  "ENQU",
      +  "TABLE_CONTENTS",
      +  "TABLE_QUERY",
      +  "DEVC",
      +  "SOBJ",
      +  "SYSTEM",
      +  "COMPONENTS",
      +  "MSAG",
      +  "MESSAGES",
      +  "TEXT_ELEMENTS",
      +  "VARIANTS",
      +  "BSP",
      +  "BSP_DEPLOY",
      +  "API_STATE",
      +  "INACTIVE_OBJECTS",
      +  "SYNTAX",
      +  "AUTH",
      +  "FEATURE_TOGGLE",
      +  "FTG2",
      +  "ENHO",
      +  "VERSIONS",
      +  "VERSION_SOURCE",
      +  "DESD",
      +  "DTSC",
      +  "CSNM",
      +  "EVTB",
      +  "EVTO",
      +  "COTA",
      +  "DSFD",
      +  "DTDC",
      +  "UIAD",
      +  "DRTY",
      +  "APLO",
      +  "SAJC",
      +  "SAJT",
      +  "TABL/DTI"
      +]
  3. Changed7 schema fields changedv1.5.0
    • changedInput schema / properties / format / description
      Previous value: -"Default \"text\" (TABL/TTYP/DTEL/DOMA/INTF metadata included). DEVC: array in first text block + listing metadata in second; \"structured\" returns {objects, listing}. CLAS \"structured\": metadata + all includes; prefer method/grep for targeted reads. action=\"diff\": \"structured\" returns JSON {hasDifferences, identical, added, removed, diff, version labels}; default is a patch."New value: +"Default text. editable: fresh {source, sourceHash} for guarded SAPWrite; omit version/method/grep, select CLAS include. structured: CLAS metadata+includes, DEVC {objects,listing}, or action=diff JSON. DEVC text returns the array then listing metadata; diff text returns a patch."
    • changedInput schema / properties / format / enum
      Previous value: -[
      -  "text",
      -  "structured"
      -]New value: +[
      +  "text",
      +  "structured",
      +  "editable"
      +]
    • changedInput schema / properties / objectType / description
      Previous value: -"For API_STATE and VERSIONS: SAP object type (CLAS, INTF, PROG, FUNC, INCL, DDLS, DCLS, BDEF, SRVD, etc.). For API_STATE: auto-detected from name if omitted. For VERSIONS: required to pick the correct revisions endpoint (e.g., \"FUNC\" + group for function modules); inferred from CL_/IF_/CX_ name prefixes when possible, defaults to PROG. TEXT_ELEMENTS: PROG (default), CLAS or FUGR."New value: +"SYNTAX: required repository type (e.g. CLAS, PROG, DDLS). API_STATE: inferred if omitted. VERSIONS: type selects the endpoint (FUNC needs group); inferred from CL_/IF_/CX_, else PROG. TEXT_ELEMENTS: PROG (default), CLAS or FUGR."
    • addedInput schema / properties / source
      Added value: +{
      +  "description": "SYNTAX only: proposed source to check without saving. Omit to check stored version (default active; inactive checks draft). Object must exist; version=auto is unsupported.",
      +  "type": "string"
      +}
    • changedInput schema / properties / type / description
      Previous value: -"Object type to read (on-prem): PROG, CLAS, INTF, FUNC, FUGR, INCL, DDLS, DCLS, DDLX, BDEF, SRVD, SRVB, SKTD or KTD (Knowledge Transfer Documents), TABL (transparent tables and DDIC structures), TTYP, VIEW, DOMA, DTEL, MSAG, TRAN, TABLE_CONTENTS, TABLE_QUERY, DEVC, SOBJ, SYSTEM, COMPONENTS, TEXT_ELEMENTS, VARIANTS, BSP, BSP_DEPLOY, API_STATE, INACTIVE_OBJECTS, AUTH, FEATURE_TOGGLE, ENHO, VERSIONS, VERSION_SOURCE. Server-driven objects (discovery-gated; XML metadata; source is AFF JSON, or DDL text for DTSC/DSFD/DTDC/DRTY): DESD (Logical External Schema), EVTB (RAP Event Binding), EVTO (RAP Event Object), DTSC (Static Cache), CSNM (CSN Model), COTA (Communication Target), DSFD (Scalar Function Def), DTDC (Dynamic Cache), UIAD (Launchpad App Descriptor Item), DRTY (CDS Type). Deprecated aliases: MESSAGES (use MSAG), FTG2 (use FEATURE_TOGGLE)."New value: +"Object or metadata type. TABL includes DDIC structures; KTD aliases SKTD (Knowledge Transfer Documents). SYNTAX checks objectType+name. Server-driven objects use discovery-gated XML metadata and AFF JSON source (DTSC/DSFD/DTDC/DRTY use DDL text). DESD logical external schema; EVTB event binding; EVTO event object; CSNM CSN model; COTA communication target; DTSC static cache; DTDC dynamic cache; DSFD scalar function; UIAD launchpad descriptor; DRTY CDS type; APLO log object; SAJC/SAJT job catalog/template. Deprecated: MESSAGES→MSAG. FTG2→FEATURE_TOGGLE. ENQU lock object as JSON."
    • changedInput schema / properties / type / enum
      Previous value: -[
      -  "PROG",
      -  "CLAS",
      -  "INTF",
      -  "FUNC",
      -  "FUGR",
      -  "INCL",
      -  "DDLS",
      -  "DCLS",
      -  "DDLX",
      -  "BDEF",
      -  "SRVD",
      -  "SRVB",
      -  "SKTD",
      -  "KTD",
      -  "TABL",
      -  "VIEW",
      -  "DOMA",
      -  "DTEL",
      -  "TRAN",
      -  "TTYP",
      -  "TABLE_CONTENTS",
      -  "TABLE_QUERY",
      -  "DEVC",
      -  "SOBJ",
      -  "SYSTEM",
      -  "COMPONENTS",
      -  "MSAG",
      -  "MESSAGES",
      -  "TEXT_ELEMENTS",
      -  "VARIANTS",
      -  "BSP",
      -  "BSP_DEPLOY",
      -  "API_STATE",
      -  "INACTIVE_OBJECTS",
      -  "AUTH",
      -  "FEATURE_TOGGLE",
      -  "FTG2",
      -  "ENHO",
      -  "VERSIONS",
      -  "VERSION_SOURCE",
      -  "DESD",
      -  "DTSC",
      -  "CSNM",
      -  "EVTB",
      -  "EVTO",
      -  "COTA",
      -  "DSFD",
      -  "DTDC",
      -  "UIAD",
      -  "DRTY"
      -]New value: +[
      +  "PROG",
      +  "CLAS",
      +  "INTF",
      +  "FUNC",
      +  "FUGR",
      +  "INCL",
      +  "DDLS",
      +  "DCLS",
      +  "DDLX",
      +  "BDEF",
      +  "SRVD",
      +  "SRVB",
      +  "SKTD",
      +  "KTD",
      +  "TABL",
      +  "VIEW",
      +  "DOMA",
      +  "DTEL",
      +  "TRAN",
      +  "TTYP",
      +  "ENQU",
      +  "TABLE_CONTENTS",
      +  "TABLE_QUERY",
      +  "DEVC",
      +  "SOBJ",
      +  "SYSTEM",
      +  "COMPONENTS",
      +  "MSAG",
      +  "MESSAGES",
      +  "TEXT_ELEMENTS",
      +  "VARIANTS",
      +  "BSP",
      +  "BSP_DEPLOY",
      +  "API_STATE",
      +  "INACTIVE_OBJECTS",
      +  "SYNTAX",
      +  "AUTH",
      +  "FEATURE_TOGGLE",
      +  "FTG2",
      +  "ENHO",
      +  "VERSIONS",
      +  "VERSION_SOURCE",
      +  "DESD",
      +  "DTSC",
      +  "CSNM",
      +  "EVTB",
      +  "EVTO",
      +  "COTA",
      +  "DSFD",
      +  "DTDC",
      +  "UIAD",
      +  "DRTY",
      +  "APLO",
      +  "SAJC",
      +  "SAJT"
      +]
    • changedInput schema / properties / version / description
      Previous value: -"Version to read. Source: \"active\" (default); \"inactive\" requests the draft (SAP may return active if none); \"auto\" uses the developer view. DTEL: omitted/\"auto\" uses its developer view; explicit values pass through."New value: +"Source defaults active; inactive requests a draft (SAP may return active if none); auto selects developer view. DTEL/ENQU/server-driven types default to developer view. Server-driven types return an error if SAP cannot confirm an explicit version (e.g. no draft)."
  4. Changed2 schema fields changedv1.4.0
    • changedInput schema / properties / type / description
      Previous value: -"Object type to read (on-prem): PROG, CLAS, INTF, FUNC, FUGR, INCL, DDLS, DCLS, DDLX, BDEF, SRVD, SRVB, SKTD or KTD (Knowledge Transfer Documents), TABL (transparent tables and DDIC structures), TTYP, VIEW, DOMA, DTEL, MSAG, TRAN, TABLE_CONTENTS, TABLE_QUERY, DEVC, SOBJ, SYSTEM, COMPONENTS, TEXT_ELEMENTS, VARIANTS, BSP, BSP_DEPLOY, API_STATE, INACTIVE_OBJECTS, AUTH, FEATURE_TOGGLE, ENHO, VERSIONS, VERSION_SOURCE. Server-driven objects (discovery-gated; XML metadata; source is AFF JSON, or DDL text for DTSC/DSFD/DTDC): DESD (Logical External Schema), EVTB (RAP Event Binding), EVTO (RAP Event Object), DTSC (Static Cache), CSNM (CSN Model), COTA (Communication Target), DSFD (Scalar Function Def), DTDC (Dynamic Cache), UIAD (Launchpad App Descriptor Item). Deprecated aliases: MESSAGES (use MSAG), FTG2 (use FEATURE_TOGGLE)."New value: +"Object type to read (on-prem): PROG, CLAS, INTF, FUNC, FUGR, INCL, DDLS, DCLS, DDLX, BDEF, SRVD, SRVB, SKTD or KTD (Knowledge Transfer Documents), TABL (transparent tables and DDIC structures), TTYP, VIEW, DOMA, DTEL, MSAG, TRAN, TABLE_CONTENTS, TABLE_QUERY, DEVC, SOBJ, SYSTEM, COMPONENTS, TEXT_ELEMENTS, VARIANTS, BSP, BSP_DEPLOY, API_STATE, INACTIVE_OBJECTS, AUTH, FEATURE_TOGGLE, ENHO, VERSIONS, VERSION_SOURCE. Server-driven objects (discovery-gated; XML metadata; source is AFF JSON, or DDL text for DTSC/DSFD/DTDC/DRTY): DESD (Logical External Schema), EVTB (RAP Event Binding), EVTO (RAP Event Object), DTSC (Static Cache), CSNM (CSN Model), COTA (Communication Target), DSFD (Scalar Function Def), DTDC (Dynamic Cache), UIAD (Launchpad App Descriptor Item), DRTY (CDS Type). Deprecated aliases: MESSAGES (use MSAG), FTG2 (use FEATURE_TOGGLE)."
    • changedInput schema / properties / type / enum
      Previous value: -[
      -  "PROG",
      -  "CLAS",
      -  "INTF",
      -  "FUNC",
      -  "FUGR",
      -  "INCL",
      -  "DDLS",
      -  "DCLS",
      -  "DDLX",
      -  "BDEF",
      -  "SRVD",
      -  "SRVB",
      -  "SKTD",
      -  "KTD",
      -  "TABL",
      -  "VIEW",
      -  "DOMA",
      -  "DTEL",
      -  "TRAN",
      -  "TTYP",
      -  "TABLE_CONTENTS",
      -  "TABLE_QUERY",
      -  "DEVC",
      -  "SOBJ",
      -  "SYSTEM",
      -  "COMPONENTS",
      -  "MSAG",
      -  "MESSAGES",
      -  "TEXT_ELEMENTS",
      -  "VARIANTS",
      -  "BSP",
      -  "BSP_DEPLOY",
      -  "API_STATE",
      -  "INACTIVE_OBJECTS",
      -  "AUTH",
      -  "FEATURE_TOGGLE",
      -  "FTG2",
      -  "ENHO",
      -  "VERSIONS",
      -  "VERSION_SOURCE",
      -  "DESD",
      -  "DTSC",
      -  "CSNM",
      -  "EVTB",
      -  "EVTO",
      -  "COTA",
      -  "DSFD",
      -  "DTDC",
      -  "UIAD"
      -]New value: +[
      +  "PROG",
      +  "CLAS",
      +  "INTF",
      +  "FUNC",
      +  "FUGR",
      +  "INCL",
      +  "DDLS",
      +  "DCLS",
      +  "DDLX",
      +  "BDEF",
      +  "SRVD",
      +  "SRVB",
      +  "SKTD",
      +  "KTD",
      +  "TABL",
      +  "VIEW",
      +  "DOMA",
      +  "DTEL",
      +  "TRAN",
      +  "TTYP",
      +  "TABLE_CONTENTS",
      +  "TABLE_QUERY",
      +  "DEVC",
      +  "SOBJ",
      +  "SYSTEM",
      +  "COMPONENTS",
      +  "MSAG",
      +  "MESSAGES",
      +  "TEXT_ELEMENTS",
      +  "VARIANTS",
      +  "BSP",
      +  "BSP_DEPLOY",
      +  "API_STATE",
      +  "INACTIVE_OBJECTS",
      +  "AUTH",
      +  "FEATURE_TOGGLE",
      +  "FTG2",
      +  "ENHO",
      +  "VERSIONS",
      +  "VERSION_SOURCE",
      +  "DESD",
      +  "DTSC",
      +  "CSNM",
      +  "EVTB",
      +  "EVTO",
      +  "COTA",
      +  "DSFD",
      +  "DTDC",
      +  "UIAD",
      +  "DRTY"
      +]
  5. Changed7 schema fields changedv1.3.0
    • changedInput schema / properties / format / description
      Previous value: -"Output format. For action=\"diff\", \"structured\" returns JSON {hasDifferences, identical, added, removed, diff, version labels}; default remains the human-readable patch. For ordinary reads, \"text\" (default) is raw source; \"structured\" (CLAS only) returns JSON metadata + EVERY class include — a superset of \"text\", so it always costs MORE (measured +10% to +1685%). Use only to split test from production code; otherwise method=\"*\" / method=\"name\" / grep=."New value: +"Default \"text\" (TABL/TTYP/DTEL/DOMA/INTF metadata included). DEVC: array in first text block + listing metadata in second; \"structured\" returns {objects, listing}. CLAS \"structured\": metadata + all includes; prefer method/grep for targeted reads. action=\"diff\": \"structured\" returns JSON {hasDifferences, identical, added, removed, diff, version labels}; default is a patch."
    • changedInput schema / properties / include / description
      Previous value: -"For CLAS: DO NOT use this to read the main class — omit include entirely to get the full class source (CLASS DEFINITION + CLASS IMPLEMENTATION). This parameter reads class-LOCAL auxiliary files only: definitions (local type definitions, NOT the main class definition), implementations (local helper class implementations), macros, testclasses (ABAP Unit). Comma-separated. For DDLS: use include=\"elements\" for the CDS field catalog (key fields, aliases, associations, expression types) instead of raw DDL. For VERSIONS (CLAS): include selects the class include history to query (main, definitions, implementations, macros, testclasses)."New value: +"CLAS: omit include or use main for the global declaration + implementation; definitions/implementations select local helper classes, macros/testclasses their own sections. Explicit include wins over method auto-routing. For DDLS: use include=\"elements\" for the CDS field catalog (key fields, aliases, associations, expression types) instead of raw DDL. For VERSIONS (CLAS): include selects the class include history to query (main, definitions, implementations, macros, testclasses). BSP: case-sensitive path; name may also be APP/path. TEXT_ELEMENTS: symbols|selections|headings; omit for pool (CLAS: symbols)."
    • changedInput schema / properties / maxResults / description
      Previous value: -"For DEVC: max number of objects to list (default 200, clamped to [1, 1000]). Larger packages may be silently truncated by SAP at this limit; raise it if needed."New value: +"DEVC object limit (default 200, clamped to [1, 1000]). Listing metadata reports the effective limit and possible truncation. Total and full repository completeness remain unknown."
    • changedInput schema / properties / maxRows / description
      Previous value: -"Row cap (default 100). On 758, TABLE_CONTENTS returns N+1; use TABLE_QUERY or cap client-side."New value: +"Row cap for TABLE_CONTENTS/TABLE_QUERY (default 100, max 10,000; byte limit may apply sooner). On 758, TABLE_CONTENTS returns N+1; use TABLE_QUERY for exact caps."
    • changedInput schema / properties / method / description
      Previous value: -"For CLAS: method name to read a single method implementation (e.g., \"get_name\", \"zif_order~process\"). Use \"*\" to list all methods with signatures and visibility. For SOBJ: BOR method name to read. If omitted, returns the full BOR method catalog. Not used with other types."New value: +"For CLAS: read a method (e.g., \"get_name\", \"zif_order~process\", \"lhc_travel~accept\") or use \"*\" to list methods. Without include=, lhc_*/lcl_* use implementations, ltc_* uses testclasses, and others use MAIN; explicit include= wins. For SOBJ: BOR method name to read. If omitted, returns the full BOR method catalog. Not used with other types."
    • changedInput schema / properties / objectType / description
      Previous value: -"For API_STATE and VERSIONS: SAP object type (CLAS, INTF, PROG, FUNC, INCL, DDLS, DCLS, BDEF, SRVD, etc.). For API_STATE: auto-detected from name if omitted. For VERSIONS: required to pick the correct revisions endpoint (e.g., \"FUNC\" + group for function modules); inferred from CL_/IF_/CX_ name prefixes when possible, defaults to PROG."New value: +"For API_STATE and VERSIONS: SAP object type (CLAS, INTF, PROG, FUNC, INCL, DDLS, DCLS, BDEF, SRVD, etc.). For API_STATE: auto-detected from name if omitted. For VERSIONS: required to pick the correct revisions endpoint (e.g., \"FUNC\" + group for function modules); inferred from CL_/IF_/CX_ name prefixes when possible, defaults to PROG. TEXT_ELEMENTS: PROG (default), CLAS or FUGR."
    • changedInput schema / properties / version / description
      Previous value: -"Source version to read. \"active\" (default) returns the last activated version. \"inactive\" returns the user's unactivated draft or active if no draft exists. \"auto\" returns the draft if one exists, else active."New value: +"Version to read. Source: \"active\" (default); \"inactive\" requests the draft (SAP may return active if none); \"auto\" uses the developer view. DTEL: omitted/\"auto\" uses its developer view; explicit values pass through."
  6. Changed5 schema fields changedv1.1.0
    • changedInput schema / properties / format / description
      Previous value: -"Output format. \"text\" (default): raw source. \"structured\" (CLAS only): JSON metadata + EVERY class include (main, testclasses, definitions, implementations, macros) — a superset of \"text\", so it always costs MORE (measured +10% to +1685%). Use only to split test from production code; otherwise method=\"*\" / method=\"name\" / grep=."New value: +"Output format. For action=\"diff\", \"structured\" returns JSON {hasDifferences, identical, added, removed, diff, version labels}; default remains the human-readable patch. For ordinary reads, \"text\" (default) is raw source; \"structured\" (CLAS only) returns JSON metadata + EVERY class include — a superset of \"text\", so it always costs MORE (measured +10% to +1685%). Use only to split test from production code; otherwise method=\"*\" / method=\"name\" / grep=."
    • changedInput schema / properties / maxRows / description
      Previous value: -"For TABLE_CONTENTS and TABLE_QUERY: max rows to return (default 100)"New value: +"Row cap (default 100). On 758, TABLE_CONTENTS returns N+1; use TABLE_QUERY or cap client-side."
    • changedInput schema / properties / sqlFilter / description
      Previous value: -"For TABLE_CONTENTS: condition expression only (no WHERE, no SELECT), e.g. \"MANDT = '100'\" or \"MATNR LIKE 'Z%'\"."New value: +"TABLE_CONTENTS condition expression only (no WHERE, no SELECT); broken on 758 (SAP expects SELECT). Use TABLE_QUERY where."
    • changedInput schema / properties / versionUri / description
      Previous value: -"For VERSION_SOURCE: URI of a specific revision from SAPRead(type=\"VERSIONS\") response (.revisions[].uri). Must start with /sap/bc/adt/."New value: +"VERSION_SOURCE: canonical source/revision URI from VERSIONS .revisions[].uri; rejects unrelated ADT endpoints, absolute URLs, traversal, queries, and fragments."
    • changedInput schema / properties / where / description
      Previous value: -"For TABLE_QUERY: structured WHERE conditions, ANDed together. Each item: {field, op, value?}. Allowed ops: =, !=, <>, <, <=, >, >=, LIKE, NOT LIKE, IN, NOT IN, IS NULL, IS NOT NULL. For IN/NOT IN: value must be a comma-separated list of single-quoted literals, e.g. \"'261','262'\". Subqueries are not allowed. Example: [{\"field\":\"MATNR\",\"op\":\"=\",\"value\":\"300006888\"},{\"field\":\"BUDAT_MKPF\",\"op\":\">=\",\"value\":\"20250101\"}]."New value: +"For TABLE_QUERY: structured WHERE conditions, ANDed together. Each item: {field, op, value?}. Ops: =, <>, <, <=, >, >=, LIKE, NOT LIKE, IN, NOT IN, IS NULL, IS NOT NULL; use <> because 758 rejects !=. For IN/NOT IN: use bare comma-separated values; do NOT quote them. ARC-1 quotes and escapes values, e.g. \"261,262\". No subqueries. Example: [{\"field\":\"MATNR\",\"op\":\"=\",\"value\":\"300006888\"},{\"field\":\"BUDAT_MKPF\",\"op\":\">=\",\"value\":\"20250101\"}]."
  7. Changed6 schema fields changedv1.0.2
    • addedInput schema / additionalProperties
      Added value: +false
    • changedInput schema / properties / format / description
      Previous value: -"Output format. \"text\" (default): raw source code. \"structured\" (CLAS only): JSON with metadata (description, language, category) + decomposed source (main, testclasses, definitions, implementations, macros). Useful when you need to understand class structure or separate test code from production code."New value: +"Output format. \"text\" (default): raw source. \"structured\" (CLAS only): JSON metadata + EVERY class include (main, testclasses, definitions, implementations, macros) — a superset of \"text\", so it always costs MORE (measured +10% to +1685%). Use only to split test from production code; otherwise method=\"*\" / method=\"name\" / grep=."
    • changedInput schema / properties / include / description
      Previous value: -"For CLAS: DO NOT use this to read the main class — omit include entirely to get the full class source (CLASS DEFINITION + CLASS IMPLEMENTATION). This parameter reads class-LOCAL auxiliary files only: definitions (local type definitions, NOT the main class definition), implementations (local helper class implementations), macros, testclasses (ABAP Unit). Comma-separated. Not all classes have these sections — missing ones return a note instead of an error. For DDLS: use include=\"elements\" to get a structured field list extracted from the CDS DDL source — shows key fields, aliases, associations, and expression types (calculated, case, cast). Useful for understanding CDS entity structure without parsing raw DDL. For VERSIONS (CLAS): include selects the class include history to query (main, definitions, implementations, macros, testclasses)."New value: +"For CLAS: DO NOT use this to read the main class — omit include entirely to get the full class source (CLASS DEFINITION + CLASS IMPLEMENTATION). This parameter reads class-LOCAL auxiliary files only: definitions (local type definitions, NOT the main class definition), implementations (local helper class implementations), macros, testclasses (ABAP Unit). Comma-separated. For DDLS: use include=\"elements\" for the CDS field catalog (key fields, aliases, associations, expression types) instead of raw DDL. For VERSIONS (CLAS): include selects the class include history to query (main, definitions, implementations, macros, testclasses)."
    • changedInput schema / properties / includeSignature / description
      Previous value: -"For FUNC type only. When true, response is JSON: {source, signature: {importing[], exporting[], changing[], tables[], exceptions[], raising[]}} — each parameter parsed into {kind, name, type, byValue?, default?, optional?}. Default false (returns plain source body). Use this to introspect FM parameter signatures programmatically without re-parsing ABAP."New value: +"For FUNC type only. When true, response is JSON: {source, signature: {importing[], exporting[], changing[], tables[], exceptions[], raising[]}, processingType?, updateTaskKind?} — each parameter parsed into {kind, name, type, byValue?, default?, optional?}; processingType reports rfc/update/normal. Default false (returns plain source body)."
    • changedInput schema / properties / type / description
      Previous value: -"Object type to read (on-prem): PROG, CLAS, INTF, FUNC, FUGR, INCL, DDLS, DCLS, DDLX, BDEF, SRVD, SRVB, SKTD or KTD (Knowledge Transfer Documents), TABL (transparent tables and DDIC structures), VIEW, DOMA, DTEL, MSAG, TRAN, TABLE_CONTENTS, TABLE_QUERY, DEVC, SOBJ, SYSTEM, COMPONENTS, TEXT_ELEMENTS, VARIANTS, BSP, BSP_DEPLOY, API_STATE, INACTIVE_OBJECTS, AUTH, FEATURE_TOGGLE, ENHO, VERSIONS, VERSION_SOURCE. Server-driven objects (ABAP Platform 2025 / SAP_BASIS 8.16+, discovery-gated, return JSON metadata + AFF JSON source): DESD (CDS Logical External Schema), EVTB (RAP Event Binding), EVTO (RAP Event Object), DTSC (CDS Static Cache), CSNM (Core Schema Notation Model), COTA (Communication Target). Deprecated aliases: MESSAGES (use MSAG), FTG2 (use FEATURE_TOGGLE)."New value: +"Object type to read (on-prem): PROG, CLAS, INTF, FUNC, FUGR, INCL, DDLS, DCLS, DDLX, BDEF, SRVD, SRVB, SKTD or KTD (Knowledge Transfer Documents), TABL (transparent tables and DDIC structures), TTYP, VIEW, DOMA, DTEL, MSAG, TRAN, TABLE_CONTENTS, TABLE_QUERY, DEVC, SOBJ, SYSTEM, COMPONENTS, TEXT_ELEMENTS, VARIANTS, BSP, BSP_DEPLOY, API_STATE, INACTIVE_OBJECTS, AUTH, FEATURE_TOGGLE, ENHO, VERSIONS, VERSION_SOURCE. Server-driven objects (discovery-gated; XML metadata; source is AFF JSON, or DDL text for DTSC/DSFD/DTDC): DESD (Logical External Schema), EVTB (RAP Event Binding), EVTO (RAP Event Object), DTSC (Static Cache), CSNM (CSN Model), COTA (Communication Target), DSFD (Scalar Function Def), DTDC (Dynamic Cache), UIAD (Launchpad App Descriptor Item). Deprecated aliases: MESSAGES (use MSAG), FTG2 (use FEATURE_TOGGLE)."
    • changedInput schema / properties / type / enum
      Previous value: -[
      -  "PROG",
      -  "CLAS",
      -  "INTF",
      -  "FUNC",
      -  "FUGR",
      -  "INCL",
      -  "DDLS",
      -  "DCLS",
      -  "DDLX",
      -  "BDEF",
      -  "SRVD",
      -  "SRVB",
      -  "SKTD",
      -  "KTD",
      -  "TABL",
      -  "VIEW",
      -  "DOMA",
      -  "DTEL",
      -  "TRAN",
      -  "TTYP",
      -  "TABLE_CONTENTS",
      -  "TABLE_QUERY",
      -  "DEVC",
      -  "SOBJ",
      -  "SYSTEM",
      -  "COMPONENTS",
      -  "MSAG",
      -  "MESSAGES",
      -  "TEXT_ELEMENTS",
      -  "VARIANTS",
      -  "BSP",
      -  "BSP_DEPLOY",
      -  "API_STATE",
      -  "INACTIVE_OBJECTS",
      -  "AUTH",
      -  "FEATURE_TOGGLE",
      -  "FTG2",
      -  "ENHO",
      -  "VERSIONS",
      -  "VERSION_SOURCE",
      -  "DESD",
      -  "DTSC",
      -  "CSNM",
      -  "EVTB",
      -  "EVTO",
      -  "COTA"
      -]New value: +[
      +  "PROG",
      +  "CLAS",
      +  "INTF",
      +  "FUNC",
      +  "FUGR",
      +  "INCL",
      +  "DDLS",
      +  "DCLS",
      +  "DDLX",
      +  "BDEF",
      +  "SRVD",
      +  "SRVB",
      +  "SKTD",
      +  "KTD",
      +  "TABL",
      +  "VIEW",
      +  "DOMA",
      +  "DTEL",
      +  "TRAN",
      +  "TTYP",
      +  "TABLE_CONTENTS",
      +  "TABLE_QUERY",
      +  "DEVC",
      +  "SOBJ",
      +  "SYSTEM",
      +  "COMPONENTS",
      +  "MSAG",
      +  "MESSAGES",
      +  "TEXT_ELEMENTS",
      +  "VARIANTS",
      +  "BSP",
      +  "BSP_DEPLOY",
      +  "API_STATE",
      +  "INACTIVE_OBJECTS",
      +  "AUTH",
      +  "FEATURE_TOGGLE",
      +  "FTG2",
      +  "ENHO",
      +  "VERSIONS",
      +  "VERSION_SOURCE",
      +  "DESD",
      +  "DTSC",
      +  "CSNM",
      +  "EVTB",
      +  "EVTO",
      +  "COTA",
      +  "DSFD",
      +  "DTDC",
      +  "UIAD"
      +]
  8. Changed2 schema fields changedv0.9.23
    • addedInput schema / properties / fromLabel
      Added value: +{
      +  "description": "action=\"diff\" optional display label for the OLD side in the summary and patch header, e.g. \"DNT-6-6: Validate discounts (DS7K900123)\". Does not affect source resolution.",
      +  "type": "string"
      +}
    • addedInput schema / properties / toLabel
      Added value: +{
      +  "description": "action=\"diff\" optional display label for the NEW side in the summary and patch header, e.g. \"active\" or \"inactive draft\". Does not affect source resolution.",
      +  "type": "string"
      +}
  9. Changed1 schema field changedv0.9.21
    • changedInput schema / properties / type / enum
      Previous value: -[
      -  "PROG",
      -  "CLAS",
      -  "INTF",
      -  "FUNC",
      -  "FUGR",
      -  "INCL",
      -  "DDLS",
      -  "DCLS",
      -  "DDLX",
      -  "BDEF",
      -  "SRVD",
      -  "SRVB",
      -  "SKTD",
      -  "KTD",
      -  "TABL",
      -  "VIEW",
      -  "DOMA",
      -  "DTEL",
      -  "TRAN",
      -  "TABLE_CONTENTS",
      -  "TABLE_QUERY",
      -  "DEVC",
      -  "SOBJ",
      -  "SYSTEM",
      -  "COMPONENTS",
      -  "MSAG",
      -  "MESSAGES",
      -  "TEXT_ELEMENTS",
      -  "VARIANTS",
      -  "BSP",
      -  "BSP_DEPLOY",
      -  "API_STATE",
      -  "INACTIVE_OBJECTS",
      -  "AUTH",
      -  "FEATURE_TOGGLE",
      -  "FTG2",
      -  "ENHO",
      -  "VERSIONS",
      -  "VERSION_SOURCE",
      -  "DESD",
      -  "DTSC",
      -  "CSNM",
      -  "EVTB",
      -  "EVTO",
      -  "COTA"
      -]New value: +[
      +  "PROG",
      +  "CLAS",
      +  "INTF",
      +  "FUNC",
      +  "FUGR",
      +  "INCL",
      +  "DDLS",
      +  "DCLS",
      +  "DDLX",
      +  "BDEF",
      +  "SRVD",
      +  "SRVB",
      +  "SKTD",
      +  "KTD",
      +  "TABL",
      +  "VIEW",
      +  "DOMA",
      +  "DTEL",
      +  "TRAN",
      +  "TTYP",
      +  "TABLE_CONTENTS",
      +  "TABLE_QUERY",
      +  "DEVC",
      +  "SOBJ",
      +  "SYSTEM",
      +  "COMPONENTS",
      +  "MSAG",
      +  "MESSAGES",
      +  "TEXT_ELEMENTS",
      +  "VARIANTS",
      +  "BSP",
      +  "BSP_DEPLOY",
      +  "API_STATE",
      +  "INACTIVE_OBJECTS",
      +  "AUTH",
      +  "FEATURE_TOGGLE",
      +  "FTG2",
      +  "ENHO",
      +  "VERSIONS",
      +  "VERSION_SOURCE",
      +  "DESD",
      +  "DTSC",
      +  "CSNM",
      +  "EVTB",
      +  "EVTO",
      +  "COTA"
      +]
  10. Changed3 schema fields changedv0.9.20
    • changedInput schema / properties / grep / description
      Previous value: -"Regex pattern (case-insensitive) to search within the object source. Returns only matching lines with 1-based line numbers and ±3 context lines, instead of the full source — token-efficient. For CLAS, matches are annotated with the owning class/method; combine with include= to scope a section, but do NOT combine with method= (use grep to find, then method= to read). Works for source-bearing types (CLAS, INTF, DDLS, DCLS, BDEF, SRVD, SRVB, SKTD, DDLX, TABL, PROG, FUNC, FUGR, INCL, VIEW). Falls back to a literal search when the pattern is not valid regex."New value: +"Regex pattern (case-insensitive) to search within the object source. Returns only matching lines with 1-based line numbers and ±3 context lines, instead of the full source — token-efficient. For CLAS, matches are annotated with the owning class/method; combine with include= to scope a section, but do NOT combine with method= (use grep to find, then method= to read). Works for source-bearing types (CLAS, INTF, DDLS, DCLS, BDEF, SRVD, SRVB, SKTD/KTD, DDLX, TABL, PROG, FUNC, FUGR, INCL, VIEW). Falls back to a literal search when the pattern is not valid regex."
    • changedInput schema / properties / type / description
      Previous value: -"Object type to read (on-prem): PROG, CLAS, INTF, FUNC, FUGR, INCL, DDLS, DCLS, DDLX, BDEF, SRVD, SRVB, SKTD, TABL (transparent tables and DDIC structures), VIEW, DOMA, DTEL, MSAG, TRAN, TABLE_CONTENTS, TABLE_QUERY, DEVC, SOBJ, SYSTEM, COMPONENTS, TEXT_ELEMENTS, VARIANTS, BSP, BSP_DEPLOY, API_STATE, INACTIVE_OBJECTS, AUTH, FEATURE_TOGGLE, ENHO, VERSIONS, VERSION_SOURCE. Server-driven objects (ABAP Platform 2025 / SAP_BASIS 8.16+, discovery-gated, return JSON metadata + AFF JSON source): DESD (CDS Logical External Schema), EVTB (RAP Event Binding), EVTO (RAP Event Object), DTSC (CDS Static Cache), CSNM (Core Schema Notation Model), COTA (Communication Target). Deprecated aliases: MESSAGES (use MSAG), FTG2 (use FEATURE_TOGGLE)."New value: +"Object type to read (on-prem): PROG, CLAS, INTF, FUNC, FUGR, INCL, DDLS, DCLS, DDLX, BDEF, SRVD, SRVB, SKTD or KTD (Knowledge Transfer Documents), TABL (transparent tables and DDIC structures), VIEW, DOMA, DTEL, MSAG, TRAN, TABLE_CONTENTS, TABLE_QUERY, DEVC, SOBJ, SYSTEM, COMPONENTS, TEXT_ELEMENTS, VARIANTS, BSP, BSP_DEPLOY, API_STATE, INACTIVE_OBJECTS, AUTH, FEATURE_TOGGLE, ENHO, VERSIONS, VERSION_SOURCE. Server-driven objects (ABAP Platform 2025 / SAP_BASIS 8.16+, discovery-gated, return JSON metadata + AFF JSON source): DESD (CDS Logical External Schema), EVTB (RAP Event Binding), EVTO (RAP Event Object), DTSC (CDS Static Cache), CSNM (Core Schema Notation Model), COTA (Communication Target). Deprecated aliases: MESSAGES (use MSAG), FTG2 (use FEATURE_TOGGLE)."
    • changedInput schema / properties / type / enum
      Previous value: -[
      -  "PROG",
      -  "CLAS",
      -  "INTF",
      -  "FUNC",
      -  "FUGR",
      -  "INCL",
      -  "DDLS",
      -  "DCLS",
      -  "DDLX",
      -  "BDEF",
      -  "SRVD",
      -  "SRVB",
      -  "SKTD",
      -  "TABL",
      -  "VIEW",
      -  "DOMA",
      -  "DTEL",
      -  "TRAN",
      -  "TABLE_CONTENTS",
      -  "TABLE_QUERY",
      -  "DEVC",
      -  "SOBJ",
      -  "SYSTEM",
      -  "COMPONENTS",
      -  "MSAG",
      -  "MESSAGES",
      -  "TEXT_ELEMENTS",
      -  "VARIANTS",
      -  "BSP",
      -  "BSP_DEPLOY",
      -  "API_STATE",
      -  "INACTIVE_OBJECTS",
      -  "AUTH",
      -  "FEATURE_TOGGLE",
      -  "FTG2",
      -  "ENHO",
      -  "VERSIONS",
      -  "VERSION_SOURCE",
      -  "DESD",
      -  "DTSC",
      -  "CSNM",
      -  "EVTB",
      -  "EVTO",
      -  "COTA"
      -]New value: +[
      +  "PROG",
      +  "CLAS",
      +  "INTF",
      +  "FUNC",
      +  "FUGR",
      +  "INCL",
      +  "DDLS",
      +  "DCLS",
      +  "DDLX",
      +  "BDEF",
      +  "SRVD",
      +  "SRVB",
      +  "SKTD",
      +  "KTD",
      +  "TABL",
      +  "VIEW",
      +  "DOMA",
      +  "DTEL",
      +  "TRAN",
      +  "TABLE_CONTENTS",
      +  "TABLE_QUERY",
      +  "DEVC",
      +  "SOBJ",
      +  "SYSTEM",
      +  "COMPONENTS",
      +  "MSAG",
      +  "MESSAGES",
      +  "TEXT_ELEMENTS",
      +  "VARIANTS",
      +  "BSP",
      +  "BSP_DEPLOY",
      +  "API_STATE",
      +  "INACTIVE_OBJECTS",
      +  "AUTH",
      +  "FEATURE_TOGGLE",
      +  "FTG2",
      +  "ENHO",
      +  "VERSIONS",
      +  "VERSION_SOURCE",
      +  "DESD",
      +  "DTSC",
      +  "CSNM",
      +  "EVTB",
      +  "EVTO",
      +  "COTA"
      +]
  11. Changed3 schema fields changedv0.9.18
    • addedInput schema / properties / action
      Added value: +{
      +  "description": "Set to \"diff\" for a unified diff between two source versions (uses from/to) — cheaper than fetching both sources. Source types only: PROG, CLAS, INTF, FUNC, FUGR, INCL, DDLS, DCLS, BDEF, SRVD, DDLX, TABL.",
      +  "enum": [
      +    "diff"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / from
      Added value: +{
      +  "description": "action=\"diff\" OLD side: \"active\" (default), \"inactive\", a revision id from SAPRead(type=\"VERSIONS\"), or a /sap/bc/adt/ revision URI.",
      +  "type": "string"
      +}
    • addedInput schema / properties / to
      Added value: +{
      +  "description": "action=\"diff\" NEW side (default \"inactive\" = pending unactivated changes). Same values as from.",
      +  "type": "string"
      +}
  12. Changed1 schema field changedv0.9.14
    • addedInput schema / properties / grep / maxLength
      Added value: +512
  13. Changed4 schema fields changedv0.9.13
    • changedInput schema / properties / expand_includes / description
      Previous value: -"For FUGR type only. When true, expands all INCLUDE statements and returns the full source of each include inline."New value: +"For FUGR type only. When true, recursively expands the function group include tree — the main source plus all nested INCLUDEs (the FUNCTION...ENDFUNCTION bodies live in nested LZ<grp>U01/U02 includes, so a flat one-level walk misses them). Each block is prefixed with a \"=== name ===\" marker; depth/count-capped. Dynpros and GUI status are not included (ADT does not expose them over REST)."
    • changedInput schema / properties / grep / description
      Previous value: -"Regex pattern (case-insensitive) to search within the object source. Returns only matching lines with 1-based line numbers and ±3 context lines, instead of the full source — token-efficient. For CLAS, matches are annotated with the owning class/method; combine with include= to scope a section, but do NOT combine with method= (use grep to find, then method= to read). Works for source-bearing types (CLAS, INTF, DDLS, DCLS, BDEF, SRVD, DDLX, TABL, PROG, FUNC, INCL, VIEW). Falls back to a literal search when the pattern is not valid regex."New value: +"Regex pattern (case-insensitive) to search within the object source. Returns only matching lines with 1-based line numbers and ±3 context lines, instead of the full source — token-efficient. For CLAS, matches are annotated with the owning class/method; combine with include= to scope a section, but do NOT combine with method= (use grep to find, then method= to read). Works for source-bearing types (CLAS, INTF, DDLS, DCLS, BDEF, SRVD, SRVB, SKTD, DDLX, TABL, PROG, FUNC, FUGR, INCL, VIEW). Falls back to a literal search when the pattern is not valid regex."
    • changedInput schema / properties / type / description
      Previous value: -"Object type to read (on-prem): PROG, CLAS, INTF, FUNC, FUGR, INCL, DDLS, DCLS, DDLX, BDEF, SRVD, SRVB, SKTD, TABL (transparent tables and DDIC structures), VIEW, DOMA, DTEL, MSAG, TRAN, TABLE_CONTENTS, TABLE_QUERY, DEVC, SOBJ, SYSTEM, COMPONENTS, TEXT_ELEMENTS, VARIANTS, BSP, BSP_DEPLOY, API_STATE, INACTIVE_OBJECTS, AUTH, FEATURE_TOGGLE, ENHO, VERSIONS, VERSION_SOURCE. Deprecated aliases: MESSAGES (use MSAG), FTG2 (use FEATURE_TOGGLE)."New value: +"Object type to read (on-prem): PROG, CLAS, INTF, FUNC, FUGR, INCL, DDLS, DCLS, DDLX, BDEF, SRVD, SRVB, SKTD, TABL (transparent tables and DDIC structures), VIEW, DOMA, DTEL, MSAG, TRAN, TABLE_CONTENTS, TABLE_QUERY, DEVC, SOBJ, SYSTEM, COMPONENTS, TEXT_ELEMENTS, VARIANTS, BSP, BSP_DEPLOY, API_STATE, INACTIVE_OBJECTS, AUTH, FEATURE_TOGGLE, ENHO, VERSIONS, VERSION_SOURCE. Server-driven objects (ABAP Platform 2025 / SAP_BASIS 8.16+, discovery-gated, return JSON metadata + AFF JSON source): DESD (CDS Logical External Schema), EVTB (RAP Event Binding), EVTO (RAP Event Object), DTSC (CDS Static Cache), CSNM (Core Schema Notation Model), COTA (Communication Target). Deprecated aliases: MESSAGES (use MSAG), FTG2 (use FEATURE_TOGGLE)."
    • changedInput schema / properties / type / enum
      Previous value: -[
      -  "PROG",
      -  "CLAS",
      -  "INTF",
      -  "FUNC",
      -  "FUGR",
      -  "INCL",
      -  "DDLS",
      -  "DCLS",
      -  "DDLX",
      -  "BDEF",
      -  "SRVD",
      -  "SRVB",
      -  "SKTD",
      -  "TABL",
      -  "VIEW",
      -  "DOMA",
      -  "DTEL",
      -  "TRAN",
      -  "TABLE_CONTENTS",
      -  "TABLE_QUERY",
      -  "DEVC",
      -  "SOBJ",
      -  "SYSTEM",
      -  "COMPONENTS",
      -  "MSAG",
      -  "MESSAGES",
      -  "TEXT_ELEMENTS",
      -  "VARIANTS",
      -  "BSP",
      -  "BSP_DEPLOY",
      -  "API_STATE",
      -  "INACTIVE_OBJECTS",
      -  "AUTH",
      -  "FEATURE_TOGGLE",
      -  "FTG2",
      -  "ENHO",
      -  "VERSIONS",
      -  "VERSION_SOURCE"
      -]New value: +[
      +  "PROG",
      +  "CLAS",
      +  "INTF",
      +  "FUNC",
      +  "FUGR",
      +  "INCL",
      +  "DDLS",
      +  "DCLS",
      +  "DDLX",
      +  "BDEF",
      +  "SRVD",
      +  "SRVB",
      +  "SKTD",
      +  "TABL",
      +  "VIEW",
      +  "DOMA",
      +  "DTEL",
      +  "TRAN",
      +  "TABLE_CONTENTS",
      +  "TABLE_QUERY",
      +  "DEVC",
      +  "SOBJ",
      +  "SYSTEM",
      +  "COMPONENTS",
      +  "MSAG",
      +  "MESSAGES",
      +  "TEXT_ELEMENTS",
      +  "VARIANTS",
      +  "BSP",
      +  "BSP_DEPLOY",
      +  "API_STATE",
      +  "INACTIVE_OBJECTS",
      +  "AUTH",
      +  "FEATURE_TOGGLE",
      +  "FTG2",
      +  "ENHO",
      +  "VERSIONS",
      +  "VERSION_SOURCE",
      +  "DESD",
      +  "DTSC",
      +  "CSNM",
      +  "EVTB",
      +  "EVTO",
      +  "COTA"
      +]
  14. Changed6 schema fields changedv0.9.7
    • addedInput schema / properties / columns
      Added value: +{
      +  "description": "For TABLE_QUERY: columns to SELECT (default: all). Example: [\"MATNR\",\"BWART\",\"BUDAT\",\"MENGE\"].",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / properties / grep
      Added value: +{
      +  "description": "Regex pattern (case-insensitive) to search within the object source. Returns only matching lines with 1-based line numbers and ±3 context lines, instead of the full source — token-efficient. For CLAS, matches are annotated with the owning class/method; combine with include= to scope a section, but do NOT combine with method= (use grep to find, then method= to read). Works for source-bearing types (CLAS, INTF, DDLS, DCLS, BDEF, SRVD, DDLX, TABL, PROG, FUNC, INCL, VIEW). Falls back to a literal search when the pattern is not valid regex.",
      +  "type": "string"
      +}
    • changedInput schema / properties / maxRows / description
      Previous value: -"For TABLE_CONTENTS: max rows to return (default 100)"New value: +"For TABLE_CONTENTS and TABLE_QUERY: max rows to return (default 100)"
    • changedInput schema / properties / type / description
      Previous value: -"Object type to read (on-prem): PROG, CLAS, INTF, FUNC, FUGR, INCL, DDLS, DCLS, DDLX, BDEF, SRVD, SRVB, SKTD, TABL (transparent tables and DDIC structures), VIEW, DOMA, DTEL, MSAG, TRAN, TABLE_CONTENTS, DEVC, SOBJ, SYSTEM, COMPONENTS, TEXT_ELEMENTS, VARIANTS, BSP, BSP_DEPLOY, API_STATE, INACTIVE_OBJECTS, AUTH, FEATURE_TOGGLE, ENHO, VERSIONS, VERSION_SOURCE. Deprecated aliases: MESSAGES (use MSAG), FTG2 (use FEATURE_TOGGLE)."New value: +"Object type to read (on-prem): PROG, CLAS, INTF, FUNC, FUGR, INCL, DDLS, DCLS, DDLX, BDEF, SRVD, SRVB, SKTD, TABL (transparent tables and DDIC structures), VIEW, DOMA, DTEL, MSAG, TRAN, TABLE_CONTENTS, TABLE_QUERY, DEVC, SOBJ, SYSTEM, COMPONENTS, TEXT_ELEMENTS, VARIANTS, BSP, BSP_DEPLOY, API_STATE, INACTIVE_OBJECTS, AUTH, FEATURE_TOGGLE, ENHO, VERSIONS, VERSION_SOURCE. Deprecated aliases: MESSAGES (use MSAG), FTG2 (use FEATURE_TOGGLE)."
    • changedInput schema / properties / type / enum
      Previous value: -[
      -  "PROG",
      -  "CLAS",
      -  "INTF",
      -  "FUNC",
      -  "FUGR",
      -  "INCL",
      -  "DDLS",
      -  "DCLS",
      -  "DDLX",
      -  "BDEF",
      -  "SRVD",
      -  "SRVB",
      -  "SKTD",
      -  "TABL",
      -  "VIEW",
      -  "DOMA",
      -  "DTEL",
      -  "TRAN",
      -  "TABLE_CONTENTS",
      -  "DEVC",
      -  "SOBJ",
      -  "SYSTEM",
      -  "COMPONENTS",
      -  "MSAG",
      -  "MESSAGES",
      -  "TEXT_ELEMENTS",
      -  "VARIANTS",
      -  "BSP",
      -  "BSP_DEPLOY",
      -  "API_STATE",
      -  "INACTIVE_OBJECTS",
      -  "AUTH",
      -  "FEATURE_TOGGLE",
      -  "FTG2",
      -  "ENHO",
      -  "VERSIONS",
      -  "VERSION_SOURCE"
      -]New value: +[
      +  "PROG",
      +  "CLAS",
      +  "INTF",
      +  "FUNC",
      +  "FUGR",
      +  "INCL",
      +  "DDLS",
      +  "DCLS",
      +  "DDLX",
      +  "BDEF",
      +  "SRVD",
      +  "SRVB",
      +  "SKTD",
      +  "TABL",
      +  "VIEW",
      +  "DOMA",
      +  "DTEL",
      +  "TRAN",
      +  "TABLE_CONTENTS",
      +  "TABLE_QUERY",
      +  "DEVC",
      +  "SOBJ",
      +  "SYSTEM",
      +  "COMPONENTS",
      +  "MSAG",
      +  "MESSAGES",
      +  "TEXT_ELEMENTS",
      +  "VARIANTS",
      +  "BSP",
      +  "BSP_DEPLOY",
      +  "API_STATE",
      +  "INACTIVE_OBJECTS",
      +  "AUTH",
      +  "FEATURE_TOGGLE",
      +  "FTG2",
      +  "ENHO",
      +  "VERSIONS",
      +  "VERSION_SOURCE"
      +]
    • addedInput schema / properties / where
      Added value: +{
      +  "description": "For TABLE_QUERY: structured WHERE conditions, ANDed together. Each item: {field, op, value?}. Allowed ops: =, !=, <>, <, <=, >, >=, LIKE, NOT LIKE, IN, NOT IN, IS NULL, IS NOT NULL. For IN/NOT IN: value must be a comma-separated list of single-quoted literals, e.g. \"'261','262'\". Subqueries are not allowed. Example: [{\"field\":\"MATNR\",\"op\":\"=\",\"value\":\"300006888\"},{\"field\":\"BUDAT_MKPF\",\"op\":\">=\",\"value\":\"20250101\"}].",
      +  "items": {
      +    "properties": {
      +      "field": {
      +        "description": "SAP field name (uppercase)",
      +        "type": "string"
      +      },
      +      "op": {
      +        "description": "Comparison operator",
      +        "type": "string"
      +      },
      +      "value": {
      +        "description": "Value to compare (omit for IS NULL / IS NOT NULL)",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "field",
      +      "op"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
  15. Addedv0.9.6
  16. Removedv0.9.3
  17. Changed1 schema field changedv0.9.2
    • addedInput schema / properties / maxResults
      Added value: +{
      +  "description": "For DEVC: max number of objects to list (default 200, clamped to [1, 1000]). Larger packages may be silently truncated by SAP at this limit; raise it if needed.",
      +  "type": "number"
      +}
  18. Changed2 schema fields changedv0.9.0
    • changedInput schema / properties / type / description
      Previous value: -"Object type to read (on-prem): PROG, CLAS, INTF, FUNC, FUGR, INCL, DDLS, DCLS, DDLX, BDEF, SRVD, SRVB, SKTD, TABL, VIEW, STRU, DOMA, DTEL, TRAN, TABLE_CONTENTS, DEVC, SOBJ, SYSTEM, COMPONENTS, MESSAGES, TEXT_ELEMENTS, VARIANTS, BSP, BSP_DEPLOY, API_STATE, INACTIVE_OBJECTS, AUTH, FTG2, ENHO, VERSIONS, VERSION_SOURCE."New value: +"Object type to read (on-prem): PROG, CLAS, INTF, FUNC, FUGR, INCL, DDLS, DCLS, DDLX, BDEF, SRVD, SRVB, SKTD, TABL (transparent tables and DDIC structures), VIEW, DOMA, DTEL, MSAG, TRAN, TABLE_CONTENTS, DEVC, SOBJ, SYSTEM, COMPONENTS, TEXT_ELEMENTS, VARIANTS, BSP, BSP_DEPLOY, API_STATE, INACTIVE_OBJECTS, AUTH, FEATURE_TOGGLE, ENHO, VERSIONS, VERSION_SOURCE. Deprecated aliases: MESSAGES (use MSAG), FTG2 (use FEATURE_TOGGLE)."
    • changedInput schema / properties / type / enum
      Previous value: -[
      -  "PROG",
      -  "CLAS",
      -  "INTF",
      -  "FUNC",
      -  "FUGR",
      -  "INCL",
      -  "DDLS",
      -  "DCLS",
      -  "DDLX",
      -  "BDEF",
      -  "SRVD",
      -  "SRVB",
      -  "SKTD",
      -  "TABL",
      -  "VIEW",
      -  "STRU",
      -  "DOMA",
      -  "DTEL",
      -  "TRAN",
      -  "TABLE_CONTENTS",
      -  "DEVC",
      -  "SOBJ",
      -  "SYSTEM",
      -  "COMPONENTS",
      -  "MESSAGES",
      -  "TEXT_ELEMENTS",
      -  "VARIANTS",
      -  "BSP",
      -  "BSP_DEPLOY",
      -  "API_STATE",
      -  "INACTIVE_OBJECTS",
      -  "AUTH",
      -  "FTG2",
      -  "ENHO",
      -  "VERSIONS",
      -  "VERSION_SOURCE"
      -]New value: +[
      +  "PROG",
      +  "CLAS",
      +  "INTF",
      +  "FUNC",
      +  "FUGR",
      +  "INCL",
      +  "DDLS",
      +  "DCLS",
      +  "DDLX",
      +  "BDEF",
      +  "SRVD",
      +  "SRVB",
      +  "SKTD",
      +  "TABL",
      +  "VIEW",
      +  "DOMA",
      +  "DTEL",
      +  "TRAN",
      +  "TABLE_CONTENTS",
      +  "DEVC",
      +  "SOBJ",
      +  "SYSTEM",
      +  "COMPONENTS",
      +  "MSAG",
      +  "MESSAGES",
      +  "TEXT_ELEMENTS",
      +  "VARIANTS",
      +  "BSP",
      +  "BSP_DEPLOY",
      +  "API_STATE",
      +  "INACTIVE_OBJECTS",
      +  "AUTH",
      +  "FEATURE_TOGGLE",
      +  "FTG2",
      +  "ENHO",
      +  "VERSIONS",
      +  "VERSION_SOURCE"
      +]
  19. Changed9 schema fields changedv0.7.2
    • addedInput schema / properties / force_refresh
      Added value: +{
      +  "description": "For source reads: bypass cached source and inactive-list state before reading. Use when you know the object changed outside ARC-1.",
      +  "type": "boolean"
      +}
    • changedInput schema / properties / group / description
      Previous value: -"For FUNC type. The function group containing the function module. Optional — auto-resolved via SAPSearch if omitted."New value: +"For FUNC/VERSIONS type. The function group containing the function module. Optional for FUNC — auto-resolved via SAPSearch if omitted. Required for VERSIONS when querying a function module revision feed."
    • changedInput schema / properties / include / description
      Previous value: -"For CLAS: DO NOT use this to read the main class — omit include entirely to get the full class source (CLASS DEFINITION + CLASS IMPLEMENTATION). This parameter reads class-LOCAL auxiliary files only: definitions (local type definitions, NOT the main class definition), implementations (local helper class implementations), macros, testclasses (ABAP Unit). Comma-separated. Not all classes have these sections — missing ones return a note instead of an error. For DDLS: use include=\"elements\" to get a structured field list extracted from the CDS DDL source — shows key fields, aliases, associations, and expression types (calculated, case, cast). Useful for understanding CDS entity structure without parsing raw DDL."New value: +"For CLAS: DO NOT use this to read the main class — omit include entirely to get the full class source (CLASS DEFINITION + CLASS IMPLEMENTATION). This parameter reads class-LOCAL auxiliary files only: definitions (local type definitions, NOT the main class definition), implementations (local helper class implementations), macros, testclasses (ABAP Unit). Comma-separated. Not all classes have these sections — missing ones return a note instead of an error. For DDLS: use include=\"elements\" to get a structured field list extracted from the CDS DDL source — shows key fields, aliases, associations, and expression types (calculated, case, cast). Useful for understanding CDS entity structure without parsing raw DDL. For VERSIONS (CLAS): include selects the class include history to query (main, definitions, implementations, macros, testclasses)."
    • changedInput schema / properties / objectType / description
      Previous value: -"For API_STATE: SAP object type (CLAS, INTF, PROG, FUGR, TABL, DDLS, etc.) — auto-detected from name if omitted"New value: +"For API_STATE and VERSIONS: SAP object type (CLAS, INTF, PROG, FUNC, INCL, DDLS, DCLS, BDEF, SRVD, etc.). For API_STATE: auto-detected from name if omitted. For VERSIONS: required to pick the correct revisions endpoint (e.g., \"FUNC\" + group for function modules); inferred from CL_/IF_/CX_ name prefixes when possible, defaults to PROG."
    • changedInput schema / properties / sqlFilter / description
      Previous value: -"For TABLE_CONTENTS: SQL WHERE clause filter"New value: +"For TABLE_CONTENTS: condition expression only (no WHERE, no SELECT), e.g. \"MANDT = '100'\" or \"MATNR LIKE 'Z%'\"."
    • changedInput schema / properties / type / description
      Previous value: -"Object type to read"New value: +"Object type to read (on-prem): PROG, CLAS, INTF, FUNC, FUGR, INCL, DDLS, DCLS, DDLX, BDEF, SRVD, SRVB, SKTD, TABL, VIEW, STRU, DOMA, DTEL, TRAN, TABLE_CONTENTS, DEVC, SOBJ, SYSTEM, COMPONENTS, MESSAGES, TEXT_ELEMENTS, VARIANTS, BSP, BSP_DEPLOY, API_STATE, INACTIVE_OBJECTS, AUTH, FTG2, ENHO, VERSIONS, VERSION_SOURCE."
    • changedInput schema / properties / type / enum
      Previous value: -[
      -  "PROG",
      -  "CLAS",
      -  "INTF",
      -  "FUNC",
      -  "FUGR",
      -  "INCL",
      -  "DDLS",
      -  "DDLX",
      -  "BDEF",
      -  "SRVD",
      -  "SRVB",
      -  "TABL",
      -  "VIEW",
      -  "STRU",
      -  "DOMA",
      -  "DTEL",
      -  "TRAN",
      -  "TABLE_CONTENTS",
      -  "DEVC",
      -  "SOBJ",
      -  "SYSTEM",
      -  "COMPONENTS",
      -  "MESSAGES",
      -  "TEXT_ELEMENTS",
      -  "VARIANTS",
      -  "BSP",
      -  "BSP_DEPLOY",
      -  "API_STATE",
      -  "INACTIVE_OBJECTS"
      -]New value: +[
      +  "PROG",
      +  "CLAS",
      +  "INTF",
      +  "FUNC",
      +  "FUGR",
      +  "INCL",
      +  "DDLS",
      +  "DCLS",
      +  "DDLX",
      +  "BDEF",
      +  "SRVD",
      +  "SRVB",
      +  "SKTD",
      +  "TABL",
      +  "VIEW",
      +  "STRU",
      +  "DOMA",
      +  "DTEL",
      +  "TRAN",
      +  "TABLE_CONTENTS",
      +  "DEVC",
      +  "SOBJ",
      +  "SYSTEM",
      +  "COMPONENTS",
      +  "MESSAGES",
      +  "TEXT_ELEMENTS",
      +  "VARIANTS",
      +  "BSP",
      +  "BSP_DEPLOY",
      +  "API_STATE",
      +  "INACTIVE_OBJECTS",
      +  "AUTH",
      +  "FTG2",
      +  "ENHO",
      +  "VERSIONS",
      +  "VERSION_SOURCE"
      +]
    • addedInput schema / properties / version
      Added value: +{
      +  "description": "Source version to read. \"active\" (default) returns the last activated version. \"inactive\" returns the user's unactivated draft or active if no draft exists. \"auto\" returns the draft if one exists, else active.",
      +  "enum": [
      +    "active",
      +    "inactive",
      +    "auto"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / versionUri
      Added value: +{
      +  "description": "For VERSION_SOURCE: URI of a specific revision from SAPRead(type=\"VERSIONS\") response (.revisions[].uri). Must start with /sap/bc/adt/.",
      +  "type": "string"
      +}
  20. First observedv0.6.4

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With readOnlyHint=true already declaring safety, the description still adds real behavior: version defaults (active vs inactive vs auto), server-driven types erroring when SAP cannot confirm a version, TABLE_QUERY rows/byte caps, and the 752+/758 operator restrictions. It never mentions return shape or caching semantics beyond the force_refresh hint, which keeps it from a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Roughly half a dozen front-loaded sentences with sibling routing first and type-specific notes after; no filler. The telegraphic fragments ('INACTIVE_OBJECTS: no name.', 'TABL/DTT: technical settings.') are efficient but require the reader to already know the surrounding mechanics, which is acceptable for a dispatcher of this size.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 27-parameter mega-dispatcher with no output schema, the description covers the high-traffic modes (source reads, CLAS method/include routing, DDIC metadata, TABLE_QUERY vs TABLE_CONTENTS, SYNTAX, diff) and the rest are documented in the fully-covered type enum. An agent can construct a correct call for common cases without opening anything else.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already carries parameter meaning and the baseline is 3. The description echoes a few constraints (omit format for DDIC, method='*' lists signatures, MAIN for global class declaration) but adds little cross-parameter insight not already present in the schema text.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a concrete verb and resource set ('Read SAP ABAP source, metadata and syntax results') and immediately routes source-explanation use cases to the SAPContext sibling. The scope is genuinely broad (50+ enum types), so an agent still needs the type enum to know what it can read, but the core read purpose is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit routing for the sibling ('For source purpose, explanations, specs, reviews or pre-change context, prefer SAPContext first') and disambiguates internal modes: TABLE_QUERY for multi-column filters/data preview vs TABLE_CONTENTS for single-column filters, SYNTAX as a read-only check, CLAS method='*' vs method='NAME' vs grep. No guidance covers the long tail of repository types, so it stops short of full when/when-not coverage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.