Exchange rate Market data feed into S/4 – Data provider FINISS
It is very crucial for any business to import Market data into the system, to perform different financial transactions. Market data, like Exchange rates, Securities, Interest rates, Indexes etc, are fed into the system daily from Market data providers.
There are 2 ways to maintain Market data, e.g. Exchange rate, in SAP:
- Maintain exchange rates manually from the transaction OB08
- Maintain automatically from Market data providers using File interface or Data feed
Here we will discuss on the Data feed approach.
Market Data provider: FINISS
Prerequisites: Initial Connection check
Before you start with the customizing, you should check if your SAP system has access to the internet. The first test checks the connection to SAPHTTPA and the correct configuration. Execute the program RSHTTP05 using the transaction SE38.
The output should look like the following. If not, please refer to the SAP note 164203.
Test the internet connection using program RSHTTP20 (HTTP GET TEST). Run the program RSHTTP20 from SE38.
Use the following parameters:
RFC Destination: SAPHTTPA
The result should look like this.
The important part is the message “200 OK”.
You may encounter the following error:
The error message NiHostToAddr proxy error: NIEHOST_UNKNOWN means that the SAP system cannot resolve the URL www.finiss.de because DNS is not working on this server. You need to speak with someone from your SAP Basis team to fix this. Alternatively, you can use the IP address to continue the connection tests.
You can rerun the program RSHHT20 with the following parameters:
URI: http:// 18.104.22.168/refinery/do/portfolio/download?portfolioId=3550
RCF Destination: SAPHTTPA
In production you can also use the IP address but it is recommended to use DNS on the SAP server.
Another error message could be:
The error message Host www.finiss.de (or 22.214.171.124 if IP address is used) Port 80 error : NIECONN_REFUSED means that the SAP system is not able to connect to the internet. In most cases the request is blocked by your internal firewall! Please contact your network team and request an OUTGOING connection on PORT 80 to the URI www.finiss.de (and/or the IP address 126.96.36.199)
To be sure that the problem is not related to FINISS you can also run RSHTTP20 with the following parameters:
RFC Destination: SAPHTTPA
The result should be the same.
Do NOT continue till the problems are fixed and you get the HTTP status 200 on RSHTTP20 (HTTP GET TEST).
Request 4 weeks’ free trial:
Once the RSHTTP20 test is successful You can request a test login for a 4 weeks’ free trial from FINISS.
Contact SUPPORT@FINISS.COM for further support.
Configuration in S/4:
Technical Datafeed configuration in the Customizing
For the internet access, SAPHTTPA is used. The technical details of this component are defined in the note 164203.
The following steps must be completed in the customizing: (Transaction SPRO)
- Define Datafeed name
Create a new Data provider with the name “FINISS”.
- Assign Datafeed RFC Destination
The RFC destination to FINISS will be created by BASIS team.
- Define Proxy configuration
For the internet access, in some cases there must be a proxy defined. If you don`t need a proxy user, you must skip this step.
- Define Internet settings for WEB access
Please use the URI, the user and password provided by FINISS. If You don’t have these information, you can test the following setting:
There is a known bug, that the password is not fully deleted (only by overwriting the entry). Mark the password field and delete the entry, do this 5 times! After this, check the table VTB_DFDEST, the fields should be empty:
RPROG TB_DATAFEED_INTERNET_ACCESS RBUPDEST
Now You can customize the login information from FINISS.
Customizing the Application
- Define data source for data feed, Data provider FINISS
Add “DDS” & “IDS_SELECTFEED” here for Data provider FINISS.
- Create translation table using R/3 master data
With this action, the currency definitions from the SAP master data are stored in the table. If You already have the currencies defined in TCURR You might skip this section:
Enter Name = “FINISS” and Data source = “DDS”.
- Define currencies
Now the currency pairs must be mapped with the instrument names (list provided by FINISS).
Double click on the lines to VIEW & EDIT.
You must enter the following information from the FINISS file into the fields. Here is the sample file from FINISS.
Data Provider – FINISS
Instrument – USDAMDREF=BOI
Data Source – DDS
Property – MID
Same steps must be done for all INTRUMENT classes. This information will be provided by the Market Data provider; in our case it is FINISS.
- Test program for Datafeed Customizing
When you EXECUTE, the following screen will appear.
** This is an INTERNAL test, so you will not see any rates on the output.
Market data request from the FINISS server
Use the transaction TBD4 to request market data. Data provider is FINISS.
After successful execution, exchange rates will be read from FINISS and updated in S/4. Here is the log.
If you see an error like this:
HTTP GET Test HTTP/1.1 407 Proxy Authentication Required (The ISA Server requires authorization to fulfill the request. Access to the Web Proxy service is Via: 1.1 NOR1S007
Proxy-Authenticate: NTLM …..
please check the proxy settings.
Create job for Market data request
You can define the Job variant in the Define Variant step and the job can be scheduled using the Schedule Jobs option.
Validation of the Exchange rates:
Here is the information that was loaded.
I hope you find it useful, this blog. Please, please feel free to suggest any correction or modification. Let's help each other to learn better.
Hello, good explanation, however, I believe this is just the evolution of an existing feature on transaction TBD4 that was available in FSCM/TRM from ECC EHP7 or above.
My only complaint is that the "feed" is a 3rd party vendor that has already digested the market information a bit and exposed a more simple format in the first place. (Such as your example of FINISS which already handles currencies from Bloomberg...but only that).
In several customers I've been trying to integrate a data feed directly connected to the London Metal Exchange (LME), PLATTs or Thomson-Reuters with little success. Mainly because for commodities you often have several price points during a single day (opening, close, settled, etc) and these RICs often have additional attributes that make it difficult to filter prior to the data pull. Every data pull is charged by the data provider and can escalate quickly.
Even more so, LIBOR rates are important for foreign trade and long term sales exchanges, and loading them manually is prone to error.....causing major impact on business relations.
I really have to wonder why the market feed providers have not approached SAP (or vice-versa) to create a standard plug-in solution for this critical business operation.
Hi, Thanks for the information. I also wonder why SAP can't import such data directly from the market, may be because of the additional cost, may be because only registered Market data providers can access this information directly.
Hi! You can also visit www.ob08.net, where you can find Exchange Rates from over 100 different Central Banks and you can test the solution totally-free for 90 days.
Thanks for the info Adrian. Cheers!