SUM

Short Reference

Syntax

SUM.

Effect

The statement SUM can only be specified within a loop starting with LOOP, and is only considered within a AT- ENDAT control structure. Prerequisites for using the statement SUM include using the addition INTO in the LOOP statement, and that the specified work area wa is compatible with the row type of the internal table. In addition, SUM cannot be used when the row type of the internal table itab contains components that are tables.

The statement SUM calculates the component total with the numeric data type (i, p, f) of all rows in the current control level and assigns these to the components of the work area wa. In the control levels FIRST, LAST, and outside of an AT-ENDAT control structure, the system calculates the sum of numeric components of all rows in the internal table.

Example

Control level processing for creating a list. At the end of line groups, the total of reserved places is calculated and issued.

DATA: sflight_tab TYPE SORTED TABLE OF sflight
                  WITH UNIQUE KEY carrid connid fldate,
      sflight_wa  LIKE LINE OF sflight_tab.

SELECT *
       FROM sflight
       INTO TABLE sflight_tab.

LOOP AT sflight_tab INTO sflight_wa.
  AT NEW connid.
    WRITE: / sflight_wa-carrid,
             sflight_wa-connid.
    ULINE.
  ENDAT.
  WRITE: / sflight_wa-fldate,
           sflight_wa-seatsocc.
  AT END OF connid.
    SUM.
    ULINE.
    WRITE: / 'Sum',
              sflight_wa-seatsocc UNDER sflight_wa-seatsocc.
    SKIP.
  ENDAT.
  AT END OF carrid.
    SUM.
    ULINE.
    WRITE: / 'Carrier Sum',
              sflight_wa-seatsocc UNDER sflight_wa-seatsocc.
    NEW-PAGE.
  ENDAT.
  AT LAST.
    SUM.
    WRITE: / 'Overall Sum',
              sflight_wa-seatsocc UNDER sflight_wa-seatsocc.
  ENDAT.
ENDLOOP.

Exceptions

Catchable Exceptions

CX_SY_ARITHMETIC_OVERFLOW

Non-Catchable Exceptions