12-10-2006 2:59 AM
I would like to use following statement but I can not.(do you have an example of an statement where this wuld work):
SELECT
lipsprodh sum(lipslfimg * lipsumvkz / lipsumvkn) sum(lipsvolum) lipsvtweg likp~wadat_ist
INTO CORRESPONDING
FIELDS OF TABLE itab FROM
lips
JOIN likp
ON lipsvbeln = likpvbeln
WHERE lips~vkorg = '0200'.
12-10-2006 3:11 AM
12-10-2006 4:39 AM
Hi Tina,
If you want to avoid LOOP you can use the following codes:
DATA: BEGIN OF itab OCCURS 0,
prodh LIKE lips-prodh,
lfimg LIKE lips-lfimg,
umvkz LIKE lips-umvkz,
umvkn LIKE lips-umvkn,
volum LIKE lips-volum,
vtweg LIKE lips-vtweg,
wadat_ist LIKE likp-wadat_ist,
END OF itab.
SELECT lipsprodh lipslfimg lipsumvkz lipsumvkn lipsvolum lipsvtweg
likp~wadat_ist
INTO CORRESPONDING FIELDS OF itab
FROM lips
JOIN likp
ON lipsvbeln = likpvbeln
WHERE vkorg = '0200'.
itab-lfimg = itab-lfimg * itab-umvkz / itab-umvkn.
CLEAR : itab-umvkz, itab-umvkn.
COLLECT itab.
ENDSELECT.
Rgds,
HN
12-10-2006 4:58 AM
Hi ,
types: BEGIN OF s_itab ,
prodh LIKE lips-prodh,
lfimg LIKE lips-lfimg,
umvkz LIKE lips-umvkz,
umvkn LIKE lips-umvkn,
volum LIKE lips-volum,
vtweg LIKE lips-vtweg,
wadat_ist LIKE likp-wadat_ist,
END OF s_itab.
DATA : temp type p decimal 2 ,
temp1 type p decimal 2 ,
temp2 type p decimal 2 ,
itab type table of s_itab ,
wt_tab type s_itab .
SELECT lips~prodh
lips~lfimg
lips~umvkz
lips~umvkn
lips~volum
lips~vtweg
likp~wadat_ist
INTO CORRESPONDING FIELDS OF TABLE itab
FROM ( lips INNER JOIN likp ON lipsvbeln = likpvbeln )
WHERE lips~vkorg = '0200'.
loop at itab inro wt_tab .
temp = ( wt_tab-lfimg * wt_tab-umvkz ) / lips~umvkn .
temp1 = temp1 + temp .
temp2 = temp2 + wt_tab .
endloop.
Hope it helped you .
Message was edited by:
Lakshminarayanan rohini