Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Document Links

Jira
serverSyensqo's Jira
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverIdd8efc1ef-48bd-3b4e-8714-ad827f4f059b
keyERP-2921

Introduction

This document describes the data flow for objects in the technical space.

Sub-AreaDetailsExample KPIsComments
TECPRO - Signavio Process Manager

Signavio is the source of truth for which task is performed by which process role using which executable (e.g. Fiori app, transaction, report, etc.). However Signavio does not provide sufficient reporting capability to meet the needs of various downstream consumers of this information, who need to use information from the process models to answer various questions in order to perform subsequent work. Examples include:

  • Show me all of the executables assigned to a process role (i.e. swimlane) across all of the L4 models, so that system authorizations can be created accordingly.

  • Show me all of the process roles which contain a particular executable

  • Show me what has changed between two revisions of a process model

  • Show me what has changed across all process models between two different dates

  • Show me what tasks and executables have been added and removed from a particular swimlane (process role) across all process models in a particular POD, between two given dates.

N/A The reporting is focused on comparing versions of data


Jira Request Coverage

The models covered under this DDFS will cater for the requirements raised though the following Jira Requests:

Jira
serverSyensqo's Jira
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverIdd8efc1ef-48bd-3b4e-8714-ad827f4f059b
keyERP-1107

How to use this document

Please see the SyWay Analytics Approach document, section 'Documentation' for more information about the context of this document.

This document is designed to:

  • Be an aid in to the initial design of a data flow for the reporting functional consultant
  • Be the means of communication between the reporting functional consultant and the developer as to what is to be built
  • Be the long term repository for the documentation of the actual technical build.

Fill in the document following the steps below and keeping close alignment with the SAP Analytics and Reporting Standards.

First, copy this template, copy the template data flow diagram inside it, replace the template DFD with the new DFD in the new document.

In DFD:

  1. Lay out the spaces.
  2. Populate the spaces with the tentative objects depicting object type with the appropriate box. (Build the entity relationship model).  Use a short, meaningful, code for the object name to keep the boxes small and the design flexible till complete.
    1. Be aware of and respect the colour coding for boxes as seen in the key at the top of the DFD.
    2. N.B. do not include master data objects in transaction data DFD unless they are actively joined to (i.e. not just used as attributes). MD objects have their own DFD.
    3. Where an object's data flow belongs in a different DFD (e.g. S2P consumes an object from O2C), just reference the object, don't include its full flow.
  3. Once the data flow makes sense (i.e. will deliver the desired solution), populate the technical names for relevant objects in the boxes into the tables beneath the data flow diagram.  This allows you to add / change the names without having to reconfigure the diagram.

In the confluence document:

  1. Update the details of any business logic  below the data flow diagram. Updates to be made according to the layer and type.

Please see the example DFD done for a fictional requirement that wishes to show original purchase order item and value alongside the PO history according to Purchase Order Creation date.

Document Links

Introduction

...

Data Flow Diagram


draw.io Diagram
bordertrue
diagramNameDDFD-TEC - Dataflow diagram
simpleViewerfalse
width
linksauto
tbstyletop
lboxtrue
diagramWidth1181
height975
revision69


Table of Contents
maxLevel2
excludeHow to use this document/|Document Links/|Introduction/|Jira Request Coverage/|Data Flow Diagram/

Source System Extractors

Standard extractors do not need to be documented unless extended.

Where custom extractors  / extensions are required, reference the FSD for that enhancement.


Extractor NameBuild Jira Ref For Extension Information

Inbound Layer

Inbound layer objects only need documentation if some field adjustment is made (over and above the standard load date / time and source system stamp).

1TL_TECPRO_SignavioProcessChanges_01

Field XYZ converted to date. 

Field ABC converted from BIGINT to... 

Harmonisation Layer

Every table will have it's own harmonization view.  This only needs to be documented if field adjustments are required. E.g. Conversion of data field / type.

Where actions are performed to improve reusability, e.g. joining header and item tables, details of the join (left outer, which is left, which is right, fields to join with, cardinality etc) should listed.

...

Comment
TBC Signavio Report

Jira
serverSyensqo's Jira
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverIdd8efc1ef-48bd-3b4e-8714-ad827f4f059b
keyERP-2408

Data is extracted from Signavio using a report written by SAP. It will post data to CPI which, in turn, will make this data available to via a REST API.  The functionality to extract data from REST APIs is not available till the Q2 2026 release which (at time of writing) has not yet been delivered.

N.B. The file extract is a shared program which produces the data for multiple use cases, including stand alone CSV/Excel files. It was requested to have normalised files separating process and master data but this was rejected.

Inbound Layer

1TL_TECPRO_SIGNAVIOPROCESSCHANGES_01 

Warning

This table will contain data from the most recent file load ONLY!

Prior to each new load of data, the existing data in this table will be moved to 2TL_TECPRO_SignavioProcessChanges_01 using transformation flow 2FT_TECPRO_SignavioProcessChanges_01 and then the contents of 1TL_TECPRO_SIGNAVIOPROCESSCHANGES_01 will be deleted.  This is required to support the swimlane comparison reporting.

The table will receive fields delivered by the SAP report: 

