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

Beta

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)

    • MessagePayloadsRead (to access CPI message store data if required):

      {
          "grant-types": [
              "client_credentials"
          ],
          "redirect-uris": [],
          "roles": [
              "MonitoringDataRead",
              "MessagePayloadsRead"
          ]
      }
      JSON

    • 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