Technology Blog Posts by SAP
cancel
Showing results for 
Search instead for 
Did you mean: 

SAP Analytics Cloud Integration into Joule - Part 2

Introduction

In Part 1, we completed the foundational setup for SAP Joule by:

  • Creating SAP BTP subaccounts and spaces
  • Configuring SAP Cloud Identity Services
  • Enabling SAP Build Work Zone
  • Running the Joule Booster to establish system formations

In Part 2, we complete the integration by connecting SAP Analytics Cloud (SAC) to SAP Build Work Zone and Joule. This includes:

  • OAuth client creation in SAC
  • Design-time and runtime destination configuration
  • Content provider creation
  • Role consumption
  • User and role provisioning using Identity Provisioning Service (IPS)
  • Final Joule validation

Create OAuth Clients in SAP Analytics Cloud

To allow SAP Build Work Zone and Joule to securely access SAP Analytics Cloud content, OAuth clients must be configured in SAC.

SAP documentation reference:
Consume Role Definition Content from SAP Analytics Cloud


1. Create OAuth Client for Design-Time Access

The design-time OAuth client is used to:

  • Read SAC role definitions
  • Import analytical metadata into SAP Build Work Zone

Procedure

  1. Log in to SAP Analytics Cloud
  2. Navigate to:
    System → Administration → App Integration
  3. Under Configured Clients, choose Add an OAuth Client
  4. Maintain the following values:
    Name: sac-buildworkzone-dt (example)
    Purpose: API Access
    Access: User Provisioning
    Authorization Grant: Client Credentials
  5. Configure Token Lifetime:
    Positive integer value
    Units: minutes, hours, or days
    If not specified, the token lifetime is infinite
  6. Click Add

Save Credentials

  • Copy and store the Client ID
  • Click Copy Secret and save the Client Secret
  • Note the Token Service URL

Important
The client secret is displayed only once and cannot be retrieved later.


OAuth Clients Summary

After completing this step, you should have two OAuth clients in SAP Analytics Cloud:

1. Runtime OAuth Client (Auto-created by Joule Booster)

  • Created automatically during Joule booster execution
  • Used at runtime by Joule
  • Uses SAML Bearer Assertion
  • Client secret cannot be copied

2. Design-Time OAuth Client (Manually Created)

  • Used for:
    Importing SAC roles
    Reading analytical metadata
  • Client ID and secret are used in SAP BTP destinations

Picture 1.png


Create Design-Time Destination in SAP BTP

This destination enables SAP Build Work Zone to read role definitions from SAP Analytics Cloud.

Procedure

  1. Sign in to the JouleBATTesting subaccount
  2. Navigate to:
    Connectivity → Destinations
  3. Click Create Destination

Destination Configuration

PropertyValue
NameSAC_SWZ_DT
TypeHTTP
URLhttps://<SAC-domain>/api/v1/cdm
Proxy TypeInternet
AuthenticationOAuth2ClientCredentials
Client IDSAC design-time OAuth Client ID
Client SecretSAC design-time OAuth Client Secret
Token Service URL TypeDedicated
Token Service URL Token URL from SAC OAuth configuration

Additional Properties

PropertyValue
HTML5.SetXForwardedHeadersfalse
URL.headers.x-sap-sac-custom-auth true

4. Click Save

Picture 2.png


Create Runtime Destination by Cloning

Instead of manually creating a runtime destination, reuse the destination created automatically by the Joule booster.

Picture 3.png

Procedure

  1. Go to:
    Connectivity → Destinations
  2. Locate destination:
    DYN_SAC_SSO
  3. Click Clone
  4. Provide a new name:
    SAC_SWZ_RT

Additional Properties

PropertyValue
sap-card-nominations-path/api/v1/interest-cards
sap-start true
 
5. Save the destination

Picture 5.png

Picture 6.png

Assign Required Roles to Users

Before proceeding, ensure the user has required roles.