Process ID
Process name
Revision number
L1-L4 decomposition
Process Owner
Last change date
Last changed by
POD
Release
Sub-Function
Task name
Task type
Task ID
Pool name
Lane name
IT System title
IT System category name
LeanIX Link
Executable name
Executable category name
App ID
App name
App type
UI technology
Application component
Dictionary Link

An additional column 'export timestamp' is appended to the data. This is added to the file header by the Signavio report and applied by CPI.

Harmonisation Layer

2TL_TECPRO_SignavioProcessChanges_01

This table will store historical snapshots of data loaded from 1TL_TECPRO_SIGNAVIOPROCESSCHANGES_01. It should never contain the most recent data.  The process for the population of this table is described under 1TL_TECPRO_SIGNAVIOPROCESSCHANGES_01.

2VR_TECPRO_SignavioProcessHistory_01

Purpose

Prepare table data for use.

Source

2TL_TECPRO_SignavioProcessChanges_01

Calculation

Calculated dimension CD_PLANT to change length of field 'Plant' from 4 to 5 to align with WHM plant. (Ubiquitously true, reusable change made at lowest level possible)Fields used in comparison logic in subsequent views will be checked to ensure that they are not null. If they are null then the null value will be replaced by space.  These fields are: Process ID, Task ID, Lane Name, App ID, Dictionary Link, ExportTimestamp.

2VR_TECPRO_

...

SignavioProcessMostRecent_01

Calculation

Calculated measure: CM_PRICE = Value / Quantity. (Ubiquitously true, reusable change made at lowest level possible).

2VR_TECPRO_SignavioProcessMostRecent_01

Join

Purpose: Join PO header and item to create reusable view at item level that contains all fields from PO header

LHS: 2VR_S4H_C_PurchaseOrderDex

RHS: 2VR_S4H_C_PurchaseOrderItemDex

Join Field: POHeader to POHeader

Join type: Left outer join

Cardinality: 1: Many

Projection

Remove fields that occur in both PO Header and Item views leaving fields from PO Header side.

Propagation Layer

3VR_TECPRO_SignavioSwimLaneChanges_02

Calculation

...

Purpose

Prepare table data for use.

Source

1TL_TECPRO_SIGNAVIOPROCESSCHANGES_01

Calculation

Fields used in comparison logic in subsequent views will be checked to ensure that they are not null. If they are null then the null value will be replaced by space.  These fields are: Process ID, Task ID, Lane Name, App ID, Dictionary Link, ExportTimestamp.

Propagation Layer

3VR_TECPRO_SignavioSwimLaneChanges_02

Source 1

3VR_TECPRO_SigProHistoryLinkAppToSys_01

Filter

"Dictionary Link" IS NOT NULL - this restricts the results to only those lines where an executable has been found (i.e. removing lines where only the system has been found).

Calculation

Map fields to equivalent DCD name to allow them to be identifiable as being from a different source post full join.

Image Added

Projection

Restrict field list to just the new DCD fields.

Source 2

3VR_TECPRO_SigProMostRecentLinkAppToSys_01

Filter

"Dictionary Link" IS NOT NULL - this restricts the results to only those lines where an executable has been found (i.e. removing lines where only the system has been found).

Projection

Restrict to equivalent fields as seen in projection from source 1.

Join

Full join of data from Source 1 and Source 2 as Many:Many 

Key fields are: Process ID, Task ID, Lane Name, Dictionary Link (which represents the executable), IT System Title (which has been found when linking the executable lines to the system lines in the previous view).

This key will generate the correct cartesian product for comparison of lines between snapshots, taking the blended executable / system lines into consideration.

Calculation


3VR_TECPRO_SignavioProcessUnion_01

Join

Purpose: etc

3VR_TECPRO_SignavioProcessLinkAppToSys_01

Join

Purpose: etc

3VF_TECPRO_SignavioProcessUnion_01

Union

Purpose: To bring in values from PO level alongside lower level granularity documents

Target FieldSource1-FieldSource2-Field
POPOPO 
POItemPOItemPOItem
MaterialDocument-MaterialDocument

Associations to master data

List objects where material master associations are to be made.

Calculated Measures (Pre-Aggregation Calculations)

3VF_TECPRO_SignavioSwimLaneChanges_02

Source Current data 

Filter
IT System Category is Null - Only steps executed by humans

Projection
Remove all fields not relevant to swimlanes


Source Previous Snapshot
Filter
IT System Category is Null - Only steps executed by humans

Calculation
Rename all fields relevant to Swimlanes to DCD_ to identify separately in join

Projection 
Remove all fields not relevant to swimlanes


Union

...


Fields

Calculation
Reorder fields such that field equivalents are alongside each other.Purpose: To bring in values from PO level alongside lower level granularity documents

Reporting Layer

4MA_TECPRO_SignavioProcessUnion_01

Link to FSD (Each Analytic model should have its own FSD).

Include technical details for: 

Calculated Measures (Post Aggregation Calculations / exception aggregation etc)

Restricted Measures

Detail restrictions

Currency Conversions

Detail rate type, from currency

Variables

Data access controls

4MA_TECPRO_SignavioSwimLaneChanges_02

Link to FSD (Each Analytic model should have its own FSD).

Include technical details for: 

Calculated Measures (Post Aggregation Calculations / exception aggregation etc)

Restricted Measures

Detail restrictions

Currency Conversions

Detail rate type, from currency

Variables

Data access controls

Outbound Layer