Tips and Tricks for the ABAP® Programming Language

Y9020010: Construction of an internal table with “APPEND itab”

In this simple report example a small data base is created for an internal table. After the declaration of the internal table T1, the construction of the table data is undertaken in a subroutine. In a DO-loop, the table header line of T1 is filled with continuously modified values. After that, the header line is added to the data base with “APPEND T1”.

ABAP-Source-Code

You can cut and paste the source code directly into the ABAP-Workbench.

REPORT Y9020010 LINE-SIZE 130.  "Release 3.1G, 4.5A
************************************************************************
* Copyright (c) 1999 by CT-Team, 33415 Verl, http://www.ct-software.com
*
*     You can use or modify this report for your own work as long
*               as you don't try to sell or republish it.
*      In no event will the author be liable for indirect, special,
*        Incidental, or consequental damages (if any) arising out of
*                       the use of this report.
*
************************************************************************
  BREAK-POINT.
*//////////////////////////////////////////////////////////////////////*
 MOVE: 'Creation of an internal table with ''APPEND itab ''      '
        TO SY-TITLE.
*//////////////////////////////////////////////////////////////////////*
************************************************************************
***************         Interne Tabellen          **********************
*
 DATA: BEGIN OF T1 OCCURS 30,
        ARTIKELNR(6)  TYPE N,                    "Artikelnummer
        ART_BEZ(16)   TYPE C,                    "Artikelbezeichnung
        ART_GRUPPE(4) TYPE C,                    "Artikelgruppe
        LAGERNR(2)    TYPE P,                    "Lagernummer
        ART_MENGE     TYPE I,                    "Artikelmenge
       END OF T1.
*
 DATA: Z_FELD1(3) TYPE N.                        "Zwischenfeld1
************************************************************************
*--------------------------  Main Section  ----------------------------*
************************************************************************
 PERFORM TABELLENAUFBAU-1.
 PERFORM DISPLAY-T1.
*
************************************************************************
*-------------------------    Subroutines   ---------------------------*
************************************************************************
*
************************************************************************
*           Here the table T1 is filled with 10 elements               *
************************************************************************
 FORM TABELLENAUFBAU-1.
*
  WRITE: /5 'Step 1: Create the internal table T1      ' COLOR 5.
  ULINE. SKIP 2.
*.......................................................................
  DO 10 TIMES.
    ADD 5 TO T1-ARTIKELNR.
    MOVE 'Schuhgroesse ' TO T1-ART_BEZ.
    ADD 3 TO Z_FELD1.
    MOVE Z_FELD1 TO T1-ART_BEZ+13(3).
    ADD 2 TO T1-ART_GRUPPE.
    ADD 8 TO T1-LAGERNR.
    ADD 33 TO T1-ART_MENGE.
*#######################################################################
    APPEND T1.
*#######################################################################
  ENDDO.
*
 ENDFORM.
************************************************************************
*           The content of the table t1 will be displayed              *
************************************************************************
 FORM DISPLAY-T1.
*
  WRITE: /5 'Step 2: The content of T1 will be displayed : ' COLOR 5.
  ULINE. SKIP 2.
*.......................................................................
* ................... Head line (only a test) ..........................
   WRITE: /3 'Warennummer',
          16 'Bezeichnung',
          33 'ArtGrp',
          41 'LOrt',
          51 'Warenmenge'.
          SKIP. ULINE.
*
* ...................... Display of table T1 ...........................
   MOVE SPACE TO T1.
   LOOP AT T1.
     WRITE: /8 T1-ARTIKELNR,
            16 T1-ART_BEZ,
            36 T1-ART_GRUPPE,
            42 T1-LAGERNR,
            51 T1-ART_MENGE.
   ENDLOOP.
*
 ENDFORM.
************************************************************************
********************* END OF PROGRAM ***********************************
************************************************************************