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 rates are used to find the value of a given currency with respect to other currency.
E.g.: 1 USD = 60 INR
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.
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 :smile: .