EDUCAÇÃO E TECNOLOGIA

Fork of ABAP Debugger Data View Extension tool

Alexander Geppart proposed a great tool named “ABAP Debugger Data View Extension” A.K.A. DVE (see the original post/guide and latest improvements) which extends the backend ABAP debugger, to display the contents of variables in 7.40 flavor like “var = VALUE #( … )”, and is very useful for mocking depended-on code in ABAP Unit tests (just copy/paste the ABAP code).

I used DVE a lot these last 2 years and fixed a few problems and improved the performance for variables containing a lot of data. Unfortunately I didn’t report the issues, nor proposed pull requests, except one pull request proposed today with everything. I’m not sure a so-big and undocumented pull request is acceptable to be merged. So I decided to redeem myself today by publishing this forked version, a way of thanking DVE author Alexander Geppart and a way of encouraging other community members to contribute.

(moreover, I will soon publish a blog post about a fix of standard for improving Alt+F8 performance of ADT in ABAP Developer Editions 7.52 SP 0/SP 1, whose code was prepared with DVE, and I would like people to propose the same for SP 4, so that was the right time to talk about DVE)

So, in case you already use the tool, maybe you will be interested by the fixes in this fork –note that I’m not really sure of what were exactly the issues because I did many changes–:

  • Low pretty print performance for variables containing lot of data. Used to timeout after 30 minutes. Still slow after fix but I guess it’s now about 5 times faster.
  • Handling tables with component named INDEX
  • Handling hashed tables
  • Handling tables with unstructured lines
  • Handling values of character variables containing a quote
  • Enhancement: integer values written without quotes
  • Enhancement: less expansive far-right/weird alignment -> now everything well aligned with tabs of 8 characters
  • New method debug_debugger_if_needed in ZCL_OP_DEBUGGER_INTEGRATION to help debug the tool inside the debugger (via a static BREAK-POINT statement)

To use my adapted version of DVE:

Have fun!