2013 Feb 15 4:36 AM
Hello experts,
The code snippet for my collect statement based on condition is given below:
********Logic for moving G/L Amount into their respective G/L A/C Numbers**********
loop at it_final into wa_final.
if wa_final-hkont = '1560510200'.
move wa_final-bukrs to wa_final1-bukrs.
move wa_final-gjahr to wa_final1-gjahr.
move wa_final-belnr to wa_final1-belnr.
move wa_final-budat to wa_final1-budat.
move wa_final-bldat to wa_final1-bldat.
move wa_final-gsber to wa_final1-gsber.
move wa_final-xblnr to wa_final1-xblnr.
move wa_final-blart to wa_final1-blart.
move wa_final-mwskz to wa_final1-mwskz.
move wa_final-pswbt to wa_final1-gl_ac1. "
move wa_final-bktxt to wa_final1-bktxt.
move wa_final-text1 to wa_final1-text1.
move wa_final-lifnr to wa_final1-lifnr.
move wa_final-amount to wa_final1-amount.
move wa_final-name1 to wa_final1-name1.
collect wa_final1 into it_final1.
clear wa_final1.
endif.
if wa_final-hkont = '1560510300'.
move wa_final-bukrs to wa_final1-bukrs.
move wa_final-gjahr to wa_final1-gjahr.
move wa_final-belnr to wa_final1-belnr.
move wa_final-budat to wa_final1-budat.
move wa_final-bldat to wa_final1-bldat.
move wa_final-gsber to wa_final1-gsber.
move wa_final-xblnr to wa_final1-xblnr.
move wa_final-blart to wa_final1-blart.
move wa_final-mwskz to wa_final1-mwskz.
move wa_final-pswbt to wa_final1-gl_ac2. "
move wa_final-bktxt to wa_final1-bktxt.
move wa_final-text1 to wa_final1-text1.
move wa_final-lifnr to wa_final1-lifnr.
move wa_final-amount to wa_final1-amount.
move wa_final-name1 to wa_final1-name1.
collect wa_final1 into it_final1.
clear wa_final1.
endif.
if wa_final-hkont = '1560510400'.
move wa_final-bukrs to wa_final1-bukrs.
move wa_final-gjahr to wa_final1-gjahr.
move wa_final-belnr to wa_final1-belnr.
move wa_final-budat to wa_final1-budat.
move wa_final-bldat to wa_final1-bldat.
move wa_final-gsber to wa_final1-gsber.
move wa_final-xblnr to wa_final1-xblnr.
move wa_final-blart to wa_final1-blart.
move wa_final-mwskz to wa_final1-mwskz.
move wa_final-pswbt to wa_final1-gl_ac3. "
move wa_final-bktxt to wa_final1-bktxt.
move wa_final-text1 to wa_final1-text1.
move wa_final-lifnr to wa_final1-lifnr.
move wa_final-amount to wa_final1-amount.
move wa_final-name1 to wa_final1-name1.
collect wa_final1 into it_final1.
clear wa_final1.
endif.
endloop.
The above coding sums up the 'pswbt' .i.e. the gl amount field which is correct.
But the problem is with the ''amount field.
The 'amount' field is getting mutiplied by 3 of the original value in the field catalog.
So what changes should be done in my coding above to fetch the correct value.
Also data type of amount field is type p.
Thanks and regards,
Satvik
2013 Feb 15 5:48 AM
hi satvik,
obviously you have placed three collect statements(same it_final1) try to split and place the values again by looping.
Thanks,
Sankaresh S
2013 Feb 15 6:07 AM
Hi satvik,
what is the amount that you get in result and the amount that you want ?
Your amount is sum like gl_ac3.
Regards,
2013 Feb 15 6:24 AM
Hello Khalid,
For example:
The amount displayed in the report output is 36000. The actual amount to be fetched is 12000.
As far as gl acc is concerned, for 1 gl number, there are multiple gl amounts. So the collect statement is adding it and displaying the correct value.
Thanks and regards,
Satvik