2008 Apr 14 3:03 AM
Hi Guys...
I have problem with my data...
I have an internal table i_crhd, i_mseg and i_afko...
I need to get from i_mseg the data where matnr = i_afko-matnr
and bwart = 102 and 101 for every i_crhd-arbpl and i_afko-plnbez...
After gathering all these data... I need to sum up i_mseg-menge where bwart is 102 and sum up i_mseg-menge where bwart is 101...
then, subtract the summation of i_mseg-menge where bwart is 102 from summation of i_mseg-menge where bwart is 101...
Please help...
Thanks a lot!
2008 Apr 14 11:02 AM
HI,
You can maybe try the following
DATA: i_mseg LIKE mseg OCCURS 0 WITH HEADER LINE,
i_crhd LIKE crhd OCCURS 0,
i_afko LIKE afko OCCURS 0.
DATA: l_sum_101 LIKE mseg-menge,
l_sum_102 LIKE mseg-menge,
l_total LIKE mseg-menge.
RANGES: r_bawrt FOR mseg-bwart.
APPEND: 'IEQ101'TO r_bawrt,
'IEQ102'TO r_bawrt.
SELECT * FROM afko INTO TABLE i_afko.
SELECT * FROM crhd INTO TABLE i_crhd.
SELECT * FROM mseg INTO TABLE i_mseg
FOR ALL ENTRIES IN i_afko
WHERE matnr = i_afko-plnbez
AND bwart IN r_bawrt.
CLEAR: l_sum_101, l_sum_102, l_total.
LOOP AT i_mseg.
CASE i_mseg-bwart.
WHEN '101'.
l_sum_101 = l_sum_101 + i_mseg-menge.
WHEN '102'.
l_sum_102 = l_sum_102 + i_mseg-menge.
WHEN OTHERS.
ENDCASE.
ENDLOOP.
l_total = l_sum_102 - l_sum_101.
Regards
HI,
You can maybe try the following
DATA: i_mseg LIKE mseg OCCURS 0 WITH HEADER LINE,
i_crhd LIKE crhd OCCURS 0,
i_afko LIKE afko OCCURS 0.
DATA: l_sum_101 LIKE mseg-menge,
l_sum_102 LIKE mseg-menge,
l_total LIKE mseg-menge.
RANGES: r_bawrt FOR mseg-bwart.
APPEND: 'IEQ101'TO r_bawrt,
'IEQ102'TO r_bawrt.
SELECT * FROM afko INTO TABLE i_afko.
SELECT * FROM crhd INTO TABLE i_crhd.
SELECT * FROM mseg INTO TABLE i_mseg
FOR ALL ENTRIES IN i_afko
WHERE matnr = i_afko-plnbez
AND bwart IN r_bawrt.
CLEAR: l_sum_101, l_sum_102, l_total.
LOOP AT i_mseg.
CASE i_mseg-bwart.
WHEN '101'.
l_sum_101 = l_sum_101 + i_mseg-menge.
WHEN '102'.
l_sum_102 = l_sum_102 + i_mseg-menge.
WHEN OTHERS.
ENDCASE.
ENDLOOP.
l_total = l_sum_102 - l_sum_101.
Regards
2008 Apr 14 11:02 AM
HI,
You can maybe try the following
DATA: i_mseg LIKE mseg OCCURS 0 WITH HEADER LINE,
i_crhd LIKE crhd OCCURS 0,
i_afko LIKE afko OCCURS 0.
DATA: l_sum_101 LIKE mseg-menge,
l_sum_102 LIKE mseg-menge,
l_total LIKE mseg-menge.
RANGES: r_bawrt FOR mseg-bwart.
APPEND: 'IEQ101'TO r_bawrt,
'IEQ102'TO r_bawrt.
SELECT * FROM afko INTO TABLE i_afko.
SELECT * FROM crhd INTO TABLE i_crhd.
SELECT * FROM mseg INTO TABLE i_mseg
FOR ALL ENTRIES IN i_afko
WHERE matnr = i_afko-plnbez
AND bwart IN r_bawrt.
CLEAR: l_sum_101, l_sum_102, l_total.
LOOP AT i_mseg.
CASE i_mseg-bwart.
WHEN '101'.
l_sum_101 = l_sum_101 + i_mseg-menge.
WHEN '102'.
l_sum_102 = l_sum_102 + i_mseg-menge.
WHEN OTHERS.
ENDCASE.
ENDLOOP.
l_total = l_sum_102 - l_sum_101.
Regards
| User | Count |
|---|---|
| 3 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |