The purpose of this blog post is to provide you with general guidelines for customizing, executing, and testing the automatic exchange and interest rate update functionality in SAP systems.
This is traditionally done by executing transaction TBD4 to populate table TCUC. Whether you’re a user or SAP consultant, I hope to provide you with some value in this post.
Daily updating of exchange and interest rates can be fully automated by customizing the standard transaction. Configuring this transaction takes less than one hour and allows you to have all exchange rates updated daily in a singular and fully automated way. By using transaction TBD4, table TCURR will populate automatically—the same table that is populated manually via transaction OB08.
To use this functionality, you’ll need to work with an outside vendor. I recommend contacting any of the following and asking them for a free trial if possible. Then you can have a test user with their respective credentials.
The vendor will provide you with information about the respective instruments to be used in customization based on your specific currency needs.
In SAP S/4HANA, the menu path you need for this customization is Financial Supply Chain Management > Cash and Liquidity Management > General Settings > Market data > Datafeed.
If you’re using SAP ECC, it’s this menu path: Financial Supply Chain Management > Cash and Liquidity Management > Cash Management > Market data > Datafeed.
No matter which solution you’re using, you must first define the technical settings and translation table. In the first step, you must populate the connections and datafeeds to use. All this information is reliant on your vendor, since they must inform you which URL, username, and password to use, along with further specific information for transaction TBD4.
First, you’ll need to use transaction S_ALR_87007834 to get the datafeed name definition. Alternatively, you can use this menu path: Financial Supply Chain Management > Cash and Liquidity Management > Cash Management > Market data > Datafeed > Technical Settings > Define Datafeed Name.
Here’s an example datafeed:
Make sure you keep uppercase and lowercase letters in mind throughout the configuration—things are case sensitive.
Next, assign the datafeed to an RFC destination. Use transaction S_ALR_87007849 or follow this menu path: Financial Supply Chain Management > Cash and Liquidity Management > Cash Management > Market data > Datafeed > Technical Settings > RFC Settings for External Partner Program > Assign Datafeed RFC Destination.
Here’s an example of what this looks like:
Next you’ll need to add your function: TB_DATAFEED_INTERNET_ACCESS
If a proxy definition is necessary in your SAP installation, this is the time to add it. The data must be completed based on the specific data of your installation (transaction S_BIN_67000022). Follow this menu path to add the proxy definition: Financial Supply Chain Management > Cash and Liquidity Management > Cash Management > Market data > Datafeed > Technical Settings > Internet Settings for External Partner Program > HTTP Proxy Configuration > Define Proxy Configuration.
Add the proxy details here, as shown in this example.
Next you’ll define internet settings using transaction S_ALR_87007929 or by following this menu path: Financial Supply Chain Management > Cash and Liquidity Management > Cash Management > Market data > Datafeed > Technical Settings > Internet Settings for External Partner Program > Define Internet Settings for WEB Server Access.
Here is an example:
Please note that the URL, user name, and password will be provided by your vendor.
Once you’ve done the technical setup, you need to configure the functional side. You’ll define the exchange rates that will be automated, the exchange rate types to use, the source where rates are read, the date, and if it is a direct or indirect quotation.
Let’s start by defining data sources. To do this, use transaction S_ALR_87007888 or follow this menu path: Financial Supply Chain Management > Cash and Liquidity Management > Cash Management > Market data > Datafeed > Translation Table > Define Data Sources for Datafeed.
Here’s an example:
To define currencies, use transaction S_ALR_87007920 or follow this menu path: Financial Supply Chain Management > Cash and Liquidity Management > Cash Management > Market data > Datafeed > Translation Table > Define Currencies.
Here’s an example:
In the following figure, I show an example of an SAP installation that needs to update the Euro (EUR) against the US Dollar (USD), based on information from the Central European Bank:
Work with your vendor to complete all the needed combinations, and save this customization in a new transport order.
Once you have the connection and currencies customized, you should test the functionality by executing transaction TBD4. Flag the “Currencies” option on the screen and select the name of the datafeed that you created earlier.
When you execute this transaction, you will get the details of all the currencies that were updated with their specific exchange rate. All of these values were automatically populated in the TCURR table.
In our example, you can see on the following screen that the currency pairs EUR-USD and USD-EUR have a value of 1.0803.
If you were to access the official source for these currency pairs, you would see the value for EUR-USD is the same one: 1.0803.
You can use transaction OB08 to verify the values in your table, and you’ll see that EUR-USD and USD-EUR were populated with a value of “1.0803.”
If the connection is working as it should, and all the rates are added to the report as expected, go ahead and save a selection variant, since you need it to define a daily job.
The last step in this process is to create a job via transaction SM36 that runs program RFTBDF07 (transaction TBD4) with the variant that was created, with daily repetition. This way, you will get the updated exchange rates at the same time every day.
Additionally, you can create a distribution list (using transaction SBWP) and assign it to this specific job so every time that the job finishes, users receive an emailed result of the execution, currency by currency, rate by rate.
This functionality is very easily implemented and allows you to automate a task that should be executed daily in every SAP installation around the world.