ABAP Debugger Data View Extension
An extension of the ABAP New Debugger that renders the internal table or structure on screen as a typed VALUE statement, ready to paste into an ABAP Unit test.
Test data for an ABAP Unit test of existing code usually already sits in the debugger, at the spot the test is meant to cover. DDVE adds entries to the Services of the Tool menu of the New Debugger's table and structure views, and a Data for ABAP View button in the ALV table display, that render the current variable as a formatted VALUE constructor expression in a popup, recursing through nested structures and tables. Rows filtered out and columns hidden in the ALV grid are left out of the statement, and debugger type names are resolved to source-valid types, with VALUE #( ... ) where no type can be derived. It hooks into the standard debugger through three implicit enhancement implementations, installs with abapGitabapGitA Git client written in ABAP that runs inside the system, so objects are cloned, pulled and pushed without leaving it; with no package manager in ABAP, a cloned repository is how code is distributed.community org, abap on NetWeaver ABAP 7.40 SP08 or higher, and lets each user pick the pretty printer, indented or compressed to a maximum line length, in table ZTOP_DVE_CUST.
Facts
Where it sits
Who is behind it
In the atlas: maintains 1, contributes to 2@geppartamaintainer
What it declares
Every artifact
- Type
- Generator
- Origin
- Independently maintained
As a generator
- Generates
- Code or test data
- Run with
- does not say
- Distributed through
- abapGit
Connections
Seeing what running code did between input and result
Testing application logic, with test doubles for its dependencies
Download
README
quoted from gepparta/abap_debugger_data_view_extension under Apache-2.0, read
ABAP Debugger Data View Extension (DDVE)
Turn any internal table or structure you are inspecting in the ABAP debugger into a ready-to-paste VALUE #( ... ) statement — and cut the most tedious part of writing ABAP Unit tests: creating test data by hand.
" One click in the debugger turns the content of LT_FLIGHTS into:
DATA(lt_flights) = VALUE tt_flights(
( carrid = 'LH' connid = '0400' fldate = '20260115' price = '666.00' currency = 'EUR' )
( carrid = 'LH' connid = '0402' fldate = '20260116' price = '471.00' currency = 'EUR' )
( carrid = 'AA' connid = '0017' fldate = '20260117' price = '422.94' currency = 'USD' ) ).
Copy, paste into your test class, done.
Why
When you write unit tests for existing code, the realistic test data usually already exists — in the debugger, at the exact spot you are trying to cover. Typing it off the screen field by field is slow and error-prone. This extension adds a menu entry to the debugger's table and structure views that renders the current variable content as a syntactically correct, nicely formatted VALUE constructor expression.
Features
- Internal tables and structures — works from both the table view and the structure view of the new ABAP debugger.
- Nested data — structures in tables, tables in structures: the renderer recurses through arbitrary nesting.
- Respects your ALV state — rows filtered out in the ALV grid and columns you have hidden (
no_out) are excluded from the generated statement. - Real type names — the type resolver translates internal debugger type names (
\CLASS=...\TYPE=...) into source-valid type expressions, so the output isDATA(name) = VALUE zcl_foo=>tt_bar( ... )instead of a cryptic placeholder. If no valid type can be derived, it falls back toVALUE #( ... ). - Pretty printing — a built-in parser formats the expression with indentation that follows the nesting depth. A second printer variant compresses the output to a configurable maximum line length.
- Per-user customizing — which pretty printer class is used can be configured per user in table
ZTOP_DVE_CUST(maintenance views included). You can plug in your own implementation ofZIF_DDVE_VALUE_PRETTY_PRINTER. - Unit-tested — the core classes ship with ABAP Unit tests; dependency injection via
ZCL_DDVE_PRET_PRINTER_INJECTORkeeps the components testable.
Requirements
- SAP NetWeaver ABAP 7.40 SP08 or higher (the code base is deliberately kept compatible with 7.40 SP08 so it can be installed on older systems).
- abapGit to install.
Installation
- Install abapGit on your system.
- Create a package (the repository ships as a local package;
$Z_DEBUGGER_DATA_VIEW_EXTworks fine) and clone this repository into it:https://github.com/gepparta/abap_debugger_data_view_extension.git - Pull and activate all objects, including the enhancement implementations (
ZENH_TABLE_VALUES,Z_TABLE_V_BUILD_SERVICES_MENUE,Z_STRUC_V_BUILD_SERVICES_MENUE) — they hook the extension into the standard debugger.
Usage
-
Run the included demo program
Z_DEBUGGER_DATA_VIEW_EXT_DEMO(or any program of yours) and stop at a breakpoint. -
Display an internal table or structure in the debugger.
-
Open the Services of the Tool menu of the table/structure view — you will find new entries added by this extension (in the ALV table display there is also a toolbar button Data for ABAP View).

