Concurrent maintenance of exchange rates
It is a very common requirement in any business which deal with sales and purchase in different currencies to have proper exchange rates to determine the local currency amount with respect to different foreign currencies they deal with. SAP has provided an option to maintain the exchange rates (T-code OB08) for different exchange rate types for different purposes.
E.g.: Rate type M is used for monthly average rates
Rate type BUD is used for budget rates
Different terminologies used in this concept:
Exchange rate:
Exchange rates are used to find the value of a given currency with respect to other currency.
E.g.: 1 USD = 60 INR
Translation ratio:
Translation ratio is used for 2 purposes.
1. To maintain the alternate exchange rate between a currency pair and exchange rate type. This is used to overwrite the standard rate type M used for regular business transactions.
Eg: As per legal requirements in some countries, they need daily exchange rates for booking day to day transactions. So, to overwrite standard rate type M,
we can assign custom exchange rate types.
2. When the rate between two currencies is too huge, we use translation ratio and maintain the rate. This is to simply the exchange rate calculation.
Eg: Rate between USD and HUF is too high. So we maintain USD:HUF ratio as 1:100
With this setting, calculation happens as below.
Rate maintained between USD and HUF is, 1 USD = 90 HUF. This actially means 1 USD = 90*100 = 9000 HUF
Exchange rate maintenance:
Exchange rates are maintained through t-code OB08 and are stored in table TCURR. It is very important to lock the table entries during exchange rate maintenance as per basic database design principles to avoid any data record access during update. This design causes many issues specially during month end where many users of different countries try to update same table and gets locking error. More over, if the rate maintenance is an automated process say through IDOCs, if someone already keep OB08 open and exchange rate IDOC is processed, it fails due to lock issue.
Exchange rate work list concept can be effectively used here to lock only required entries during exchange rate maintenance.
SPRO path to configure Exchange rate work list.
Go to “Define Work list for Exchange rate entry” and create a new entry with proper name, description. Select maintenance interval as per business requirement like daily, weekly, monthly, quarterly etc. This is just an indicator of validity of latest exchange rate. System don’t do any cross validation with this date which using the rate. It simply uses latest available rate.
Enter Tolerance percentage if required. If a value is entered here, system does a comparison with previous available exchange rate and through error if new rate is beyond the tolerance limits.
Go to “Assign Exchange rate to the work list.
Here, we assign the currency pairs and exchange rate type combination which comes under the purview of business scenarios. It is suggested to create one exchange rate work list per country and assign all the exchange rate types and currency pairs to be manually maintained to that work list. In below image, I have shown one local exchange rate type and currency pair which is updated on daily basis. Direct/Indirect quotation here determines how the exchange rate value to be used.
Maintenance of exchange rates:
Go to t-code TCURMNT, double click on the work list you are interested at. In the next screen, we can see all the exchange rates assigned to this work list only.
Maintain the valid from date, exchange rate value (Direct/Indirect rate as defined in earlier configuration) and save the entry. In this screen, we can see date of last rate change and what was the old rate as well.
Keep this screen open in change mode, ask another user to try to update another exchange rate work list or you can try with your ID itself. That person/you should be able to change the values in second list. This kind of concurrent maintenance is not possible through OB08. If one user logs in to OB08, no one else would be able to enter into change mode. Also, it is quite difficult to filter the required rates to be updated from OB08 as this displays all the exchange rates in the system.
Advantages of this solution:
1. This solution approach is very simple and flexible.
2. Users are allowed to see only the rates they are allowed to maintain.
3. Concurrent maintenance of different rates for different countries are possible.
4. Don’t cause locking issues for other users.
5. Authorization can be controlled at exchange rate work list level. So, no chances of accidental update of other rates than the required ones.
Disadvantages of OB08 approach:
1. Causes locking issues. This is so true during critical times like month end where multiple users try to update exchange rates.
2.Tough to filter the required rates.
3. Chance of accidentally updating unintentional rates as all the rates are accessible from OB08.
Authorizations required:
Object: S_EXCHRATE activity 01,02,03 for exchange rate work list. If you can’t save the entries, please check with BASIS team to get required authorization.
Your feed back and comments are most welcome 🙂 .
Thanks,
V V
very useful, thanks for sharing Vinod.
Ankur
Thanks Ankur 🙂
Useful one...Thanks.
BR,
Naresh K.
Thanks Naresh... 🙂
Hi Vinod,
Very useful one and thanks for sharing this info 🙂
Regards,
Lakshmi S
Thanks Lakshmi 🙂
Good guide, Vinod. It's very useful when you are under global template.
Thanks Marssel 🙂
This approach is really helping our month end process to go smooth.
Thanks,
V V
Hi Vinod,
Really it is very informative.
Regards,
Kalim
Thanks Kalim 🙂
Hi Vinod
Nice documents prepared..
Thanks for sharing..
Regards
Sampat
Thanks Sampat 🙂
Nice Document.
Thanks for sharing.....
Thanks Raja 🙂
Very nice document.
Thanks and Keep sharing Vinod Vemuru....
Thanks Dev 🙂
Very good document.thanks for sharing.
Regards
Diwa
Informative ℹ ,Thanks For Making & Sharing 🙂 .
Thanks a lot Diwa, Seshu 🙂
Thanks for sharing, nice document.
Regards,
Narin Kamuni
Thanks Narin 🙂
very useful vinod thanks for sharing..
Thanks a lot Dhana 🙂
🙂 nice one and helpful
Thanks dear 🙂
Nice Documentation mr.Vinod
It helps a lot.. 🙂
Thanks Sada 🙂
Nice Document
Thanks for sharing
Regards
Prasad
Thanks Prasad 🙂
Hello Vinod,
We are planning to implement SAP in Venezuela. And what I have been told that because of some legal reason, they use 3 different exchange rate. Do you have any insight at a very high level, how does SAP manages such situation?
By the way, thanks for the great article you posted. Very nice job !
Thanks,
Dipankar Biswas
Hello,
You can create 3 exchange rate types for this. But, you have ask your business, which kind of transactions use which rate.
eg: day to day transactions, use rate type 1
for budgeting, use rate type 2
If the requirement is for specific pair of currencies, you can use alternate exchange rate type.
Thanks,
V V
Hi Vinod,
Thanks for sharing. When i try to share with any person, I get the message that am not connected to that person, i would really like to share this paper but i need to add people to my account i guess.
Regards
Arvind Leo Pereira
Thanks Arvind 🙂
Yes. I think you can share only with people who are connected to you.
However, alternative is to share the link 😉
Hi Vinod,
Nice document. Thanks for sharing.
Raphael Shi
Very useful document, thanks a lot for sharing
Regards,
Abdullah Galal
Thank you:)
Vinod,
Firstly thank you for the very insightful article.
We have a requirement to use the 'P" rate in all our transactions as our client wants the exchange rate to the frozen for a year.
However when I maintain the 'P' rate in the customer master and use that customer in a sales order, I'm facing pricing errors (Bases price is on the order but its erroring out). when I try this with M rate, I see its working fine.
Can you share some insights on how to effectively use 'P' rate? Please note that I tried this after maintaining P rate conversions in OB08.
Thanks in advance,
Vishak
Hello,
Can you give more details of error with screenshots?
Thanks
VV
Hi,
Nice document. Thanks for detailed explanation.
Regards
Karthi
Thanks Karthi:)
Thanks Vinod,
It solves a genuine problem faced in day to day business.
Regards,
Sapan
thanks for share, very useful
BR,
Andres
i have done updates to OBBS, OB08 i.e. tcurr, tcurs and tcurf tables so many times, never come across t. code earlier TCURMNT
Â
there is always something new to learn, table is
node: assign exchange rate to the worklist
thanks
Arvind Pereira
Thanks Vinod for sharing an excellent solution.
BR,
Sanjay Wagh
Well knowledge sharing document.. Thanks
We have a new requirement of Maker Checker concept during Exchange Rate update. Presently we are using OB08 T code but now planning to use TCURMNT.
Wondering if could add Authorization object to Set Worklist to Complete (f8) Button which can be assigned to releaser only.
By this way 1 person can create record & another person will verify & release record to get updated in Table TCURR
Good One