# Read-Only Tools - MCP ABAP ADT Server
Generated from code in `src/handlers/**` (not from docs).
- Level: Read-Only
- Total tools: 62
## Navigation
- [Read-Only Group](#read-only-group)
- [Behavior Definition](#read-only-behavior-definition)
- [ReadBehaviorDefinition](#readbehaviordefinition-read-only-behavior-definition)
- [Behavior Implementation](#read-only-behavior-implementation)
- [ReadBehaviorImplementation](#readbehaviorimplementation-read-only-behavior-implementation)
- [Class](#read-only-class)
- [ReadClass](#readclass-read-only-class)
- [Common](#read-only-common)
- [GetObjectVersionDiff](#getobjectversiondiff-read-only-common)
- [GetObjectVersions](#getobjectversions-read-only-common)
- [GetObjectVersionSource](#getobjectversionsource-read-only-common)
- [Data Element](#read-only-data-element)
- [ReadDataElement](#readdataelement-read-only-data-element)
- [Ddl](#read-only-ddl)
- [ReadDdl](#readddl-read-only-ddl)
- [Domain](#read-only-domain)
- [ReadDomain](#readdomain-read-only-domain)
- [Enhancement](#read-only-enhancement)
- [GetEnhancementImpl](#getenhancementimpl-read-only-enhancement)
- [GetEnhancements](#getenhancements-read-only-enhancement)
- [GetEnhancementSpot](#getenhancementspot-read-only-enhancement)
- [Function Group](#read-only-function-group)
- [ReadFunctionGroup](#readfunctiongroup-read-only-function-group)
- [Function Include](#read-only-function-include)
- [ListFunctionGroupIncludes](#listfunctiongroupincludes-read-only-function-include)
- [ListFunctionModules](#listfunctionmodules-read-only-function-include)
- [ReadFunctionInclude](#readfunctioninclude-read-only-function-include)
- [Function Module](#read-only-function-module)
- [ReadFunctionModule](#readfunctionmodule-read-only-function-module)
- [Include](#read-only-include)
- [GetInclude](#getinclude-read-only-include)
- [GetIncludesList](#getincludeslist-read-only-include)
- [Interface](#read-only-interface)
- [ReadInterface](#readinterface-read-only-interface)
- [Metadata Extension](#read-only-metadata-extension)
- [ReadMetadataExtension](#readmetadataextension-read-only-metadata-extension)
- [Package](#read-only-package)
- [GetPackageContents](#getpackagecontents-read-only-package)
- [ReadPackage](#readpackage-read-only-package)
- [Program](#read-only-program)
- [ReadProgram](#readprogram-read-only-program)
- [Search](#read-only-search)
- [GetObjectsByType](#getobjectsbytype-read-only-search)
- [GetObjectsList](#getobjectslist-read-only-search)
- [SearchObject](#searchobject-read-only-search)
- [Service Binding](#read-only-service-binding)
- [ReadServiceBinding](#readservicebinding-read-only-service-binding)
- [Service Definition](#read-only-service-definition)
- [ReadServiceDefinition](#readservicedefinition-read-only-service-definition)
- [Structure](#read-only-structure)
- [GetStructuresList](#getstructureslist-read-only-structure)
- [ReadStructure](#readstructure-read-only-structure)
- [System](#read-only-system)
- [DescribeByList](#describebylist-read-only-system)
- [GetAbapAST](#getabapast-read-only-system)
- [GetAbapSemanticAnalysis](#getabapsemanticanalysis-read-only-system)
- [GetAbapSystemSymbols](#getabapsystemsymbols-read-only-system)
- [GetAdtTypes](#getadttypes-read-only-system)
- [GetInactiveObjects](#getinactiveobjects-read-only-system)
- [GetObjectInfo](#getobjectinfo-read-only-system)
- [GetObjectNodeFromCache](#getobjectnodefromcache-read-only-system)
- [GetObjectStructure](#getobjectstructure-read-only-system)
- [GetSession](#getsession-read-only-system)
- [GetSqlQuery](#getsqlquery-read-only-system)
- [GetTransaction](#gettransaction-read-only-system)
- [GetTypeInfo](#gettypeinfo-read-only-system)
- [GetWhereUsed](#getwhereused-read-only-system)
- [RuntimeAnalyzeProfilerTrace](#runtimeanalyzeprofilertrace-read-only-system)
- [RuntimeCreateProfilerTraceParameters](#runtimecreateprofilertraceparameters-read-only-system)
- [RuntimeGetDumpById](#runtimegetdumpbyid-read-only-system)
- [RuntimeGetGatewayErrorLog](#runtimegetgatewayerrorlog-read-only-system)
- [RuntimeGetProfilerTraceData](#runtimegetprofilertracedata-read-only-system)
- [RuntimeListFeeds](#runtimelistfeeds-read-only-system)
- [RuntimeListProfilerTraceFiles](#runtimelistprofilertracefiles-read-only-system)
- [RuntimeListSystemMessages](#runtimelistsystemmessages-read-only-system)
- [RuntimeRunClass](#runtimerunclass-read-only-system)
- [RuntimeRunClassWithProfiling](#runtimerunclasswithprofiling-read-only-system)
- [RuntimeRunProgram](#runtimerunprogram-read-only-system)
- [RuntimeRunProgramWithProfiling](#runtimerunprogramwithprofiling-read-only-system)
- [SearchSource](#searchsource-read-only-system)
- [Table](#read-only-table)
- [GetTableContents](#gettablecontents-read-only-table)
- [ReadTable](#readtable-read-only-table)
- [Transport](#read-only-transport)
- [GetTransport](#gettransport-read-only-transport)
- [ListTransports](#listtransports-read-only-transport)
---
## Read-Only Group
### Read-Only / Behavior Definition
#### ReadBehaviorDefinition (Read-Only / Behavior Definition)
**Description:** Operation: Read, Create, Update. Subject: BehaviorDefinition. Will be useful for reading, creating, or updating behavior definition. [read-only] Read ABAP RAP behavior definition (BDEF) source code and metadata. Answers: "show behavior definition", "display BDEF source", "view RAP behavior X", "get behavior definition code". Returns source code, package, responsible, description.
**Source:** `src/handlers/behavior_definition/readonly/handleReadBehaviorDefinition.ts`
**Parameters:**
- `behavior_definition_name` (string, required) - Behavior definition name (e.g., Z_MY_BDEF).
- `version` (string, optional (default: active)) - Version to read: "active" (default) or "inactive".
---
### Read-Only / Behavior Implementation
#### ReadBehaviorImplementation (Read-Only / Behavior Implementation)
**Description:** [read-only] Read ABAP RAP behavior implementation source code and metadata. Answers: "show behavior implementation", "display behavior pool code", "view RAP implementation X". Returns source code, package, responsible, description.
**Source:** `src/handlers/behavior_implementation/readonly/handleReadBehaviorImplementation.ts`
**Parameters:**
- `behavior_implementation_name` (string, required) - Behavior implementation name (e.g., ZBP_MY_CLASS).
- `version` (string, optional (default: active)) - Version to read: "active" (default) or "inactive".
---
### Read-Only / Class
#### ReadClass (Read-Only / Class)
**Description:** Operation: Read, Create, Update. Subject: Class. Will be useful for reading, creating, or updating class. [read-only] Read ABAP class source code and metadata. Answers: "show class code", "display class source", "view class definition/implementation", "get class X". Returns source code, package, responsible, description.
**Source:** `src/handlers/class/readonly/handleReadClass.ts`
**Parameters:**
- `class_name` (string, required) - Class name (e.g., ZCL_MY_CLASS).
- `version` (string, optional (default: active)) - Version to read: "active" (default) or "inactive".
---
### Read-Only / Common
#### GetObjectVersionDiff (Read-Only / Common)
**Description:** [read-only] Compute a unified diff between two object versions. Pass the two opaque content_uris from GetObjectVersions entries; returns the unified diff (jsdiff) of their sources.
**Source:** `src/handlers/common/readonly/handleGetObjectVersionDiff.ts`
**Parameters:**
- `content_uri_from` (string, required) - Opaque content_uri of the OLD/base version (from a GetObjectVersions entry).
- `content_uri_to` (string, required) - Opaque content_uri of the NEW/compare version (from a GetObjectVersions entry).
- `object_type` (string, required) - Object type (same value used in GetObjectVersions).
---
#### GetObjectVersions (Read-Only / Common)
**Description:** [read-only] List the version history of an ABAP object. Returns each version with its versionId, author, updatedAt, title and an opaque content_uri to fetch that version source via GetObjectVersionSource.
**Source:** `src/handlers/common/readonly/handleGetObjectVersions.ts`
**Parameters:**
- `function_group_name` (string, optional) - Owning function group name. Required when object_type is function_module.
- `object_name` (string, required) - Object name (e.g., ZCL_MY_CLASS, ZIF_MY_INTERFACE, Z_MY_TABLE).
- `object_type` (string, required) - Object type.
---
#### GetObjectVersionSource (Read-Only / Common)
**Description:** [read-only] Fetch the source code of a specific object version. Pass the opaque content_uri from a GetObjectVersions entry.
**Source:** `src/handlers/common/readonly/handleGetObjectVersionSource.ts`
**Parameters:**
- `content_uri` (string, required) - Opaque content_uri taken from a GetObjectVersions version entry.
- `object_type` (string, required) - Object type (same value used in GetObjectVersions).
---
### Read-Only / Data Element
#### ReadDataElement (Read-Only / Data Element)
**Description:** Operation: Read, Create, Update. Subject: DataElement. Will be useful for reading, creating, or updating data element. [read-only] Read ABAP data element definition and metadata. Answers: "show data element X", "display data element properties", "view DTEL definition", "get data element type". Returns definition, domain, package, responsible, description.
**Source:** `src/handlers/data_element/readonly/handleReadDataElement.ts`
**Parameters:**
- `data_element_name` (string, required) - Data element name (e.g., Z_MY_DATA_ELEMENT).
- `version` (string, optional (default: active)) - Version to read: "active" (default) or "inactive".
---
### Read-Only / Ddl
#### ReadDdl (Read-Only / Ddl)
**Description:** Operation: Read, Create, Update. Subject: DDL source. Will be useful for reading, creating, or updating a DDL source. [read-only] Read ABAP CDS view source code and metadata. Answers: "show CDS view source", "display view definition", "view CDS X", "get CDS code". Returns source code, package, responsible, description.
**Source:** `src/handlers/ddl/readonly/handleReadDdl.ts`
**Parameters:**
- `ddl_name` (string, required) - DDL source name (e.g., Z_MY_VIEW).
- `version` (string, optional (default: active)) - Version to read: "active" (default) or "inactive".
---
### Read-Only / Domain
#### ReadDomain (Read-Only / Domain)
**Description:** Operation: Read, Create, Update. Subject: Domain. Will be useful for reading, creating, or updating domain. [read-only] Read ABAP domain definition and metadata. Answers: "show domain X", "display domain fixed values", "view domain definition", "get domain properties". Returns definition, fixed values, package, responsible, description.
**Source:** `src/handlers/domain/readonly/handleReadDomain.ts`
**Parameters:**
- `domain_name` (string, required) - Domain name (e.g., Z_MY_DOMAIN).
- `version` (string, optional (default: active)) - Version to read: "active" (default) or "inactive".
---
### Read-Only / Enhancement
#### GetEnhancementImpl (Read-Only / Enhancement)
**Description:** [read-only] Retrieve source code of a specific enhancement implementation by its name and enhancement spot.
**Source:** `src/handlers/enhancement/readonly/handleGetEnhancementImpl.ts`
**Parameters:**
- `enhancement_name` (string, required) - [read-only] Name of the enhancement implementation
- `enhancement_spot` (string, required) - Name of the enhancement spot
---
#### GetEnhancements (Read-Only / Enhancement)
**Description:** [read-only] Retrieve a list of enhancements for a given ABAP object.
**Source:** `src/handlers/enhancement/readonly/handleGetEnhancements.ts`
**Parameters:**
- `object_name` (string, required) - Name of the ABAP object
- `object_type` (string, required) - [read-only] Type of the ABAP object
---
#### GetEnhancementSpot (Read-Only / Enhancement)
**Description:** [read-only] Retrieve metadata and list of implementations for a specific enhancement spot.
**Source:** `src/handlers/enhancement/readonly/handleGetEnhancementSpot.ts`
**Parameters:**
- `enhancement_spot` (string, required) - Name of the enhancement spot
---
### Read-Only / Function Group
#### ReadFunctionGroup (Read-Only / Function Group)
**Description:** [read-only] Read ABAP function group source code and metadata. Answers: "show function group code", "display FUGR source", "view function group X", "get function group includes". Returns source code, package, responsible, description.
**Source:** `src/handlers/function_group/readonly/handleReadFunctionGroup.ts`
**Parameters:**
- `function_group_name` (string, required) - Function group name (e.g., Z_MY_FG).
- `version` (string, optional (default: active)) - Version to read: "active" (default) or "inactive".
---
### Read-Only / Function Include
#### ListFunctionGroupIncludes (Read-Only / Function Include)
**Description:** [read-only] List the includes (TOP, custom) of an ABAP function group.
**Source:** `src/handlers/function_include/readonly/handleListFunctionGroupIncludes.ts`
**Parameters:**
- `function_group_name` (string, required) - Function group name (e.g., Z_MY_FG).
---
#### ListFunctionModules (Read-Only / Function Include)
**Description:** [read-only] List the function modules of an ABAP function group.
**Source:** `src/handlers/function_include/readonly/handleListFunctionModules.ts`
**Parameters:**
- `function_group_name` (string, required) - Function group name (e.g., Z_MY_FG).
---
#### ReadFunctionInclude (Read-Only / Function Include)
**Description:** [read-only] Read ABAP function group include source code and metadata. Answers: "show function group include code", "display include source", "view include of function group". Returns source code and include metadata.
**Source:** `src/handlers/function_include/readonly/handleReadFunctionInclude.ts`
**Parameters:**
- `function_group_name` (string, required) - Function group name containing the include (e.g., Z_MY_FG).
- `include_name` (string, required) - Include name (e.g., LZ_MY_FGTOP, LZ_MY_FGU01).
- `version` (string, optional (default: active)) - Version to read: "active" (default) or "inactive".
---
### Read-Only / Function Module
#### ReadFunctionModule (Read-Only / Function Module)
**Description:** Operation: Read, Create, Update. Subject: FunctionModule. Will be useful for reading, creating, or updating function module. [read-only] Read ABAP function module source code and metadata. Answers: "show function module code", "display FM source", "view function X", "get function module implementation". Returns source code, package, responsible, description.
**Source:** `src/handlers/function_module/readonly/handleReadFunctionModule.ts`
**Parameters:**
- `function_group_name` (string, required) - Function group name containing the function module (e.g., Z_MY_FG).
- `function_module_name` (string, required) - Function module name (e.g., Z_MY_FM).
- `version` (string, optional (default: active)) - Version to read: "active" (default) or "inactive".
---
### Read-Only / Include
#### GetInclude (Read-Only / Include)
**Description:** [read-only] Read ANY single ABAP include source by name, from anywhere in the repository (an include may live outside any single program tree). This is the correct tool for include names (PROG/I) — ReadProgram does not read includes.
**Source:** `src/handlers/include/readonly/handleGetInclude.ts`
**Parameters:**
- None
---
#### GetIncludesList (Read-Only / Include)
**Description:** [read-only] Recursively discover and list ALL include files within an ABAP program or include.
**Source:** `src/handlers/include/readonly/handleGetIncludesList.ts`
**Parameters:**
- `detailed` (boolean, optional (default: false)) - [read-only] If true, returns structured JSON with metadata and raw XML.
- `object_name` (string, required) - Name of the ABAP program or include
- `object_type` (string, required) - [read-only] ADT object type of the parent. Only these four values are supported: 'PROG/P' (program), 'PROG/I' (include), 'FUGR' (function group), 'CLAS/OC' (class). Any other value is rejected by the schema.
- `timeout` (number, optional) - [read-only] Timeout in ms for each ADT request.
---
### Read-Only / Interface
#### ReadInterface (Read-Only / Interface)
**Description:** Operation: Read, Create, Update. Subject: Interface. Will be useful for reading, creating, or updating interface. [read-only] Read ABAP interface source code and metadata. Answers: "show interface code", "display interface definition", "view interface X", "get interface source". Returns source code, package, responsible, description.
**Source:** `src/handlers/interface/readonly/handleReadInterface.ts`
**Parameters:**
- `interface_name` (string, required) - Interface name (e.g., ZIF_MY_INTERFACE).
- `version` (string, optional (default: active)) - Version to read: "active" (default) or "inactive".
---
### Read-Only / Metadata Extension
#### ReadMetadataExtension (Read-Only / Metadata Extension)
**Description:** Operation: Read, Create, Update. Subject: MetadataExtension. Will be useful for reading, creating, or updating metadata extension. [read-only] Read ABAP metadata extension (DDLX) source code and metadata. Answers: "show metadata extension", "display DDLX source", "view UI annotations", "get metadata extension X". Returns source code, package, responsible, description.
**Source:** `src/handlers/metadata_extension/readonly/handleReadMetadataExtension.ts`
**Parameters:**
- `metadata_extension_name` (string, required) - Metadata extension name (e.g., Z_MY_DDLX).
- `version` (string, optional (default: active)) - Version to read: "active" (default) or "inactive".
---
### Read-Only / Package
#### GetPackageContents (Read-Only / Package)
**Description:** [read-only] Retrieve objects inside an ABAP package as a flat list. Supports recursive traversal of subpackages.
**Source:** `src/handlers/package/readonly/handleGetPackageContents.ts`
**Parameters:**
- None
---
#### ReadPackage (Read-Only / Package)
**Description:** [read-only] Read ABAP package definition and metadata. Answers: "show package X", "display package properties", "view package contents", "get package info". Returns definition, super-package, responsible, description.
**Source:** `src/handlers/package/readonly/handleReadPackage.ts`
**Parameters:**
- `package_name` (string, required) - Package name (e.g., Z_MY_PACKAGE).
- `version` (string, optional (default: active)) - Version to read: "active" (default) or "inactive".
---
### Read-Only / Program
#### ReadProgram (Read-Only / Program)
**Description:** [read-only] Read a MAIN ABAP program (report) source code and metadata by name. Works ONLY for main programs (adtcore type PROG/P); NOT for includes — use GetInclude for include source. Include names (PROG/I) and other object types are rejected with error "invalid_object_type". Answers: "show program code", "display report source", "view program X", "get program source". Returns source code, package, responsible, description.
**Source:** `src/handlers/program/readonly/handleReadProgram.ts`
**Parameters:**
- `program_name` (string, required) - Program name (e.g., Z_MY_PROGRAM).
- `version` (string, optional (default: active)) - Version to read: "active" (default) or "inactive".
---
### Read-Only / Search
#### GetObjectsByType (Read-Only / Search)
**Description:** [read-only] Retrieves all ABAP objects of a specific type (classes, tables, programs, interfaces, etc.) under a given parent node. Useful for listing all objects of one type within a package or composite object.
**Source:** `src/handlers/search/readonly/handleGetObjectsByType.ts`
**Parameters:**
- `format` (string, optional) - [read-only] Output format: 'raw' or 'parsed'
- `node_id` (string, required) - [read-only] Node ID
- `parent_name` (string, required) - [read-only] Parent object name
- `parent_tech_name` (string, required) - [read-only] Parent technical name
- `parent_type` (string, required) - [read-only] Parent object type
- `with_short_descriptions` (boolean, optional) - [read-only] Include short descriptions
---
#### GetObjectsList (Read-Only / Search)
**Description:** [read-only] Recursively retrieves all child ABAP repository objects for a given parent — programs (PROG), function groups (FUGR), classes (CLAS), packages (DEVC), and other composite objects — including nested includes and subcomponents.
**Source:** `src/handlers/search/readonly/handleGetObjectsList.ts`
**Parameters:**
- `parent_name` (string, required) - [read-only] Parent object name
- `parent_tech_name` (string, required) - [read-only] Parent technical name
- `parent_type` (string, required) - [read-only] Parent object type (e.g. PROG/P, FUGR)
- `with_short_descriptions` (boolean, optional (default: true))) - [read-only] Include short descriptions (default: true)
---
#### SearchObject (Read-Only / Search)
**Description:** [read-only] Search ABAP repository by object name or wildcard pattern (e.g. 'ZOK*'). Answers: "find object X", "does X exist", "list objects matching...", "search for program/class/table by name". Supports all repository object types — optionally filter by type (PROG, CLAS, INTF, DEVC, TABL, DDLS, DTEL, FUGR, SRVD, SRVB, BDEF, DDLX, etc.).
**Source:** `src/handlers/search/readonly/handleSearchObject.ts`
**Parameters:**
- `maxResults` (number, optional (default: 100)) - [read-only] Maximum number of results to return
- `object_name` (string, required) - [read-only] Object name or mask (e.g. 'MARA*')
- `object_type` (string, optional) - [read-only] Optional ABAP object type (e.g. 'TABL', 'CLAS/OC')
---
### Read-Only / Service Binding
#### ReadServiceBinding (Read-Only / Service Binding)
**Description:** Operation: Read, Create, Update. Subject: ServiceBinding. Will be useful for reading, creating, or updating service binding. [read-only] Read ABAP service binding (SRVB) payload and metadata. Answers: "show service binding", "display SRVB config", "view service binding X", "get OData service binding". Returns payload, package, responsible, description.
**Source:** `src/handlers/service_binding/readonly/handleReadServiceBinding.ts`
**Parameters:**
- `service_binding_name` (string, required) - Service binding name (e.g., ZUI_MY_BINDING).
---
### Read-Only / Service Definition
#### ReadServiceDefinition (Read-Only / Service Definition)
**Description:** Operation: Read, Create, Update. Subject: ServiceDefinition. Will be useful for reading, creating, or updating service definition. [read-only] Read ABAP service definition (SRVD) source code and metadata. Answers: "show service definition", "display SRVD source", "view service definition X", "get service exposure". Returns source code, package, responsible, description.
**Source:** `src/handlers/service_definition/readonly/handleReadServiceDefinition.ts`
**Parameters:**
- `service_definition_name` (string, required) - Service definition name (e.g., Z_MY_SRVD).
- `version` (string, optional (default: active)) - Version to read: "active" (default) or "inactive".
---
### Read-Only / Structure
#### GetStructuresList (Read-Only / Structure)
**Description:** [read-only] Recursively list the structures embedded in an ABAP structure (.INCLUDE / append), as a tree.
**Source:** `src/handlers/structure/readonly/handleGetStructuresList.ts`
**Parameters:**
- `include_extensions` (boolean, optional (default: true)) - [read-only] Also find extension (append) structures via where-used (objects that `extend type with …`). Default true. Set false to skip the (slower) where-used lookups and return includes only.
- `structure_name` (string, required) - Structure name (e.g., Z_MY_STRUCTURE).
- `timeout` (number, optional) - [read-only] Timeout in ms for each ADT request.
- `version` (string, optional (default: active)) - Version to read: "active" (default) or "inactive".
---
#### ReadStructure (Read-Only / Structure)
**Description:** Operation: Read, Create, Update. Subject: Structure. Will be useful for reading, creating, or updating structure. [read-only] Read ABAP structure definition and metadata. Answers: "show structure fields", "display structure X", "view structure definition", "get structure components". Returns field list, package, responsible, description.
**Source:** `src/handlers/structure/readonly/handleReadStructure.ts`
**Parameters:**
- `structure_name` (string, required) - Structure name (e.g., Z_MY_STRUCTURE).
- `version` (string, optional (default: active)) - Version to read: "active" (default) or "inactive".
---
### Read-Only / System
#### DescribeByList (Read-Only / System)
**Description:** [read-only] Batch description for a list of ABAP objects. Input: objects: Array<{ name: string, type?: string }>. Each object may be of type: PROG/P, FUGR, PROG/I, CLAS/OC, FUGR/FC, INTF/OI, TABLE, STRUCTURE, etc.
**Source:** `src/handlers/system/readonly/handleDescribeByList.ts`
**Parameters:**
- `objects` (array, required) - [read-only] Object name (required, must be valid ABAP object name or mask)
---
#### GetAbapAST (Read-Only / System)
**Description:** [read-only] Parse ABAP code and return AST (Abstract Syntax Tree) in JSON format.
**Source:** `src/handlers/system/readonly/handleGetAbapAST.ts`
**Parameters:**
- `code` (string, required) - ABAP source code to parse
---
#### GetAbapSemanticAnalysis (Read-Only / System)
**Description:** [read-only] Perform semantic analysis on ABAP code and return symbols, types, scopes, and dependencies.
**Source:** `src/handlers/system/readonly/handleGetAbapSemanticAnalysis.ts`
**Parameters:**
- `code` (string, required) - ABAP source code to analyze
---
#### GetAbapSystemSymbols (Read-Only / System)
**Description:** [read-only] Resolve ABAP symbols from semantic analysis with SAP system information including types, scopes, descriptions, and packages.
**Source:** `src/handlers/system/readonly/handleGetAbapSystemSymbols.ts`
**Parameters:**
- `code` (string, required) - ABAP source code to analyze and resolve symbols for
---
#### GetAdtTypes (Read-Only / System)
**Description:** [read-only] Retrieve all valid ADT object types (CLAS, TABL, PROG, DEVC, FUGR, INTF, DDLS, DTEL, DOMA, SRVD, SRVB, BDEF, DDLX, etc.) or validate a specific type name.
**Source:** `src/handlers/system/readonly/handleGetAllTypes.ts`
**Parameters:**
- `validate_type` (string, optional) - Type name to validate (optional)
---
#### GetInactiveObjects (Read-Only / System)
**Description:** [read-only] Get a list of inactive ABAP objects — modified but not yet activated, pending activation. Shows classes, tables, CDS views, and other objects awaiting activation.
**Source:** `src/handlers/system/readonly/handleGetInactiveObjects.ts`
**Parameters:**
- None
---
#### GetObjectInfo (Read-Only / System)
**Description:** [read-only] Return ABAP object tree structure for packages (DEVC), classes (CLAS), programs (PROG), function groups (FUGR), and other objects. Shows root, group nodes, and terminal leaves up to maxDepth. Enrich each node with description and package via SearchObject if enrich=true.
**Source:** `src/handlers/system/readonly/handleGetObjectInfo.ts`
**Parameters:**
- `enrich` (boolean, optional (default: true)) - [read-only] Whether to add description and package via SearchObject (default true)
- `maxDepth` (integer, optional (default: 1)) - [read-only] Maximum tree depth (default depends on type)
- `parent_name` (string, required) - [read-only] Parent object name
- `parent_type` (string, required) - [read-only] Parent object type (e.g. DEVC/K, CLAS/OC, PROG/P)
---
#### GetObjectNodeFromCache (Read-Only / System)
**Description:** [read-only] Returns a node from the in-memory objects list cache by OBJECT_TYPE, OBJECT_NAME, TECH_NAME, and expands OBJECT_URI if present.
**Source:** `src/handlers/system/readonly/handleGetObjectNodeFromCache.ts`
**Parameters:**
- `object_name` (string, required) - [read-only] Object name
- `object_type` (string, required) - [read-only] Object type
- `tech_name` (string, required) - [read-only] Technical name
---
#### GetObjectStructure (Read-Only / System)
**Description:** [read-only] Retrieve ADT object structure as a compact JSON tree.
**Source:** `src/handlers/system/readonly/handleGetObjectStructure.ts`
**Parameters:**
- `objectname` (string, required) - ADT object name (e.g. /CBY/ACQ_DDL)
- `objecttype` (string, required) - ADT object type (e.g. DDLS/DF)
---
#### GetSession (Read-Only / System)
**Description:** [read-only] Get a new session ID and current session state (cookies, CSRF token) for reuse across multiple ADT operations. Use this to maintain the same session and lock handle across multiple requests.
**Source:** `src/handlers/system/readonly/handleGetSession.ts`
**Parameters:**
- `force_new` (boolean, optional) - Force creation of a new session even if one exists. Default: false
---
#### GetSqlQuery (Read-Only / System)
**Description:** [read-only] Execute ABAP SQL SELECT queries on database tables and CDS views via SAP ADT Data Preview API. Use for ad-hoc data retrieval, row counts, and filtered queries.
**Source:** `src/handlers/system/readonly/handleGetSqlQuery.ts`
**Parameters:**
- `row_number` (number, optional (default: 100)) - [read-only] Maximum number of rows to return
- `sql_query` (string, required) - SQL query to execute
---
#### GetTransaction (Read-Only / System)
**Description:** [read-only] Retrieve ABAP transaction (t-code) details — program, screen, authorization object, and transaction type (dialog, report, OO).
**Source:** `src/handlers/system/readonly/handleGetTransaction.ts`
**Parameters:**
- `transaction_name` (string, required) - Name of the ABAP transaction
---
#### GetTypeInfo (Read-Only / System)
**Description:** [read-only] Retrieve ABAP type information for domains (DOMA), data elements (DTEL), table types, and structures. Returns field definitions, value ranges, fixed values, and DDIC metadata.
**Source:** `src/handlers/system/readonly/handleGetTypeInfo.ts`
**Parameters:**
- `include_structure_fallback` (boolean, optional (default: true)) - When true (default), tries DDIC structure lookup only if type lookup returns 404/empty.
- `type_name` (string, required) - Name of the ABAP type
---
#### GetWhereUsed (Read-Only / System)
**Description:** [read-only] Search where-used references — find all objects that reference or depend on a given ABAP object. Answers: "where is X used", "who calls X", "what depends on X", "show usages of X". Returns referencing objects with types and packages. Supports a fixed set of object types (see object_type). Object types outside the supported list (e.g. RAP behavior definitions, service definitions/bindings, BAdI, search helps, message classes, classic DDIC views) are NOT supported and will fail.
**Source:** `src/handlers/system/readonly/handleGetWhereUsed.ts`
**Parameters:**
- `disable_types` (array, optional) - Remove these ADT object types from the default scope, keeping the rest (e.g. ['CLAS/OC'] to drop class usages). Applied on top of the default scope or of enable_only_types/enable_all_types.
- `enable_all_types` (boolean, optional (default: false)) - If true, expands the scope to all available object types (Eclipse 'select all' behavior) by flipping every isSelected flag in the scope XML. Default: false (SAP default scope). Note: on large systems this can make the search significantly slower.
- `enable_only_types` (array, optional) - Restrict the search to ONLY these ADT object types (e.g. ['TABL/DS','TABL/DT'] for structures, ['DDLS/DF'] for CDS sources). SAP applies the selection server-side, so unwanted types (e.g. hundreds of CLAS/OC) are never searched nor returned — use this instead of enable_all_types to avoid huge result sets. Values must be object-type codes from THIS object's where-used scope (the searchable categories, e.g. 'CLAS/OC','INTF/OI','FUGR/FF','DDLS/DF', not result-row codes like 'FUGR/F'). If any value is not searchable for the object the call returns an error listing the supported types — it never falls back to the unfiltered default set. Takes precedence over enable_all_types.
- `object_name` (string, required) - Name of the ABAP object. For function modules the name MUST be in the form 'GROUP|FM_NAME' (function group name, pipe, function module name).
- `object_type` (string, required) - Type of the ABAP object. Case-insensitive. Accepts either a human alias or an ADT type code. Supported values: 'class' / 'clas/oc', 'interface' / 'intf/if', 'program' / 'prog/p', 'include', 'function' / 'functiongroup' / 'fugr' (function group), 'functionmodule' / 'function_module' / 'fugr/ff' (function module — see object_name format), 'package' / 'devc/k', 'table' / 'tabl/dt', 'structure' / 'stru/dt', 'domain' / 'doma/dd', 'dataelement' / 'dtel', 'view' / 'ddls/df' (CDS DDL source only — classic DDIC views are not supported). Any other value throws 'Unsupported object type'.
---
#### RuntimeAnalyzeProfilerTrace (Read-Only / System)
**Description:** [runtime] Read profiler trace view and return compact analysis summary (totals + top entries).
**Source:** `src/handlers/system/readonly/handleRuntimeAnalyzeProfilerTrace.ts`
**Parameters:**
- `top` (number, optional) - Number of top rows for summary. Default: 10.
- `trace_id_or_uri` (string, required) - Profiler trace ID or full trace URI.
- `view` (string, optional (default: hitlist)) -
- `with_system_events` (boolean, optional) - Include system events.
---
#### RuntimeCreateProfilerTraceParameters (Read-Only / System)
**Description:** [runtime] Create ABAP profiler trace parameters and return profilerId (URI) for profiled execution.
**Source:** `src/handlers/system/readonly/handleRuntimeCreateProfilerTraceParameters.ts`
**Parameters:**
- `aggregate` (boolean, optional) -
- `all_db_events` (boolean, optional) -
- `all_dynpro_events` (boolean, optional) -
- `all_internal_table_events` (boolean, optional) -
- `all_misc_abap_statements` (boolean, optional) -
- `all_procedural_units` (boolean, optional) -
- `all_system_kernel_events` (boolean, optional) -
- `amdp_trace` (boolean, optional) -
- `description` (string, required) - Human-readable trace description.
- `explicit_on_off` (boolean, optional) -
- `max_size_for_trace_file` (number, optional) -
- `max_time_for_tracing` (number, optional) -
- `sql_trace` (boolean, optional) -
- `with_rfc_tracing` (boolean, optional) -
---
#### RuntimeGetDumpById (Read-Only / System)
**Description:** [runtime] Read a specific ABAP runtime dump by its ID. First use RuntimeListFeeds to find dumps and get their IDs, then pass dump_id here to read the full dump content.
**Source:** `src/handlers/system/readonly/handleRuntimeGetDumpById.ts`
**Parameters:**
- `dump_id` (string, required) - Full runtime dump ID (e.g. from RuntimeListFeeds).
- `response_mode` (string, optional (default: both)) - Controls what is returned: "payload" — full parsed dump data, "summary" — compact key facts only (title, exception, program, line, user, date…), "both" — summary + full payload.
- `view` (string, optional (default: default)) - Dump view mode: default payload, summary section, or formatted long text.
---
#### RuntimeGetGatewayErrorLog (Read-Only / System)
**Description:** [runtime] List SAP Gateway error log (/IWFND/ERROR_LOG) or get error detail. Returns structured entries with type, shortText, transactionId, dateTime, username. With error_url returns full detail including serviceInfo, errorContext, sourceCode, callStack.
**Source:** `src/handlers/system/readonly/handleRuntimeGetGatewayErrorLog.ts`
**Parameters:**
- `error_url` (string, optional) - Feed URL of a specific error entry (from a previous list response link field). When provided, returns detailed error info instead of listing.
- `from` (string, optional) - Start of time range in YYYYMMDDHHMMSS format.
- `max_results` (number, optional) - Maximum number of errors to return.
- `to` (string, optional) - End of time range in YYYYMMDDHHMMSS format.
- `user` (string, optional) - Filter errors by SAP username.
---
#### RuntimeGetProfilerTraceData (Read-Only / System)
**Description:** [runtime] Read profiler trace data by trace id/uri: hitlist, statements, or db accesses. Returns parsed JSON payload.
**Source:** `src/handlers/system/readonly/handleRuntimeGetProfilerTraceData.ts`
**Parameters:**
- `auto_drill_down_threshold` (number, optional) - Auto drill-down threshold (for statements view).
- `id` (number, optional) - Statement node ID (for statements view).
- `trace_id_or_uri` (string, required) - Profiler trace ID or full ADT trace URI.
- `view` (string, required) - Trace view to retrieve.
- `with_details` (boolean, optional) - Include statement details (for statements view).
- `with_system_events` (boolean, optional) - Include system events.
---
#### RuntimeListFeeds (Read-Only / System)
**Description:** [runtime] List available ADT runtime feeds or read a specific feed type. Feed types: dumps, system_messages, gateway_errors. Without feed_type returns available feed descriptors.
**Source:** `src/handlers/system/readonly/handleRuntimeListFeeds.ts`
**Parameters:**
- `feed_type` (string, optional (default: descriptors)) - Feed to read. "descriptors" lists available feeds, "variants" lists feed variants, others read that specific feed. Default: descriptors.
- `from` (string, optional) - Start of time range in YYYYMMDDHHMMSS format.
- `max_results` (number, optional) - Maximum number of entries to return.
- `to` (string, optional) - End of time range in YYYYMMDDHHMMSS format.
- `user` (string, optional) - Filter feed entries by SAP username.
---
#### RuntimeListProfilerTraceFiles (Read-Only / System)
**Description:** [runtime] List ABAP profiler trace files available in ADT runtime. Returns parsed JSON payload.
**Source:** `src/handlers/system/readonly/handleRuntimeListProfilerTraceFiles.ts`
**Parameters:**
- None
---
#### RuntimeListSystemMessages (Read-Only / System)
**Description:** [runtime] List SM02 system messages. Returns structured entries with id, title, text, severity, validity period, and author.
**Source:** `src/handlers/system/readonly/handleRuntimeListSystemMessages.ts`
**Parameters:**
- `from` (string, optional) - Start of time range in YYYYMMDDHHMMSS format.
- `max_results` (number, optional) - Maximum number of messages to return.
- `to` (string, optional) - End of time range in YYYYMMDDHHMMSS format.
- `user` (string, optional) - Filter by author username.
---
#### RuntimeRunClass (Read-Only / System)
**Description:** [runtime] Execute an ABAP class implementing if_oo_adt_classrun and return its output. Set profile=true to also capture a profiler trace (returns profilerId/traceId alongside output).
**Source:** `src/handlers/system/readonly/handleRuntimeRunClass.ts`
**Parameters:**
- `aggregate` (boolean, optional) -
- `all_db_events` (boolean, optional) -
- `all_dynpro_events` (boolean, optional) -
- `all_internal_table_events` (boolean, optional) -
- `all_misc_abap_statements` (boolean, optional) -
- `all_procedural_units` (boolean, optional) -
- `all_system_kernel_events` (boolean, optional) -
- `amdp_trace` (boolean, optional) -
- `class_name` (string, required) - ABAP class name to execute.
- `description` (string, optional) - Profiler trace description (only used when profile=true).
- `explicit_on_off` (boolean, optional) -
- `max_size_for_trace_file` (number, optional) -
- `max_time_for_tracing` (number, optional) -
- `max_trace_attempts` (integer, optional) - Max polling attempts to resolve traceId after execution (default 5). Only used when profile=true.
- `profile` (boolean, optional) - When true, run with the profiler and resolve the resulting traceId. Default false.
- `sql_trace` (boolean, optional) -
- `trace_lookup_uris` (array, optional) - Additional URIs to consult when resolving the trace (advanced, profile=true).
- `trace_retry_delay_ms` (integer, optional) - Delay in ms between trace polling attempts (default 2000). Only used when profile=true.
- `with_rfc_tracing` (boolean, optional) -
---
#### RuntimeRunClassWithProfiling (Read-Only / System)
**Description:** [runtime][deprecated] Execute ABAP class with profiler enabled and return created profilerId + traceId. Prefer RuntimeRunClass with profile=true; this tool is kept for backward compatibility and will be removed in a future major release.
**Source:** `src/handlers/system/readonly/handleRuntimeRunClassWithProfiling.ts`
**Parameters:**
- `aggregate` (boolean, optional) -
- `all_db_events` (boolean, optional) -
- `all_dynpro_events` (boolean, optional) -
- `all_internal_table_events` (boolean, optional) -
- `all_misc_abap_statements` (boolean, optional) -
- `all_procedural_units` (boolean, optional) -
- `all_system_kernel_events` (boolean, optional) -
- `amdp_trace` (boolean, optional) -
- `class_name` (string, required) - ABAP class name to execute.
- `description` (string, optional) - Profiler trace description.
- `explicit_on_off` (boolean, optional) -
- `max_size_for_trace_file` (number, optional) -
- `max_time_for_tracing` (number, optional) -
- `max_trace_attempts` (integer, optional) - Max polling attempts to resolve traceId after execution (default 5). Increase for slow systems (e.g. SAP trial cloud).
- `sql_trace` (boolean, optional) -
- `trace_lookup_uris` (array, optional) - Additional URIs to consult when resolving the trace (advanced).
- `trace_retry_delay_ms` (integer, optional) - Delay in ms between trace polling attempts (default 2000).
- `with_rfc_tracing` (boolean, optional) -
---
#### RuntimeRunProgram (Read-Only / System)
**Description:** [runtime] Execute an ABAP program (report) and return its output. Set profile=true to also start a profiler trace; use RuntimeListProfilerTraceFiles afterwards to locate the trace (program execution is fire-and-forget, so traceId is not returned synchronously).
**Source:** `src/handlers/system/readonly/handleRuntimeRunProgram.ts`
**Parameters:**
- `aggregate` (boolean, optional) -
- `all_db_events` (boolean, optional) -
- `all_dynpro_events` (boolean, optional) -
- `all_internal_table_events` (boolean, optional) -
- `all_misc_abap_statements` (boolean, optional) -
- `all_procedural_units` (boolean, optional) -
- `all_system_kernel_events` (boolean, optional) -
- `amdp_trace` (boolean, optional) -
- `description` (string, optional) - Profiler trace description (only used when profile=true).
- `explicit_on_off` (boolean, optional) -
- `max_size_for_trace_file` (number, optional) -
- `max_time_for_tracing` (number, optional) -
- `profile` (boolean, optional) - When true, run with the profiler. Default false. Trace must be located afterwards via RuntimeListProfilerTraceFiles — program execution does not return traceId synchronously.
- `program_name` (string, required) - ABAP program name to execute.
- `sql_trace` (boolean, optional) -
- `with_rfc_tracing` (boolean, optional) -
---
#### RuntimeRunProgramWithProfiling (Read-Only / System)
**Description:** [runtime][deprecated] Execute ABAP program with profiler enabled and return created profilerId. Prefer RuntimeRunProgram with profile=true; this tool is kept for backward compatibility and will be removed in a future major release.
**Source:** `src/handlers/system/readonly/handleRuntimeRunProgramWithProfiling.ts`
**Parameters:**
- `aggregate` (boolean, optional) -
- `all_db_events` (boolean, optional) -
- `all_dynpro_events` (boolean, optional) -
- `all_internal_table_events` (boolean, optional) -
- `all_misc_abap_statements` (boolean, optional) -
- `all_procedural_units` (boolean, optional) -
- `all_system_kernel_events` (boolean, optional) -
- `amdp_trace` (boolean, optional) -
- `description` (string, optional) - Profiler trace description.
- `explicit_on_off` (boolean, optional) -
- `max_size_for_trace_file` (number, optional) -
- `max_time_for_tracing` (number, optional) -
- `program_name` (string, required) - ABAP program name to execute.
- `sql_trace` (boolean, optional) -
- `with_rfc_tracing` (boolean, optional) -
---
#### SearchSource (Read-Only / System)
**Description:** [read-only] Search ABAP source text inside one or more packages (programs, function groups, classes). Onprem-only (cloud lacks an indexed source-search endpoint). `packages` accepts `*` masks (Z*, ZFI_*, /NS/Z*) alongside exact names; mask resolution is best-effort and scoped to the ADT repository-search result window — there is no guarantee that every matching package is scanned. If you need certainty, pass concrete package names. When using masks, narrow the mask itself and use `object_types`, `object_filter`, and `max_objects` as scan-target controls that apply after package resolution. Comments are searched by default; set exclude_comments=true to drop col-1 `*` and full-line `"` comments. The `version` parameter affects PROG and CLAS main include reads only — FUGR subinclude reads always go against the active version (the include endpoint exposes no version selector). `truncated.by_object_cap` means at least one object had MORE hits than `max_hits_per_object`, so that object's hits were capped — it is NOT a limit on the number of objects scanned. The object-count limit is `max_objects` (which sets `truncated.by_max_objects`). To avoid `by_object_cap`, raise `max_hits_per_object`. `concurrency` is capped at 16 per call. Run only ONE SearchSource per destination at a time — multiple parallel SearchSource calls against the same SAP system saturate the scan backend and can make all of them time out. Prefer combining terms into a single call over parallel calls.
**Source:** `src/handlers/system/readonly/handleSearchSource.ts`
**Parameters:**
- None
---
### Read-Only / Table
#### GetTableContents (Read-Only / Table)
**Description:** [read-only] Retrieve contents (data preview) of an ABAP database table or CDS view. Returns rows of data like SE16/SE16N.
**Source:** `src/handlers/table/readonly/handleGetTableContents.ts`
**Parameters:**
- None
---
#### ReadTable (Read-Only / Table)
**Description:** Operation: Read, Create, Update. Subject: Table. Will be useful for reading, creating, or updating table. [read-only] Read ABAP table definition and metadata. Answers: "show table fields", "display table structure", "view table X", "get table definition". Returns field list, package, responsible, description.
**Source:** `src/handlers/table/readonly/handleReadTable.ts`
**Parameters:**
- `table_name` (string, required) - Table name (e.g., Z_MY_TABLE).
- `version` (string, optional (default: active)) - Version to read: "active" (default) or "inactive".
---
### Read-Only / Transport
#### GetTransport (Read-Only / Transport)
**Description:** [read-only] Retrieve ABAP transport request information including metadata, included objects, and status from SAP system.
**Source:** `src/handlers/transport/readonly/handleGetTransport.ts`
**Parameters:**
- `include_objects` (boolean, optional (default: true))) - Include list of objects in transport (default: true)
- `include_tasks` (boolean, optional (default: true))) - Include list of tasks in transport (default: true)
- `transport_number` (string, required) - Transport request number (e.g., E19K905635, DEVK905123)
---
#### ListTransports (Read-Only / Transport)
**Description:** [read-only] List transport requests for the current or specified user. Returns modifiable and/or released workbench and customizing requests.
**Source:** `src/handlers/transport/readonly/handleListTransports.ts`
**Parameters:**
- `modifiable_only` (boolean, optional) - Only return modifiable (not yet released) transports. Default: true.
- `user` (string, optional) - SAP user name. If not provided, returns transports for the current user.
---
*Last updated: 2026-06-29*