SUM
Basic form
SUM.
Effect
When processing an internal table in a block starting
with LOOP and concluded by
ENDLOOP , SUM calculates the
control totals of all fields of type I , F and P
(see also ABAP/4 number types )
and places them in the LOOP output area (header line of the
internal table or an explicitly specified work area).
You can use the SUM statement both at the end and the beginning
of a control group (see also AT FIRST/LAST ).
Example
Display the table T with sub-totals:
DATA: BEGIN OF T OCCURS 100,
CODE(4),
SALES TYPE P,
DISCOUNT TYPE P,
END OF T.
...
LOOP AT T.
AT FIRST.
SUM.
WRITE: /4 'Grand Total:',
20 T-SALES, 40 T-DISCOUNT.
ULINE. SKIP.
ENDAT.
WRITE: / T-CODE,
20 T-SALES, 40 T-DISCOUNT.
AT END OF CODE.
SUM.
WRITE: / T-CODE, 10 'Total:',
20 T-SALES, 40 T-DISCOUNT.
SKIP.
ENDAT.
ENDLOOP.
Notes
When you use SUM in a LOOP with an
explicitly specified output area, this output area must be compatible
with the line type of the internal table.
When using LOOP to process a sorted
extract (see SORT ), the control total of
f at the end of the group appears in the field
SUM(f) - - if f is type
I , F or P .
Note
Runtime errors
-
SUM_OVERFLOW : Value too large when calculatng totals in
internal table, field too small.
-
SUM_NO_INTERNAL_TABLE : The SUM statement was used
outside a LOOP on an internal table.
-
SUM_ON_FOREIGN_INTERNAL_TABLE : The SUM statement was
used in a LOOP belonging to another ABAP/4 program.
Index
© SAP AG 1996