Less-known ADT features – expand components in the Internal Table debugger
Today I randomly discovered a useful feature in ADT and wanted to share it. It should help you with debugging large internal tables.
Let’s say you have a class or two.
CLASS zfh_class DEFINITION PUBLIC FINAL. PUBLIC SECTION. DATA: order type i, value type string, inner type ref to zfh_inner_class. METHODS constructor IMPORTING order TYPE i value type string. ENDCLASS. CLASS zfh_class IMPLEMENTATION. METHOD constructor. me->order = order. me->value = value. me->inner = NEW zfh_inner_class( order = order + 10 value = value && `DEF` ). ENDMETHOD. ENDCLASS. CLASS zfh_inner_class DEFINITION PUBLIC FINAL. PUBLIC SECTION. DATA: order type i, value type string. METHODS constructor IMPORTING order TYPE i value type string. ENDCLASS. CLASS zfh_inner_class IMPLEMENTATION. METHOD constructor. me->order = order. me->value = value. ENDMETHOD. ENDCLASS.
So far, so good.
Now let’s make it a table of classes.
TYPES: tt_classes TYPE STANDARD TABLE OF REF TO zfh_class. DATA: classes TYPE tt_classes. DO 10 TIMES. APPEND NEW #( order = sy-tabix value = `ABC` ) TO classes. ENDDO.
Now let’s try to inspect them in the debugger. This is what the table debugger shows by default:
The variables view has no text filter and will force you to expand everything manually:
It’s in here somewhere…
The right approach is in the table debugger, which can show you the class properties using the Expand component option. It even works for nested classes!
I hope you’ve learned something new. Or possibly you’re not one of today’s lucky 10 000. Maybe next time!