on 02-29-2012 4:45 PM
Experts, this is my issue -
we have an intercompany transaction in BW for a Canadian company code posted in Japanese Yen.
When we are loading the data from BW, BPC is multiplying it by 100.
So, 600.76 from BW is coming into BPC as 60076.
Why?
Any early help would help.
Thanks.
Anand
They all have the same data type for all currencies. sometimes when we write data into a Currency Field in SAP, it does not take note whether it is a JPY or USD or CND. so since JPY currency and those that have no decimal points are special cases, we need to write some few codes / adjustments.
There are some instances as well that we do not need any conversion but only if a Field for currency is being used as reference for an amount field.
In your case, you are converting these amount because your amount field is not exactly referenced to your currency field. you used the currency field as field you store for your currency, and the amount in which you are getting and putting the value in it.
In FI as well this is an issue when doing postings and dealing with currencies and getting the wrong amount in the posting. This is what we usually do to correct it.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I am not quite sure if you can maintain decimal places. as far as I know it is just a data type of your Field.
but what I know is you can set user preference if you wanted your decimal point as comma instead of a dot. but this is not important in your development.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
it happens to all currencies without cents or decimal places. try it with Korean Won or Chinese yuan. all those currencies with no decimal places. You'll have the same result as with JPY.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Use tihs logic in BADI UJ_CUSTOM_LOGIC:
CALL FUNCTION 'CURRENCY_AMOUNT_DISPLAY_TO_SAP'
EXPORTING
currency = JPY
amount_display = "your amount in CND dollar
amount_internal = " this should contain your final figures
EXCEPTIONS
OTHERS = 1.
You can place this logic in default, as it will not affect currencies with decimal places.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
This is because the amount that you are getting is a Display Currency Value. By Using this FM, you can convert the value so it can be stored in SAP. If the FM above is not used, values you stored in SAP may not be guaranteed as correct.
For example, 56000 is stored in SAP as 560.
You need to implement the BADI_UJ_CUSTOM_LOGIC but you need an assistance of an abapper to do this.
Your changing parameters is CT_DATA (so normally all your values and currency must be here).
please check this link on how to implement the badi:
Hi Anand,
You need to check your transformation and conversion files, if its multiplying the values by 100 or not. Is it happening with all the currencies or only with this?
What do you have in your default logic?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Anand,
Can you please check the format of the amount in the SAP system. Sometimes, in the SAP system, the decimal is treated as a comma, and the thousand separator is treated as a decimal. This might be causing the trouble in your case.
You just need to check the format of the rate in the SAP system, and adjust it accordingly.
Hope this helps.
User | Count |
---|---|
14 | |
4 | |
2 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.