You are on page 1of 2

*&---------------------------------------------------------------------*

*& Report ZDEMO_CLASSICAL_REPORT1


*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZDEMO_CLASSICAL_REPORT1.
DATA : v_ekorg TYPE ekko-ekorg.
DATA : v_bukrs TYPE ekko-bukrs.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-008.
SELECT-OPTIONS : s_bukrs FOR v_bukrs,
s_ekorg for v_ekorg.
SELECTION-SCREEN END OF BLOCK b1.
TYPES : BEGIN OF TY_ekko,
ebeln TYPE ebeln,
bukrs TYPE bukrs,
lifnr TYPE lifnr,
ekorg TYPE ekorg,
angnr TYPE Angnr,
verkf TYPE verkf,
llief TYPE llief,
inco1 TYPE inco1,
inco2 TYPE inco2,
ebelp TYPE ebelp,
matnr TYPE matnr,
werks TYPE werks,
lgort TYPE lgort,
matkl TYPE matkl,
netwr TYPE bwert,
END OF ty_ekko.
DATA : it_ekko TYPE STANDARD TABLE OF ty_ekko,
wa_ekko TYPE ty_ekko.
SELECT
ekko~ebeln
ekko~bukrs
ekko~lifnr
ekko~ekorg
ekko~Angnr
ekko~verkf
ekko~llief
ekko~inco1
ekko~inco2
ekpo~ebelp
ekpo~matnr
ekpo~werks
ekpo~lgort
ekpo~matkl
ekpo~netwr
into table it_ekko
from ekko inner join ekpo
on ekko~ebeln = ekpo~ebeln
where ekko~bukrs in s_bukrs and ekko~ekorg in s_ekorg and ekko~bstyp = 'F'.
if sy-subrc <> 0.

write :/ 'bukrs','ekorg','po','item','amount'.
uline.
sort it_ekko by ebeln bukrs ekorg.
LOOP AT it_ekko into wa_ekko.
write :/ wa_ekko-bukrs under 'bukrs',
wa_ekko-ekorg under 'ekorg',
wa_ekko-ebeln under 'po',
wa_ekko-ebelp under 'item',
wa_ekko-netwr under 'amount'.
at end of ebeln.
sum.
uline.
write :/ 'sum of po',wa_ekko-ebeln,wa_ekko-netwr.
uline.
endat.

at end of ekorg.
sum.
uline.
skip.
write :/ 'sum of ekorg',wa_ekko-bukrs,wa_ekko-ekorg,wa_ekko-netwr.
skip.
endat.
at end of bukrs.
sum.
uline.
skip.
write :/ 'sum of bukrs',wa_ekko-bukrs,wa_ekko-ekorg,wa_ekko-netwr.
skip.
endat.
clear : wa_ekko.
ENDLOOP.
else.
write :/ 'no record'.
endif.

You might also like