GeneratorGeneratortypeCreates a project, a component or configuration once, when you run it, rather than taking part in every build.See every one →What this type is →independently maintainedindependently maintainedoriginPublished by one person or a small company outside SAP. Says nothing about quality; the readings say that.See every one →

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 abapGit 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

Last pushLicenceApache-2.0

Where it sits

Lives in
Provides
DebuggingABAPDebuggingcapabilitySeeing what running code did between an input arriving and a result coming out: which code ran, what the values were at each point, and why a value ended up as it did.Unit testingABAPUnit testingcapabilityTesting application logic without a running business process — and the test doubles that make dependencies on the database and on framework services tractable.

Who is behind it

AlexAlexPersonMaintains this
In the atlas: maintains 1, contributes to 2
@gepparta
maintainer

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

Connections2

README

quoted from gepparta/abap_debugger_data_view_extension under Apache-2.0, read
gepparta/abap_debugger_data_view_extension/README.mdOn GitHub

DDVE — ABAP Debugger Data View Extension

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 is DATA(name) = VALUE zcl_foo=>tt_bar( ... ) instead of a cryptic placeholder. If no valid type can be derived, it falls back to VALUE #( ... ).
  • 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 of ZIF_DDVE_VALUE_PRETTY_PRINTER.
  • Unit-tested — the core classes ship with ABAP Unit tests; dependency injection via ZCL_DDVE_PRET_PRINTER_INJECTOR keeps 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

  1. Install abapGit on your system.
  2. Create a package (the repository ships as a local package; $Z_DEBUGGER_DATA_VIEW_EXT works fine) and clone this repository into it: https://github.com/gepparta/abap_debugger_data_view_extension.git
  3. 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

  1. Run the included demo program Z_DEBUGGER_DATA_VIEW_EXT_DEMO (or any program of yours) and stop at a breakpoint.

  2. Display an internal table or structure in the debugger.

  3. 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).

    Data for ABAP View button in the debugger table view

  4. The generated VALUE statement is displayed in a popup, ready to be copied into your test code.

    Result popup with the generated VALUE statement

Tip for tables: filter rows and hide columns in the ALV grid first — the generated statement will contain exactly what you see.

Architecture

How DDVE hooks into the standard ABAP debugger

The extension hooks into the debugger via three implicit enhancements (no modifications) and is otherwise a small, modular class library:

ComponentRole
ZENH_TABLE_VALUES, Z_TABLE_V_BUILD_SERVICES_MENUE, Z_STRUC_V_BUILD_SERVICES_MENUEEnhancement implementations — debugger entry points (table and structure view).
ZCL_DDVE_DEBUGGER_INTEGRATIONData acquisition: extracts variable content from the debugger context via asXML transformation.
ZCL_DDVE_TABLE / ZCL_DDVE_STRUCTUREFacades for the table/structure view; apply ALV row filters and hidden columns, build the final statement.
ZCL_DDVE_VALUE_RENDERERRendering engine: builds VALUE #( ... ) expressions, owns the recursion for nested data.
ZCL_DDVE_COMPONENTFormats individual field values.
ZCL_DDVE_TYPE_RESOLVERResolves debugger type names into source-valid type expressions and derives variable names.
ZCL_DDVE_SIMPLE_FIELD_CATALOGSimplified field catalog for DDIC and local types, resolves .INCLUDEs recursively.
ZIF_DDVE_VALUE_PRETTY_PRINTERAbstraction for pretty printer implementations.
ZCL_DDVE_VALUE_PRETTY_PRINTER / ZCL_DDVE_MAX_LINE_LENGTH_PPFormatting engines: indented output / compressed to a maximum line length.
ZCL_DDVE_PRETTYPRINTER_FACTORY + ZCL_DDVE_PP_CUSTOMIZING + ZTOP_DVE_CUSTPer-user selection of the pretty printer implementation.
ZCL_DDVE_OUTPUT_PRESENTEROutput: wraps cl_demo_output for display.
ZCL_DDVE_PRET_PRINTER_INJECTORDependency 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):

Related community posts:

License

Licensed under the Apache License 2.0.

Apache-2.0, read

Others providing45

