Overview
SAP CPI is a cloud-based integration platform that allow the synchronization of data between different systems (ERP and CRM, for example) to streamline business processes. The PowerConnect Cloud CPI Input monitors message flow for troubleshooting and business analytics use cases.
Data Collected
Message metadata - sender, receiver, status, error information etc.
Message payload
IFlow metadata - status, version, deployment time etc.
APIs Used
Status
Generally Available
Configuration
PowerConnect Cloud requires access to the SAP CPI API to be able to extract message monitoring data and payloads. The most secure way to do this is add PowerConnect Cloud as an OAuth client to your SAP CPI tenancy. To do this follow the steps below for your environment:
SAP Cloud Foundry
Creating an API Instance for PowerConnect Cloud
Login to your SAP CPI tenancy BTP Cockpit
Click on the Service Marketplace and scroll down to Process Integration Runtime
Under the Service Plans for Process Integraion Runtime click the three dots on the api row then click Create:
Fill in the details for the instance including the instance name and space where you would like to provision it:
Click Next
In the Parameters section grant the client
MonitoringDataRead (to access CPI monitoring data)
HealthCheckMonitoringDataRead (to access JMS queue monitoring data if required)
MessagePayloadsRead (to access CPI message store data if required):
{ "grant-types": [ "client_credentials" ], "redirect-uris": [], "roles": [ "MonitoringDataRead", "MessagePayloadsRead", "HealthCheckMonitoringDataRead" ] }
Click Create and the instance will be provisioned
Click on Instances and Subscriptions and you should see your new CPI api instance. Click on the three dots then click Create Service Key:
Give the Service Key a name then click Create:
The Service Key should now be provisioned
Click Instances and Subscriptions then choose the CPI API Instance again. Under Service Keys you should see the new Service Key you just created.
Click the three dots then click View
Note down the details in the JSON:
url
clientid
clientsecret
tokenurl
Follow the instructions in the section below called “Adding a CPI Input in PowerConnect Cloud” to configure PowerConnect Cloud with these details
SAP Neo
Creating a group for PowerConnect Cloud
Login to your SAP CPI tenancy BTP Cockpit
Click on Authorizations in the menu on the left
Click the Groups tab then New Group
Create a group called powerconnect and click Save
Click the powerconnect group you just created and assign a role by clicking the Assign link in the Roles section
Choose the subaccount ending in tmn then the role AuthGroup.BusinessExpert. This will give PowerConnect the necessary permissions to read the CPI message data.
Creating an OAuth Client for PowerConnect Cloud
In the SAP BTP Cockpit click on the OAuth link in the menu on the left
Click on the Clients tab
Create a new client called powerconnect making sure the Authorization Grant is set to Client Credentials
Note down the Client ID and the Client Secret
Click on the Branding tab and note down the Token Endpoint
Add the OAUTH client to the powerconnect group you created. Note when adding the user you must prefix the client id with “oauth_client_” as shown below:
Adding a CPI Input in PowerConnect Cloud
Login to the PowerConnect Cloud web UI
Click on the Inputs link in the menu bar
Click the + button to add a new Input
Choose messages under sap-cpi
Fill in the form with the details you noted down when creating the powerconnect OAuth client (client id, client secret and token url).
For Neo envirnments the tenant url can be found in the SAP BTP Cockpit under Subscriptions Applications (ending with tmn) Application URLs
For Cloud Foundry its the url field in the service key
Choose the Splunk output you wish to send the CPI data to
Click Save
The Input is now created