-
The generated
VALUEstatement is displayed in a popup, ready to be copied into your test code.
Tip for tables: filter rows and hide columns in the ALV grid first — the generated statement will contain exactly what you see.
Architecture
The extension hooks into the debugger via three implicit enhancements (no modifications) and is otherwise a small, modular class library:
| Component | Role |
|---|---|
ZENH_TABLE_VALUES, Z_TABLE_V_BUILD_SERVICES_MENUE, Z_STRUC_V_BUILD_SERVICES_MENUE | Enhancement implementations — debugger entry points (table and structure view). |
ZCL_DDVE_DEBUGGER_INTEGRATION | Data acquisition: extracts variable content from the debugger context via asXML transformation. |
ZCL_DDVE_TABLE / ZCL_DDVE_STRUCTURE | Facades for the table/structure view; apply ALV row filters and hidden columns, build the final statement. |
ZCL_DDVE_VALUE_RENDERER | Rendering engine: builds VALUE #( ... ) expressions, owns the recursion for nested data. |
ZCL_DDVE_COMPONENT | Formats individual field values. |
ZCL_DDVE_TYPE_RESOLVER | Resolves debugger type names into source-valid type expressions and derives variable names. |
ZCL_DDVE_SIMPLE_FIELD_CATALOG | Simplified field catalog for DDIC and local types, resolves .INCLUDEs recursively. |
ZIF_DDVE_VALUE_PRETTY_PRINTER | Abstraction for pretty printer implementations. |
ZCL_DDVE_VALUE_PRETTY_PRINTER / ZCL_DDVE_MAX_LINE_LENGTH_PP | Formatting engines: indented output / compressed to a maximum line length. |
ZCL_DDVE_PRETTYPRINTER_FACTORY + ZCL_DDVE_PP_CUSTOMIZING + ZTOP_DVE_CUST | Per-user selection of the pretty printer implementation. |
ZCL_DDVE_OUTPUT_PRESENTER | Output: wraps cl_demo_output for display. |
ZCL_DDVE_PRET_PRINTER_INJECTOR | Dependency injection for unit tests. |
Data flow: debugger enhancement → data acquisition (asXML) → ALV filter → printer selection (customizing) → rendering → display.
Background
The idea, the original implementation and its evolution are described in these articles (newest first):
- ABAP Debugger Enhancement — Reloaded (LinkedIn, 2026)
- DDVE-Update: typisierte VALUE-Anweisungen (German, 2026)
- ABAP Debugger Enhancement — Update (SAP Community, 2019)
- ABAP debugger enhancement — or how to speed up your test data creation process (SAP Community, 2017)
Related community posts:
- Speed up regression tests with the ABAP debugger — uses this tool to generate test data for regression tests (2019)
- Fork of ABAP Debugger Data View Extension tool — a community fork with performance and robustness improvements
License
Licensed under the Apache License 2.0.
Others providing
- dbg_value_statementdbg_value_statementAn ABAP Debugger script that turns a variable's structure or table into the VALUE statement that recreates it, with a tree explorer, also callable as a function module from a report.independent, abapDebugger script generating a VALUE statement for a variablefrom ABAP
- dump_infodump_infoDisplays the variables an ABAP short dump captured, for dumps selected on a selection screen; its documentation does not state which dumps it reads, which releases it runs on or how it installs.independent, abapDisplays the variables of ABAP short dumpsfrom ABAP
- CF Space SwitcherCF Space SwitcherA VS Code extension that logs in to a saved Cloud Foundry API endpoint, org and space and switches between them from a view in the editor, with the targeted space's apps and service instances beside it.independent, btpSwitches Cloud Foundry API, org and space from a view in VS Codefrom BTP/BAIP
- com.sap.cds:cds-feature-consolecom.sap.cds:cds-feature-consoleA CAP Java plugin that connects a running application to CAP console, which consumes its remote monitoring data; CAP console itself is installed separately and still being developed.sap official, capConnects a running CAP Java app to CAP console for monitoringfrom CAP
- com.sap.cds:cds-feature-dev-dashboardcom.sap.cds:cds-feature-dev-dashboardA browser dashboard for a running CAP Java service that shows and manages its messaging, resilience and multitenancy state while developing, open to users with the cds.Developer role.sap official, capBrowser dashboard for a running CAP Java service during developmentfrom CAP
- @cap-js/console@cap-js/consoleConnects a running CAP application to the CAP console.sap official, capConnects a running CAP application to the CAP consolefrom CAP
- @cap-js/data-inspector@cap-js/data-inspectorInspects database entities and their contents at the CAP service level.sap official, capInspects database entities and contents at CAP service levelfrom CAP
- ADAMADAMAn MCP server that debugs ABAP on a connected system over ADT, as one-shot captures or an interactive session, over stdio next to the assistant or as a shared server on SAP BTP Cloud Foundry.independent, abapMCP server driving SAP's ABAP debugger over ADT for an agentfrom ABAP
- abapsmithabapsmithAn MCP server that lets an LLM develop in ABAP on a live system over ADT, with writes off by default and every mutation recorded in a local journal that can undo it.independent, abapABAP MCP server over ADT with a local journal that can undo writesfrom ABAP
- sap-cap-debuggersap-cap-debuggerAttaches a debugger to a CAP application already running on Cloud Foundry — enables the Node inspector inside the container, assigns a port and hands you a Chrome DevTools or VS Code attach.independent, capAttaches a debugger to a CAP app running on Cloud Foundryfrom CAP
- ABAP-Object-VisualizerABAP-Object-VisualizerA debugger script that writes an object hierarchy to the clipboard at a breakpoint as a Graphviz description, for pasting into a renderer such as webgraphviz.com.independent, abapDebugger script exporting an object hierarchy as Graphvizfrom ABAP
- abap_debugger_object_graph_extensionabap_debugger_object_graph_extensionAn ABAP debugger extension that shows the object on the debugger's Objects tab as a Graphviz graph in a browser window, built on ABAP Graph and Graphviz-browser and tested on NetWeaver 7.5.independent, abapABAP debugger extension drawing objects as a Graphviz graphfrom ABAP
- Graphviz-browserGraphviz-browserA static page that draws a Graphviz graph in a browser, written for the ABAP debugger object graph extension and deployable as BSP pages in the system the debugger runs in.independent, abapStatic page drawing Graphviz graphs for the ABAP debugger extensionfrom ABAP
- ABAP remote filesystemABAP remote filesystemA Visual Studio Code extension that opens an ABAP system over ADT as an editable filesystem and exposes system tools to GitHub Copilot and external MCP clients.independent, abapVS Code extension editing ABAP systems over ADT as a filesystemfrom ABAP
- ABAP Development Tools for EclipseABAP Development Tools for EclipseSAP's Eclipse plugins for ABAP: source, dictionary and CDS editors, Project Explorer, Outline and ABAP Unit, calling ADT resources on the connected system.sap official, abapSAP's Eclipse plugins for ABAP development over ADTfrom ABAP
- @sap/cds-dk@sap/cds-dkThe command line client and development toolkit for CAP projects, with the commands cds build, cds deploy, cds watch and cds add among them.sap official, capCommand line client and development toolkit for CAPfrom CAP
- @saptools/cf-debugger@saptools/cf-debuggerOpens a verified Node.js inspector tunnel over cf ssh to an app on SAP BTP Cloud Foundry from one command, with its own local port for each concurrent session.independent, btpNode.js inspector tunnel over cf ssh to Cloud Foundry appsfrom BTP/BAIP
- @saptools/cf-explorer@saptools/cf-explorerSearches the files of an app deployed to SAP BTP Cloud Foundry over cf ssh, finding the app root, grepping the deployed code and turning matches into file and line candidates.independent, btpFile search in apps deployed to SAP BTP Cloud Foundry over cf sshfrom BTP/BAIP
- @saptools/cf-function-trace@saptools/cf-function-traceRecords how one JavaScript function's state changes, step by step, in a Node.js process running locally or on SAP BTP Cloud Foundry, and stores the run as a redacted timeline that can be queried later.independent, btpStep-by-step state recorder for one JavaScript function in Node.jsfrom BTP/BAIP
- @saptools/cf-hana@saptools/cf-hanaA command line and TypeScript API that runs SQL against the SAP HANA Cloud database bound to a Cloud Foundry app, addressed by a region/org/space/app selector.independent, btpSQL runner against the SAP HANA Cloud database bound to a CF appfrom BTP/BAIP
- @saptools/cf-inspector@saptools/cf-inspectorSets breakpoints, captures variable snapshots and evaluates expressions on a remote Node.js process over the Chrome DevTools Protocol from the shell, with no IDE attached.independent, btpShell debugger for remote Node.js over the Chrome DevTools Protocolfrom BTP/BAIP
- @saptools/cf-live-trace@saptools/cf-live-traceInjects a bounded HTTP trace hook into a running Node.js app on SAP BTP Cloud Foundry and streams each request and response to the terminal as JSON.independent, btpHTTP trace hook streaming a running CF Node.js app's trafficfrom BTP/BAIP
- @saptools/cf-request-runner@saptools/cf-request-runnerDiscovers every API endpoint of a CAP service already deployed to Cloud Foundry by walking its service documents, $metadata and endpoints catalog — falling back to container SSH to parse .cds files.independent, capEndpoint discovery for CAP services deployed to Cloud Foundryfrom CAP
- @saptools/service-flow@saptools/service-flowTraces one CAP operation end to end across several repositories without running anything — handlers, helper packages, local database access, remote OData calls, external HTTP and async channels.independent, capStatic end-to-end tracer of one CAP operation across repositoriesfrom CAP
- Smart DebuggerSmart DebuggerA debugger script for the SAP GUI New Debugger that records every step and variable change of an ABAP program, so execution can be stepped backwards with F5 and F8.independent, abapSAP GUI debugger script recording steps so execution can run backwardsfrom ABAP
- abap2UI5 headless frontendabap2UI5 headless frontendPlays the frontend's side of the abap2UI5 request/response contract in ABAP, so an app class is driven and asserted on from a plain ABAP Unit test.community org, abapDrives abap2UI5 app classes from ABAP Unit testsfrom ABAP
- @abap2ui5/mcp-server@abap2ui5/mcp-serverAn MCP server that puts the abap2UI5 development loop on the machine an agent runs on: check the view the ABAP builds, photograph it, deploy the class into a sandbox, boot the app headless and read the errors.community org, abapMCP server for the abap2UI5 check, deploy and run loopfrom ABAP
- assertassertA fluent assertion helper for ABAP Unit tests that wraps cl_abap_unit_assert in chained calls such as assert(x)->equals(y), also usable outside tests through ZCL_ASSERTABLE.independent, abapFluent assertion helper for ABAP Unit testsfrom ABAP
- @abaplint/transpiler@abaplint/transpilerTranspiles ABAP 7.02 syntax to ES6 JavaScript, so ABAP code and its unit tests run on Node.js in CI without an ABAP system, with optional SQLite, PostgreSQL, Snowflake or SAP HANA drivers.community org, abapTranspiles ABAP to JavaScript to run on Node.jsfrom ABAP
- Modernization Agents for SAP on AWSModernization Agents for SAP on AWSAWS's suite of agents for SAP modernisation work: custom ABAP converted for S/4HANA, PI/PO interfaces moved to Integration Suite, BW objects moved to SAP Datasphere, deployed into a customer's own AWS account and reached only after registration.partner, abapAWS agents for ABAP, PI/PO and BW modernisation workfrom ABAP
- abap_db_preparatorabap_db_preparatorA wrapper over ABAP's OpenSQL replacement service that exports chosen rows into a stored bundle and, in a unit test's setup, replays it as fake table content in two method calls.independent, abapReplays stored database snapshots in ABAP unit testsfrom ABAP
- cacamber-BDD-for-ABAPcacamber-BDD-for-ABAPA BDD framework for ABAP that turns Gherkin-style Given/When/Then scenarios into ABAP Unit test steps, matching each step against a regular expression and calling the test class method it maps to.independent, abapBDD framework turning Given/When/Then into ABAP Unit stepsfrom ABAP
- abap-utesthelpabap-utesthelpTwo helper classes for ABAP Unit tests: one verifies a domain constant class against its domain's fixed values, the other creates test doubles without naming the interface.independent, abapHelper classes for ABAP Unit tests and test doublesfrom ABAP
- regression_testregression_testA snapshot library for ABAP that records a value once and compares against it on every later run, from either the debugger or a unit test, storing snapshots in eCATT test data containers.independent, abapSnapshot testing library for ABAP, from debugger or unit testfrom ABAP
- abapCovabapCovA report, ZABAPCOV, that uploads ABAP Unit test code coverage results to codecov.io, once the repository is installed through abapGit and codecov.io's certificates through STRUST.independent, abapUploads ABAP Unit code coverage to codecov.iofrom ABAP
- ABAP remote filesystemABAP remote filesystemA Visual Studio Code extension that opens an ABAP system over ADT as an editable filesystem and exposes system tools to GitHub Copilot and external MCP clients.independent, abapVS Code extension editing ABAP systems over ADT as a filesystemfrom ABAP
- open-steamgateopen-steamgateAn ABAP application server you clone and run on your own machine: transpiled ABAP serving classic /IWBEP/ OData v2 to Fiori over a local database, with no SAP system attached.independent, abapLocal ABAP server serving /IWBEP/ OData v2 without an SAP systemfrom ABAP
- express-icf-shimexpress-icf-shimA shim that runs an ABAP ICF handler written against if_http_extension behind an Express 4.x server, for ABAP transpiled to JavaScript and run on Node.js in testing and continuous integration.community org, abapShim running an ABAP ICF handler behind an Express 4.x serverfrom ABAP
- open-abap-coreopen-abap-coreReusable ABAP functionality for code transpiled by @abaplint/transpiler: the core ABAP artifacts that code runs against on Node.js.community org, abapCore ABAP artifacts for code transpiled by @abaplint/transpilerfrom ABAP
- mockup_loadermockup_loaderA tool that loads ABAP unit test data prepared in Excel as TAB-delimited text into ABAP structures and tables, and generates interface stubs that return that mock data.independent, abapLoader of Excel-prepared ABAP unit test data, with stub generationfrom ABAP
- mockAmockAA free mocking framework for ABAP, published under the Apache License 2.0.independent, abapA free mocking framework for ABAP, published under the Apache License 2.0.from ABAP
- Vise_for_ABAPVise_for_ABAPA characterisation-test helper: ZCL_VISE=>GRIP records a field's value once and fails a later run if it has changed.independent, abapA characterisation-test helper: `ZCL_VISE=>GRIP` records a field's value once and fails a later run if it has changed.from ABAP
- abap-senchaabap-senchaA BDD/TDD assertion library for ABAP Unit, styled after the JavaScript library Chai.js, that wraps cl_abap_unit_assert in chainable expect, should and assert styles.independent, abapBDD/TDD assertion library for ABAP Unit, styled after Chai.jsfrom ABAP
- abap-test-containerabap-test-containerA test data container for ABAP Cloud that loads unit test data in JSON, XML or raw formats from GitHub and maps it onto the target structure, filling the platform's missing native one.independent, abapGitHub-hosted test data container for ABAP Cloudfrom ABAP
- abap-unit-runnerabap-unit-runnerAn application job that runs and schedules ABAP Unit tests in SAP's ABAP Environment through the SAP_COM_0735 API, where the on-premise test runner has no SAP GUI to run from.independent, abapApplication job that runs and schedules ABAP Unit tests in the cloudfrom ABAP
- adash-servicesadash-servicesThe backend service behind ADASH Cli, exposing ABAP Unit test runs and coverage as REST and OData services for CI/CD pipelines, with a report scheduled to run tests per package.independent, abapBackend exposing ABAP Unit runs and coverage over REST and ODatafrom ABAP
Details
Sources
Sources are graph entities: the same page may back several entries, and an unreachable source flags every row that rests on it.
Compatibility and provenance
Flavors
“- SAP NetWeaver ABAP **7.40 SP08 or higher** (the code base is deliberately kept compatible with 7.40 SP08 so it can be installed on older systems).” — gepparta/abap_debugger_data_view_extension — README
History in the atlas
- First seen.
For your agent
- Ref
artifact:gepparta-abap-debugger-data-view-extension- JSON
- /artifacts/gepparta-abap-debugger-data-view-extension.json
- MCP
- Connecting an agent
