‎2007 Dec 10 11:58 AM
Hi all,
SELECT plaf~matnr plaf~gsmng INTO CORRESPONDING FIELDS OF TABLE it_plan FROM plaf
INNER JOIN mara ON
plaf~matnr EQ mara~matnr
WHERE plaf~matnr IN s_matnr AND
plaf~plwrk EQ p_werks AND
mara~mtart EQ 'FERT' AND
plaf~umskz EQ 'X' AND
plaf~paart EQ 'LA' AND
plaf~pedtr IN s_date.
"In this query i want to get total quantity (gsmng) of particular material with in date range...
for example :
now I'm getting like this..
MATNR GSMNG
947604015 10.00 "13.12.2007
947604015 20.00 "16.12.2007
947604016 45.00 "11.12.2007
947604015 15.00 "18.12.2007
but I want like this...
947604015 30.00
947604016 60.00
please give me some suggetions....
‎2007 Dec 10 12:12 PM
You can try with the following code:
SELECT plafmatnr sum(plafgsmng) as gsmng
INTO CORRESPONDING FIELDS OF TABLE it_plan FROM plaf
INNER JOIN mara ON
plafmatnr EQ maramatnr
WHERE plaf~matnr IN s_matnr AND
plaf~plwrk EQ p_werks AND
mara~mtart EQ 'FERT' AND
plaf~umskz EQ 'X' AND
plaf~paart EQ 'LA' AND
plaf~pedtr IN s_date
group by plaf~matnr.
This will help you to collect the figures per matnr from the ddatabase at one shot.
Regards,
Anindita
‎2007 Dec 10 12:05 PM
Hi,
create one more intaernal table type it_plan n do like this
Loop at it_plan.
collect it_plan to it_plan1.
Endloop.
Regards,
Prashant
‎2007 Dec 10 12:08 PM
Hi Prashant,
For time being I'm doing same thing what you've suggested... but while getting data from DB table itself can't we do something????
‎2007 Dec 10 12:10 PM
Hi,
Sorry.. u have any other options. But it needs one more internal table.
Wht u have done is correct.. go head.
Regards,
Niyaz
‎2007 Dec 10 12:12 PM
You can try with the following code:
SELECT plafmatnr sum(plafgsmng) as gsmng
INTO CORRESPONDING FIELDS OF TABLE it_plan FROM plaf
INNER JOIN mara ON
plafmatnr EQ maramatnr
WHERE plaf~matnr IN s_matnr AND
plaf~plwrk EQ p_werks AND
mara~mtart EQ 'FERT' AND
plaf~umskz EQ 'X' AND
plaf~paart EQ 'LA' AND
plaf~pedtr IN s_date
group by plaf~matnr.
This will help you to collect the figures per matnr from the ddatabase at one shot.
Regards,
Anindita
‎2007 Dec 10 12:21 PM
‎2007 Dec 10 12:14 PM
Hi,
You can use the collect statement.
select fields from table into wa
where condition.
collect wa into itab.
endselect.
Thanks,
Sriram Ponna.
‎2007 Dec 10 12:16 PM
I think that:
SELECT plafmatnr SUM( plafgsmng )
INTO CORRESPONDING FIELDS OF TABLE it_plan
FROM plaf INNER JOIN mara ON plafmatnr EQ maramatnr
WHERE plaf~matnr IN s_matnr AND
plaf~plwrk EQ p_werks AND
mara~mtart EQ 'FERT' AND
plaf~umskz EQ 'X' AND
plaf~paart EQ 'LA' AND
plaf~pedtr IN s_date
GROUP BY plaf~matnr.
Luck.