BusinessObjects Cloud (C4A) Connection to ….
I am writing this blog to give a guide how to connect SAP BusinessObjects Cloud (BOC / C4A) to several different datasources.
Content:
- HANA Database on-premise
- SAP BPC NW on premise
- SAP BW on-premise
- SAP S4 on-premise
- General JDBC SQL database
SAP HANA on-premise
Required:
- SAP Webdispatcher or Http Apache Server
- SAP HANA Info Access Service (InA), version 4.10.0 or above
1) Installation Http Apache Server
Help : SAP BusinessObjects Cloud Help
Download : https://httpd.apache.org/ if you are not compiling it, you could use one of the distributions.
I used Apache Haus Downloads .
Required for httpd: Download Visual C++ Redistributable for Visual Studio 2015 from Official Microsoft Download Center
In my example i use as installation path: c:\dev\Apache24\!
Hostname where apache httpd is installed: hostname.sin.corp.xxx
2) Setup Http Apache Server
After the installation go open the file httpd.conf, which it is under the directory: c:\dev\Apache24\conf\
Change the following in the file!
old value | new value |
---|---|
Define SRVROOT “/Apache24” | Define SRVROOT “c:\dev\Apache24″ |
Listen 80 | #Listen 80 |
#LoadModule proxy_module modules/mod_proxy.so #LoadModule proxy_ajp_module modules/mod_proxy_ajp.so #LoadModule proxy_balancer_module modules/mod_proxy_balancer.so #LoadModule proxy_connect_module modules/mod_proxy_connect.so #LoadModule proxy_express_module modules/mod_proxy_express.so #LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so #LoadModule proxy_ftp_module modules/mod_proxy_ftp.so #LoadModule proxy_html_module modules/mod_proxy_html.so #LoadModule proxy_http_module modules/mod_proxy_http.so #LoadModule proxy_http2_module modules/mod_proxy_http2.so #LoadModule proxy_scgi_module modules/mod_proxy_scgi.so #LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so |
LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so #LoadModule proxy_balancer_module modules/mod_proxy_balancer.so LoadModule proxy_connect_module modules/mod_proxy_connect.so LoadModule proxy_express_module modules/mod_proxy_express.so LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so LoadModule proxy_ftp_module modules/mod_proxy_ftp.so LoadModule proxy_html_module modules/mod_proxy_html.so LoadModule proxy_http_module modules/mod_proxy_http.so #LoadModule proxy_http2_module modules/mod_proxy_http2.so LoadModule proxy_scgi_module modules/mod_proxy_scgi.so LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so |
<IfModule ssl_module> #Include conf/extra/httpd-ssl.conf Include conf/extra/httpd-ahssl.conf SSLRandomSeed startup builtin SSLRandomSeed connect builtin </IfModule> |
<IfModule ssl_module> Include conf/extra/httpd-BOCssl.conf #Include conf/extra/httpd-ahssl.conf SSLRandomSeed startup builtin SSLRandomSeed connect builtin </IfModule> |
Go to the folder c:\dev\Apache24\conf\extra and copy the file httpd-ssl.conf to httpd-BOCssl.conf.
Open the file httpd-BOCssl.conf and change the following:
old value | new value |
---|---|
<VirtualHost _default_:443>
# General setup for the virtual host DocumentRoot “${SRVROOT}/htdocs” ServerName www.example.com:443 ServerAdmin admin@example.com ErrorLog “${SRVROOT}/logs/error.log” TransferLog “${SRVROOT}/logs/access.log”
# SSL Engine Switch: # Enable/Disable SSL for this virtual host. SSLEngine on
# SSL Cipher Suite: # List the ciphers that the client is permitted to negotiate. # See the mod_ssl documentation for a complete list. # Recent OpenSSL snapshots include Elliptic Curve Cryptograhpy (ECC) # cipher suites (see RFC 4492) as part of “ALL”. Edit this line # if you need to disable any of those ciphers. SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
……..
</VirtualHost> |
<VirtualHost _default_:443> SSLEngine on SSLProxyEngine on ServerName hostname.sin.corp.xxx:443 SSLCertificateFile “${SRVROOT}/conf/ssl/reverseproxy.crt” SSLCertificateKeyFile “${SRVROOT}/conf/ssl/reverseproxy.key” DocumentRoot “${SRVROOT}/htdocs” # DocumentRoot access handled globally in httpd.conf CustomLog “${SRVROOT}/logs/ssl_request.log” \ “%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \”%r\” %b” <Directory “${SRVROOT}/htdocs”> Options Indexes Includes FollowSymLinks AllowOverride AuthConfig Limit FileInfo Require all granted </Directory>
#i ProxyPass /hanadb/ http://<your hana server>:80<instance no>/ ProxyPassReverse /hanadb/ http://<your hana server>:80<instance no>
ProxyRemote https://epmprod<accountname>.hana.ondemand.com/ https://<your proxy host>:8080/ ProxyPass /sap/ https://epmprod<accountname>.hana.ondemand.com:443/sap/ ProxyPassReverse /sap/ https://epmprod<accountname>.hana.ondemand.com:443/sap/
</virtualhost> |
If your network is not behind a proxy, omit the that line : ProxyRemote https://epmprod<accountname>.hana.ondemand.com/ https://<your proxy host>:8080/
Now, we are generating the certificate.
Go to the folder c:\dev\Apache24\bin and run the following commands:
- set OPENSSL_CONF=c:\dev\Apache24\conf\openssl.cnf.
- openssl req -newkey rsa:2048 -nodes -keyout reverseproxy.key -out reverseproxy.csr
—————————————————————————————————————————————
$ openssl req -newkey rsa:2048 -nodes -keyout reverseproxy.key -out reverseproxy.csr
Generating a 2048 bit RSA private key
……………..+++
……+++
writing new private key to ‘reverseproxy.key’
—–
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.’, the field will be left blank.
—–
Country Name (2 letter code) [AU]:
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:hostname.sin.corp.xxx
Email Address []:
Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
—————————————————————————————————————————————————-
- openssl x509 -req -in reverseproxy.csr -signkey reverseproxy.key -out reverseproxy.crt
- move reverseproxy.* ..\conf\ssl\
3) Configure connection inside BusinessObject Cloud
Go to the “Chrome” browser and open following url: http://hostname.sin.corp.xxx//sap/fpa/ui/index.html?tenant=<tentant id>
Select “Connection” from the side panel
Click on the “+” icon and select “SAP HANA” under “Live Data Conection”
Enter the connection details and click the “Ok” button.
Remember the path is taken from the configuration of :
ProxyPass /hanadb/ http://<your hana server>:80<instance no>/
ProxyPassReverse /hanadb/ http://<your hana server>:80<instance no>
Select “Modeler – Models” from the side panel.
Click on the “+” icon.
Click on the “Use a Datasource” icon and select from the left side “Live Data Connection”.
Select you HANA datasource and select your view.
SAP HANA on HANA Cloud Platform(HCP)
Add the folowing roles to HANA database user, which is connecting.
sap.bc.ina.service.v2.userRole:INA_USER
URL also important, it gives you the hostnane for the connection.
https://<database name><Account name>.hanatrial.ondemand.com/sap/hana/ide/security/
Example:
database name : hcpta01
accountname : p1234567890trial
Hostname : hcpta01p1234567890trial.hanatrial.ondemand.com
Go to the “Chrome” browser and open following url: http://hostname.sin.corp.xxx//sap/fpa/ui/index.html?tenant=<tentant id>
Select “Connection” from the side panel
Click on the “+” icon and select “SAP HANA” under “Live Data Conection”
Connection done.
SAP BPC on-premise
Required:
- SAP HANA Cloud Connector
1) Installation SAP HANA Cloud Connector
Download from https://tools.hana.ondemand.com/#cloud and install it
- Login with Administrator/manage
- Connect to your epm host.
- Go to access control and enter the following a paramters:internal hostname: on-premise BPC hostname
internal port : BPC port
Virtual hostname: your choice ex. hcp.bpc
Virtual port : your choice ex. 50700 - Go to “Resource accessible” enter “/” and select “Path and all sub-path”
2) Configure BOC connection
Go to the “Chrome” browser and open following url: http://hostname.sin.corp.xxx//sap/fpa/ui/index.html?tenant=<tentant id>
Select “Connection” from the side panel
Click on the “+” icon and select “Import Data Connection” – “SAP BPC”
Enter the parameters and for host name you use the virtual host from the cloud connector configuration.
Done.
SAP BW on-premise
BW System parameters:
BW hostname: bwhostname
System number: 07
Client ID: 100
Language: en
User: bwuser
Required:
- Apache Tomcat
- SAP BusinessObject Cloud Agent
- SAP Cloud Connector
1) Installation of Tomcat
Dowload tomcat from http://tomcat.apache.org/download-70.cgi
Hostname: tomcat.server
Installation path: C:\Apache\tomcat7\
Go to the folder C:\Apache\tomcat7\conf and open file server.xml
old value | new value |
---|---|
<Server port=”8005″ shutdown=”SHUTDOWN”> | <Server port=”8005″ shutdown=”SHUTDOWN”> |
<Connector port=”8080″ protocol=”HTTP/1.1″ connectionTimeout=”20000″ redirectPort=”8443″ /> |
<Connector port=”8088″ protocol=”HTTP/1.1″ connectionTimeout=”20000″ redirectPort=”8443″ /> |
<Connector port=”8009″ protocol=”AJP/1.3″ redirectPort=”8443″ /> | <Connector port=”8009″ protocol=”AJP/1.3″ redirectPort=”8443″ /> |
The ports don’t have to be changed, but depends on existing server os, may some ports already used.
Open the command shell and go to folder C:\Apache\tomcat7\bin
Check if the environment variable JAVA_HOME or JAVA_JRE is set.
If not use the command set JAVA_HOME=C:\JAVA\jdk1.8.0_91 or set JAVA_JRE=C:\JAVA\jre1.8.0_91
run the command startup.bat.
Note:
If you are getting an error like that:
——————————————–
$ startup.bat
Files\Java\jre1.8.0_91\”” was unexpected at this time.
———————————————
It means you have a space in the JAVA_HOME path, which tomcat has a problem.
Go to browser and go to URL: http://localhost:8088/
Back to the command shell, go the following path: C:\Apache\tomcat7\webapps\manager\WEB-INF\
Open the file web.xml and change the following things
old value | new value |
---|---|
<max-file-size>52428800</max-file-size> | <max-file-size>552430000</max-file-size> |
<max-request-size>52428800</max-request-size> | <max-request-size>552430000</max-request-size> |
Should be bigger than 52428800!
Go to the folder : C:\Apache\tomcat7\conf
Open the file tomcat-users.xml
old value | new value |
---|---|
<!– <role rolename=”tomcat”/> <role rolename=”role1″/> <user username=”tomcat” password=”<must-be-changed>” roles=”tomcat”/> <user username=”both” password=”<must-be-changed>” roles=”tomcat,role1″/> <user username=”role1″ password=”<must-be-changed>” roles=”role1″/> –> |
<role rolename=”tomcat”/> <role rolename=”c4a”/> <role rolename=”admin-gui”/> <role rolename=”manager-gui”/> <role rolename=”Services”/> <user username=”tomcat” password=”Welcome1″ roles=”tomcat,admin-gui,manager-gui”/> <user username=”both” password=”Welcome1″ roles=”tomcat,c4a”/> <user username=”c4aadmin” password=”Welcome1″ roles=”c4a,Services”/> |
2) Installation of BusinessObject Cloud Agent
Download from the service portal the SAP BOBJ Cloud Agent.
Please assure you download the latest patch!
Unzip the file and copy the file C4A_AGENT.war to C:\Apache\tomcat7\webapps\
Download SAP Java Connector (SAP JCO), version 3.0.12 or higher.
Unzip the files and copy the two sapjco3.jar and sapjco3.dll into the following location C:\Apache\tomcat7\lib\
Go to folder ; C:\Apache\tomcat7\bin
Run the command shutdown.bat and then run startup.bat
Go back to the browser and enter the following url: http://localhost:8088/C4A_AGENT/service/api/epm/bw
After login you should see the screen below with return html code 200.
3) Install configure and install SAP cloud connector
Download from https://tools.hana.ondemand.com/#cloud and install it
- Login with Administrator/manage
- Connect to your epm host.
- Go to access control and enter the following a paramters:internal hostname: tomcat.server
internal port : 8088
Virtual hostname: your choice ex. hcp.c4aagent
Virtual port : your choice ex. 8077 - Go to “Resource accessible” enter “/C4a_AGENT/” and select “Path and all sub-path”
4) Configure BOC connection
Go to the “Chrome” browser and open following url: http://hostname.sin.corp.xxx//sap/fpa/ui/index.html?tenant=<tentant id>
Select “System” from the side panel and select “Administration”
Enter the parameters from the cloud connector
User and password from tomcat-users.xml
C4AAdmin\Welcome1
Select “Connection” from the side panel
Click on the “+” icon and select “Import Data Connection” – “SAP BW”
Enter your parameters, connection done.
This is absolutely just the ticket, thank you so much Thomas! Greetings from UK!
Excellent one !
Great post!
Yet out of curiosity: have you tried to connect SAP Business ByDesign as an ERP source to BO-Cloud?
Hi,
No - not possible yet. ByDesign is a priority roadmap item, as shown in the public facing document over here (pages 11-12) :
https://support.sap.com/content/dam/website/roadmaps/en_us/analytics/SAP%20BusinessObjects%20Cloud%20and%20SAP%20Digital…
which is taken from this page: http://go.sap.com/solution/roadmaps.platform-technology.html
Regards,
H