SAP BTP based integration of SAP Solution Manager or SAP Focused Build

Blog from 2/3/2023

Prepare your Infrastructure and Connections for SAP BTP

Even if Conigma Connect is running on SAP BTP it is a good idea to upfront check the prerequisites on network level. Often network components like SAP CPI / SAP Integration Suite, firewalls, reverse proxies, etc. or challenges like missing / expired certificates require different actions for a proper communication between the SAP Solution Manager and SAP BTP.

This blog post shows how to test the communication between SAP Solution Manager and the SAP BTP (which may host Conigma Connect) to ensure communication on infrastructure level e. g. for an integration of SAP Cloud ALM SaaS and SAP Solution Manager ChaRM or FocusedBuild for SAP Solution Manager.
The communication is tested in both directions. Such a test helps to identify communication problems upfront and therefore provides the possibility to solve such problems in an earlier project phase. This communication will be tested on OS level and is independent from Conigma Connect the middleware itself.

There are two types of network connections to test:

  • From the SAP Solution Manager to the  SAP BTP (middleware) Server (called inbound connection below).

  • From SAP BTP to SAP Solution Manager (below called Outbound-Connection).

To test the correctly set up network connections for inbound connections, our customers typically use a mock server that can receive and log API calls (see picture below). In this post, the tests are described using the mock server Mockoon in its docker version. An analogous procedure is also valid for any other mock server. On Solution Manager side the built-in report SAPHTML_DEMO01 is used.

Outbound connections, on the other hand, are tested using OS-related procedures, in this case curl on an Ubuntu Docker container (see also picture below) which calls a standard SAP ICF service. An analogous procedure also applies to the test of a local on-prem middleware OS.

SAP Solution Manager Architektur

Inbound Connection Test for SAP BTP from SAP Solution Manager

This section describes the test of the inbound connection for SAP BTP from SAP Solution Manager.
On SAP BTP
Deploy Mockoon as Docker image on the SAP BTP Cloud Foundry.
https://mockoon.com/
https://hub.docker.com/r/mockoon/cli

Please follow the corresponding SAP instructions for deploying a docker image on BTP.
https://help.sap.com/docs/btp/sap-business-technology-platform/download-and-install-cloud-foundry-command-line-interface
https://help.sap.com/docs/btp/sap-business-technology-platform/deploy-docker-images-in-cloud-foundry-environment

The corresponding command to deploy Mockoon is:
cf push mockoon --docker-image mockoon/cli:latest --start-command "mockoon-cli start -d
https://raw.githubusercontent.com/mockoon/mock-samples/main/samples/generate-mock-data.json --port 8080 --daemon-off"

In SAP Solution Manager

Got to the SAP BTP Account and Subaccount hosting your Mockoon image.
Copy the corresponding URL, where the above described instance is located.

SAP BTP Cockpit

Add the suffix /posts to the URL and verifiy in a Browser everything is set up correctly. The result should look as follows:

Mockoon-Image URL


Now log into you SAP Solution Manager and execute ABAP Report SAPHTML_DEMO1.
There enter the same URL (with suffix) you also used to test in your Browser and press <Enter>.

The expected result is similar and should look as follows:

Ausführung ABAP Report SAPHTML_DEMO1

In case of an error, you see a browser error message. The error message offers the possibility of further analysis.


Outbound Connection Test from SAP BTP to SAP Solution Manager
The following section describes how to test an outbound connection to SAP Solution Manager.
First deploy a Docker image which will provide you the curl command. In our example we are using Ubuntu.
https://hub.docker.com/_/ubuntu
Note that it would also be possible to use the previously installed Mockoon container for this, but in our example we use an isolated test environments.

cf push ubuntu --health-check-type process --docker-image ubuntu:latest
cf enable-ssh ubuntu
cf restart ubuntu
cf ssh ubuntu

Make sure that you are at the SSH prompt of your Ubuntu installation and the SSH command did not issue an error.

Install curl.

apt-get update
apt-get install -y curl

Now we need to find a proper test URL in our SAP Solution Manager.
Therefore, we navigate to transaction SICF in the SAP Solution Manager and pick any service currently running.
In our example we choose /default_host/sap/url/, but any other service which is existing and active can be chosen here.

how to test an outbound connection to the SAP system running the Conigma CCM central system (=ABAP add-on)open the service details

Double click to open the service details and copy the service path (without the part “default_host”!) and the service name.

With the service subpath/name and the address/port where we try to reach the SAP Solution Manager from our SAP BTP, we can build the URL as follows:

http[s]://<SAP Solution Manager Hostname>:<Port>/<Path>/<Name>

or

http[s]://<SAP Solution Manager IP>:<Port>/<Path>/<Name>

e.g.

https://solman.mycorp.com:8000/sap/url/go.

Now from our BTP Ubuntu SSH session we test the connection with the following command:

curl -I <Our Solution Manager URL>

The expected result is as follows:

Erwartetes Ergebnis

NOTE: The status code "401 Unauthorized" is expected here, since we are not dealing with logons here. Any other result indicates an error and should be analyzed.

Summary

The above-described tests are not only recommended before installing Conigma Connect on SAP BTP. Rather, they can also be used in daily operations for error analysis (e.g., expired server certificate for HTTPS connections).