SAP BI Tools · Arazzo Workflow

SAP BI Tools Session Lifecycle

Version 1.0.0

Open a BI Platform session, read the InfoStore root and its top-level folders, then cleanly log off.

1 workflow 1 source API 1 provider
View Spec View on GitHub AnalyticsBusiness IntelligenceData VisualizationReportingSAPArazzoWorkflows

Provider

sap-bi-tools

Workflows

session-lifecycle
Logon, read the InfoStore root and its children, then logoff.
Brackets a short InfoStore read with a clean logon and logoff so the session token is invalidated once the work is complete.
4 steps inputs: auth, password, userName outputs: loggedOff, rootId, rootName, topLevelCount
1
logon
logon
Authenticate and capture the logon token.
2
getRoot
getInfoStoreRoot
Read the InfoStore root entry using the captured logon token.
3
listRootChildren
getInfoStoreChildren
List the top-level objects directly under the InfoStore root.
4
logoff
logoff
Invalidate the logon token and terminate the session.

Source API Descriptions

Arazzo Workflow Specification

sap-bi-tools-session-lifecycle-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: SAP BI Tools Session Lifecycle
  summary: Open a BI Platform session, read the InfoStore root and its top-level folders, then cleanly log off.
  description: >-
    Demonstrates the complete BI Platform session lifecycle. The workflow logs
    on to obtain a logon token, reads the InfoStore root entry, lists the
    top-level objects directly under the root, and finally logs off to
    invalidate the token. This is the recommended bracket for any short-lived
    automation that should not leave a session token live. The logon token
    captured at logon is supplied on every subsequent call via the
    X-SAP-LogonToken header. Every step spells out its request inline so the
    flow can be read and executed without opening the underlying OpenAPI
    description.
  version: 1.0.0
sourceDescriptions:
- name: biPlatformApi
  url: ../openapi/sap-businessobjects-bi-platform-api-openapi.yml
  type: openapi
workflows:
- workflowId: session-lifecycle
  summary: Logon, read the InfoStore root and its children, then logoff.
  description: >-
    Brackets a short InfoStore read with a clean logon and logoff so the
    session token is invalidated once the work is complete.
  inputs:
    type: object
    required:
    - userName
    - password
    properties:
      userName:
        type: string
        description: The BI Platform username to authenticate with.
      password:
        type: string
        description: The password for the supplied user.
      auth:
        type: string
        description: The authentication type (secEnterprise, secLDAP, secWinAD).
        default: secEnterprise
  steps:
  - stepId: logon
    description: Authenticate and capture the logon token.
    operationId: logon
    requestBody:
      contentType: application/json
      payload:
        userName: $inputs.userName
        password: $inputs.password
        auth: $inputs.auth
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      logonToken: $response.body#/logonToken
  - stepId: getRoot
    description: Read the InfoStore root entry using the captured logon token.
    operationId: getInfoStoreRoot
    parameters:
    - name: X-SAP-LogonToken
      in: header
      value: $steps.logon.outputs.logonToken
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      rootId: $response.body#/SI_ID
      rootName: $response.body#/SI_NAME
  - stepId: listRootChildren
    description: List the top-level objects directly under the InfoStore root.
    operationId: getInfoStoreChildren
    parameters:
    - name: X-SAP-LogonToken
      in: header
      value: $steps.logon.outputs.logonToken
    - name: objectId
      in: path
      value: $steps.getRoot.outputs.rootId
    - name: page
      in: query
      value: 1
    - name: pageSize
      in: query
      value: 50
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      topLevelCount: $response.body#/__count
  - stepId: logoff
    description: Invalidate the logon token and terminate the session.
    operationId: logoff
    parameters:
    - name: X-SAP-LogonToken
      in: header
      value: $steps.logon.outputs.logonToken
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      loggedOff: $statusCode
  outputs:
    rootId: $steps.getRoot.outputs.rootId
    rootName: $steps.getRoot.outputs.rootName
    topLevelCount: $steps.listRootChildren.outputs.topLevelCount
    loggedOff: $steps.logoff.outputs.loggedOff