SAP BI Tools · Arazzo Workflow

SAP BI Tools Export Dimension Master Data

Version 1.0.0

Discover export namespaces and providers, read a model's master data overview, then pull a named dimension's master data.

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

Provider

sap-bi-tools

Workflows

export-dimension-master-data
Resolve a namespace and model, then pull a dimension's master data.
Lists namespaces and providers, reads the first model's master data overview, and retrieves the master data for the supplied dimension.
4 steps inputs: dimensionName, top outputs: dimensionContext, firstModelId, firstNamespaceId
1
listNamespaces
listNamespaces
List the available export namespaces and capture the first one.
2
listProviders
listProviders
List the providers (models) in the first namespace and capture the id of the first model.
3
getMasterOverview
getMasterDataOverview
Read the master data overview of the first model.
4
getDimensionMaster
getDimensionMasterData
Pull the master data member list for the supplied dimension within the first model.

Source API Descriptions

Arazzo Workflow Specification

sap-bi-tools-export-dimension-master-data-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: SAP BI Tools Export Dimension Master Data
  summary: Discover export namespaces and providers, read a model's master data overview, then pull a named dimension's master data.
  description: >-
    A master-data extraction pattern for the SAP Analytics Cloud Data Export
    API. The workflow lists the available export namespaces, lists the
    providers (models) in the first namespace, reads the master data overview
    of the first model, and then pulls the master data member list for a named
    dimension within that model. The Data Export API uses OAuth 2.0 bearer
    authentication, so no logon token is threaded between steps. 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: dataExportApi
  url: ../openapi/sap-analytics-cloud-data-export-api-openapi.yml
  type: openapi
workflows:
- workflowId: export-dimension-master-data
  summary: Resolve a namespace and model, then pull a dimension's master data.
  description: >-
    Lists namespaces and providers, reads the first model's master data
    overview, and retrieves the master data for the supplied dimension.
  inputs:
    type: object
    required:
    - dimensionName
    properties:
      dimensionName:
        type: string
        description: The technical name of the dimension whose master data to pull.
      top:
        type: integer
        description: Maximum number of master data members to return.
        default: 100
  steps:
  - stepId: listNamespaces
    description: List the available export namespaces and capture the first one.
    operationId: listNamespaces
    parameters:
    - name: $format
      in: query
      value: JSON
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      firstNamespaceId: $response.body#/value/0/NamespaceID
  - stepId: listProviders
    description: >-
      List the providers (models) in the first namespace and capture the id of
      the first model.
    operationId: listProviders
    parameters:
    - name: namespaceId
      in: path
      value: $steps.listNamespaces.outputs.firstNamespaceId
    - name: $format
      in: query
      value: JSON
    - name: $top
      in: query
      value: 100
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      firstModelId: $response.body#/value/0/ProviderID
    onSuccess:
    - name: providersFound
      type: goto
      stepId: getMasterOverview
      criteria:
      - context: $response.body
        condition: $.value.length > 0
        type: jsonpath
    - name: noProviders
      type: end
      criteria:
      - context: $response.body
        condition: $.value.length == 0
        type: jsonpath
  - stepId: getMasterOverview
    description: Read the master data overview of the first model.
    operationId: getMasterDataOverview
    parameters:
    - name: modelId
      in: path
      value: $steps.listProviders.outputs.firstModelId
    - name: $format
      in: query
      value: JSON
    - name: $top
      in: query
      value: 100
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      overviewContext: $response.body#/@odata.context
  - stepId: getDimensionMaster
    description: >-
      Pull the master data member list for the supplied dimension within the
      first model.
    operationId: getDimensionMasterData
    parameters:
    - name: modelId
      in: path
      value: $steps.listProviders.outputs.firstModelId
    - name: dimensionName
      in: path
      value: $inputs.dimensionName
    - name: $format
      in: query
      value: JSON
    - name: $top
      in: query
      value: $inputs.top
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      dimensionContext: $response.body#/@odata.context
      firstMember: $response.body#/value/0
  outputs:
    firstNamespaceId: $steps.listNamespaces.outputs.firstNamespaceId
    firstModelId: $steps.listProviders.outputs.firstModelId
    dimensionContext: $steps.getDimensionMaster.outputs.dimensionContext