Diese Seite (Version-1) wurde zuletzt am 28-März-2017 14:37 von UnbekannterAutor geändert.

Du bist nicht autorisiert, diese Seite umzubenennen.

Du bist nicht autorisiert, diese Seite zu löschen.

Versionsgeschichte der Seite

Version Zuletzt geändert Größe Autor Änderungen Kommentar

Links

Eingehende Links Ausgehende Links

Versionsunterschiede

Unterschiede zwischen Version und .

Zeile 1: 120 Zeilen hinzugefügt.
[{ALLOW view All}]
[{ALLOW edit Markus}]
!Scan all tables and count rows in each
You need to limit the tables in
{{{
AND 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( ).
}}}