‎2007 Aug 10 12:57 PM
hi experts
please give some examples,
Using Interactive report with control break statements
‎2007 Aug 10 1:00 PM
Hi,
Try this sample code..
DATA: BEGIN OF WA,
WERKS TYPE WERKS_D,
LGORT TYPE MARD-LGORT,
MATNR TYPE MATNR,
MENGE TYPE EKPO-MENGE,
END OF WA.
DATA: T_DATA LIKE TABLE OF WA.
Assuming the data is filled in teh internal table T_DATA.
SORT T_DATA BY WERKS LGORT.
LOOP AT T_DATA INTO WA.
Display the details.
WRITE: / WA-MATNR, WA-WERKS, WA-LGORT, WA-MENGE.
AT NEW WERKS.
Display in a new page.
NEW-PAGE.
ENDAT.
AT END OF LGORT.
Display the Storage location level total.
SUM.
WRITE: / WA-MENGE.
ENDAT.
AT END OF WERKS.
Display the plant level total.
SUM.
WRITE: / WA-MENGE.
ENDAT.
ENDLOOP.
reward if it helps..
Regards,
Omkar.
‎2007 Aug 10 1:15 PM
<b>try this peice of code</b>
REPORT YSG_MATSTKREPT LINE-SIZE 125.
LINE-COUNT 50(5).
&----
*& DATA DECLARATION *
&----
TABLES: MARA, "GENERAL MASTER DATA
MARC, "PLANT DATA FOR MATERIAL
MARD, "STORAGE LOCATION DATA FOR MATERIAL
MAKT. "MATERIAL DESCRIPTION
DATA: BEGIN OF I_MARA OCCURS 0,
MATNR LIKE MARA-MATNR,"MATERIAL NUMBER
END OF I_MARA.
DATA: BEGIN OF I_MARC OCCURS 0,
MATNR LIKE MARC-MATNR,"MATERIAL NUMBER
WERKS LIKE MARC-WERKS,"PLANT
END OF I_MARC.
DATA: BEGIN OF I_MAKT OCCURS 0,
MATNR LIKE MAKT-MATNR,"MATERIAL NUMBER
MAKTX LIKE MAKT-MAKTX,"MATERIAL DESCRIPTION
END OF I_MAKT.
DATA: BEGIN OF I_MARD OCCURS 0,
MATNR LIKE MARD-MATNR,"MATERIAL NUMBER
WERKS LIKE MARD-WERKS,"PLANT
LGORT LIKE MARD-LGORT,"STORAGE LOCATION
LABST LIKE MARD-LABST,"VALUATED STOCK WITH UNRESTRICTED USE
END OF I_MARD.
DATA: BEGIN OF I_OUT OCCURS 0,
MATNR LIKE MARC-MATNR,
WERKS LIKE MARC-WERKS,
MAKTX LIKE MAKT-MAKTX,
LGORT LIKE MARD-LGORT,
LABST LIKE MARD-LABST,
END OF I_OUT.
DATA : TOT TYPE I, " TOT - TOTAL STOCK
PLSTK TYPE I, " PLSTK - PLZNT WISE STOCK
X TYPE C. "FLAG
&----
*& S E L E C T I O N - S C R E E N *
&----
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-100.
SELECT-OPTIONS: S_MATNR FOR MARA-MATNR .
SELECTION-SCREEN END OF BLOCK B1.
*&----
**& I N I T I A L I Z A T I O N *
*&----
*
*INITIALIZATION.
*
S_MATNR-SIGN = 'I'.
S_MATNR-OPTION = 'EQ'.
S_MATNR-LOW = 'M-12'.
S_MATNR-HIGH = 'M-18'.
&----
*& S T A R T - O F - S E L E C T I O N *
&----
START-OF-SELECTION.
SELECT MATNR WERKS FROM MARC
INTO TABLE I_MARC
WHERE MATNR IN S_MATNR .
SELECT MATNR WERKS LGORT LABST FROM MARD
INTO TABLE I_MARD
FOR ALL ENTRIES IN I_MARC
WHERE MATNR = I_MARC-MATNR
AND WERKS = I_MARC-WERKS.
SELECT MATNR MAKTX FROM MAKT INTO TABLE I_MAKT
FOR ALL ENTRIES IN I_MARC
WHERE MATNR = I_MARC-MATNR.
LOOP AT I_MARC.
MOVE I_MARC-MATNR TO I_OUT-MATNR.
MOVE I_MARC-WERKS TO I_OUT-WERKS.
READ TABLE I_MAKT WITH KEY MATNR = I_MARD-MATNR.
MOVE I_MAKT-MAKTX TO I_OUT-MAKTX.
LOOP AT I_MARD WHERE MATNR = I_MARC-MATNR
AND WERKS = I_MARC-WERKS.
MOVE I_MARD-LGORT TO I_OUT-LGORT.
MOVE I_MARD-LABST TO I_OUT-LABST.
APPEND I_OUT.
ENDLOOP.
CLEAR I_OUT.
ENDLOOP.
&----
*& T O P - O F - P A G E *
&----
TOP-OF-PAGE.
WRITE:/ 'DATE:' ,SY-DATUM.
FORMAT COLOR 4 INTENSIFIED OFF.
WRITE:/2 'PLANT',
9 'STG.LOC',
20 'MATERIAL.NO.',
55 'DESCRIPTION',
88 'STOCK'.
&----
*& E N D - O F - P A G E *
&----
END-OF-PAGE.
WRITE: / SY-ULINE,
/100 'PAGNO: ',SY-PAGNO,
SY-ULINE.
&----
*& E N D -- O F -- S E L E C T I O N *
&----
END-OF-SELECTION.
SORT I_OUT ASCENDING BY WERKS LGORT.
LOOP AT I_OUT.
WRITE:/ SY-ULINE,SY-VLINE,
I_OUT-WERKS,SY-VLINE,
I_OUT-LGORT,SY-VLINE,
I_OUT-MATNR,SY-VLINE,
I_OUT-MAKTX,SY-VLINE.
AT END OF LABST.
WRITE: I_OUT-LABST,SY-VLINE.
ENDAT.
TOT = TOT + I_OUT-LABST.
AT END OF LABST.
WRITE : TOT, SY-VLINE.
ENDAT.
*AT END OF WERKS.
*NEW-PAGE.
*ENDAT.
AT LAST.
FORMAT COLOR 7 INTENSIFIED OFF.
WRITE : /87 'TOTAL STOCK = ',TOT.
ENDAT.
ENDLOOP.
regards,
srinivas
<b>*reward for useful answers*</b>
‎2007 Aug 10 1:37 PM
hi
In u'r program for Sum total it is picking up the last record and Displaying as Total,
It is not adding and giving the Total,
please check.