Home
  Add-Ons for
SAP® systems
  CT-Assist 7.1
  User comments
  R/3® Integration
  PDF / Download
  CT-Debug & Trace_Module
  R/3® Integration
  PDF / Download
  CT-Codeview & Analyzer
  CT-Test & Optimizer
  eLearning for ABAP™
  CT-Professsional_100+Help
  CT-Professsional_100
  CT-Understanding_100
  CT-Help_Workbench
  ABAP™ Programs
  Shop [SSL]
  Downloads
 


Home > ABAP™-Programs > Y9020011

ABAP™-Programs

Report Y9020011: Constructions of an internal table with "... SORTED BY v2"

The internal table ITAB1 is declared with a OCCURS specification of 10 elements. If the number of existing table lines is greater than 10 lines, additional memory space is provided. If the addition " ... SORTED BY v2" is applied in the APPEND command, no automatic expansion occurs. The table size is fixed according to the OCCURS specification.

"FORM AUFBAU-APPEND-ITAB1"
In the DO-loop, the table header line is generated 13 times and inserted with "APPEND ITAB1 SORTED BY XFELD" into the data base. A maximum of 10 table lines are made available within the table ITAB1. The smaller key term at a given time in "v2" is overwritten. Also in case of identical keys, the smaller key is removed.

[for Download or 'cut and paste']

 REPORT Y9020011 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: 'Creating of an internal table with ''APPEND itab SORTED BY..'' '
        TO SY-TITLE.
************************************************************************
***************         Internal tables           **********************
*//////////////////////////////////////////////////////////////////////*
DATA: BEGIN OF ITAB1 OCCURS 10,
        XFELD(3) TYPE N,                "this should be sorted ascending
        YFELD(10) TYPE C,
        CFELD(15) TYPE N,
      END OF ITAB1.
*//////////////////////////////////////////////////////////////////////*
*************            -  Main Section             *******************
*//////////////////////////////////////////////////////////////////////*
*
 PERFORM AUFBAU-APPEND-ITAB1.
 PERFORM DISPLAY-ITAB1.
*
*//////////////////////////////////////////////////////////////////////*
*************                Subroutines             *******************
*//////////////////////////////////////////////////////////////////////*
*
*
************************************************************************
*      Creating of the table  (OCCURS 10) with a do loop  (DO 15 TIMES)
************************************************************************
 FORM AUFBAU-APPEND-ITAB1.
*
 DATA: Z_FELD(10) TYPE N.
 FIELD-SYMBOLS: <FS1>.
*.......................................................................
  WRITE: /5 'Step 1: Creating the internal table ITAB1 ' COLOR 5.
  WRITE: /5 '                13 lines will be inserted:' COLOR 6.
  ULINE. SKIP 2.
*.......................................................................
  MOVE '123'      TO ITAB1-XFELD.
  MOVE ' ARTIKEL-'  TO ITAB1-YFELD.
  GET RUN TIME FIELD Z_FELD.
*.......................................................................
  DO 13 TIMES.
     IF SY-INDEX LE 8.
        ADD 10 TO ITAB1-XFELD.
     ENDIF.
     GET RUN TIME FIELD Z_FELD.
     ADD Z_FELD TO ITAB1-CFELD.
     ASSIGN SY-ABCDE+SY-INDEX(1) TO <FS1>.       "look here while debug!
     MOVE <FS1> TO ITAB1-YFELD+9(1).
*#######################################################################
     APPEND ITAB1 SORTED BY XFELD.
*#######################################################################
     WRITE: /1 ITAB1-XFELD,
             5 ITAB1-YFELD,
            17 ITAB1-CFELD.
*
  ENDDO.
*
 ENDFORM.
************************************************************************
*                  Display the internal table ITAB
************************************************************************
 FORM DISPLAY-ITAB1.
*
  ULINE. SKIP 2.
  WRITE: /5 'Step 2: The table ITAB only consists of 10 lines:' COLOR 5.
  ULINE. SKIP 2.
*.......................................................................
 LOOP AT ITAB1.
  WRITE: /1 ITAB1-XFELD,
          5 ITAB1-YFELD,
         17 ITAB1-CFELD.
 ENDLOOP.
*
 ENDFORM.
************************************************************************
************************************************************************
******************* END OF PROGRAM *************************************