Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ABAP_SIDYesThe SAP system ID, e.g. A4H
ABAP_URLYesThe base URL of the ABAP system with ADT enabled, e.g. https://abap.example.com:44300
ABAP_MODENoPermission mode: read (default), edit, or adminread
ABAP_USERYesThe ABAP username with S_DEVELOP
ABAP_CLIENTYesThe SAP client, e.g. 001
ABAP_PASSWORDYesThe password for the ABAP user
ABAP_ALLOW_UI_PRESSNoSet to true to allow UI automation in classic dynpro (off by default).false
ABAP_ALLOW_DATA_PREVIEWNoSet to true to enable data preview capability (off by default).false
ABAP_ALLOW_DUMP_VARIABLESNoSet to true to include variable contents in ST22 dumps (off by default).false

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
abap_transportA

Inspect and manage CTS transport requests: list, show, check (does an object need a transport?), users, log (a request's export/import log per target system), queue (a target system's import buffer), create (kind="workbench" default, or "copies" with target), addUser, setOwner, delete, removeObject (drop one E071 entry and its CTS lock). list/show/check/users/log/queue are plain reads, always allowed; create/addUser/setOwner need write access; delete/removeObject additionally need the admin-only transport-delete ceiling. Release is a separate tool, abap_transport_release. Semantics of log/queue/copies/removeObject: doc/TOOLS/transports.md.

abap_bopfA

Reads a BOPF business object's design-time model: show (default, digest) | raw (v4 XML) | search (needs object_type) | check_refs (up to max_sites, default 25).

abap_enhA

Default op writes the root adtcore:description of an existing ENHO/XH, ENHO/XHH or ENHS/XS, optionally activating it. ENHO/XHH plug-in source body: use abap_write, not this tool. See operation for the other ops.

abap_readA

Read an ABAP object: source, pseudo-DDL, a DEVC/K package listing, or (SUSO/B, TABL/DI) a read-only catalog render; view= selects docu/digest/history/diff/definition/lineage/footprint. A CLAS/INTF/PROG/FUGR source above 150 lines or 8k chars answers with its outline by default — then method=, pattern= (regex, with context), offset/limit, or full=true. To learn a method's signature, use method= with include="definitions" (declaration only); method= also finds inherited members (superclasses and interfaces) and reports foundOn. Returns an etag; capped ~15k tokens, truncation marked. Example: {"object":"ZCL_FOO","type":"CLAS/OC"}.

abap_searchA

Find objects by name pattern (mode=objects, wildcards *), list consumers (mode=where_used; 20+ seconds on wide fan-in — narrow by type/query first), walk multiple levels of callers or callees (mode=call_graph, direction=callers|callees, depth<=4), or scan source text (mode=source; hits grouped per object, needs the fluid API and a package/objects scope).

abap_open_urlA

Browser-openable URL: ADT source/HTML (object=, type=/line=), keyword doc (keyword=), or Web Dynpro URL (webdynpro=). Exactly one required. Does not open a browser.

abap_imgA

Read the IMG customizing catalog: search (query) finds activities; show (activity) returns its path, objects and tables; tree (node/treeId optional) lists a node's children; objects (object, kind optional) returns a customizing object's DDIC tables and fields. search/tree page via after/limit (default 25, ceiling 200) — pass back the exact {"after": ""} a response gives; there is no numeric offset. Fields not valid for the mode are rejected.

abap_activateA

mode=check: syntax check, no lock. mode=activate: check then activate. mode=format: pretty-print (source=text, or object=format-and-save).

abap_journalA

