*----------------------------------------------------------------------*
* Report ZZXMP001 *
* *
* Example on how to summarize columns and rows in internal tables. *
* i.e summarize peiod totals from the G/L account master record with *
* monthly debits/credits amount. *
*----------------------------------------------------------------------*
REPORT ZZXMP001 LINE-SIZE 132.
*----------------------------------------------------------------------*
* Tables
*----------------------------------------------------------------------*
TABLES: GLT0. "G/L Account Master Record Monthly Debits
*----------------------------------------------------------------------*
* Internal table with result specified automatic using Pattrn..
*----------------------------------------------------------------------*
DATA: BEGIN OF RESULT OCCURS 0,
RLDNR LIKE GLT0-RLDNR,
RRCTY LIKE GLT0-RRCTY,
RVERS LIKE GLT0-RVERS,
BUKRS LIKE GLT0-BUKRS,
RYEAR LIKE GLT0-RYEAR,
RACCT LIKE GLT0-RACCT,
RBUSA LIKE GLT0-RBUSA,
RTCUR LIKE GLT0-RTCUR,
DRCRK LIKE GLT0-DRCRK,
RPMAX LIKE GLT0-RPMAX,
TSLVT LIKE GLT0-TSLVT,
TSL01 LIKE GLT0-TSL01,
TSL02 LIKE GLT0-TSL02,
TSL03 LIKE GLT0-TSL03,
TSL04 LIKE GLT0-TSL04,
TSL05 LIKE GLT0-TSL05,
TSL06 LIKE GLT0-TSL06,
TSL07 LIKE GLT0-TSL07,
TSL08 LIKE GLT0-TSL08,
TSL09 LIKE GLT0-TSL09,
TSL10 LIKE GLT0-TSL10,
TSL11 LIKE GLT0-TSL11,
TSL12 LIKE GLT0-TSL12,
TSL13 LIKE GLT0-TSL13,
TSL14 LIKE GLT0-TSL14,
TSL15 LIKE GLT0-TSL15,
TSL16 LIKE GLT0-TSL16,
SUM1 LIKE GLT0-TSL16,
SUM2 LIKE GLT0-TSL16,
END OF RESULT.
*----------------------------------------------------------------------*
* Event: Top-of page
*----------------------------------------------------------------------*
TOP-OF-PAGE.
WRITE:/01(15) 'tsl01' RIGHT-JUSTIFIED
,(15) 'tsl02' RIGHT-JUSTIFIED
,(15) 'tsl03' RIGHT-JUSTIFIED
,(15) 'tsl04' RIGHT-JUSTIFIED
,(15) 'tsl05' RIGHT-JUSTIFIED
,(15) 'tsl06' RIGHT-JUSTIFIED
,(15) 'sum' RIGHT-JUSTIFIED
.
WRITE:/01 SY-ULINE.
*----------------------------------------------------------------------*
* Event: Initialization
*----------------------------------------------------------------------*
INITIALIZATION.
CLEAR: RESULT.
REFRESH: RESULT.
*----------------------------------------------------------------------*
* Event: Start-of-selection
*----------------------------------------------------------------------*
START-OF-SELECTION.
SELECT * FROM GLT0 INTO CORRESPONDING FIELDS OF RESULT
WHERE BUKRS = '1000'
AND RYEAR = '1994'.
* Summarize the columns using add..until
ADD RESULT-TSL01 THEN RESULT-TSL02 UNTIL RESULT-TSL06
GIVING RESULT-SUM1.
APPEND RESULT.
ENDSELECT.
LOOP AT RESULT.
WRITE:/01(15) RESULT-TSL01
,(15) RESULT-TSL02
,(15) RESULT-TSL03
,(15) RESULT-TSL04
,(15) RESULT-TSL05
,(15) RESULT-TSL06
,(15) RESULT-SUM1.
* Summarize rows
AT END OF RBUSA .
SUM.
WRITE:/01 SY-ULINE.
WRITE:/01(15) RESULT-TSL01 COLOR COL_TOTAL
,(15) RESULT-TSL02 COLOR COL_TOTAL
,(15) RESULT-TSL03 COLOR COL_TOTAL
,(15) RESULT-TSL04 COLOR COL_TOTAL
,(15) RESULT-TSL05 COLOR COL_TOTAL
,(15) RESULT-TSL06 COLOR COL_TOTAL
,(15) RESULT-SUM1 COLOR COL_TOTAL.
SKIP 2.
ENDAT.
ENDLOOP.