09-01-2007 9:47 AM
Hi gurus,
Can any one check the code .Iam not getting the output correctly .some garbage values it is taking .Kindly check and reply me it is very urgent for me.
REPORT Z_MARPOSS.
TABLES : EKPO ,
EKET.
DATA : BEGIN OF ITAB OCCURS 2,
EBELN LIKE EKET-EBELN,
END OF ITAB .
DATA : BEGIN OF ITAB1 OCCURS 2,
MATNR LIKE EKPO-MATNR,
TXZ01 LIKE EKPO-TXZ01,
MENGE LIKE EKET-MENGE,
WEMNG LIKE EKET-WEMNG,
MOBMNG LIKE EKET-MENGE,
END OF ITAB1.
SELECT-OPTIONS MEINDT FOR EKET-EINDT.
SELECT EBELN INTO TABLE ITAB FROM EKET WHERE EINDT IN MEINDT.
LOOP AT ITAB.
clear itab1-matnr.
clear itab1-txz01.
SELECT MATNR TXZ01 INTO CORRESPONDING FIELDS OF ITAB1 FROM EKPO WHERE EBELN = ITAB-EBELN.
APPEND ITAB1.
ENDSELECT.
ENDLOOP.
LOOP AT ITAB.
CLEAR ITAB1-MENGE .
CLEAR ITAB1-WEMNG .
SELECT MENGE WEMNG INTO CORRESPONDING FIELDS OF ITAB1 FROM EKET WHERE EBELN = ITAB-EBELN.
APPEND ITAB1.
ENDSELECT.
ENDLOOP.
top-of-page .
write : 50 'REPORT FOR STOCK OF PURCHASING MATERIALS' .
uline .
write : /2 'MATERIAL.' , 13 sy-vline , 14 'DESCRIPTION', 60 sy-vline , 61 'TOTAL QUANTITY' , 78 SY-VLINE , 79 'DEL QTY' , 95 SY-VLINE , 96 'REM QTY'.
uline .
END-OF-SELECTION.
LOOP AT ITAB1.
ITAB1-MOBMNG = ITAB1-MENGE - ITAB1-WEMNG.
MODIFY ITAB1. "Update the Record
WRITE : / ITAB1-MATNR UNDER 'MATERIAL' ,
ITAB1-TXZ01 UNDER 'DESCRIPTION' ,
ITAB1-MENGE UNDER 'TOTAL QUANTITY' ,
ITAB1-WEMNG UNDER 'DEL QTY' ,
ITAB1-MOBMNG UNDER 'REM QTY'.
ENDLOOP.
thx & Regards,
sunder
09-01-2007 4:41 PM
Hi Sunder,
I would suggest you use "for all entries" instead of looping thru itab ans getting individual records via select-endselect. Provide the complete parameter in the where clause while retrieving data from the line item tables...
PS :please reward points if helpful
09-01-2007 7:22 PM
Hi,
In your code you are appending new lines at two places and at the end you are trying to display all the four values:
SELECT MATNR TXZ01 ITO CORRESPONDING FIELDS OF ITAB1 FROM EKPO WHERE EBELN = ITAB-EBELN.
APPEND ITAB1.
SELECT MENGE WEMNG INTO CORRESPONDING FIELDS OF ITAB1 FROM EKET WHERE EBELN = ITAB-EBELN.
APPEND ITAB1.
For the above two Append Statement , Relate the four fields using modify statement in the second append using correct index values.
Regards,
Baburaj