‎2007 Oct 23 5:36 AM
hI all,,,
i have a requirement in my program to display as follows"
Delivery Delivery item Mat No Cust No.
1 10 BX123 201022
20 BX232 201022
2 10 BX333 201111
20 BX555 201111
30 BX323 201111
How to perform this operation???? llike whenever we encounter new delivery, its subitems should be dispalyed in the above format.
pls help...
thankz in adv
null
‎2007 Oct 23 5:40 AM
Hi,
You can use Control Break statements for the same.
Here is sample code.
SORT ITAB BY DELIVERY DELIVERYITM.
LOOP AT ITAB.
L_tABIX = SY-TABIX.
AT NEW DELIVERY.
CLEAR FLAG.
READ TABLE ITAB INDEX L_tABIX.
WRITE DELIVERY
SET FLAG.
ENDAT.
IF FLAG IS SET
WRITE: DELIVERY ITEM, MATERIAL NO, CUST NO
ELSE
WRITE: / DELIVERY ITEM, MATERIAL NO, CUST NO
ENDIF.
ENDLOOP.
Hope this helps.
ashish
‎2007 Oct 23 5:40 AM
Hi,
You can use Control Break statements for the same.
Here is sample code.
SORT ITAB BY DELIVERY DELIVERYITM.
LOOP AT ITAB.
L_tABIX = SY-TABIX.
AT NEW DELIVERY.
CLEAR FLAG.
READ TABLE ITAB INDEX L_tABIX.
WRITE DELIVERY
SET FLAG.
ENDAT.
IF FLAG IS SET
WRITE: DELIVERY ITEM, MATERIAL NO, CUST NO
ELSE
WRITE: / DELIVERY ITEM, MATERIAL NO, CUST NO
ENDIF.
ENDLOOP.
Hope this helps.
ashish
‎2007 Oct 23 5:41 AM
Hi,
Try this..
DATA: V_FOUND.
SORT ITAB BY DELIVERY.
LOOP AT ITAB INTO WA.
AT NEW DELIVERY.
WRITE: /1 WA-DELIVERY.
V_FOUND = 'X'.
ENDAT.
IF V_FOUND IS INITIAL. " Means same delivery.
SKIP.
ENDIF.
WRITE: 11 WA-DELIVERY_ITEM,
20 WA-MATERIAL,
40 WA-CUST_NO.
CLEAR: V_FOUND.
ENDLOOP.
Thanks
Naren
‎2007 Oct 23 5:42 AM
‎2007 Oct 23 5:44 AM
HI,
you have the results in the itab
if you want to display in the alv grid then
use the sort function then it will do the necessary hellp for you
eg:
data: gwa_sort TYPE slis_sortinfo_alv,
git_sort TYPE slis_t_sortinfo_alv.
gwa_sort-spos = 1.
gwa_sort-fieldname = 'DELIVERY' .
gwa_sort-tabname = 'ITAB'.
gwa_sort-up = 'X'.
APPEND gwa_sort TO git_sort.
CLEAR gwa_sort.
GIve this git_sort in the fm of grid display
or if it is a report ( classical )
data: delivery like itab-delivery.
clear: delivery.
loop at itab
at new delivery.
delivery = itab-delivery.
endat.
if delivery eq itab-delivery.
write: itab-delivery.
endif.
write:/ all fields except itab-deliveryitem.
now chek
endloop.
regards,
Venkatesh
‎2007 Oct 23 5:45 AM
Hi,
Use AT NEW.
exp..
loop at itab.
at new itab-vbeln.
write:/ itab-vbeln, itab-posnr , itab-netwr.
on change of itab-posnr.
write 😕 itab-posnr , itab-netwr.
endon.
endat.
endloop.
regards,
Message was edited by:
SAPLOVER