History and undo for writes abapsmith made. Parameters: mode (list|show|undo|reconcile, default list), entry, object, detail, limit, session, force, activate, outcome, reason. Common calls: mode=list (recent writes with entry ids, each row's undoable column and truncated undo_blocker say up front whether an undo is expected to work); mode=show entry= (one entry with its before-image, and the full undo_blocker reason if any; detail=full for the complete images); mode=undo entry= activate=true (revert it — refuses on drift or a delete-gate; see abapsmith-recover-a-bad-write); mode=reconcile entry= outcome=<succeeded|failed> reason= (close a stranded pending entry — journal bookkeeping only, nothing is sent to SAP).

abap_debugA

ABAP debugger driver: arm breakpoints, run a program, step, inspect the stack. One session at a time; frames observe-only. set_value changes a simple variable at a stop (edit/admin mode).

abap_debug_varsA

Survey of every variable in scope at a debugger stop; complex values come back as abap_debug_value stubs.

abap_debug_valueB

Tier-2 drill-in: render one variable path in detail, with a row window for tables.

abap_dumpsA

Read ABAP runtime errors (ST22 short dumps) from the system's dump repository — not the exception text of a run this server just triggered. mode=list filters the dump feed; mode=show returns one dump, chapter by chapter. The feed reaches back 8 DAYS ONLY: an empty list means "no dumps in the last 8 days matching this filter", never "nothing failed". Copy key from a list row VERBATIM. show returns a summary (exception, short text, error analysis, how to correct, source line, top of the call stack, chapter index); section or chapters returns chapter text — where terminated, source extract, system fields, call stack, and nothing else unless the operator enabled more.

abap_serviceA

OData contract a RAP SRVB publishes: entity sets, keys, fields, nav, CRUD/search/page perms; V2/V4 detected. Cannot read entity data — contract only. op="publish"/"unpublish" register or deregister the binding in the OData service runtime (admin-mode ceiling, confirm required to arm). Unpublished bindings named as such.

abap_traceA

ABAP runtime tracing (SAT): records everything a traced request's dispatch touches — time per call and every database access. op="run" (default) traces one execution of a class/report and reads the result back; op="start" arms a request to trace a later run yourself; op="list" shows existing runs/requests; op="read" reads a run's hit list, DB accesses, or call tree; op="delete" removes a run or request.

abap_writeC

Create, change or delete an ABAP object: save/check/activate. LOCKED on this server: ABAP_ALLOW_WRITE does not enable writes, and ABAP_MODE is not set, so that variable is what decides it. Set ABAP_ALLOW_WRITE=true (ABAP_ALLOW_PACKAGES is optional — it narrows the default, which is every package). Calling it returns a refusal and sends nothing to the SAP system.

abap_runC

Execute an IF_OO_ADT_CLASSRUN class or report and capture its output. LOCKED on this server: ABAP_ALLOW_WRITE does not enable writes, and ABAP_MODE is not set, so that variable is what decides it. Set ABAP_ALLOW_WRITE=true (ABAP_ALLOW_PACKAGES is optional — it narrows the default, which is every package). Calling it returns a refusal and sends nothing to the SAP system.

abap_testC

Run ABAP Unit tests and report each method's verdict. LOCKED on this server: ABAP_ALLOW_WRITE does not enable writes, and ABAP_MODE is not set, so that variable is what decides it. Set ABAP_ALLOW_WRITE=true (ABAP_ALLOW_PACKAGES is optional — it narrows the default, which is every package). Calling it returns a refusal and sends nothing to the SAP system.

abap_atcC

Run ABAP Test Cockpit static analysis on an object. LOCKED on this server: ABAP_ALLOW_WRITE does not enable writes, and ABAP_MODE is not set, so that variable is what decides it. Set ABAP_ALLOW_WRITE=true (ABAP_ALLOW_PACKAGES is optional — it narrows the default, which is every package). Calling it returns a refusal and sends nothing to the SAP system.

abap_quick_fixC

List and apply ADT quick fixes at one source position. LOCKED on this server: ABAP_ALLOW_WRITE does not enable writes, and ABAP_MODE is not set, so that variable is what decides it. Set ABAP_ALLOW_WRITE=true (ABAP_ALLOW_PACKAGES is optional — it narrows the default, which is every package). Calling it returns a refusal and sends nothing to the SAP system.

abap_uiB

Drive classic SAP dynpro screens via batch input: read one screen, or run a scripted transaction. LOCKED on this server: ABAP_ALLOW_WRITE does not enable writes, and ABAP_MODE is not set, so that variable is what decides it. Set ABAP_ALLOW_WRITE=true (ABAP_ALLOW_PACKAGES is optional — it narrows the default, which is every package). Calling it returns a refusal and sends nothing to the SAP system.

abap_fpm_readC

Read SAP FPM/FBI screen configurations; every call deploys a throwaway bridge class. LOCKED on this server: ABAP_ALLOW_WRITE does not enable writes, and ABAP_MODE is not set, so that variable is what decides it. Set ABAP_ALLOW_WRITE=true (ABAP_ALLOW_PACKAGES is optional — it narrows the default, which is every package). Calling it returns a refusal and sends nothing to the SAP system.

abap_img_editC

Preview and write IMG/customizing table rows. LOCKED on this server: ABAP_ALLOW_WRITE does not enable writes, and ABAP_MODE is not set, so that variable is what decides it. Set ABAP_ALLOW_WRITE=true (ABAP_ALLOW_PACKAGES is optional — it narrows the default, which is every package). Calling it returns a refusal and sends nothing to the SAP system.

abap_bopf_testC

Run a BOPF business object end to end, writing real rows. LOCKED on this server: ABAP_ALLOW_WRITE does not enable writes, and ABAP_MODE is not set, so that variable is what decides it. Set ABAP_ALLOW_WRITE=true (ABAP_ALLOW_PACKAGES is optional — it narrows the default, which is every package). Calling it returns a refusal and sends nothing to the SAP system.

abap_bopf_editA

Make one design-time edit to a BOPF business object, or create one. LOCKED on this server: ABAP_ALLOW_WRITE does not enable writes, and ABAP_MODE is not set, so that variable is what decides it. Set ABAP_ALLOW_WRITE=true (ABAP_ALLOW_PACKAGES is optional — it narrows the default, which is every package). Calling it returns a refusal and sends nothing to the SAP system.

abap_bopf_deleteB

Delete a BOPF business object. LOCKED on this server: ABAP_ALLOW_WRITE does not enable writes, and ABAP_MODE is not set, so that variable is what decides it. Set ABAP_ALLOW_WRITE=true (ABAP_ALLOW_PACKAGES is optional — it narrows the default, which is every package). Calling it returns a refusal and sends nothing to the SAP system.

abap_transport_releaseB

Release one CTS transport request — irreversible. LOCKED on this server: ABAP_ALLOW_WRITE does not enable writes, and ABAP_MODE is not set, so that variable is what decides it. ABAP_ALLOW_TRANSPORT_RELEASE does not enable releasing a transport request, and ABAP_MODE is not set, so that variable is what decides it. Set ABAP_ALLOW_WRITE=true (ABAP_ALLOW_PACKAGES is optional — it narrows the default, which is every package). Set ABAP_ALLOW_TRANSPORT_RELEASE=true. Calling it returns a refusal and sends nothing to the SAP system.

abap_rapA

Generate a RAP stack (CDS, BDEF, class, SRVD, SRVB) from a table. LOCKED on this server: ABAP_ALLOW_WRITE does not enable writes, and ABAP_MODE is not set, so that variable is what decides it. Set ABAP_ALLOW_WRITE=true (ABAP_ALLOW_PACKAGES is optional — it narrows the default, which is every package). Calling it returns a refusal and sends nothing to the SAP system.

abap_fluidC

Deploy and run small generated ABAP tools inside $ABAPSMITH_FLUID_API. LOCKED on this server: ABAP_ALLOW_WRITE does not enable writes, and ABAP_MODE is not set, so that variable is what decides it. Set ABAP_ALLOW_WRITE=true (ABAP_ALLOW_PACKAGES is optional — it narrows the default, which is every package). Calling it returns a refusal and sends nothing to the SAP system.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
systemConnection state, system role, and the ADT feature inventory from /discovery.

TDQS

B3.2/5.0

Scored across 29 tools

Disambiguation4/5

Most tools target distinct resource-action pairs (search, read, write, debug, transport, BOPF, IMG, RAP) and descriptions are detailed enough to disambiguate. A few pairs like abap_read vs abap_search or abap_bopf vs abap_bopf_edit could cause hesitation, but the descriptions clarify their boundaries.

Naming Consistency3/5

All tools share a consistent snake_case style with the abap_ prefix, which is good. However, the naming mixes nouns (abap_transport, abap_journal), verbs (abap_read, abap_write), and compounds (abap_transport_release, abap_debug_vars), so there is no uniform verb_noun pattern.

Tool Count3/5

29 tools is on the heavy side, but the apparent scope is broad—ABAP development spans search, read/write, transports, BOPF, IMG, RAP, debugging, and testing. The count is justified by the domain, though many tools are locked on this server, adding surface area without live functionality.

Completeness4/5

The set covers the core ABAP lifecycle—search, read, write/activate, test, debug, and transport—plus specialized areas like BOPF, RAP, FPM, and IMG. Minor gaps exist (e.g., no dedicated object comparison tool), but common workflows are well supported and abap_write covers delete operations.

Maintenance

ActivityMaintained
ResponsivenessUnresponsive