Scan all tables and count rows in each#
You need to limit the tables inAND a~tabname >= 'Z'otherwise you get a time out.
*&---------------------------------------------------------------------* *& Report Z_MARKUS001 *& *&---------------------------------------------------------------------* *& *& *&---------------------------------------------------------------------* REPORT z_markus001. " comment after *&---------------------------------------------------------------------* *& This is my first ABAP program *&---------------------------------------------------------------------* *& Global Declarations *&---------------------------------------------------------------------* CLASS demo DEFINITION. PUBLIC SECTION. CLASS-METHODS main. ENDCLASS. "demo DEFINITION *----------------------------------------------------------------------* * CLASS demo IMPLEMENTATIO *----------------------------------------------------------------------* * *----------------------------------------------------------------------* CLASS demo IMPLEMENTATION. METHOD main. CONSTANTS dset TYPE string VALUE 'C:\temp\sap.csv'. TYPES: BEGIN OF tabdata, tabname TYPE tabname, ddtext TYPE ddtext, END OF tabdata. DATA: rs TYPE cursor, help TYPE string, help2 TYPE string, text TYPE string, text2 TYPE string, fn TYPE fieldname, cc TYPE i, total TYPE i, idx TYPE i, where_cl TYPE string, order_cl TYPE string, dd02l_wa TYPE tabdata, dd03l_wa TYPE dd03l, tabparam TYPE tabname. "tabname char 30 OPEN DATASET dset FOR OUTPUT IN TEXT MODE ENCODING UTF-8. OPEN CURSOR rs FOR SELECT a~tabname b~ddtext FROM dd02l AS a INNER JOIN dd02t AS b ON b~tabname = a~tabname WHERE b~ddlanguage = 'E' AND a~tabname >= 'Z' AND a~tabclass = 'TRANSP' ORDER BY a~tabname. "WHERE b~ddlanguage = 'E' AND a~tabname LIKE 'DD02%' AND a~tabclass = 'TRANSP'. DO. idx = sy-index. FETCH NEXT CURSOR rs INTO dd02l_wa. IF sy-subrc <> 0. CLOSE CURSOR rs. EXIT. ENDIF. "get REFERENCE OF dd02l_wa-tabname into tabparam. tabparam = dd02l_wa-tabname. SELECT COUNT( * ) INTO total FROM (tabparam). help = cc. help2 = total. CONCATENATE help dd02l_wa-tabname dd02l_wa-ddtext help2 INTO text SEPARATED BY ';'. tabparam = dd02l_wa-tabname. CONCATENATE 'tabname = ''' dd02l_wa-tabname '''' INTO where_cl. order_cl = 'position'. SELECT * FROM dd03l INTO dd03l_wa WHERE (where_cl) ORDER BY (order_cl). CONCATENATE dd03l_wa-fieldname ' (' dd03l_wa-inttype dd03l_wa-intlen ')' INTO text2. CONCATENATE text text2 INTO text SEPARATED BY ';'. ENDSELECT. TRANSFER text TO dset. cc = cc + 1. ENDDO. CLOSE DATASET dset. MESSAGE text TYPE 'I'. ENDMETHOD. "demo ENDCLASS. "demo IMPLEMENTATIO *&---------------------------------------------------------------------* *& Implementations *&---------------------------------------------------------------------* START-OF-SELECTION. *WRITE text. demo=>main( ).