# Legacy System Tools - MCP ABAP ADT Server
Generated from code in `src/handlers/**` (not from docs).
Tools available on legacy SAP systems (BASIS < 7.50).
Legacy systems support a subset of tools — primarily Class, Interface, View, Program, Function Group/Module, Package (read/update/delete), Include, Unit Test, and common utilities.
- Total tools: 165
- Read-Only: 18
- High-Level: 86
- Low-Level: 61
## Navigation
- [Read-Only Group](#read-only-group)
- [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)
- [Ddl](#read-only-ddl)
- [ReadDdl](#readddl-read-only-ddl)
- [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)
- [Package](#read-only-package)
- [GetPackageContents](#getpackagecontents-read-only-package)
- [ReadPackage](#readpackage-read-only-package)
- [Program](#read-only-program)
- [ReadProgram](#readprogram-read-only-program)
- [Structure](#read-only-structure)
- [GetStructuresList](#getstructureslist-read-only-structure)
- [System](#read-only-system)
- [SearchSource](#searchsource-read-only-system)
- [High-Level Group](#high-level-group)
- [Class](#high-level-class)
- [CheckClass](#checkclass-high-level-class)
- [CreateClass](#createclass-high-level-class)
- [DeleteClass](#deleteclass-high-level-class)
- [DeleteLocalDefinitions](#deletelocaldefinitions-high-level-class)
- [DeleteLocalMacros](#deletelocalmacros-high-level-class)
- [DeleteLocalTestClass](#deletelocaltestclass-high-level-class)
- [DeleteLocalTypes](#deletelocaltypes-high-level-class)
- [GetClass](#getclass-high-level-class)
- [GetLocalDefinitions](#getlocaldefinitions-high-level-class)
- [GetLocalMacros](#getlocalmacros-high-level-class)
- [GetLocalTestClass](#getlocaltestclass-high-level-class)
- [GetLocalTypes](#getlocaltypes-high-level-class)
- [UpdateClass](#updateclass-high-level-class)
- [UpdateLocalDefinitions](#updatelocaldefinitions-high-level-class)
- [UpdateLocalMacros](#updatelocalmacros-high-level-class)
- [UpdateLocalTestClass](#updatelocaltestclass-high-level-class)
- [UpdateLocalTypes](#updatelocaltypes-high-level-class)
- [Common](#high-level-common)
- [ActivateObjects](#activateobjects-high-level-common)
- [GetClassVersionDiff](#getclassversiondiff-high-level-common)
- [GetClassVersions](#getclassversions-high-level-common)
- [GetClassVersionSource](#getclassversionsource-high-level-common)
- [GetDdlVersionDiff](#getddlversiondiff-high-level-common)
- [GetDdlVersions](#getddlversions-high-level-common)
- [GetDdlVersionSource](#getddlversionsource-high-level-common)
- [GetFunctionGroupVersionDiff](#getfunctiongroupversiondiff-high-level-common)
- [GetFunctionGroupVersions](#getfunctiongroupversions-high-level-common)
- [GetFunctionGroupVersionSource](#getfunctiongroupversionsource-high-level-common)
- [GetFunctionModuleVersionDiff](#getfunctionmoduleversiondiff-high-level-common)
- [GetFunctionModuleVersions](#getfunctionmoduleversions-high-level-common)
- [GetFunctionModuleVersionSource](#getfunctionmoduleversionsource-high-level-common)
- [GetInterfaceVersionDiff](#getinterfaceversiondiff-high-level-common)
- [GetInterfaceVersions](#getinterfaceversions-high-level-common)
- [GetInterfaceVersionSource](#getinterfaceversionsource-high-level-common)
- [GetPackageVersionDiff](#getpackageversiondiff-high-level-common)
- [GetPackageVersions](#getpackageversions-high-level-common)
- [GetPackageVersionSource](#getpackageversionsource-high-level-common)
- [GetProgramVersionDiff](#getprogramversiondiff-high-level-common)
- [GetProgramVersions](#getprogramversions-high-level-common)
- [GetProgramVersionSource](#getprogramversionsource-high-level-common)
- [Compact](#high-level-compact)
- [HandlerCreate](#handlercreate-high-level-compact)
- [HandlerDelete](#handlerdelete-high-level-compact)
- [HandlerGet](#handlerget-high-level-compact)
- [HandlerUpdate](#handlerupdate-high-level-compact)
- [Ddl](#high-level-ddl)
- [CheckDdl](#checkddl-high-level-ddl)
- [CreateDdl](#createddl-high-level-ddl)
- [DeleteDdl](#deleteddl-high-level-ddl)
- [GetDdl](#getddl-high-level-ddl)
- [UpdateDdl](#updateddl-high-level-ddl)
- [Function](#high-level-function)
- [CheckFunctionGroup](#checkfunctiongroup-high-level-function)
- [CheckFunctionModule](#checkfunctionmodule-high-level-function)
- [CreateFunctionGroup](#createfunctiongroup-high-level-function)
- [CreateFunctionModule](#createfunctionmodule-high-level-function)
- [UpdateFunctionGroup](#updatefunctiongroup-high-level-function)
- [UpdateFunctionModule](#updatefunctionmodule-high-level-function)
- [Function Group](#high-level-function-group)
- [DeleteFunctionGroup](#deletefunctiongroup-high-level-function-group)
- [GetFunctionGroup](#getfunctiongroup-high-level-function-group)
- [Function Include](#high-level-function-include)
- [CreateFunctionInclude](#createfunctioninclude-high-level-function-include)
- [DeleteFunctionInclude](#deletefunctioninclude-high-level-function-include)
- [UpdateFunctionInclude](#updatefunctioninclude-high-level-function-include)
- [Function Module](#high-level-function-module)
- [DeleteFunctionModule](#deletefunctionmodule-high-level-function-module)
- [GetFunctionModule](#getfunctionmodule-high-level-function-module)
- [Interface](#high-level-interface)
- [CheckInterface](#checkinterface-high-level-interface)
- [CreateInterface](#createinterface-high-level-interface)
- [DeleteInterface](#deleteinterface-high-level-interface)
- [GetInterface](#getinterface-high-level-interface)
- [UpdateInterface](#updateinterface-high-level-interface)
- [Package](#high-level-package)
- [CheckPackage](#checkpackage-high-level-package)
- [GetPackage](#getpackage-high-level-package)
- [Program](#high-level-program)
- [CheckProgram](#checkprogram-high-level-program)
- [CreateProgram](#createprogram-high-level-program)
- [DeleteProgram](#deleteprogram-high-level-program)
- [GetProgram](#getprogram-high-level-program)
- [UpdateProgram](#updateprogram-high-level-program)
- [Unit Test](#high-level-unit-test)
- [CreateCdsUnitTest](#createcdsunittest-high-level-unit-test)
- [CreateUnitTest](#createunittest-high-level-unit-test)
- [DeleteCdsUnitTest](#deletecdsunittest-high-level-unit-test)
- [DeleteUnitTest](#deleteunittest-high-level-unit-test)
- [GetCdsUnitTest](#getcdsunittest-high-level-unit-test)
- [GetCdsUnitTestResult](#getcdsunittestresult-high-level-unit-test)
- [GetCdsUnitTestStatus](#getcdsunitteststatus-high-level-unit-test)
- [GetUnitTest](#getunittest-high-level-unit-test)
- [GetUnitTestResult](#getunittestresult-high-level-unit-test)
- [GetUnitTestStatus](#getunitteststatus-high-level-unit-test)
- [RunUnitTest](#rununittest-high-level-unit-test)
- [UpdateCdsUnitTest](#updatecdsunittest-high-level-unit-test)
- [UpdateUnitTest](#updateunittest-high-level-unit-test)
- [Low-Level Group](#low-level-group)
- [Class](#low-level-class)
- [ActivateClassLow](#activateclasslow-low-level-class)
- [ActivateClassTestClassesLow](#activateclasstestclasseslow-low-level-class)
- [CheckClassLow](#checkclasslow-low-level-class)
- [CreateClassLow](#createclasslow-low-level-class)
- [DeleteClassLow](#deleteclasslow-low-level-class)
- [GetClassUnitTestResultLow](#getclassunittestresultlow-low-level-class)
- [GetClassUnitTestStatusLow](#getclassunitteststatuslow-low-level-class)
- [LockClassLow](#lockclasslow-low-level-class)
- [LockClassTestClassesLow](#lockclasstestclasseslow-low-level-class)
- [RunClassUnitTestsLow](#runclassunittestslow-low-level-class)
- [UnlockClassLow](#unlockclasslow-low-level-class)
- [UnlockClassTestClassesLow](#unlockclasstestclasseslow-low-level-class)
- [UpdateClassLow](#updateclasslow-low-level-class)
- [UpdateClassTestClassesLow](#updateclasstestclasseslow-low-level-class)
- [ValidateClassLow](#validateclasslow-low-level-class)
- [Common](#low-level-common)
- [ActivateObjectLow](#activateobjectlow-low-level-common)
- [DeleteObjectLow](#deleteobjectlow-low-level-common)
- [Ddl](#low-level-ddl)
- [ActivateDdlLow](#activateddllow-low-level-ddl)
- [CheckDdlLow](#checkddllow-low-level-ddl)
- [CreateDdlLow](#createddllow-low-level-ddl)
- [DeleteDdlLow](#deleteddllow-low-level-ddl)
- [LockDdlLow](#lockddllow-low-level-ddl)
- [UnlockDdlLow](#unlockddllow-low-level-ddl)
- [UpdateDdlLow](#updateddllow-low-level-ddl)
- [ValidateDdlLow](#validateddllow-low-level-ddl)
- [Function](#low-level-function)
- [ActivateFunctionGroupLow](#activatefunctiongrouplow-low-level-function)
- [ActivateFunctionModuleLow](#activatefunctionmodulelow-low-level-function)
- [CheckFunctionGroupLow](#checkfunctiongrouplow-low-level-function)
- [CheckFunctionModuleLow](#checkfunctionmodulelow-low-level-function)
- [CreateFunctionGroupLow](#createfunctiongrouplow-low-level-function)
- [CreateFunctionModuleLow](#createfunctionmodulelow-low-level-function)
- [DeleteFunctionGroupLow](#deletefunctiongrouplow-low-level-function)
- [DeleteFunctionModuleLow](#deletefunctionmodulelow-low-level-function)
- [LockFunctionGroupLow](#lockfunctiongrouplow-low-level-function)
- [LockFunctionModuleLow](#lockfunctionmodulelow-low-level-function)
- [UnlockFunctionGroupLow](#unlockfunctiongrouplow-low-level-function)
- [UnlockFunctionModuleLow](#unlockfunctionmodulelow-low-level-function)
- [UpdateFunctionModuleLow](#updatefunctionmodulelow-low-level-function)
- [ValidateFunctionGroupLow](#validatefunctiongrouplow-low-level-function)
- [ValidateFunctionModuleLow](#validatefunctionmodulelow-low-level-function)
- [Interface](#low-level-interface)
- [ActivateInterfaceLow](#activateinterfacelow-low-level-interface)
- [CheckInterfaceLow](#checkinterfacelow-low-level-interface)
- [CreateInterfaceLow](#createinterfacelow-low-level-interface)
- [DeleteInterfaceLow](#deleteinterfacelow-low-level-interface)
- [LockInterfaceLow](#lockinterfacelow-low-level-interface)
- [UnlockInterfaceLow](#unlockinterfacelow-low-level-interface)
- [UpdateInterfaceLow](#updateinterfacelow-low-level-interface)
- [ValidateInterfaceLow](#validateinterfacelow-low-level-interface)
- [Package](#low-level-package)
- [CheckPackageLow](#checkpackagelow-low-level-package)
- [DeletePackageLow](#deletepackagelow-low-level-package)
- [LockPackageLow](#lockpackagelow-low-level-package)
- [UnlockPackageLow](#unlockpackagelow-low-level-package)
- [UpdatePackageLow](#updatepackagelow-low-level-package)
- [Program](#low-level-program)
- [ActivateProgramLow](#activateprogramlow-low-level-program)
- [CheckProgramLow](#checkprogramlow-low-level-program)
- [CreateProgramLow](#createprogramlow-low-level-program)
- [DeleteProgramLow](#deleteprogramlow-low-level-program)
- [LockProgramLow](#lockprogramlow-low-level-program)
- [UnlockProgramLow](#unlockprogramlow-low-level-program)
- [UpdateProgramLow](#updateprogramlow-low-level-program)
- [ValidateProgramLow](#validateprogramlow-low-level-program)
---
## Read-Only Group
### 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`
**Available in:** `onprem`, `cloud`, `legacy`
**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`
**Available in:** `onprem`, `cloud`, `legacy`
**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`
**Available in:** `onprem`, `cloud`, `legacy`
**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`
**Available in:** `onprem`, `cloud`, `legacy`
**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 / 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`
**Available in:** `onprem`, `cloud`, `legacy`
**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 / 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`
**Available in:** `onprem`, `cloud`, `legacy`
**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`
**Available in:** `onprem`, `cloud`, `legacy`
**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`
**Available in:** `onprem`, `cloud`, `legacy`
**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`
**Available in:** `onprem`, `cloud`, `legacy`
**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`
**Available in:** `onprem`, `cloud`, `legacy`
**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`
**Available in:** `onprem`, `cloud`, `legacy`
**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`
**Available in:** `onprem`, `cloud`, `legacy`
**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`
**Available in:** `onprem`, `cloud`, `legacy`
**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 / 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`
**Available in:** `onprem`, `cloud`, `legacy`
**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`
**Available in:** `onprem`, `cloud`, `legacy`
**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`
**Available in:** `onprem`, `legacy`
**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 / 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`
**Available in:** `onprem`, `cloud`, `legacy`
**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".
---
### Read-Only / System
#### 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`
**Available in:** `onprem`, `legacy`
**Parameters:**
- None
---
## High-Level Group
### High-Level / Class
#### CheckClass (High-Level / Class)
**Description:** Perform syntax check on an ABAP class. Can check existing class (active/inactive) or validate hypothetical source code. Returns syntax errors, warnings, and messages.
**Source:** `src/handlers/class/high/handleCheckClass.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `class_name` (string, required) - Class name (e.g., ZCL_MY_CLASS).
- `source_code` (string, optional) - Optional: source code to validate. If provided, validates hypothetical code without creating object. Must include complete CLASS DEFINITION and IMPLEMENTATION sections.
- `version` (string, optional) - Version to check: 'active' (last activated) or 'inactive' (current unsaved). Default: active.
---
#### CreateClass (High-Level / Class)
**Description:** Operation: Create. Subject: Class. Will be useful for creating class. Create a new ABAP class in SAP system. Creates the class object in initial state.
**Source:** `src/handlers/class/high/handleCreateClass.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `abstract` (boolean, optional) - Mark class as abstract. Default: false
- `class_name` (string, required) - Class name (e.g., ZCL_TEST_CLASS_001).
- `create_protected` (boolean, optional) - Protected constructor. Default: false
- `description` (string, optional) - Class description (defaults to class_name).
- `final` (boolean, optional) - Mark class as final. Default: false
- `master_language` (string, optional) - Optional master/original language for the created object (e.g. "EN", "DE", "ZH"). Defaults to the session language (SAP_LANGUAGE) or EN.
- `package_name` (string, required) - Package name (e.g., ZOK_LAB, $TMP).
- `superclass` (string, optional) - Optional superclass name.
- `transport_request` (string, optional) - Transport request number (required for transportable packages).
---
#### DeleteClass (High-Level / Class)
**Description:** Delete an ABAP class from the SAP system. Includes deletion check before actual deletion. Transport request optional for $TMP objects.
**Source:** `src/handlers/class/high/handleDeleteClass.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `class_name` (string, required) - Class name (e.g., ZCL_MY_CLASS).
- `transport_request` (string, optional) - Transport request number (e.g., E19K905635). Required for transportable objects. Optional for local objects ($TMP).
---
#### DeleteLocalDefinitions (High-Level / Class)
**Description:** Delete local definitions from an ABAP class by clearing the definitions include. Manages lock, update, unlock, and optional activation.
**Source:** `src/handlers/class/high/handleDeleteLocalDefinitions.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `activate_on_delete` (boolean, optional (default: false)) - Activate parent class after deleting. Default: false
- `class_name` (string, required) - Parent class name (e.g., ZCL_MY_CLASS).
- `transport_request` (string, optional) - Transport request number.
---
#### DeleteLocalMacros (High-Level / Class)
**Description:** Delete local macros from an ABAP class by clearing the macros include. Manages lock, update, unlock, and optional activation. Note: Macros are supported in older ABAP versions but not in newer ones.
**Source:** `src/handlers/class/high/handleDeleteLocalMacros.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `activate_on_delete` (boolean, optional (default: false)) - Activate parent class after deleting. Default: false
- `class_name` (string, required) - Parent class name (e.g., ZCL_MY_CLASS).
- `transport_request` (string, optional) - Transport request number.
---
#### DeleteLocalTestClass (High-Level / Class)
**Description:** Delete a local test class from an ABAP class by clearing the testclasses include. Manages lock, update, unlock, and optional activation of parent class.
**Source:** `src/handlers/class/high/handleDeleteLocalTestClass.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `activate_on_delete` (boolean, optional (default: false)) - Activate parent class after deleting test class. Default: false
- `class_name` (string, required) - Parent class name (e.g., ZCL_MY_CLASS).
- `transport_request` (string, optional) - Transport request number (required for transportable objects).
---
#### DeleteLocalTypes (High-Level / Class)
**Description:** Delete local types from an ABAP class by clearing the implementations include. Manages lock, update, unlock, and optional activation.
**Source:** `src/handlers/class/high/handleDeleteLocalTypes.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `activate_on_delete` (boolean, optional (default: false)) - Activate parent class after deleting. Default: false
- `class_name` (string, required) - Parent class name (e.g., ZCL_MY_CLASS).
- `transport_request` (string, optional) - Transport request number.
---
#### GetClass (High-Level / Class)
**Description:** Retrieve ABAP class source code. Supports reading active or inactive version.
**Source:** `src/handlers/class/high/handleGetClass.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `class_name` (string, required) - Class name (e.g., ZCL_MY_CLASS).
- `version` (string, optional (default: active)) - Version to read: "active" (default) for deployed version, "inactive" for modified but not activated version.
---
#### GetLocalDefinitions (High-Level / Class)
**Description:** Retrieve local definitions source code from a class (definitions include). Supports reading active or inactive version.
**Source:** `src/handlers/class/high/handleGetLocalDefinitions.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `class_name` (string, required) - Parent class name (e.g., ZCL_MY_CLASS).
- `version` (string, optional (default: active)) - Version to read: "active" (default) for deployed version, "inactive" for modified but not activated version.
---
#### GetLocalMacros (High-Level / Class)
**Description:** Retrieve local macros source code from a class (macros include). Supports reading active or inactive version. Note: Macros are supported in older ABAP versions but not in newer ones.
**Source:** `src/handlers/class/high/handleGetLocalMacros.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `class_name` (string, required) - Parent class name (e.g., ZCL_MY_CLASS).
- `version` (string, optional (default: active)) - Version to read: "active" (default) for deployed version, "inactive" for modified but not activated version.
---
#### GetLocalTestClass (High-Level / Class)
**Description:** Retrieve local test class source code from a class. Supports reading active or inactive version.
**Source:** `src/handlers/class/high/handleGetLocalTestClass.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `class_name` (string, required) - Parent class name (e.g., ZCL_MY_CLASS).
- `version` (string, optional (default: active)) - Version to read: "active" (default) for deployed version, "inactive" for modified but not activated version.
---
#### GetLocalTypes (High-Level / Class)
**Description:** Retrieve local types source code from a class (implementations include). Supports reading active or inactive version.
**Source:** `src/handlers/class/high/handleGetLocalTypes.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `class_name` (string, required) - Parent class name (e.g., ZCL_MY_CLASS).
- `version` (string, optional (default: active)) - Version to read: "active" (default) for deployed version, "inactive" for modified but not activated version.
---
#### UpdateClass (High-Level / Class)
**Description:** Operation: Update, Create. Subject: Class. Will be useful for updating or creating class. Update source code of an existing ABAP class. Locks, updates, unlocks, and optionally activates.
**Source:** `src/handlers/class/high/handleUpdateClass.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `activate` (boolean, optional) - Activate after update. Default: false.
- `class_name` (string, required) - Class name (e.g., ZCL_TEST_CLASS_001).
- `source_code` (string, required) - Complete ABAP class source code.
- `transport_request` (string, optional) - Transport request number (e.g., E19K905635). Required for transportable packages.
---
#### UpdateLocalDefinitions (High-Level / Class)
**Description:** Update local definitions in an ABAP class (definitions include). Manages lock, check, update, unlock, and optional activation.
**Source:** `src/handlers/class/high/handleUpdateLocalDefinitions.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `activate_on_update` (boolean, optional (default: false)) - Activate parent class after updating. Default: false
- `class_name` (string, required) - Parent class name (e.g., ZCL_MY_CLASS).
- `definitions_code` (string, required) - Updated source code for local definitions.
- `transport_request` (string, optional) - Transport request number.
---
#### UpdateLocalMacros (High-Level / Class)
**Description:** Update local macros in an ABAP class (macros include). Manages lock, check, update, unlock, and optional activation. Note: Macros are supported in older ABAP versions but not in newer ones.
**Source:** `src/handlers/class/high/handleUpdateLocalMacros.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `activate_on_update` (boolean, optional (default: false)) - Activate parent class after updating. Default: false
- `class_name` (string, required) - Parent class name (e.g., ZCL_MY_CLASS).
- `macros_code` (string, required) - Updated source code for local macros.
- `transport_request` (string, optional) - Transport request number.
---
#### UpdateLocalTestClass (High-Level / Class)
**Description:** Update a local test class in an ABAP class. Manages lock, check, update, unlock, and optional activation of parent class.
**Source:** `src/handlers/class/high/handleUpdateLocalTestClass.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `activate_on_update` (boolean, optional (default: false)) - Activate parent class after updating test class. Default: false
- `class_name` (string, required) - Parent class name (e.g., ZCL_MY_CLASS).
- `test_class_code` (string, required) - Updated source code for the local test class.
- `transport_request` (string, optional) - Transport request number (required for transportable objects).
---
#### UpdateLocalTypes (High-Level / Class)
**Description:** Update local types in an ABAP class (implementations include). Manages lock, check, update, unlock, and optional activation.
**Source:** `src/handlers/class/high/handleUpdateLocalTypes.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `activate_on_update` (boolean, optional (default: false)) - Activate parent class after updating. Default: false
- `class_name` (string, required) - Parent class name (e.g., ZCL_MY_CLASS).
- `local_types_code` (string, required) - Updated source code for local types.
- `transport_request` (string, optional) - Transport request number.
---
### High-Level / Common
#### ActivateObjects (High-Level / Common)
**Description:** Activate one or multiple ABAP repository objects. Use after Create/Update when objects remain inactive, or for group activation of related objects (e.g., domains + data elements + tables together). Works with any object type.
**Source:** `src/handlers/common/high/handleActivateObjects.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `objects` (array, required) - Array of objects to activate. Each object must have 'name' and 'type'.
- `preaudit` (boolean, optional) - Request pre-audit before activation. Default: true
---
#### GetClassVersionDiff (High-Level / Common)
**Description:** [read-only] Compute a unified diff between two ABAP class versions, by their content_uris (taken from GetClassVersions entries).
**Source:** `src/handlers/common/high/objectVersionTools.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `content_uri_from` (string, required) - Opaque content_uri of the OLD/base version (from a GetClassVersions entry).
- `content_uri_to` (string, required) - Opaque content_uri of the NEW/compare version (from a GetClassVersions entry).
---
#### GetClassVersions (High-Level / Common)
**Description:** [read-only] List the SAP version history of a ABAP class. Returns each version with its versionId, author, updatedAt, title and an opaque content_uri to fetch that version's source via GetClassVersionSource.
**Source:** `src/handlers/common/high/objectVersionTools.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `class_name` (string, required) - ABAP class name.
---
#### GetClassVersionSource (High-Level / Common)
**Description:** [read-only] Fetch the source of a specific ABAP class version by its content_uri (taken from a GetClassVersions entry).
**Source:** `src/handlers/common/high/objectVersionTools.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `content_uri` (string, required) - Opaque content_uri taken from a GetClassVersions entry.
---
#### GetDdlVersionDiff (High-Level / Common)
**Description:** [read-only] Compute a unified diff between two CDS view (DDL source) versions, by their content_uris (taken from GetDdlVersions entries).
**Source:** `src/handlers/common/high/objectVersionTools.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `content_uri_from` (string, required) - Opaque content_uri of the OLD/base version (from a GetDdlVersions entry).
- `content_uri_to` (string, required) - Opaque content_uri of the NEW/compare version (from a GetDdlVersions entry).
---
#### GetDdlVersions (High-Level / Common)
**Description:** [read-only] List the SAP version history of a CDS view (DDL source). Returns each version with its versionId, author, updatedAt, title and an opaque content_uri to fetch that version's source via GetDdlVersionSource.
**Source:** `src/handlers/common/high/objectVersionTools.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `ddl_name` (string, required) - CDS view (DDL source) name.
---
#### GetDdlVersionSource (High-Level / Common)
**Description:** [read-only] Fetch the source of a specific CDS view (DDL source) version by its content_uri (taken from a GetDdlVersions entry).
**Source:** `src/handlers/common/high/objectVersionTools.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `content_uri` (string, required) - Opaque content_uri taken from a GetDdlVersions entry.
---
#### GetFunctionGroupVersionDiff (High-Level / Common)
**Description:** [read-only] Compute a unified diff between two ABAP function group versions, by their content_uris (taken from GetFunctionGroupVersions entries).
**Source:** `src/handlers/common/high/objectVersionTools.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `content_uri_from` (string, required) - Opaque content_uri of the OLD/base version (from a GetFunctionGroupVersions entry).
- `content_uri_to` (string, required) - Opaque content_uri of the NEW/compare version (from a GetFunctionGroupVersions entry).
---
#### GetFunctionGroupVersions (High-Level / Common)
**Description:** [read-only] List the SAP version history of a ABAP function group. Returns each version with its versionId, author, updatedAt, title and an opaque content_uri to fetch that version's source via GetFunctionGroupVersionSource.
**Source:** `src/handlers/common/high/objectVersionTools.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `function_group_name` (string, required) - ABAP function group name.
---
#### GetFunctionGroupVersionSource (High-Level / Common)
**Description:** [read-only] Fetch the source of a specific ABAP function group version by its content_uri (taken from a GetFunctionGroupVersions entry).
**Source:** `src/handlers/common/high/objectVersionTools.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `content_uri` (string, required) - Opaque content_uri taken from a GetFunctionGroupVersions entry.
---
#### GetFunctionModuleVersionDiff (High-Level / Common)
**Description:** [read-only] Compute a unified diff between two ABAP function module versions, by their content_uris (taken from GetFunctionModuleVersions entries).
**Source:** `src/handlers/common/high/objectVersionTools.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `content_uri_from` (string, required) - Opaque content_uri of the OLD/base version (from a GetFunctionModuleVersions entry).
- `content_uri_to` (string, required) - Opaque content_uri of the NEW/compare version (from a GetFunctionModuleVersions entry).
---
#### GetFunctionModuleVersions (High-Level / Common)
**Description:** [read-only] List the SAP version history of a ABAP function module. Returns each version with its versionId, author, updatedAt, title and an opaque content_uri to fetch that version's source via GetFunctionModuleVersionSource.
**Source:** `src/handlers/common/high/objectVersionTools.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `function_group_name` (string, required) - Owning function group name (required).
- `function_module_name` (string, required) - ABAP function module name.
---
#### GetFunctionModuleVersionSource (High-Level / Common)
**Description:** [read-only] Fetch the source of a specific ABAP function module version by its content_uri (taken from a GetFunctionModuleVersions entry).
**Source:** `src/handlers/common/high/objectVersionTools.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `content_uri` (string, required) - Opaque content_uri taken from a GetFunctionModuleVersions entry.
---
#### GetInterfaceVersionDiff (High-Level / Common)
**Description:** [read-only] Compute a unified diff between two ABAP interface versions, by their content_uris (taken from GetInterfaceVersions entries).
**Source:** `src/handlers/common/high/objectVersionTools.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `content_uri_from` (string, required) - Opaque content_uri of the OLD/base version (from a GetInterfaceVersions entry).
- `content_uri_to` (string, required) - Opaque content_uri of the NEW/compare version (from a GetInterfaceVersions entry).
---
#### GetInterfaceVersions (High-Level / Common)
**Description:** [read-only] List the SAP version history of a ABAP interface. Returns each version with its versionId, author, updatedAt, title and an opaque content_uri to fetch that version's source via GetInterfaceVersionSource.
**Source:** `src/handlers/common/high/objectVersionTools.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `interface_name` (string, required) - ABAP interface name.
---
#### GetInterfaceVersionSource (High-Level / Common)
**Description:** [read-only] Fetch the source of a specific ABAP interface version by its content_uri (taken from a GetInterfaceVersions entry).
**Source:** `src/handlers/common/high/objectVersionTools.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `content_uri` (string, required) - Opaque content_uri taken from a GetInterfaceVersions entry.
---
#### GetPackageVersionDiff (High-Level / Common)
**Description:** [read-only] Compute a unified diff between two ABAP package versions, by their content_uris (taken from GetPackageVersions entries).
**Source:** `src/handlers/common/high/objectVersionTools.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `content_uri_from` (string, required) - Opaque content_uri of the OLD/base version (from a GetPackageVersions entry).
- `content_uri_to` (string, required) - Opaque content_uri of the NEW/compare version (from a GetPackageVersions entry).
---
#### GetPackageVersions (High-Level / Common)
**Description:** [read-only] List the SAP version history of a ABAP package. Returns each version with its versionId, author, updatedAt, title and an opaque content_uri to fetch that version's source via GetPackageVersionSource.
**Source:** `src/handlers/common/high/objectVersionTools.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `package_name` (string, required) - ABAP package name.
---
#### GetPackageVersionSource (High-Level / Common)
**Description:** [read-only] Fetch the source of a specific ABAP package version by its content_uri (taken from a GetPackageVersions entry).
**Source:** `src/handlers/common/high/objectVersionTools.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `content_uri` (string, required) - Opaque content_uri taken from a GetPackageVersions entry.
---
#### GetProgramVersionDiff (High-Level / Common)
**Description:** [read-only] Compute a unified diff between two ABAP program versions, by their content_uris (taken from GetProgramVersions entries).
**Source:** `src/handlers/common/high/objectVersionTools.ts`
**Available in:** `onprem`, `legacy`
**Parameters:**
- `content_uri_from` (string, required) - Opaque content_uri of the OLD/base version (from a GetProgramVersions entry).
- `content_uri_to` (string, required) - Opaque content_uri of the NEW/compare version (from a GetProgramVersions entry).
---
#### GetProgramVersions (High-Level / Common)
**Description:** [read-only] List the SAP version history of a ABAP program. Returns each version with its versionId, author, updatedAt, title and an opaque content_uri to fetch that version's source via GetProgramVersionSource.
**Source:** `src/handlers/common/high/objectVersionTools.ts`
**Available in:** `onprem`, `legacy`
**Parameters:**
- `program_name` (string, required) - ABAP program name.
---
#### GetProgramVersionSource (High-Level / Common)
**Description:** [read-only] Fetch the source of a specific ABAP program version by its content_uri (taken from a GetProgramVersions entry).
**Source:** `src/handlers/common/high/objectVersionTools.ts`
**Available in:** `onprem`, `legacy`
**Parameters:**
- `content_uri` (string, required) - Opaque content_uri taken from a GetProgramVersions entry.
---
### High-Level / Compact
#### HandlerCreate (High-Level / Compact)
**Description:** Create operation. object_type required: PACKAGE(package_name*), DOMAIN(domain_name*), DATA_ELEMENT(data_element_name*), TABLE(table_name*), STRUCTURE(structure_name*), DDL(ddl_name*), SERVICE_DEFINITION(service_definition_name*), SERVICE_BINDING(service_binding_name*), CLASS(class_name*), PROGRAM(program_name*) [onprem/legacy only], INTERFACE(interface_name*), FUNCTION_GROUP(function_group_name*), FUNCTION_MODULE(function_module_name*, function_group_name*), BEHAVIOR_DEFINITION(name*, package_name*, root_entity*, implementation_type*), BEHAVIOR_IMPLEMENTATION(class_name*, behavior_definition*, package_name*), METADATA_EXTENSION(name*, package_name*), UNIT_TEST(tests*), CDS_UNIT_TEST(class_name*, package_name*, cds_view_name*).
**Source:** `src/handlers/compact/high/handleHandlerCreate.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `activate` (boolean, optional) - Activate object after create.
- `application` (string, optional) - Domain application area.
- `behavior_definition` (string, optional) - Referenced behavior definition name (behavior implementation create).
- `cds_view_name` (string, optional) - CDS view name to validate for unit test doubles.
- `class_name` (string, optional) - ABAP class name.
- `conversion_exit` (string, optional) - Conversion exit name.
- `data_element_name` (string, optional) - Data element name.
- `datatype` (string, optional) - ABAP data type.
- `ddl_name` (string, optional) - DDL source name (CDS view, AMDP table function, etc.).
- `decimals` (number, optional) - Decimal places.
- `description` (string, optional) - Human-readable object description.
- `domain_name` (string, optional) - ABAP domain name.
- `fields` (array, optional) - Structure fields (for STRUCTURE create).
- `fixed_values` (array, optional) - Domain fixed values list.
- `function_group_name` (string, optional) - ABAP function group name.
- `function_module_name` (string, optional) - ABAP function module name.
- `implementation_type` (string, optional) - Behavior definition implementation type.
- `interface_name` (string, optional) - Interface name.
- `length` (number, optional) - Length for typed artifacts.
- `lowercase` (boolean, optional) - Allow lowercase values (domain setting).
- `name` (string, optional) - Object name for handlers that require a generic `name` (behavior definition, metadata extension).
- `object_type` (any, required) -
- `package_name` (string, optional) - ABAP package name.
- `program_name` (string, optional) - ABAP program name.
- `program_type` (string, optional) - ABAP program type.
- `root_entity` (string, optional) - Root CDS entity name (behavior definition create).
- `service_binding_name` (string, optional) - Service binding name.
- `service_definition_name` (string, optional) - Service definition name.
- `sign_exists` (boolean, optional) - Allow signed values (domain setting).
- `structure_name` (string, optional) - Structure name.
- `table_name` (string, optional) - Table name.
- `tests` (array, optional) - Container/test class pairs (for UNIT_TEST create).
- `transport_request` (string, optional) - Transport request id (if required by system).
- `value_table` (string, optional) - Foreign key value table.
---
#### HandlerDelete (High-Level / Compact)
**Description:** Delete operation. object_type required: DOMAIN(domain_name*), DATA_ELEMENT(data_element_name*), TABLE(table_name*), STRUCTURE(structure_name*), DDL(ddl_name*), SERVICE_DEFINITION(service_definition_name*), SERVICE_BINDING(service_binding_name*), CLASS(class_name*), LOCAL_TEST_CLASS(class_name*), LOCAL_TYPES(class_name*), LOCAL_DEFINITIONS(class_name*), LOCAL_MACROS(class_name*), PROGRAM(program_name*) [onprem/legacy only], INTERFACE(interface_name*), FUNCTION_GROUP(function_group_name*), FUNCTION_MODULE(function_module_name*, function_group_name*), BEHAVIOR_DEFINITION(behavior_definition_name*), BEHAVIOR_IMPLEMENTATION(behavior_implementation_name*), METADATA_EXTENSION(metadata_extension_name*), UNIT_TEST(run_id*), CDS_UNIT_TEST(class_name*).
**Source:** `src/handlers/compact/high/handleHandlerDelete.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `behavior_definition_name` (string, optional) - Behavior definition name.
- `behavior_implementation_name` (string, optional) - Behavior implementation name.
- `class_name` (string, optional) - ABAP class name.
- `data_element_name` (string, optional) - Data element name.
- `ddl_name` (string, optional) - DDL source name (CDS view, AMDP table function, etc.).
- `domain_name` (string, optional) - ABAP domain name.
- `function_group_name` (string, optional) - ABAP function group name.
- `function_module_name` (string, optional) - ABAP function module name.
- `interface_name` (string, optional) - Interface name.
- `metadata_extension_name` (string, optional) - Metadata extension name.
- `object_type` (any, required) -
- `program_name` (string, optional) - ABAP program name.
- `run_id` (string, optional) - Unit test run id (UNIT_TEST delete).
- `service_binding_name` (string, optional) - Service binding name.
- `service_definition_name` (string, optional) - Service definition name.
- `structure_name` (string, optional) - Structure name.
- `table_name` (string, optional) - Table name.
- `transport_request` (string, optional) - Transport request id (if required by system).
---
#### HandlerGet (High-Level / Compact)
**Description:** Read operation. object_type required: PACKAGE(package_name*), DOMAIN(domain_name*), DATA_ELEMENT(data_element_name*), TABLE(table_name*), STRUCTURE(structure_name*), DDL(ddl_name*), SERVICE_DEFINITION(service_definition_name*), SERVICE_BINDING(service_binding_name*), CLASS(class_name*), LOCAL_TEST_CLASS(class_name*), LOCAL_TYPES(class_name*), LOCAL_DEFINITIONS(class_name*), LOCAL_MACROS(class_name*), PROGRAM(program_name*) [onprem/legacy only], INTERFACE(interface_name*), FUNCTION_GROUP(function_group_name*), FUNCTION_MODULE(function_module_name*, function_group_name*), BEHAVIOR_DEFINITION(behavior_definition_name*), BEHAVIOR_IMPLEMENTATION(behavior_implementation_name*), METADATA_EXTENSION(metadata_extension_name*), UNIT_TEST(run_id*), CDS_UNIT_TEST(run_id*).
**Source:** `src/handlers/compact/high/handleHandlerGet.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `behavior_definition_name` (string, optional) - Behavior definition name.
- `behavior_implementation_name` (string, optional) - Behavior implementation name.
- `class_name` (string, optional) - Class name.
- `data_element_name` (string, optional) - Data element name.
- `ddl_name` (string, optional) - DDL source name.
- `domain_name` (string, optional) - Domain name.
- `function_group_name` (string, optional) - Function group name.
- `function_module_name` (string, optional) - Function module name.
- `interface_name` (string, optional) - Interface name.
- `metadata_extension_name` (string, optional) - Metadata extension name.
- `object_type` (any, required) -
- `package_name` (string, optional) - Package name.
- `program_name` (string, optional) - Program name.
- `response_format` (string, optional) - Response format for SERVICE_BINDING reads.
- `run_id` (string, optional) - Unit test run id.
- `service_binding_name` (string, optional) - Service binding name.
- `service_definition_name` (string, optional) - Service definition name.
- `structure_name` (string, optional) - Structure name.
- `table_name` (string, optional) - Table name.
- `version` (any, optional) -
---
#### HandlerUpdate (High-Level / Compact)
**Description:** Update operation. object_type required: PACKAGE(package_name*), DOMAIN(domain_name*), DATA_ELEMENT(data_element_name*), TABLE(table_name*), STRUCTURE(structure_name*), DDL(ddl_name*), SERVICE_DEFINITION(service_definition_name*), SERVICE_BINDING(service_binding_name*), CLASS(class_name*), LOCAL_TEST_CLASS(class_name*), LOCAL_TYPES(class_name*), LOCAL_DEFINITIONS(class_name*), LOCAL_MACROS(class_name*), PROGRAM(program_name*) [onprem/legacy only], INTERFACE(interface_name*), FUNCTION_GROUP(function_group_name*), FUNCTION_MODULE(function_module_name*, function_group_name*), BEHAVIOR_DEFINITION(name*, source_code*), BEHAVIOR_IMPLEMENTATION(class_name*, behavior_definition*, implementation_code*), METADATA_EXTENSION(name*, source_code*), UNIT_TEST(run_id*), CDS_UNIT_TEST(class_name*, test_class_source*).
**Source:** `src/handlers/compact/high/handleHandlerUpdate.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `activate` (boolean, optional) - Activate object after update.
- `behavior_definition` (string, optional) - Referenced behavior definition name (behavior implementation update).
- `binding_variant` (string, optional) - Service binding variant (service binding update).
- `class_name` (string, optional) - ABAP class name.
- `conversion_exit` (string, optional) - Conversion exit name.
- `data_element_name` (string, optional) - Data element name.
- `datatype` (string, optional) - ABAP data type.
- `ddl_code` (string, optional) - Complete DDL source code (for TABLE/STRUCTURE update).
- `ddl_name` (string, optional) - DDL source name (CDS view, AMDP table function, etc.).
- `ddl_source` (string, optional) - Complete DDL source code (for DDL update).
- `decimals` (number, optional) - Decimal places.
- `definitions_code` (string, optional) - Updated source for class local definitions.
- `description` (string, optional) - Human-readable object description.
- `desired_publication_state` (string, optional) - Target publication state (service binding update).
- `domain_name` (string, optional) - ABAP domain name.
- `fixed_values` (array, optional) - Domain fixed values list.
- `function_group_name` (string, optional) - ABAP function group name.
- `function_module_name` (string, optional) - ABAP function module name.
- `implementation_code` (string, optional) - Behavior implementation methods source code.
- `interface_name` (string, optional) - Interface name.
- `length` (number, optional) - Length for typed artifacts.
- `local_types_code` (string, optional) - Updated source for class local types.
- `lowercase` (boolean, optional) - Allow lowercase values (domain setting).
- `macros_code` (string, optional) - Updated source for class local macros.
- `name` (string, optional) - Object name for handlers that require a generic `name` (behavior definition, metadata extension).
- `object_type` (any, required) -
- `package_name` (string, optional) - ABAP package name.
- `program_name` (string, optional) - ABAP program name.
- `run_id` (string, optional) - Unit test run id (UNIT_TEST update).
- `service_binding_name` (string, optional) - Service binding name.
- `service_definition_name` (string, optional) - Service definition name.
- `service_name` (string, optional) - Published service name (service binding update).
- `sign_exists` (boolean, optional) - Allow signed values (domain setting).
- `source_code` (string, optional) - ABAP source code payload.
- `structure_name` (string, optional) - Structure name.
- `table_name` (string, optional) - Table name.
- `test_class_code` (string, optional) - Updated source for the local test class.
- `test_class_source` (string, optional) - Updated local test class source (CDS_UNIT_TEST update).
- `transport_request` (string, optional) - Transport request id (if required by system).
- `value_table` (string, optional) - Foreign key value table.
---
### High-Level / Ddl
#### CheckDdl (High-Level / Ddl)
**Description:** Perform syntax check on an ABAP CDS view. Can check existing view (active/inactive) or validate hypothetical DDL source. Returns syntax errors, warnings, and messages.
**Source:** `src/handlers/ddl/high/handleCheckDdl.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `ddl_name` (string, required) - CDS view name to check, passed as ddl_name (e.g., ZI_MY_VIEW).
- `ddl_source` (string, optional) - Optional: DDL source code to validate instead of the saved version.
- `version` (string, optional) - Version to check: 'active' or 'inactive'. Default: inactive.
---
#### CreateDdl (High-Level / Ddl)
**Description:** Operation: Create. Subject: DDL source. Will be useful for creating a DDL source. Create a new CDS View or Classic View in SAP system. Creates the DDL source object in initial state. Use UpdateDdl to set DDL source code.
**Source:** `src/handlers/ddl/high/handleCreateDdl.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `ddl_name` (string, required) - DDL source name (e.g., ZOK_R_TEST_0002, Z_I_MY_VIEW).
- `description` (string, optional) - Optional description (defaults to ddl_name).
- `master_language` (string, optional) - Optional master/original language for the created object (e.g. "EN", "DE", "ZH"). Defaults to the session language (SAP_LANGUAGE) or EN.
- `package_name` (string, required) - Package name (e.g., ZOK_LAB, $TMP for local objects)
- `transport_request` (string, optional) - Transport request number (required for transportable packages).
---
#### DeleteDdl (High-Level / Ddl)
**Description:** Delete a DDL source from the SAP system. Includes deletion check before actual deletion. Transport request optional for $TMP objects.
**Source:** `src/handlers/ddl/high/handleDeleteDdl.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `ddl_name` (string, required) - DDL source name (e.g., Z_MY_VIEW).
- `transport_request` (string, optional) - Transport request number (e.g., E19K905635). Required for transportable objects. Optional for local objects ($TMP).
---
#### GetDdl (High-Level / Ddl)
**Description:** Retrieve ABAP DDL source definition. Supports reading active or inactive version.
**Source:** `src/handlers/ddl/high/handleGetDdl.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `ddl_name` (string, required) - DDL source name (e.g., Z_MY_VIEW).
- `version` (string, optional (default: active)) - Version to read: "active" (default) for deployed version, "inactive" for modified but not activated version.
---
#### UpdateDdl (High-Level / Ddl)
**Description:** Operation: Update, Create. Subject: DDL source. Will be useful for updating or creating a DDL source. Update DDL source code of an existing CDS View or Classic View. Locks, updates, unlocks, and optionally activates. Use CreateDdl to create a new DDL source.
**Source:** `src/handlers/ddl/high/handleUpdateDdl.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `activate` (boolean, optional) - Activate after update. Default: false.
- `ddl_name` (string, required) - DDL source name (e.g., ZOK_R_TEST_0002).
- `ddl_source` (string, required) - Complete DDL source code.
- `transport_request` (string, optional) - Transport request number (e.g., E19K905635). Required for transportable packages.
---
### High-Level / Function
#### CheckFunctionGroup (High-Level / Function)
**Description:** Perform syntax check on an ABAP function group. Returns syntax errors, warnings, and messages.
**Source:** `src/handlers/function/high/handleCheckFunctionGroup.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `function_group_name` (string, required) - Function group name (e.g., ZFGRP_MY_GROUP).
---
#### CheckFunctionModule (High-Level / Function)
**Description:** Perform syntax check on an ABAP function module. Returns syntax errors, warnings, and messages.
**Source:** `src/handlers/function/high/handleCheckFunctionModule.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `function_group_name` (string, required) - Function group name containing the function module.
- `function_module_name` (string, required) - Function module name (e.g., Z_MY_FUNCTION).
- `version` (string, optional) - Version to check: 'active' or 'inactive'. Default: active.
---
#### CreateFunctionGroup (High-Level / Function)
**Description:** Create a new ABAP function group in SAP system. Function groups serve as containers for function modules. Uses stateful session for proper lock management.
**Source:** `src/handlers/function/high/handleCreateFunctionGroup.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `activate` (boolean, optional) - Activate function group after creation. Default: true. Set to false for batch operations.
- `description` (string, optional) - Function group description. If not provided, function_group_name will be used.
- `function_group_name` (string, required) - Function group name (e.g., ZTEST_FG_001). Must follow SAP naming conventions (start with Z or Y, max 26 chars).
- `master_language` (string, optional) - Optional master/original language for the created object (e.g. "EN", "DE", "ZH"). Defaults to the session language (SAP_LANGUAGE) or EN.
- `package_name` (string, required) - Package name (e.g., ZOK_LAB, $TMP for local objects)
- `transport_request` (string, optional) - Transport request number (e.g., E19K905635). Required for transportable packages.
---
#### CreateFunctionModule (High-Level / Function)
**Description:** Operation: Create. Subject: FunctionModule. Will be useful for creating function module. Create a new ABAP function module within an existing function group. Creates the function module in initial state.
**Source:** `src/handlers/function/high/handleCreateFunctionModule.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `description` (string, optional) - Optional description for the function module
- `function_group_name` (string, required) - Parent function group name (e.g., ZTEST_FG_001)
- `function_module_name` (string, required) - Function module name (e.g., Z_TEST_FUNCTION_001). Must follow SAP naming conventions (start with Z or Y, max 30 chars).
- `transport_request` (string, optional) - Transport request number (e.g., E19K905635). Required for transportable packages.
---
#### UpdateFunctionGroup (High-Level / Function)
**Description:** Update metadata (description) of an existing ABAP function group. Function groups are containers for function modules and don't have source code to update directly. Uses stateful session with proper lock/unlock mechanism.
**Source:** `src/handlers/function/high/handleUpdateFunctionGroup.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `description` (string, required) - New description for the function group.
- `function_group_name` (string, required) - Function group name (e.g., ZTEST_FG_001). Must exist in the system.
- `transport_request` (string, optional) - Transport request number (e.g., E19K905635). Optional if object is local or already in transport.
---
#### UpdateFunctionModule (High-Level / Function)
**Description:** Operation: Update, Create. Subject: FunctionModule. Will be useful for updating or creating function module. Update source code of an existing ABAP function module. Locks, updates, unlocks, and optionally activates.
**Source:** `src/handlers/function/high/handleUpdateFunctionModule.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `activate` (boolean, optional) - Activate function module after source update. Default: false. Set to true to activate immediately.
- `function_group_name` (string, required) - Function group name containing the function module (e.g., ZOK_FG_MCP01).
- `function_module_name` (string, required) - Function module name (e.g., Z_TEST_FM_MCP01). Function module must already exist.
- `source_code` (string, required) - Complete ABAP function module source code. Must include FUNCTION statement with parameters and ENDFUNCTION. Example:\n\nFUNCTION Z_TEST_FM\n IMPORTING\n VALUE(iv_input) TYPE string\n EXPORTING\n VALUE(ev_output) TYPE string.\n \n ev_output = iv_input.\nENDFUNCTION.
- `transport_request` (string, optional) - Transport request number (e.g., E19K905635). Required for transportable function modules.
---
### High-Level / Function Group
#### DeleteFunctionGroup (High-Level / Function Group)
**Description:** Delete an ABAP function group from the SAP system. Includes deletion check before actual deletion. Transport request optional for $TMP objects.
**Source:** `src/handlers/function_group/high/handleDeleteFunctionGroup.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `function_group_name` (string, required) - FunctionGroup name (e.g., Z_MY_FUNCTIONGROUP).
- `transport_request` (string, optional) - Transport request number (e.g., E19K905635). Required for transportable objects. Optional for local objects ($TMP).
---
#### GetFunctionGroup (High-Level / Function Group)
**Description:** Retrieve ABAP function group definition. Supports reading active or inactive version.
**Source:** `src/handlers/function_group/high/handleGetFunctionGroup.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `function_group_name` (string, required) - FunctionGroup name (e.g., Z_MY_FUNCTIONGROUP).
- `version` (string, optional (default: active)) - Version to read: "active" (default) for deployed version, "inactive" for modified but not activated version.
---
### High-Level / Function Include
#### CreateFunctionInclude (High-Level / Function Include)
**Description:** Operation: Create. Subject: FunctionInclude. Will be useful for creating function group include. Create a new ABAP include within an existing function group. Creates the include in initial state.
**Source:** `src/handlers/function_include/high/handleCreateFunctionInclude.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `description` (string, optional) - Optional description for the include
- `function_group_name` (string, required) - Parent function group name (e.g., ZTEST_FG_001)
- `include_name` (string, required) - Include name (e.g., LZTEST_FG_001F01).
- `transport_request` (string, optional) - Transport request number (e.g., E19K905635). Required for transportable packages.
---
#### DeleteFunctionInclude (High-Level / Function Include)
**Description:** Delete an ABAP function group include from the SAP system. Note: function module includes must be deleted via the Function Builder; the backend rejects such deletions. Transport request optional for $TMP objects.
**Source:** `src/handlers/function_include/high/handleDeleteFunctionInclude.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**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_FGF01).
- `transport_request` (string, optional) - Transport request number (e.g., E19K905635). Required for transportable objects. Optional for local objects ($TMP).
---
#### UpdateFunctionInclude (High-Level / Function Include)
**Description:** Operation: Update. Subject: FunctionInclude. Will be useful for updating a function group include. Update source code of an existing ABAP function group include.
**Source:** `src/handlers/function_include/high/handleUpdateFunctionInclude.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `activate` (boolean, optional (default: false)) - Activate the include after the source update. Default: false. Set true to make the updated source the active version immediately.
- `function_group_name` (string, required) - Function group name containing the include (e.g., ZOK_FG_MCP01).
- `include_name` (string, required) - Include name (e.g., LZOK_FG_MCP01F01). Include must already exist.
- `source_code` (string, required) - Complete ABAP include source code.
- `transport_request` (string, optional) - Transport request number (e.g., E19K905635). Required for transportable includes.
---
### High-Level / Function Module
#### DeleteFunctionModule (High-Level / Function Module)
**Description:** Delete an ABAP function module from the SAP system. Includes deletion check before actual deletion. Transport request optional for $TMP objects.
**Source:** `src/handlers/function_module/high/handleDeleteFunctionModule.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `function_group_name` (string, required) - FunctionGroup name containing the function module (e.g., Z_MY_FUNCTIONGROUP).
- `function_module_name` (string, required) - FunctionModule name (e.g., Z_MY_FUNCTIONMODULE).
- `transport_request` (string, optional) - Transport request number (e.g., E19K905635). Required for transportable objects. Optional for local objects ($TMP).
---
#### GetFunctionModule (High-Level / Function Module)
**Description:** Retrieve ABAP function module definition. Supports reading active or inactive version.
**Source:** `src/handlers/function_module/high/handleGetFunctionModule.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `function_group_name` (string, required) - FunctionGroup name containing the function module (e.g., Z_MY_FUNCTIONGROUP).
- `function_module_name` (string, required) - FunctionModule name (e.g., Z_MY_FUNCTIONMODULE).
- `version` (string, optional (default: active)) - Version to read: "active" (default) for deployed version, "inactive" for modified but not activated version.
---
### High-Level / Interface
#### CheckInterface (High-Level / Interface)
**Description:** Perform syntax check on an ABAP interface. Returns syntax errors, warnings, and messages.
**Source:** `src/handlers/interface/high/handleCheckInterface.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `interface_name` (string, required) - Interface name (e.g., ZIF_MY_INTERFACE).
---
#### CreateInterface (High-Level / Interface)
**Description:** Operation: Create. Subject: Interface. Will be useful for creating interface. Create a new ABAP interface in SAP system. Creates the interface object in initial state.
**Source:** `src/handlers/interface/high/handleCreateInterface.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `description` (string, optional) - Interface description. If not provided, interface_name will be used.
- `interface_name` (string, required) - Interface name (e.g., ZIF_TEST_INTERFACE_001). Must follow SAP naming conventions (start with Z or Y).
- `master_language` (string, optional) - Optional master/original language for the created object (e.g. "EN", "DE", "ZH"). Defaults to the session language (SAP_LANGUAGE) or EN.
- `package_name` (string, required) - Package name (e.g., ZOK_LAB, $TMP for local objects)
- `transport_request` (string, optional) - Transport request number (e.g., E19K905635). Required for transportable packages.
---
#### DeleteInterface (High-Level / Interface)
**Description:** Delete an ABAP interface from the SAP system. Includes deletion check before actual deletion. Transport request optional for $TMP objects.
**Source:** `src/handlers/interface/high/handleDeleteInterface.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `interface_name` (string, required) - Interface name (e.g., Z_MY_INTERFACE).
- `transport_request` (string, optional) - Transport request number (e.g., E19K905635). Required for transportable objects. Optional for local objects ($TMP).
---
#### GetInterface (High-Level / Interface)
**Description:** Retrieve ABAP interface definition. Supports reading active or inactive version.
**Source:** `src/handlers/interface/high/handleGetInterface.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `interface_name` (string, required) - Interface name (e.g., Z_MY_INTERFACE).
- `version` (string, optional (default: active)) - Version to read: "active" (default) for deployed version, "inactive" for modified but not activated version.
---
#### UpdateInterface (High-Level / Interface)
**Description:** Operation: Update, Create. Subject: Interface. Will be useful for updating or creating interface. Update source code of an existing ABAP interface. Locks, updates, unlocks, and optionally activates.
**Source:** `src/handlers/interface/high/handleUpdateInterface.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `activate` (boolean, optional) - Activate interface after update. Default: true.
- `interface_name` (string, required) - Interface name (e.g., ZIF_MY_INTERFACE). Must exist in the system.
- `source_code` (string, required) - Complete ABAP interface source code with INTERFACE...ENDINTERFACE section.
- `transport_request` (string, optional) - Transport request number (e.g., E19K905635). Optional if object is local or already in transport.
---
### High-Level / Package
#### CheckPackage (High-Level / Package)
**Description:** Perform syntax check on an ABAP package. Returns syntax errors, warnings, and messages.
**Source:** `src/handlers/package/high/handleCheckPackage.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `package_name` (string, required) - Package name (e.g., ZMY_PACKAGE).
- `super_package` (string, required) - Super package name (parent package).
---
#### GetPackage (High-Level / Package)
**Description:** Retrieve ABAP package metadata (description, super-package, etc.). Supports reading active or inactive version.
**Source:** `src/handlers/package/high/handleGetPackage.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `package_name` (string, required) - Package name (e.g., Z_MY_PACKAGE).
- `version` (string, optional (default: active)) - Version to read: "active" (default) for deployed version, "inactive" for modified but not activated version.
---
### High-Level / Program
#### CheckProgram (High-Level / Program)
**Description:** Perform syntax check on an ABAP program. Returns syntax errors, warnings, and messages. Not available on cloud.
**Source:** `src/handlers/program/high/handleCheckProgram.ts`
**Available in:** `onprem`, `legacy`
**Parameters:**
- `program_name` (string, required) - Program name (e.g., ZMCP_MY_PROGRAM).
---
#### CreateProgram (High-Level / Program)
**Description:** Operation: Create. Subject: Program. Will be useful for creating program. Create a new ABAP program (report) in SAP system. Creates the program object in initial state.
**Source:** `src/handlers/program/high/handleCreateProgram.ts`
**Available in:** `onprem`, `legacy`
**Parameters:**
- `application` (string, optional) - Application area (e.g., 'S' for System, 'M' for Materials Management). Default: '*'
- `description` (string, optional) - Program description. If not provided, program_name will be used.
- `master_language` (string, optional) - Optional master/original language for the created object (e.g. "EN", "DE", "ZH"). Defaults to the session language (SAP_LANGUAGE) or EN.
- `package_name` (string, required) - Package name (e.g., ZOK_LAB, $TMP for local objects)
- `program_name` (string, required) - Program name (e.g., Z_TEST_PROGRAM_001). Must follow SAP naming conventions (start with Z or Y).
- `program_type` (string, optional) - Program type: 'executable' (Report), 'include', 'module_pool', 'function_group', 'class_pool', 'interface_pool'. Default: 'executable'
- `transport_request` (string, optional) - Transport request number (e.g., E19K905635). Required for transportable packages.
---
#### DeleteProgram (High-Level / Program)
**Description:** Delete an ABAP program from the SAP system. Includes deletion check before actual deletion. Transport request optional for $TMP objects.
**Source:** `src/handlers/program/high/handleDeleteProgram.ts`
**Available in:** `onprem`, `legacy`
**Parameters:**
- `program_name` (string, required) - Program name (e.g., Z_MY_PROGRAM).
- `transport_request` (string, optional) - Transport request number (e.g., E19K905635). Required for transportable objects. Optional for local objects ($TMP).
---
#### GetProgram (High-Level / Program)
**Description:** Retrieve ABAP program definition. Supports reading active or inactive version.
**Source:** `src/handlers/program/high/handleGetProgram.ts`
**Available in:** `onprem`, `legacy`
**Parameters:**
- `program_name` (string, required) - Program name (e.g., Z_MY_PROGRAM).
- `version` (string, optional (default: active)) - Version to read: "active" (default) for deployed version, "inactive" for modified but not activated version.
---
#### UpdateProgram (High-Level / Program)
**Description:** Operation: Update, Create. Subject: Program. Will be useful for updating or creating program. Update source code of an existing ABAP program. Locks, updates, unlocks, and optionally activates.
**Source:** `src/handlers/program/high/handleUpdateProgram.ts`
**Available in:** `onprem`, `legacy`
**Parameters:**
- `activate` (boolean, optional) - Activate program after source update. Default: false. Set to true to activate immediately, or use ActivateObject for batch activation.
- `program_name` (string, required) - Program name (e.g., Z_TEST_PROGRAM_001). Program must already exist.
- `source_code` (string, required) - Complete ABAP program source code.
- `transport_request` (string, optional) - Transport request number (e.g., E19K905635). Required for transportable packages.
---
### High-Level / Unit Test
#### CreateCdsUnitTest (High-Level / Unit Test)
**Description:** Create a CDS unit test class with CDS validation. Creates the test class in initial state.
**Source:** `src/handlers/unit_test/high/handleCreateCdsUnitTest.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `cds_view_name` (string, required) - CDS view name to validate for unit test doubles.
- `class_name` (string, required) - Global test class name (e.g., ZCL_CDS_TEST).
- `description` (string, optional) - Optional description for the global test class.
- `package_name` (string, required) - Package name (e.g., ZOK_TEST_PKG_01, $TMP).
- `transport_request` (string, optional) - Transport request number (required for transportable packages).
---
#### CreateUnitTest (High-Level / Unit Test)
**Description:** Start an ABAP Unit test run for provided class test definitions. Returns run_id for status/result queries.
**Source:** `src/handlers/unit_test/high/handleCreateUnitTest.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `context` (string, optional) - Optional context string shown in SAP tools.
- `duration` (object, optional) -
- `risk_level` (object, optional) -
- `scope` (object, optional) -
- `tests` (array, required) - List of container/test class pairs to execute.
- `title` (string, optional) - Optional title for the ABAP Unit run.
---
#### DeleteCdsUnitTest (High-Level / Unit Test)
**Description:** Delete a CDS unit test class (global class).
**Source:** `src/handlers/unit_test/high/handleDeleteCdsUnitTest.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `class_name` (string, required) - Global test class name (e.g., ZCL_CDS_TEST).
- `transport_request` (string, optional) - Transport request number (required for transportable packages).
---
#### DeleteUnitTest (High-Level / Unit Test)
**Description:** Delete an ABAP Unit test run. Note: ADT does not support deleting unit test runs and will return an error.
**Source:** `src/handlers/unit_test/high/handleDeleteUnitTest.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `run_id` (string, required) - Run identifier returned by CreateUnitTest/RunUnitTest.
---
#### GetCdsUnitTest (High-Level / Unit Test)
**Description:** Retrieve CDS unit test run status and result for a previously started run_id.
**Source:** `src/handlers/unit_test/high/handleGetCdsUnitTest.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `run_id` (string, required) - Run identifier returned by unit test run.
---
#### GetCdsUnitTestResult (High-Level / Unit Test)
**Description:** Retrieve CDS unit test run result for a run_id.
**Source:** `src/handlers/unit_test/high/handleGetCdsUnitTestResult.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `format` (string, optional) - Result format: abapunit or junit.
- `run_id` (string, required) - Run identifier returned by unit test run.
- `with_navigation_uris` (boolean, optional (default: false)) - Include navigation URIs in result if supported.
---
#### GetCdsUnitTestStatus (High-Level / Unit Test)
**Description:** Retrieve CDS unit test run status for a run_id.
**Source:** `src/handlers/unit_test/high/handleGetCdsUnitTestStatus.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `run_id` (string, required) - Run identifier returned by unit test run.
- `with_long_polling` (boolean, optional (default: true)) - Enable long polling while waiting for status.
---
#### GetUnitTest (High-Level / Unit Test)
**Description:** Retrieve ABAP Unit test run status and result for a previously started run_id.
**Source:** `src/handlers/unit_test/high/handleGetUnitTest.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `run_id` (string, required) - Run identifier returned by RunUnitTest.
---
#### GetUnitTestResult (High-Level / Unit Test)
**Description:** Retrieve ABAP Unit test run result for a run_id.
**Source:** `src/handlers/unit_test/high/handleGetUnitTestResult.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `format` (string, optional) - Result format: abapunit or junit.
- `run_id` (string, required) - Run identifier returned by unit test run.
- `with_navigation_uris` (boolean, optional (default: false)) - Include navigation URIs in result if supported.
---
#### GetUnitTestStatus (High-Level / Unit Test)
**Description:** Retrieve ABAP Unit test run status for a run_id.
**Source:** `src/handlers/unit_test/high/handleGetUnitTestStatus.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `run_id` (string, required) - Run identifier returned by unit test run.
- `with_long_polling` (boolean, optional (default: true)) - Enable long polling while waiting for status.
---
#### RunUnitTest (High-Level / Unit Test)
**Description:** Start an ABAP Unit test run for provided class test definitions. Returns run_id for status/result queries.
**Source:** `src/handlers/unit_test/high/handleRunUnitTest.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `context` (string, optional) - Optional context string shown in SAP tools.
- `duration` (object, optional) -
- `risk_level` (object, optional) -
- `scope` (object, optional) -
- `tests` (array, required) - List of container/test class pairs to execute.
- `title` (string, optional) - Optional title for the ABAP Unit run.
---
#### UpdateCdsUnitTest (High-Level / Unit Test)
**Description:** Update a CDS unit test class local test class source code.
**Source:** `src/handlers/unit_test/high/handleUpdateCdsUnitTest.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `class_name` (string, required) - Global test class name (e.g., ZCL_CDS_TEST).
- `test_class_source` (string, required) - Updated local test class ABAP source code.
- `transport_request` (string, optional) - Transport request number (required for transportable packages).
---
#### UpdateUnitTest (High-Level / Unit Test)
**Description:** Update an ABAP Unit test run. Note: ADT does not support updating unit test runs and will return an error.
**Source:** `src/handlers/unit_test/high/handleUpdateUnitTest.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `run_id` (string, required) - Run identifier returned by CreateUnitTest/RunUnitTest.
---
## Low-Level Group
### Low-Level / Class
#### ActivateClassLow (Low-Level / Class)
**Description:** Operation: Activate, Create, Update. Subject: Class. Will be useful for activating, creating, or updating class. [low-level] Activate an ABAP class. Returns activation status and any warnings/errors. Can use session_id and session_state from GetSession to maintain the same session.
**Source:** `src/handlers/class/low/handleActivateClass.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `class_name` (string, required) - Class name (e.g., ZCL_MY_CLASS).
- `session_id` (string, optional) - Session ID from GetSession. If not provided, a new session will be created.
- `session_state` (object, optional) - Session state from GetSession (cookies, csrf_token, cookie_store). Required if session_id is provided.
---
#### ActivateClassTestClassesLow (Low-Level / Class)
**Description:** [low-level] Activate ABAP Unit test classes include for an existing class. Should be executed after updating and unlocking test classes.
**Source:** `src/handlers/class/low/handleActivateClassTestClasses.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `class_name` (string, required) - Class name (e.g., ZCL_MY_CLASS).
- `session_id` (string, optional) - Session ID from GetSession. If not provided, a new session will be created.
- `session_state` (object, optional) - Session state from GetSession (cookies, csrf_token, cookie_store). Required if session_id is provided.
- `test_class_name` (string, optional) - Optional ABAP Unit test class name (e.g., LTCL_MY_CLASS). Defaults to auto-detected value.
---
#### CheckClassLow (Low-Level / Class)
**Description:** [low-level] Perform syntax check on an ABAP class. Can check existing class (active/inactive) or hypothetical source code. Returns syntax errors, warnings, and messages. Can use session_id and session_state from GetSession to maintain the same session.
**Source:** `src/handlers/class/low/handleCheckClass.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `class_name` (string, required) - Class name (e.g., ZCL_MY_CLASS)
- `session_id` (string, optional) - Session ID from GetSession. If not provided, a new session will be created.
- `session_state` (object, optional) - Session state from GetSession (cookies, csrf_token, cookie_store). Required if session_id is provided.
- `source_code` (string, optional) - Optional: source code to validate. If provided, validates hypothetical code without creating object. Must include complete CLASS DEFINITION and IMPLEMENTATION sections.
- `version` (string, optional) - Version to check: 'active' (last activated) or 'inactive' (current unsaved). Default: active
---
#### CreateClassLow (Low-Level / Class)
**Description:** [low-level] Create a new ABAP class. - use CreateClass (high-level) for full workflow with validation, lock, update, check, unlock, and activate.
**Source:** `src/handlers/class/low/handleCreateClass.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `abstract` (boolean, optional (default: false).)) - Mark class as abstract (optional, default: false).
- `class_name` (string, required) - Class name (e.g., ZCL_TEST_CLASS_001). Must follow SAP naming conventions.
- `create_protected` (boolean, optional (default: false).)) - Create protected section (optional, default: false).
- `description` (string, required) - Class description.
- `final` (boolean, optional (default: false).)) - Mark class as final (optional, default: false).
- `package_name` (string, required) - Package name (e.g., ZOK_LOCAL, $TMP for local objects).
- `session_id` (string, optional) - Session ID from GetSession. If not provided, a new session will be created.
- `session_state` (object, optional) - Session state from GetSession (cookies, csrf_token, cookie_store). Required if session_id is provided.
- `superclass` (string, optional) - Superclass name (optional).
- `transport_request` (string, optional) - Transport request number (e.g., E19K905635). Required for transportable packages.
---
#### DeleteClassLow (Low-Level / Class)
**Description:** [low-level] Delete an ABAP class from the SAP system via ADT deletion API. Transport request optional for $TMP objects.
**Source:** `src/handlers/class/low/handleDeleteClass.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `class_name` (string, required) - Class name (e.g., ZCL_MY_CLASS).
- `transport_request` (string, optional) - Transport request number (e.g., E19K905635). Required for transportable objects. Optional for local objects ($TMP).
---
#### GetClassUnitTestResultLow (Low-Level / Class)
**Description:** [low-level] Retrieve ABAP Unit run result (ABAPUnit or JUnit XML) for a completed run_id.
**Source:** `src/handlers/class/low/handleGetClassUnitTestResult.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `format` (string, optional) - Preferred response format. Defaults to 'abapunit'.
- `run_id` (string, required) - Run identifier returned by RunClassUnitTestsLow.
- `session_id` (string, optional) - Session ID from GetSession. If not provided, a new session will be created.
- `session_state` (object, optional) - Session state from GetSession (cookies, csrf_token, cookie_store). Required if session_id is provided.
- `with_navigation_uris` (boolean, optional) - Optional flag to request navigation URIs in SAP response (default true).
---
#### GetClassUnitTestStatusLow (Low-Level / Class)
**Description:** [low-level] Retrieve ABAP Unit run status XML for a previously started run_id.
**Source:** `src/handlers/class/low/handleGetClassUnitTestStatus.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `run_id` (string, required) - Run identifier returned by RunClassUnitTestsLow.
- `session_id` (string, optional) - Session ID from GetSession. If not provided, a new session will be created.
- `session_state` (object, optional) - Session state from GetSession (cookies, csrf_token, cookie_store). Required if session_id is provided.
- `with_long_polling` (boolean, optional) - Optional flag to enable SAP long-polling (default true).
---
#### LockClassLow (Low-Level / Class)
**Description:** [low-level] Lock an ABAP class for modification. Uses session from HandlerContext. Returns lock handle that must be used in subsequent update/unlock operations.
**Source:** `src/handlers/class/low/handleLockClass.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `class_name` (string, required) - Class name (e.g., ZCL_MY_CLASS).
---
#### LockClassTestClassesLow (Low-Level / Class)
**Description:** [low-level] Lock ABAP Unit test classes include (CLAS/OC testclasses) for the specified class. Returns a test_classes_lock_handle for subsequent update/unlock operations using the same session.
**Source:** `src/handlers/class/low/handleLockClassTestClasses.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `class_name` (string, required) - Class name (e.g., ZCL_MY_CLASS).
- `session_id` (string, optional) - Session ID from GetSession. If not provided, a new session will be created.
- `session_state` (object, optional) - Session state from GetSession (cookies, csrf_token, cookie_store). Required if session_id is provided.
---
#### RunClassUnitTestsLow (Low-Level / Class)
**Description:** [low-level] Start an ABAP Unit test run for provided class test definitions. Returns run_id extracted from SAP response headers.
**Source:** `src/handlers/class/low/handleRunClassUnitTests.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `context` (string, optional) - Optional context string shown in SAP tools.
- `duration` (object, optional) -
- `risk_level` (object, optional) -
- `scope` (object, optional) -
- `session_id` (string, optional) - Session ID from GetSession. If not provided, a new session will be created.
- `session_state` (object, optional) - Session state from GetSession (cookies, csrf_token, cookie_store). Required if session_id is provided.
- `tests` (array, required) - List of container/test class pairs to execute.
- `title` (string, optional) - Optional title for the ABAP Unit run.
---
#### UnlockClassLow (Low-Level / Class)
**Description:** [low-level] Unlock an ABAP class after modification. Uses session from HandlerContext. Must use the same lock_handle from LockClass operation.
**Source:** `src/handlers/class/low/handleUnlockClass.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `class_name` (string, required) - Class name (e.g., ZCL_MY_CLASS).
- `lock_handle` (string, required) - Lock handle from LockClass operation.
---
#### UnlockClassTestClassesLow (Low-Level / Class)
**Description:** [low-level] Unlock ABAP Unit test classes include for a class using the test_classes_lock_handle obtained from LockClassTestClassesLow.
**Source:** `src/handlers/class/low/handleUnlockClassTestClasses.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `class_name` (string, required) - Class name (e.g., ZCL_MY_CLASS).
- `lock_handle` (string, required) - Lock handle returned by LockClassTestClassesLow.
- `session_id` (string, optional) - Session ID from GetSession. If not provided, a new session will be created.
- `session_state` (object, optional) - Session state from GetSession (cookies, csrf_token, cookie_store). Required if session_id is provided.
---
#### UpdateClassLow (Low-Level / Class)
**Description:** [low-level] Update source code of an existing ABAP class. Uses session from HandlerContext. Requires lock handle from LockClass operation. - use UpdateClass (high-level) for full workflow with lock/unlock/activate.
**Source:** `src/handlers/class/low/handleUpdateClass.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `class_name` (string, required) - Class name (e.g., ZCL_TEST_CLASS_001). Class must already exist.
- `lock_handle` (string, required) - Lock handle from LockClass operation. Required for update operation.
- `source_code` (string, required) - Complete ABAP class source code including CLASS DEFINITION and IMPLEMENTATION sections.
---
#### UpdateClassTestClassesLow (Low-Level / Class)
**Description:** [low-level] Upload ABAP Unit test include source code for an existing class. Requires test_classes_lock_handle from LockClassTestClassesLow.
**Source:** `src/handlers/class/low/handleUpdateClassTestClasses.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `class_name` (string, required) - Class name (e.g., ZCL_MY_CLASS).
- `lock_handle` (string, required) - Test classes lock handle from LockClassTestClassesLow.
- `session_id` (string, optional) - Session ID from GetSession. If not provided, a new session will be created.
- `session_state` (object, optional) - Session state from GetSession (cookies, csrf_token, cookie_store). Required if session_id is provided.
- `test_class_source` (string, required) - Complete ABAP Unit test class source code.
---
#### ValidateClassLow (Low-Level / Class)
**Description:** [low-level] Validate an ABAP class name before creation. Checks if the name is valid, available, and validates package, description, and superclass if provided. Can use session_id and session_state from GetSession to maintain the same session.
**Source:** `src/handlers/class/low/handleValidateClass.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `class_name` (string, required) - Class name to validate (e.g., ZCL_MY_CLASS)
- `description` (string, required) - Description for validation (required).
- `package_name` (string, required) - Package name for validation (required).
- `session_id` (string, optional) - Session ID from GetSession. If not provided, a new session will be created.
- `session_state` (object, optional) - Session state from GetSession (cookies, csrf_token, cookie_store). Required if session_id is provided.
- `superclass` (string, optional) - Optional superclass name for validation (e.g., CL_OBJECT)
---
### Low-Level / Common
#### ActivateObjectLow (Low-Level / Common)
**Description:** [low-level] Activate one or multiple ABAP repository objects. Works with any object type; URI is auto-generated from name and type.
**Source:** `src/handlers/common/low/handleActivateObject.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `objects` (array, required) - Array of objects to activate. Each object must have 'name' and 'type'. URI is optional.
- `preaudit` (boolean, optional) - Request pre-audit before activation. Default: true
---
#### DeleteObjectLow (Low-Level / Common)
**Description:** [low-level] Delete an ABAP object via ADT deletion API. Transport request optional for $TMP objects. Note: object_type "program" is onprem/legacy only — calling it on ABAP Cloud will fail.
**Source:** `src/handlers/common/low/handleDeleteObject.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `function_group_name` (string, optional) - Required only for function_module type
- `object_name` (string, required) - Object name (e.g., ZCL_MY_CLASS)
- `object_type` (string, required) - Object type. Supported: class, program (onprem/legacy only), interface, function_group, function_module, table, structure, ddl, domain, data_element, behavior_definition, metadata_extension. Also accepts ADT codes (clas/oc, prog/p, intf/oi, fugr/f, fugr/ff, tabl/dt, ttyp/st, ddls/df, doma/dm, dtel/de, bdef/bd, ddlx/ex).
- `transport_request` (string, optional) - Transport request number
---
### Low-Level / Ddl
#### ActivateDdlLow (Low-Level / Ddl)
**Description:** Operation: Activate, Create, Update. Subject: DDL source. Will be useful for activating, creating, or updating a DDL source. [low-level] Activate an ABAP DDL source (CDS view). Returns activation status and any warnings/errors. Can use session_id and session_state from GetSession to maintain the same session.
**Source:** `src/handlers/ddl/low/handleActivateDdl.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `ddl_name` (string, required) - DDL source name (e.g., ZVW_MY_VIEW).
- `session_id` (string, optional) - Session ID from GetSession. If not provided, a new session will be created.
- `session_state` (object, optional) - Session state from GetSession (cookies, csrf_token, cookie_store). Required if session_id is provided.
---
#### CheckDdlLow (Low-Level / Ddl)
**Description:** [low-level] Perform syntax check on an ABAP DDL source. Returns syntax errors, warnings, and messages. Can use session_id and session_state from GetSession to maintain the same session. If ddl_source is provided, validates new/unsaved code (will be base64 encoded in request).
**Source:** `src/handlers/ddl/low/handleCheckDdl.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `ddl_name` (string, required) - DDL source name (e.g., Z_MY_PROGRAM).
- `ddl_source` (string, optional) - Optional DDL source code to validate (for checking new/unsaved code). If provided, code will be base64 encoded and sent in check request body.
- `session_id` (string, optional) - Session ID from GetSession. If not provided, a new session will be created.
- `session_state` (object, optional) - Session state from GetSession (cookies, csrf_token, cookie_store). Required if session_id is provided.
- `version` (string, optional) - Version to check: 'active' (last activated) or 'inactive' (current unsaved). Default: inactive
---
#### CreateDdlLow (Low-Level / Ddl)
**Description:** [low-level] Create a new ABAP DDL source. - use CreateDdl (high-level) for full workflow with validation, lock, update, check, unlock, and activate.
**Source:** `src/handlers/ddl/low/handleCreateDdl.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `application` (string, optional (default: *').)) - Application area (optional, default: '*').
- `ddl_name` (string, required) - DDL source name (e.g., Z_TEST_PROGRAM). Must follow SAP naming conventions.
- `description` (string, required) - DDL source description.
- `package_name` (string, required) - Package name (e.g., ZOK_LOCAL, $TMP for local objects).
- `session_id` (string, optional) - Session ID from GetSession. If not provided, a new session will be created.
- `session_state` (object, optional) - Session state from GetSession (cookies, csrf_token, cookie_store). Required if session_id is provided.
- `transport_request` (string, optional) - Transport request number (e.g., E19K905635). Required for transportable packages.
---
#### DeleteDdlLow (Low-Level / Ddl)
**Description:** [low-level] Delete a DDL source from the SAP system via ADT deletion API. Transport request optional for $TMP objects.
**Source:** `src/handlers/ddl/low/handleDeleteDdl.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `ddl_name` (string, required) - DDL source name (e.g., Z_MY_PROGRAM).
- `transport_request` (string, optional) - Transport request number (e.g., E19K905635). Required for transportable objects. Optional for local objects ($TMP).
---
#### LockDdlLow (Low-Level / Ddl)
**Description:** [low-level] Lock a DDL source for modification. Returns lock handle that must be used in subsequent update/unlock operations with the same session_id.
**Source:** `src/handlers/ddl/low/handleLockDdl.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `ddl_name` (string, required) - DDL source name (e.g., Z_MY_PROGRAM).
- `session_id` (string, optional) - Session ID from GetSession. If not provided, a new session will be created.
- `session_state` (object, optional) - Session state from GetSession (cookies, csrf_token, cookie_store). Required if session_id is provided.
---
#### UnlockDdlLow (Low-Level / Ddl)
**Description:** [low-level] Unlock an ABAP DDL source after modification. Must use the same session_id and lock_handle from LockDdlLow operation.
**Source:** `src/handlers/ddl/low/handleUnlockDdl.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `ddl_name` (string, required) - DDL source name (e.g., Z_MY_PROGRAM).
- `lock_handle` (string, required) - Lock handle from LockDdlLow operation.
- `session_id` (string, required) - Session ID from LockDdlLow operation. Must be the same as used in LockDdlLow.
- `session_state` (object, optional) - Session state from LockDdlLow (cookies, csrf_token, cookie_store). Required if session_id is provided.
---
#### UpdateDdlLow (Low-Level / Ddl)
**Description:** [low-level] Update DDL source code of an existing CDS View or Classic View. Requires lock handle from LockDdlLow. - use UpdateDdl (high-level) for full workflow with lock/unlock/activate.
**Source:** `src/handlers/ddl/low/handleUpdateDdl.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `ddl_name` (string, required) - DDL source name (e.g., ZOK_R_TEST_0002). DDL source must already exist.
- `ddl_source` (string, required) - Complete DDL source code. CDS: include @AbapCatalog.sqlViewName and other annotations. Classic: plain 'define view' statement.
- `lock_handle` (string, required) - Lock handle from LockDdlLow. Required for update operation.
- `session_id` (string, optional) - Session ID from GetSession. If not provided, a new session will be created.
- `session_state` (object, optional) - Session state from GetSession (cookies, csrf_token, cookie_store). Required if session_id is provided.
---
#### ValidateDdlLow (Low-Level / Ddl)
**Description:** [low-level] Validate an ABAP DDL source name before creation. Checks if the name is valid and available. Returns validation result with success status and message. Can use session_id and session_state from GetSession to maintain the same session.
**Source:** `src/handlers/ddl/low/handleValidateDdl.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `ddl_name` (string, required) - DDL source name to validate (e.g., Z_MY_PROGRAM).
- `description` (string, required) - DDL source description. Required for validation.
- `package_name` (string, required) - Package name (e.g., ZOK_LOCAL, $TMP for local objects). Required for validation.
- `session_id` (string, optional) - Session ID from GetSession. If not provided, a new session will be created.
- `session_state` (object, optional) - Session state from GetSession (cookies, csrf_token, cookie_store). Required if session_id is provided.
---
### Low-Level / Function
#### ActivateFunctionGroupLow (Low-Level / Function)
**Description:** [low-level] Activate an ABAP function group. Returns activation status and any warnings/errors. Can use session_id and session_state from GetSession to maintain the same session.
**Source:** `src/handlers/function/low/handleActivateFunctionGroup.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `function_group_name` (string, required) - Function group name (e.g., Z_FG_TEST).
- `session_id` (string, optional) - Session ID from GetSession. If not provided, a new session will be created.
- `session_state` (object, optional) - Session state from GetSession (cookies, csrf_token, cookie_store). Required if session_id is provided.
---
#### ActivateFunctionModuleLow (Low-Level / Function)
**Description:** Operation: Activate, Create, Update. Subject: FunctionModule. Will be useful for activating, creating, or updating function module. [low-level] Activate an ABAP function module. Returns activation status and any warnings/errors. Can use session_id and session_state from GetSession to maintain the same session.
**Source:** `src/handlers/function/low/handleActivateFunctionModule.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `function_group_name` (string, required) - Function group name (e.g., Z_FG_TEST).
- `function_module_name` (string, required) - Function module name (e.g., Z_FM_TEST).
- `session_id` (string, optional) - Session ID from GetSession. If not provided, a new session will be created.
- `session_state` (object, optional) - Session state from GetSession (cookies, csrf_token, cookie_store). Required if session_id is provided.
---
#### CheckFunctionGroupLow (Low-Level / Function)
**Description:** [low-level] Perform syntax check on an ABAP function group. Returns syntax errors, warnings, and messages. Can use session_id and session_state from GetSession to maintain the same session.
**Source:** `src/handlers/function/low/handleCheckFunctionGroup.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `function_group_name` (string, required) - FunctionGroup name (e.g., Z_MY_PROGRAM).
- `session_id` (string, optional) - Session ID from GetSession. If not provided, a new session will be created.
- `session_state` (object, optional) - Session state from GetSession (cookies, csrf_token, cookie_store). Required if session_id is provided.
---
#### CheckFunctionModuleLow (Low-Level / Function)
**Description:** [low-level] Perform syntax check on an ABAP function module. Returns syntax errors, warnings, and messages. Requires function group name. Can use session_id and session_state from GetSession to maintain the same session.
**Source:** `src/handlers/function/low/handleCheckFunctionModule.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `function_group_name` (string, required) - Function group name (e.g., Z_FUGR_TEST_0001)
- `function_module_name` (string, required) - Function module name (e.g., Z_TEST_FM)
- `session_id` (string, optional) - Session ID from GetSession. If not provided, a new session will be created.
- `session_state` (object, optional) - Session state from GetSession (cookies, csrf_token, cookie_store). Required if session_id is provided.
- `version` (string, optional) - Version to check: 'active' (last activated) or 'inactive' (current unsaved). Default: active
---
#### CreateFunctionGroupLow (Low-Level / Function)
**Description:** [low-level] Create a new ABAP function group. - use CreateFunctionGroup (high-level) for full workflow with validation, lock, update, check, unlock, and activate.
**Source:** `src/handlers/function/low/handleCreateFunctionGroup.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `description` (string, required) - Function group description.
- `function_group_name` (string, required) - Function group name (e.g., ZFG_MY_GROUP). Must follow SAP naming conventions.
- `package_name` (string, required) - Package name (e.g., ZOK_LOCAL, $TMP for local objects).
- `session_id` (string, optional) - Session ID from GetSession. If not provided, a new session will be created.
- `session_state` (object, optional) - Session state from GetSession (cookies, csrf_token, cookie_store). Required if session_id is provided.
- `transport_request` (string, optional) - Transport request number (e.g., E19K905635). Required for transportable packages.
---
#### CreateFunctionModuleLow (Low-Level / Function)
**Description:** [low-level] Create a new ABAP function module. - use CreateFunctionModule (high-level) for full workflow with validation, lock, update, check, unlock, and activate.
**Source:** `src/handlers/function/low/handleCreateFunctionModule.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `description` (string, required) - Function module description.
- `function_group_name` (string, required) - Function group name (e.g., ZFG_MY_GROUP).
- `function_module_name` (string, required) - Function module name (e.g., Z_MY_FUNCTION).
- `package_name` (string, required) - Package name (e.g., ZOK_LOCAL, $TMP for local objects).
- `session_id` (string, optional) - Session ID from GetSession. If not provided, a new session will be created.
- `session_state` (object, optional) - Session state from GetSession (cookies, csrf_token, cookie_store). Required if session_id is provided.
- `transport_request` (string, optional) - Transport request number (e.g., E19K905635). Required for transportable packages.
---
#### DeleteFunctionGroupLow (Low-Level / Function)
**Description:** [low-level] Delete an ABAP function group from the SAP system via ADT deletion API. Transport request optional for $TMP objects.
**Source:** `src/handlers/function/low/handleDeleteFunctionGroup.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `function_group_name` (string, required) - FunctionGroup name (e.g., Z_MY_PROGRAM).
- `transport_request` (string, optional) - Transport request number (e.g., E19K905635). Required for transportable objects. Optional for local objects ($TMP).
---
#### DeleteFunctionModuleLow (Low-Level / Function)
**Description:** [low-level] Delete an ABAP function module from the SAP system via ADT deletion API. Transport request optional for $TMP objects.
**Source:** `src/handlers/function/low/handleDeleteFunctionModule.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `function_group_name` (string, required) - Function group name (e.g., ZFG_MY_GROUP).
- `function_module_name` (string, required) - Function module name (e.g., Z_MY_FUNCTION).
- `transport_request` (string, optional) - Transport request number (e.g., E19K905635). Required for transportable objects. Optional for local objects ($TMP).
---
#### LockFunctionGroupLow (Low-Level / Function)
**Description:** [low-level] Lock an ABAP function group for modification. Returns lock handle that must be used in subsequent update/unlock operations with the same session_id.
**Source:** `src/handlers/function/low/handleLockFunctionGroup.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `function_group_name` (string, required) - FunctionGroup name (e.g., Z_MY_PROGRAM).
- `session_id` (string, optional) - Session ID from GetSession. If not provided, a new session will be created.
- `session_state` (object, optional) - Session state from GetSession (cookies, csrf_token, cookie_store). Required if session_id is provided.
---
#### LockFunctionModuleLow (Low-Level / Function)
**Description:** [low-level] Lock an ABAP function module for modification. Returns lock handle that must be used in subsequent update/unlock operations with the same session_id.
**Source:** `src/handlers/function/low/handleLockFunctionModule.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `function_group_name` (string, required) - Function group name (e.g., ZFG_MY_GROUP).
- `function_module_name` (string, required) - Function module name (e.g., Z_MY_FUNCTION).
- `session_id` (string, optional) - Session ID from GetSession. If not provided, a new session will be created.
- `session_state` (object, optional) - Session state from GetSession (cookies, csrf_token, cookie_store). Required if session_id is provided.
---
#### UnlockFunctionGroupLow (Low-Level / Function)
**Description:** [low-level] Unlock an ABAP function group after modification. Must use the same session_id and lock_handle from LockFunctionGroup operation.
**Source:** `src/handlers/function/low/handleUnlockFunctionGroup.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `function_group_name` (string, required) - FunctionGroup name (e.g., Z_MY_PROGRAM).
- `lock_handle` (string, required) - Lock handle from LockFunctionGroup operation.
- `session_id` (string, required) - Session ID from LockFunctionGroup operation. Must be the same as used in LockFunctionGroup.
- `session_state` (object, optional) - Session state from LockFunctionGroup (cookies, csrf_token, cookie_store). Required if session_id is provided.
---
#### UnlockFunctionModuleLow (Low-Level / Function)
**Description:** [low-level] Unlock an ABAP function module after modification. Must use the same session_id and lock_handle from LockFunctionModule operation.
**Source:** `src/handlers/function/low/handleUnlockFunctionModule.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `function_group_name` (string, required) - Function group name (e.g., ZFG_MY_GROUP).
- `function_module_name` (string, required) - Function module name (e.g., Z_MY_FUNCTION).
- `lock_handle` (string, required) - Lock handle from LockFunctionModule operation.
- `session_id` (string, required) - Session ID from LockFunctionModule operation. Must be the same as used in LockFunctionModule.
- `session_state` (object, optional) - Session state from LockFunctionModule (cookies, csrf_token, cookie_store). Required if session_id is provided.
---
#### UpdateFunctionModuleLow (Low-Level / Function)
**Description:** [low-level] Update source code of an existing ABAP function module. Requires lock handle from LockObject and function group name. - use UpdateFunctionModule (high-level) for full workflow with lock/unlock/activate.
**Source:** `src/handlers/function/low/handleUpdateFunctionModule.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `function_group_name` (string, required) - Function group name containing the function module (e.g., Z_TEST_FG).
- `function_module_name` (string, required) - Function module name (e.g., Z_TEST_FM). Function module must already exist.
- `lock_handle` (string, required) - Lock handle from LockFunctionModule. Required for update operation.
- `session_id` (string, optional) - Session ID from GetSession. If not provided, a new session will be created.
- `session_state` (object, optional) - Session state from GetSession (cookies, csrf_token, cookie_store). Required if session_id is provided.
- `source_code` (string, required) - Complete ABAP function module source code.
- `transport_request` (string, optional) - Transport request number (e.g., E19K905635). Required for transportable objects locked in a request.
---
#### ValidateFunctionGroupLow (Low-Level / Function)
**Description:** [low-level] Validate an ABAP function group name before creation. Checks if the name is valid and available. Returns validation result with success status and message. Can use session_id and session_state from GetSession to maintain the same session.
**Source:** `src/handlers/function/low/handleValidateFunctionGroup.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `description` (string, optional) - Optional description for validation
- `function_group_name` (string, required) - FunctionGroup name to validate (e.g., Z_MY_PROGRAM).
- `package_name` (string, optional) - Package name for validation (optional but recommended).
- `session_id` (string, optional) - Session ID from GetSession. If not provided, a new session will be created.
- `session_state` (object, optional) - Session state from GetSession (cookies, csrf_token, cookie_store). Required if session_id is provided.
---
#### ValidateFunctionModuleLow (Low-Level / Function)
**Description:** [low-level] Validate an ABAP function module name before creation. Checks if the name is valid and available. Requires function group name. Can use session_id and session_state from GetSession to maintain the same session.
**Source:** `src/handlers/function/low/handleValidateFunctionModule.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `description` (string, optional) - Optional description for validation
- `function_group_name` (string, required) - Function group name (e.g., Z_FUGR_TEST_0001)
- `function_module_name` (string, required) - Function module name to validate (e.g., Z_TEST_FM)
- `session_id` (string, optional) - Session ID from GetSession. If not provided, a new session will be created.
- `session_state` (object, optional) - Session state from GetSession (cookies, csrf_token, cookie_store). Required if session_id is provided.
---
### Low-Level / Interface
#### ActivateInterfaceLow (Low-Level / Interface)
**Description:** Operation: Activate, Create, Update. Subject: Interface. Will be useful for activating, creating, or updating interface. [low-level] Activate an ABAP interface. Returns activation status and any warnings/errors. Can use session_id and session_state from GetSession to maintain the same session.
**Source:** `src/handlers/interface/low/handleActivateInterface.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `interface_name` (string, required) - Interface name (e.g., ZIF_MY_INTERFACE).
- `session_id` (string, optional) - Session ID from GetSession. If not provided, a new session will be created.
- `session_state` (object, optional) - Session state from GetSession (cookies, csrf_token, cookie_store). Required if session_id is provided.
---
#### CheckInterfaceLow (Low-Level / Interface)
**Description:** [low-level] Perform syntax check on an ABAP interface. Returns syntax errors, warnings, and messages. Can use session_id and session_state from GetSession to maintain the same session.
**Source:** `src/handlers/interface/low/handleCheckInterface.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `interface_name` (string, required) - Interface name (e.g., Z_MY_PROGRAM).
- `session_id` (string, optional) - Session ID from GetSession. If not provided, a new session will be created.
- `session_state` (object, optional) - Session state from GetSession (cookies, csrf_token, cookie_store). Required if session_id is provided.
---
#### CreateInterfaceLow (Low-Level / Interface)
**Description:** [low-level] Create a new ABAP interface. - use CreateInterface (high-level) for full workflow with validation, lock, update, check, unlock, and activate.
**Source:** `src/handlers/interface/low/handleCreateInterface.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `description` (string, required) - Interface description.
- `interface_name` (string, required) - Interface name (e.g., ZIF_TEST_INTERFACE). Must follow SAP naming conventions.
- `package_name` (string, required) - Package name (e.g., ZOK_LOCAL, $TMP for local objects).
- `session_id` (string, optional) - Session ID from GetSession. If not provided, a new session will be created.
- `session_state` (object, optional) - Session state from GetSession (cookies, csrf_token, cookie_store). Required if session_id is provided.
- `transport_request` (string, optional) - Transport request number (e.g., E19K905635). Required for transportable packages.
---
#### DeleteInterfaceLow (Low-Level / Interface)
**Description:** [low-level] Delete an ABAP interface from the SAP system via ADT deletion API. Transport request optional for $TMP objects.
**Source:** `src/handlers/interface/low/handleDeleteInterface.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `interface_name` (string, required) - Interface name (e.g., Z_MY_PROGRAM).
- `transport_request` (string, optional) - Transport request number (e.g., E19K905635). Required for transportable objects. Optional for local objects ($TMP).
---
#### LockInterfaceLow (Low-Level / Interface)
**Description:** [low-level] Lock an ABAP interface for modification. Returns lock handle that must be used in subsequent update/unlock operations with the same session_id.
**Source:** `src/handlers/interface/low/handleLockInterface.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `interface_name` (string, required) - Interface name (e.g., ZIF_MY_INTERFACE).
- `session_id` (string, optional) - Session ID from GetSession. If not provided, a new session will be created.
- `session_state` (object, optional) - Session state from GetSession (cookies, csrf_token, cookie_store). Required if session_id is provided.
---
#### UnlockInterfaceLow (Low-Level / Interface)
**Description:** [low-level] Unlock an ABAP interface after modification. Must use the same session_id and lock_handle from LockInterface operation.
**Source:** `src/handlers/interface/low/handleUnlockInterface.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `interface_name` (string, required) - Interface name (e.g., Z_MY_PROGRAM).
- `lock_handle` (string, required) - Lock handle from LockInterface operation.
- `session_id` (string, required) - Session ID from LockInterface operation. Must be the same as used in LockInterface.
- `session_state` (object, optional) - Session state from LockInterface (cookies, csrf_token, cookie_store). Required if session_id is provided.
---
#### UpdateInterfaceLow (Low-Level / Interface)
**Description:** [low-level] Update source code of an existing ABAP interface. Requires lock handle from LockObject. - use UpdateInterface (high-level) for full workflow with lock/unlock/activate.
**Source:** `src/handlers/interface/low/handleUpdateInterface.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `interface_name` (string, required) - Interface name (e.g., ZIF_TEST_INTERFACE). Interface must already exist.
- `lock_handle` (string, required) - Lock handle from LockObject. Required for update operation.
- `session_id` (string, optional) - Session ID from GetSession. If not provided, a new session will be created.
- `session_state` (object, optional) - Session state from GetSession (cookies, csrf_token, cookie_store). Required if session_id is provided.
- `source_code` (string, required) - Complete ABAP interface source code.
---
#### ValidateInterfaceLow (Low-Level / Interface)
**Description:** [low-level] Validate an ABAP interface name before creation. Checks if the name is valid and available. Returns validation result with success status and message. Can use session_id and session_state from GetSession to maintain the same session.
**Source:** `src/handlers/interface/low/handleValidateInterface.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `description` (string, required) - Interface description. Required for validation.
- `interface_name` (string, required) - Interface name to validate (e.g., Z_MY_PROGRAM).
- `package_name` (string, required) - Package name (e.g., ZOK_LOCAL, $TMP for local objects). Required for validation.
- `session_id` (string, optional) - Session ID from GetSession. If not provided, a new session will be created.
- `session_state` (object, optional) - Session state from GetSession (cookies, csrf_token, cookie_store). Required if session_id is provided.
---
### Low-Level / Package
#### CheckPackageLow (Low-Level / Package)
**Description:** [low-level] Perform syntax check on an ABAP package. Returns syntax errors, warnings, and messages. Can use session_id and session_state from GetSession to maintain the same session.
**Source:** `src/handlers/package/low/handleCheckPackage.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `package_name` (string, required) - Package name (e.g., ZOK_TEST_0002).
- `session_id` (string, optional) - Session ID from GetSession. If not provided, a new session will be created.
- `session_state` (object, optional) - Session state from GetSession (cookies, csrf_token, cookie_store). Required if session_id is provided.
- `super_package` (string, required) - Super package (parent package) name (e.g., ZOK_PACKAGE). Required.
---
#### DeletePackageLow (Low-Level / Package)
**Description:** [low-level] Delete an ABAP package from the SAP system via ADT deletion API. Transport request optional for $TMP objects.
**Source:** `src/handlers/package/low/handleDeletePackage.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `connection_config` (object, optional) - Optional SAP connection config to create a fresh connection for deletion. Useful when the existing connection config is unavailable.
- `force_new_connection` (boolean, optional) - Force creation of a new connection (bypass cache). Useful when package was locked/unlocked and needs to be deleted in a fresh session. Default: false.
- `package_name` (string, required) - Package name (e.g., Z_MY_PROGRAM).
- `transport_request` (string, optional) - Transport request number (e.g., E19K905635). Required for transportable objects. Optional for local objects ($TMP).
---
#### LockPackageLow (Low-Level / Package)
**Description:** [low-level] Lock an ABAP package for modification. Returns lock handle that must be used in subsequent update/unlock operations with the same session_id. Requires super_package.
**Source:** `src/handlers/package/low/handleLockPackage.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `package_name` (string, required) - Package name (e.g., ZOK_TEST_0002).
- `session_id` (string, optional) - Session ID from GetSession. If not provided, a new session will be created.
- `session_state` (object, optional) - Session state from GetSession (cookies, csrf_token, cookie_store). Required if session_id is provided.
- `super_package` (string, required) - Super package (parent package) name (e.g., ZOK_PACKAGE). Required.
---
#### UnlockPackageLow (Low-Level / Package)
**Description:** [low-level] Unlock an ABAP package after modification. Requires lock handle from LockObject and superPackage. - must use the same session_id and lock_handle from LockObject.
**Source:** `src/handlers/package/low/handleUnlockPackage.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `lock_handle` (string, required) - Lock handle from LockObject operation
- `package_name` (string, required) - Package name (e.g., ZOK_TEST_0002). Package must already exist.
- `session_id` (string, required) - Session ID from LockObject operation. Must be the same as used in LockObject.
- `session_state` (object, optional) - Session state from LockObject (cookies, csrf_token, cookie_store). Required if session_id is provided.
- `super_package` (string, required) - Super package (parent package) name. Required for package operations.
---
#### UpdatePackageLow (Low-Level / Package)
**Description:** [low-level] Update description of an existing ABAP package. Requires lock handle from LockObject and superPackage. - use UpdatePackageSource for full workflow with lock/unlock.
**Source:** `src/handlers/package/low/handleUpdatePackage.ts`
**Available in:** `onprem`, `cloud`, `legacy`
**Parameters:**
- `lock_handle` (string, required) - Lock handle from LockObject. Required for update operation.
- `package_name` (string, required) - Package name (e.g., ZOK_TEST_0002). Package must already exist.
- `session_id` (string, optional) - Session ID from GetSession. If not provided, a new session will be created.
- `session_state` (object, optional) - Session state from GetSession (cookies, csrf_token, cookie_store). Required if session_id is provided.
- `super_package` (string, required) - Super package (parent package) name. Required for package operations.
- `updated_description` (string, required) - New description for the package.
---
### Low-Level / Program
#### ActivateProgramLow (Low-Level / Program)
**Description:** Operation: Activate, Create, Update. Subject: Program. Will be useful for activating, creating, or updating program. [low-level] Activate an ABAP program. Returns activation status and any warnings/errors. Can use session_id and session_state from GetSession to maintain the same session.
**Source:** `src/handlers/program/low/handleActivateProgram.ts`
**Available in:** `onprem`, `legacy`
**Parameters:**
- `program_name` (string, required) - Program name (e.g., Z_MY_PROGRAM).
- `session_id` (string, optional) - Session ID from GetSession. If not provided, a new session will be created.
- `session_state` (object, optional) - Session state from GetSession (cookies, csrf_token, cookie_store). Required if session_id is provided.
---
#### CheckProgramLow (Low-Level / Program)
**Description:** [low-level] Perform syntax check on an ABAP program. Returns syntax errors, warnings, and messages. Can use session_id and session_state from GetSession to maintain the same session.
**Source:** `src/handlers/program/low/handleCheckProgram.ts`
**Available in:** `onprem`, `legacy`
**Parameters:**
- `program_name` (string, required) - Program name (e.g., Z_MY_PROGRAM).
- `session_id` (string, optional) - Session ID from GetSession. If not provided, a new session will be created.
- `session_state` (object, optional) - Session state from GetSession (cookies, csrf_token, cookie_store). Required if session_id is provided.
---
#### CreateProgramLow (Low-Level / Program)
**Description:** [low-level] Create a new ABAP program. - use CreateProgram (high-level) for full workflow with validation, lock, update, check, unlock, and activate.
**Source:** `src/handlers/program/low/handleCreateProgram.ts`
**Available in:** `onprem`, `legacy`
**Parameters:**
- `application` (string, optional (default: *').)) - Application area (optional, default: '*').
- `description` (string, required) - Program description.
- `package_name` (string, required) - Package name (e.g., ZOK_LOCAL, $TMP for local objects).
- `program_name` (string, required) - Program name (e.g., Z_TEST_PROGRAM). Must follow SAP naming conventions.
- `program_type` (string, optional) - Program type: 'executable', 'include', 'module_pool', 'function_group', 'class_pool', 'interface_pool' (optional).
- `session_id` (string, optional) - Session ID from GetSession. If not provided, a new session will be created.
- `session_state` (object, optional) - Session state from GetSession (cookies, csrf_token, cookie_store). Required if session_id is provided.
- `transport_request` (string, optional) - Transport request number (e.g., E19K905635). Required for transportable packages.
---
#### DeleteProgramLow (Low-Level / Program)
**Description:** [low-level] Delete an ABAP program from the SAP system via ADT deletion API. Transport request optional for $TMP objects.
**Source:** `src/handlers/program/low/handleDeleteProgram.ts`
**Available in:** `onprem`, `legacy`
**Parameters:**
- `program_name` (string, required) - Program name (e.g., Z_MY_PROGRAM).
- `transport_request` (string, optional) - Transport request number (e.g., E19K905635). Required for transportable objects. Optional for local objects ($TMP).
---
#### LockProgramLow (Low-Level / Program)
**Description:** [low-level] Lock an ABAP program for modification. Returns lock handle that must be used in subsequent update/unlock operations with the same session_id.
**Source:** `src/handlers/program/low/handleLockProgram.ts`
**Available in:** `onprem`, `legacy`
**Parameters:**
- `program_name` (string, required) - Program name (e.g., Z_MY_PROGRAM).
- `session_id` (string, optional) - Session ID from GetSession. If not provided, a new session will be created.
- `session_state` (object, optional) - Session state from GetSession (cookies, csrf_token, cookie_store). Required if session_id is provided.
---
#### UnlockProgramLow (Low-Level / Program)
**Description:** [low-level] Unlock an ABAP program after modification. Must use the same session_id and lock_handle from LockProgram operation.
**Source:** `src/handlers/program/low/handleUnlockProgram.ts`
**Available in:** `onprem`, `legacy`
**Parameters:**
- `lock_handle` (string, required) - Lock handle from LockProgram operation.
- `program_name` (string, required) - Program name (e.g., Z_MY_PROGRAM).
- `session_id` (string, required) - Session ID from LockProgram operation. Must be the same as used in LockProgram.
- `session_state` (object, optional) - Session state from LockProgram (cookies, csrf_token, cookie_store). Required if session_id is provided.
---
#### UpdateProgramLow (Low-Level / Program)
**Description:** [low-level] Update source code of an existing ABAP program. Requires lock handle from LockObject. - use UpdateProgram (high-level) for full workflow with lock/unlock/activate.
**Source:** `src/handlers/program/low/handleUpdateProgram.ts`
**Available in:** `onprem`, `legacy`
**Parameters:**
- `lock_handle` (string, required) - Lock handle from LockObject. Required for update operation.
- `program_name` (string, required) - Program name (e.g., Z_TEST_PROGRAM). Program must already exist.
- `session_id` (string, optional) - Session ID from GetSession. If not provided, a new session will be created.
- `session_state` (object, optional) - Session state from GetSession (cookies, csrf_token, cookie_store). Required if session_id is provided.
- `source_code` (string, required) - Complete ABAP program source code.
---
#### ValidateProgramLow (Low-Level / Program)
**Description:** [low-level] Validate an ABAP program name before creation. Checks if the name is valid and available. Returns validation result with success status and message. Can use session_id and session_state from GetSession to maintain the same session.
**Source:** `src/handlers/program/low/handleValidateProgram.ts`
**Available in:** `onprem`, `legacy`
**Parameters:**
- `description` (string, required) - Program description. Required for validation.
- `package_name` (string, required) - Package name (e.g., ZOK_LOCAL, $TMP for local objects). Required for validation.
- `program_name` (string, required) - Program name to validate (e.g., Z_MY_PROGRAM).
- `session_id` (string, optional) - Session ID from GetSession. If not provided, a new session will be created.
- `session_state` (object, optional) - Session state from GetSession (cookies, csrf_token, cookie_store). Required if session_id is provided.
---
*Last updated: 2026-06-29*