Procedure

  1. Go to:
    Subaccount → Security → Users
  2. Assign the following roles to the IdP user:
    Launchpad_Admin
    Launchpad_External_User

    Picture 7.png

Create Content Provider in SAP Build Work Zone

This step imports SAC content and role definitions into SAP Build Work Zone.

Procedure

  1. Go to Service Marketplace
  2. Open SAP Build Work Zone
  3. Choose Go to Application
  4. Navigate to Channel Manager
  5. Click + New Content Provider

Content Provider Configuration

PropertyValue
Titlesac.analytics
DescriptionSAP Analytics Cloud content
IDsac.analytics
Design-Time DestinationSAC_SWZ_DT
Runtime DestinationSAC_SWZ_RT
Runtime Destination for Dynamic DataDefault
Automatically add contentEnabled
Use IPS for authorizationsEnabled

6. Click Save

Picture 8.png


Results

  • SAC role definitions are imported into SAP Build Work Zone
  • System Owner role is intentionally not imported
  • Role changes in SAC require manual refresh from Channel Manager

Picture 9.png


Provision Users Using Identity Provisioning Service (IPS)

To allow users to access analytical insights via Joule, users, roles, and permissions must be synced from SAC to SAP Build Work Zone.


1. Configure SAP Analytics Cloud as Source System

Reference: SAP Analytics Cloud IPS documentation

Picture 10.png

Procedure

  1. Open SAP Cloud Identity Services Admin Console
  2. Navigate to:
    Identity Provisioning → Source Systems
  3. Add SAP Analytics Cloud as a source system

Mandatory Properties

PropertyValue
TypeHTTP
URLSAC base URL (no path)
ProxyTypeInternet
AuthenticationBasicAuthentication
UserSAC OAuth Client ID
PasswordSAC OAuth Client Secret
OAuth2TokenServiceURLSAC token service URL
sac.api.version2 (recommended)


Picture 11.png

Picture 12.png
Picture 13.png

2. Configure Transformations


3. Configure SAP Build Work Zone as Target System

Reference: SAP Build Work Zone IPS documentation

  • Use the service key JSON from SWZInstanceKey
  • Configure:
    API URL
    OAuth client ID
    OAuth client secret
  • Use default transformation from SAP documentation

Picture 14.png

Picture 18.png

Picture 19.png


Run Provisioning Jobs

Simulate Provisioning

  1. Go to SAC Source System → Jobs
  2. Click Run Now on Simulate Job
  3. Verify logs:
    Identity Provisioning → Provisioning Logs

✔ No errors should appear

Picture 19.png

Execute Provisioning

  1. Run Read Job
  2. Check provisioning logs again

Picture 20.png


Validate User Provisioning

  1. Log in to SAP Build Work Zone as Launchpad_Admin
  2. Go to:
    Settings → Identity Provisioning
  3. Enter SAC user email
  4. Validate role IDs are correctly assigned

Picture 21.png


Create Joule User Role Collection

Procedure

  1. Create User (ex - [email protected])
  2. Go to JouleBATTesting → Security → Role Collections
  3. Create role collection:
    Joule_User
  4. Add:
    Joule roles
    Launchpad_Admin (if site admin access is required)
  5. Assign role collection to IdP users
  6. Log out and log back in

Picture 22.png

Picture 23.png

Picture 24.png

Picture 26.png

Picture 27.png


Index Data Using Just Ask and Validate Joule

Reference: SAP Joule documentation

Important Validation Rules

  • SAC models must:
    Belong to the same user
    Be indexed under Just Ask using the same identity
  • Example user:
    [email protected]

If models are indexed under a different user, Joule will not return results.

Picture 28.png

Picture 29.png

Picture 30.png

SAP Analytics Cloud Integration into Joule - Part 1

Reference Link
https://help.sap.com/doc/de3af3c0f81642dbaa4d36172ed57a72/CLOUD/en-US/79bfc83ab386450c8cd9c7937ce26a...

Thanks
Ashraf

14 Comments
Labels in this area