02-15-2006 9:43 AM
Hi,
I have to write amounts with a dot per thousandth in a report, ex. 1234567,01 should be 1.234.567,00 and 1233
1.233. Do anyone know a simple way to do that? Maybe by a function module?
Br Benita
02-15-2006 10:14 AM
From Sap help:
REPORT demo_list_write_currency LINE-SIZE 40.
DATA: num1 TYPE p DECIMALS 4 VALUE '12.3456',
num2 TYPE p DECIMALS 0 VALUE '123456'.
SET COUNTRY 'US'.
WRITE: 'USD', num1 CURRENCY 'USD', num2 CURRENCY 'USD',
/ 'BEF', num1 CURRENCY 'BEF', num2 CURRENCY 'BEF',
/ 'KUD', num1 CURRENCY 'KUD', num2 CURRENCY 'KUD'.
02-15-2006 9:44 AM
02-15-2006 9:51 AM
Dear Benita,
This is the basic setting that you can do from menu itself.
System > User Profile > Own Data or throught tcode SU01/02.
Change in 'Default' tab the 'decimal notation'.
Hope this will be fine with you.
Regards,
Deva.
02-15-2006 9:56 AM
that doesn't help me, I read an amount from a table that is a CURR field and have to write it in a report, a C field, not an ALV report. Thanks!
02-15-2006 10:03 AM
Hi,
Could you pls let us know ur amount data type so that we can work on it...
I was trying somthing like this:
data: value1 type mhnd-wzsbt value '123456701',
value2 type mhnd-wzsbt.
value2 = value1.
write: value2.
but the o/p is '123,456,701.00'
Best Regards,
Anjali
02-15-2006 10:12 AM
02-15-2006 10:13 AM
02-15-2006 10:14 AM
From Sap help:
REPORT demo_list_write_currency LINE-SIZE 40.
DATA: num1 TYPE p DECIMALS 4 VALUE '12.3456',
num2 TYPE p DECIMALS 0 VALUE '123456'.
SET COUNTRY 'US'.
WRITE: 'USD', num1 CURRENCY 'USD', num2 CURRENCY 'USD',
/ 'BEF', num1 CURRENCY 'BEF', num2 CURRENCY 'BEF',
/ 'KUD', num1 CURRENCY 'KUD', num2 CURRENCY 'KUD'.
02-15-2006 10:14 AM
Hi,
Try using this function module 'BAPI_CURRENCY_CONV_TO_EXTERNAL'
Pass currency = 0
Amount_internal = 'your value'.
Regards,
Gayathri
02-15-2006 10:42 AM
Hi benita,
1. 12.345.678,95
2. Ur code only (with extra enhancement)
3. Just copy paste in new program
4.
REPORT demo_list_write_currency LINE-SIZE 40.
DATA: num1 TYPE p DECIMALS 4 VALUE '12.3456',
num2 TYPE p DECIMALS 0 VALUE '1234567895'.
SET COUNTRY 'US'.
WRITE: 'USD', num1 CURRENCY 'USD', num2 CURRENCY 'USD',
/ 'BEF', num1 CURRENCY 'BEF', num2 CURRENCY 'BEF',
/ 'KUD', num1 CURRENCY 'KUD', num2 CURRENCY 'KUD'.
*----
NEW CODE
data : s(25) type c.
write num2 to s currency 'KUD'.
write 😕 s.
replace all occurrences of ',' in s with '@'.
replace all occurrences of '.' in s with '#'.
replace all occurrences of '@' in s with '.'.
replace all occurrences of '#' in s with ','.
write 😕 s.
regards,
amit m.