Skip to Content
Author's profile photo Thomas Andreas Muller

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.

BOC_arch.png

 

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:

  1. set OPENSSL_CONF=c:\dev\Apache24\conf\openssl.cnf.
  2. 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 []:
    —————————————————————————————————————————————————-
  3. openssl x509 -req -in reverseproxy.csr -signkey reverseproxy.key -out reverseproxy.crt
  4. 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>

LoginBOC.png

Select “Connection” from the side panel

ClickOnConnection.png

Click on the “+” icon and select “SAP HANA” under “Live Data Conection”

 

clickAddConnection.png

 

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>

 

 

configureConnection.png

Select “Modeler – Models” from the side panel.

select modeler.png

Click on the “+” icon.

add hana view.png

Click on the “Use a Datasource” icon and select from the left side “Live Data Connection”.

select Live datacinnection.png

Select you HANA datasource and select your view.

create model.png

 

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

config dbuser.png

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>

LoginBOC.png

     Select “Connection” from the side panel

ClickOnConnection.png

     Click on the “+” icon and select “SAP HANA” under “Live Data Conection”

clickAddConnection.png

 

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

  1. Login with Administrator/manage
  2. Connect to your epm host.
  3. 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
  4. Go to “Resource accessible” enter “/” and select “Path and all sub-path”

 

SAPCC_BPC.png

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>

LoginBOC.png

     Select “Connection” from the side panel

ClickOnConnection.png

     Click on the “+” icon and select “Import Data Connection” – “SAP BPC”

/wp-content/uploads/2016/07/createbpc_connection_998819.png

   Enter the parameters and for host name you use the virtual host from the cloud connector configuration.

bpc connection.png

   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/

 

/wp-content/uploads/2016/07/tomcat_start_1001429.png

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.

 

download cloud agenr.png

 

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.

/wp-content/uploads/2016/07/jco_download_1001445.png

 

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

 

login c4a.png

 

 

After login you should see the screen below with return html code 200.

/wp-content/uploads/2016/07/test_c4aagent_1001439.png

3) Install configure and install SAP cloud connector

Download from https://tools.hana.ondemand.com/#cloud and install it

  1. Login with Administrator/manage
  2. Connect to your epm host.
  3. 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
  4. Go to “Resource accessible” enter “/C4a_AGENT/” and select “Path and all sub-path”

/wp-content/uploads/2016/07/cloudconnector_c4a_1001475.png

 

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>

LoginBOC.png

     Select “System” from the side panel and select “Administration”

/wp-content/uploads/2016/07/boc_server_lo_1001464.png

     Enter the parameters from the cloud connector
User and password from tomcat-users.xml
C4AAdmin\Welcome1

/wp-content/uploads/2016/07/boc_c4aagenconfig_1001474.png

     Select “Connection” from the side panel

ClickOnConnection.png

     Click on the “+” icon and select “Import Data Connection” – “SAP BW”

createBw connection.png

Enter your parameters, connection done.

/wp-content/uploads/2016/07/bwconnection_1001454.png

Assigned Tags

      4 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Henry Banks
      Henry Banks

      This is absolutely just the ticket, thank you so much Thomas! Greetings from UK!

      Author's profile photo Midhun VP
      Midhun VP

      Excellent one !

      Author's profile photo Richard Nagel
      Richard Nagel

      Great post!

      Yet out of curiosity: have you tried to connect SAP Business ByDesign as an ERP source to BO-Cloud?

      Author's profile photo Henry Banks
      Henry Banks

      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