Debugging
  1. dbg_value_statementDebugger script generating a VALUE statement for a variablefrom ABAP
  2. dump_infoDisplays the variables of ABAP short dumpsfrom ABAP
  3. CF Space SwitcherSwitches Cloud Foundry API, org and space from a view in VS Codefrom BTP/BAIP
  4. com.sap.cds:cds-feature-consoleConnects a running CAP Java app to CAP console for monitoringfrom CAP
  5. com.sap.cds:cds-feature-dev-dashboardBrowser dashboard for a running CAP Java service during developmentfrom CAP
  6. @cap-js/consoleConnects a running CAP application to the CAP consolefrom CAP
  7. @cap-js/data-inspectorInspects database entities and contents at CAP service levelfrom CAP
  8. ADAMMCP server driving SAP's ABAP debugger over ADT for an agentfrom ABAP
  9. abapsmithABAP MCP server over ADT with a local journal that can undo writesfrom ABAP
  10. sap-cap-debuggerAttaches a debugger to a CAP app running on Cloud Foundryfrom CAP
  11. ABAP-Object-VisualizerDebugger script exporting an object hierarchy as Graphvizfrom ABAP
  12. abap_debugger_object_graph_extensionABAP debugger extension drawing objects as a Graphviz graphfrom ABAP
  13. Graphviz-browserStatic page drawing Graphviz graphs for the ABAP debugger extensionfrom ABAP
  14. ABAP remote filesystemVS Code extension editing ABAP systems over ADT as a filesystemfrom ABAP
  15. ABAP Development Tools for EclipseSAP's Eclipse plugins for ABAP development over ADTfrom ABAP
  16. @sap/cds-dkCommand line client and development toolkit for CAPfrom CAP
  17. @saptools/cf-debuggerNode.js inspector tunnel over cf ssh to Cloud Foundry appsfrom BTP/BAIP
  18. @saptools/cf-explorerFile search in apps deployed to SAP BTP Cloud Foundry over cf sshfrom BTP/BAIP
  19. @saptools/cf-function-traceStep-by-step state recorder for one JavaScript function in Node.jsfrom BTP/BAIP
  20. @saptools/cf-hanaSQL runner against the SAP HANA Cloud database bound to a CF appfrom BTP/BAIP
  21. @saptools/cf-inspectorShell debugger for remote Node.js over the Chrome DevTools Protocolfrom BTP/BAIP
  22. @saptools/cf-live-traceHTTP trace hook streaming a running CF Node.js app's trafficfrom BTP/BAIP
  23. @saptools/cf-request-runnerEndpoint discovery for CAP services deployed to Cloud Foundryfrom CAP
  24. @saptools/service-flowStatic end-to-end tracer of one CAP operation across repositoriesfrom CAP
  25. Smart DebuggerSAP GUI debugger script recording steps so execution can run backwardsfrom ABAP
Unit testing
  1. abap2UI5 headless frontendDrives abap2UI5 app classes from ABAP Unit testsfrom ABAP
  2. @abap2ui5/mcp-serverMCP server for the abap2UI5 check, deploy and run loopfrom ABAP
  3. assertFluent assertion helper for ABAP Unit testsfrom ABAP
  4. @abaplint/transpilerTranspiles ABAP to JavaScript to run on Node.jsfrom ABAP
  5. Modernization Agents for SAP on AWSAWS agents for ABAP, PI/PO and BW modernisation workfrom ABAP
  6. abap_db_preparatorReplays stored database snapshots in ABAP unit testsfrom ABAP
  7. cacamber-BDD-for-ABAPBDD framework turning Given/When/Then into ABAP Unit stepsfrom ABAP
  8. abap-utesthelpHelper classes for ABAP Unit tests and test doublesfrom ABAP
  9. regression_testSnapshot testing library for ABAP, from debugger or unit testfrom ABAP
  10. abapCovUploads ABAP Unit code coverage to codecov.iofrom ABAP
  11. ABAP remote filesystemVS Code extension editing ABAP systems over ADT as a filesystemfrom ABAP
  12. open-steamgateLocal ABAP server serving /IWBEP/ OData v2 without an SAP systemfrom ABAP
  13. express-icf-shimShim running an ABAP ICF handler behind an Express 4.x serverfrom ABAP
  14. open-abap-coreCore ABAP artifacts for code transpiled by @abaplint/transpilerfrom ABAP
  15. mockup_loaderLoader of Excel-prepared ABAP unit test data, with stub generationfrom ABAP
  16. mockAA free mocking framework for ABAP, published under the Apache License 2.0.from ABAP
  17. Vise_for_ABAPA characterisation-test helper: `ZCL_VISE=>GRIP` records a field's value once and fails a later run if it has changed.from ABAP
  18. abap-senchaBDD/TDD assertion library for ABAP Unit, styled after Chai.jsfrom ABAP
  19. abap-test-containerGitHub-hosted test data container for ABAP Cloudfrom ABAP
  20. abap-unit-runnerApplication job that runs and schedules ABAP Unit tests in the cloudfrom ABAP
  21. adash-servicesBackend exposing ABAP Unit runs and coverage over REST and ODatafrom ABAP

Details

Sources3
Added by handdiscovered herechecked
github.com/gepparta/abap_debugger_data_view_extensiontree, pushes, contributors, CIchecked
README.mdquoted, and what the entry declareschecked

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
discovered viaAdded by hand
first seen in the atlas
ecosystem and domainabap, developer-experience
Flavors1
Standard ABAP
“- 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 — READMEchecked
History in the atlas1
  1. 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