How to connect On Premise SAP to BTP using SAP Cloud Connector
After installed ADT, added the related plugins, and deployed abapGit onto SAP dev environment, My next task was to connect my BTP Subaccount to On-Premise SAP Dev system. I browsed many blogs and read SAP help but I have been in trouble to get two-way connection between SAP Cloud and SAP On-Premise system by my clumsiness and mistakes. I’d like share some tips which might help you not digging around and wasting your precious time, so hope you might be able to save your efforts otherwise you would make.
This document is for whom has the experience of setting up SAP Cloud Connector and configuring BTP environment at least once, so if you are looking for how-to-guide of SAPCC & BTP, Please refer to other blogs where explain them in details. This contents are only focus on the configuration and the following trouble shootings
1 – Connect SAP BTP (Subaccount) to Local SAP Cloud Connector
SAP Cloud Connector
Before Installing SAP Cloud Connector, Checking Network Security of your organization is “super” important. Most “How to” documents or blogs on the internet are about the connection outside of restricted network environment, so not much detail about this matter because you would never face this kind of issue when you try with your local SAP demo system & with BTP trial account at open internet environment.
Ask IT helpdesk to setup SSL decryption Bypass for SAP CF foundries (cf.apxx.hana.onedemand.com or *.onedemand.com )for BTP if you use BTP trial account or ask to arrange a HTTPS proxy connection for you.
- Download SAPCC from here https://tools.hana.ondemand.com/#cloud (Win, Linux, Mac…)
- Install SAPCC refer to https://help.sap.com/docs/SAP_Group_Reporting_Data_Collection/e29950571a2b4065b1dacaf881c67413/b2d3a4028641456cac64c9cc11bf6db8.htm
- I skipped the installation part as you can find the information from Youtube or SAP help site.
Logon BTP – (this case : Trial version )
- I skipped about “how to setup BTP subaccount” as well, there are lots of videoclips and step-by-step guides.
Go to the overview of your subaccount and grab the subaccount ID & the location
Back to SAPCC (SAP Cloud Connector)
Go to localhost:8443 (8443 is default port) at any browser and log on SAPCC with Administrator / initial password ‘manage’ (or ‘welcome’). Select Singapore : api.cf.ap21.hana.ondemand.com as location and input Subaccount ID because my Subaccount resides in Singapore server
Fill in your subaccount ID from BTP, your Login Email of SAP universal ID & password (the same one which had used to connect to BTP)
You might have 500 or 417 errors if your network does not allow SSL access to SAP Cloud Foundry
Then try below
- Use HTTP Proxy setting of your company – you should have been given an user id and a password for that – Proxy setting will be shown at right hand side on your connection dialogue
- If you don’t have HTTP proxy access and asked SSL bypass for *.onedemand.com, check logfile ljs_trace.log. You can download or view it from the icons at the right upper corner.
You would be able to see the error message 500 or 417 around lines calling “connectivitynotification.cf.apxx.hana.ondemand.com” and you might see a message kind of “the certificate failed to” in the log file. IT security team would be able to open the access for you.
However, if you still have certificate issue, Refresh browser caches, close all your browsers, and reset your SAP Universal Account. Use the new password to logon to BTP and repeat the SAPCC configure. I am not sure about resetting the password of SAP universal ID but I was able to get my certificate reissued from SAP portal. It might not be required but worked for me.
Forget about using BTP in your organization if you still have access issue after sending the log file to your network security team. Some big organization has very strict policy of not allowing certain in & outbound traffic. It would take enormous time to get an external access from my experience.
If your connection from SAP Cloud Connector to BTP is successful without any error message, you would be able to see below screen on SAPCC by clicking home button at left upper corner of SAPCC
Select the arrow under Subaccount dashboard, then you would see below screen
Now it’s time to test the connectivity to BTP Cloud Foundry. Click a cute blue button Saying “Connect” .
Now SAPCC is linked to your BTP account successfully when a green message is shown as “connected since …….”
2 – Setup the connectivity between SAP BTP (Subaccount) and SAP On-Premise via SAP Cloud Connector
The connectivity between BTP and SAPCC now is established, this time, we need to make SAPCC get the visibility to SAP local system (On-Premise) and project it to BTP.
Logon to SAP system
Go to SICF and pick ADT service from /sap/bc/adt (you can pick any active service ), and test the service
You can get the information about system URL, port no., and HTTP/HTTPS by a simple test call of a service. too easy.
Login to BTP – Subaccount and go to Destination under Connectivity
Click New Destination icon and fill in below parameters
Name : Virtual Host Name (like SID plus Client number : uhg100) ,
Type: HTTP or HTTPS,
URL : Type(HTTP or HTTPS):// + name + ‘:’ + port number (from SICF service) -something like https://uhg100:8000 or htpp://uhg100:44300
Proxy type : select “OnPremise”
Authentication : Select “BasicAuthentication”
User ID : SAP User ID (Developer user id on SAP On Premise )
Password : SAP Password (on SAP On Premise)
SAPCC – Setup “Cloud to On-Premise”
Login to SAPCC as Administrator, go to “Cloud to On-Premise”->Access Control -> ‘+’
The parameters in this configure should be matched with those at Virtual Host on BTP
Choose ‘ABAP System’
Choose HTTP or HTTPS depending on the selection of type at BTP Virtual host
Either of the host name or IP address, and the port number that you brought up from SICF omitted HTTP/HTTPS heading
Virtual Host Name you defined at BTP (ref; uhg100)
Now you can see a line in the Access Control tab
Click the icon ‘magnifying glass’ in the right corner. If the check result is green and the status changed to green box. it means “connected”
Check the connection to backend SAP in the Destination of BTP
Log on BTP account -> go to Destination
Click the icon ‘network’ to check the availability of connection
If successful, you should see this message
3 – Look up SAP On-Premise from SAP Business Application Studio (BAS)
Select a DEV space and go to BAS with your subaccount on BTP. Create a new Fiori project by using template – Fiori Elements, now you could see the SAP system(s)/Virtual Host(s) you setup in the Data Source selection on BAS
So if you can reach to this point, Now, You have a cloud base development environment.
The next step is to create SAP cloud components on BAS with retrieving data or calling services from backend SAP system .
I will update the rest contents when I have spare time, until then, Have a happy SAP life !
Hello Jin Youn,
Thanks for sharing wonderful blog.
We had an Interface on SAP Cloud Platform Integration (Neo) connected to On-prem SAP ECC app via Cloud Connector. This Interface worked without any Issues for 2 years.
Recently this Interface is migrated to SAP Integration Suite (Cloud Foundry). After migration, we are seeing connection interruptions between Integration Suite and On-prem SAP ECC at least once in 2 days. On an average, out of 100 messages 1 message is getting failed due to connection Interruption.
Any idea whether we need to change/correct on BTP/Cloud Connector?
You can capture the packet traffic and the access history from SAPCC. In the middle of this blog, It explains how to download log files from SAPCC. They would show why certain message drops off, You might need a security guy in your organization to interpret the logs if you are nor familiar with reading that kind of logs
Hi Jin Youn ,
How do we connect from On-Premise S4HANA to BTP Cloud. Imagine that I want to deploy projects from On-Premise to BTP Cloud. Imagine a vendor worked with On-Premise and left in the midway . No GIT nothing was there . So I need to migrate those projects from On-Premise to BAS ( where I can go ahead and make changes ) . How come this is possible ?
Nice blog for SAP to SAP BTP.
I have an On-premises ECC system and I want to transfer CSV octet-set type files to/from a third party non-sap system. Anyone know of a "for dummies" (like me) overview? All I seem to find is json formatting stuff or half-baked suggestions.
BTW, it is "on-premises" and not "on-premise" despite SAP terminology.
Do you have any middleware like PI/PO/boomi, if yes you can do it via sftp methods and place the csv in the third-party location not complicated.
If no middleware existed, you need to develop an WSDL or API endpoint and pass the csv in stricture.
Also possible via abap as per below blog
Performing FTP Commands From ABAP | SAP Blogs
Thanks for the response and the link. I had already seen the link and I have done FTP connections in the past, however now SFTP is required and normal FTP is no longer allowed.
I am still floundering about as most ABAPers do when it comes to networking/connections and SAP. For me it IS complicated since "sharing knowledge" do not seem to be known words w/in the network group w/whom I am dealing.
BTW, it is "on-premises" and not "on-premise" despite SAP terminology