2007 Jul 19 3:06 PM
Hi experts
I have orderno itemno and qty in table , I need to find out the
average qty for all itemno for particular orderno.
example
orderno itemno qty avg
001--
001--
002--
002--
5
I need to extract data from the table and do the cal
pls give me the logic to do this
karthik
Try Using COLLECT ...which will sum up the QTY and average.
Get the data into a internal table with a where condition on the ordno
and then COLLECT the avg and ordqty.
Regards,
Reema.
2007 Jul 19 3:10 PM
Try Using COLLECT ...which will sum up the QTY and average.
Get the data into a internal table with a where condition on the ordno
and then COLLECT the avg and ordqty.
Regards,
Reema.
2007 Jul 19 3:13 PM
SELECT orderno itemno AVG( qty )
INTO (v_orderno v_itemno v_avg)
FROM table_name
GROUP BY orderno itemno .
WRITE : / v_orderno , v_itemno , v_avg .
ENDSELECT .
2007 Jul 19 3:15 PM
Hi,
Check this
sort itab by orderno.
loop at itab.
at end of orderno.
move 'Y' to v_flg.
endat.
v_qty = v_qty + itab-qty.
v_lin = v_lin + 1.
if v_flg eq 'Y'.
itab-avg = v_qty / v_lin.
clear : v_flg, v_lin, v_qty.
modify itab index sy-tabix.
endif.
endloop.
aRs
2007 Jul 19 3:20 PM
TRY below statement.
SELECT AVG( BRGEW ) INTO BRGEW
FROM VBAP
WHERE VBELN = P_VBELN
GROUP BY VBELN.
ADD BRGEW TO ITAB-BRGEW.
APPEND BRGEW.
ENDSELECT.
2007 Jul 19 3:26 PM
Hi Karthik,
Here is the logic.
REPORT ztestprg.
TABLES : vbak,vbap.
DATA : BEGIN OF t_tab,
vbeln LIKE vbak-vbeln,
posnr LIKE vbap-posnr,
zmeng LIKE vbap-zmeng,
avg LIKE vbap-zmeng,
END OF t_tab.
DATA : i_tab LIKE STANDARD TABLE OF t_tab WITH HEADER LINE,
i_final LIKE STANDARD TABLE OF t_tab WITH HEADER LINE.
SELECT-OPTIONS : s_vbeln FOR vbak-vbeln.
DATA : v_total LIKE vbap-zmeng,
v_lineitems TYPE i,
lv_tabix TYPE sy-tabix.
START-OF-SELECTION.
SELECT vbak~vbeln
vbap~posnr
vbap~kwmeng
FROM vbak
JOIN vbap
ON vbakvbeln = vbapvbeln
INTO TABLE i_tab
WHERE vbak~vbeln IN s_vbeln.
SORT i_tab BY vbeln posnr.
i_final[] = i_tab[].
LOOP AT i_final.
lv_tabix = sy-tabix.
AT NEW vbeln.
CLEAR : v_lineitems,v_total.
LOOP AT i_tab WHERE vbeln = i_final-vbeln.
v_lineitems = v_lineitems + 1.
v_total = v_total + i_tab-zmeng.
ENDLOOP.
ENDAT.
i_final-avg = v_total / v_lineitems.
MODIFY i_final INDEX lv_tabix.
ENDLOOP.
LOOP AT i_final.
WRITE 😕 i_final-vbeln,
i_final-posnr,
i_final-zmeng,
i_final-avg.
ENDLOOP.
Thanks
Mahesh
| User | Count |
|---|---|
| 6 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |