
This Data Flow Specification (DFS) defines the end-to-end data flow required to meet the following requirements:
| Sub area | Driver | Purpose | Notes | Jira |
|---|---|---|---|---|
| Financial Ledger Reporting | ACDOCA | Replicating business content for GLAccountLineItemRawData to create Semantic tags model that is used for financial reporting. It mirrors the CDS views used in S/4 but creates the semantic tag model in a more logical fashion than in S/4 (removes the hard coding in the CDS views). This model provides all journal entry details. Organisational entities such as Company Code, Profit Centre, Cost Centre, Business Area, Functional Area, Financial dimensions like Ledger, G/L Account, Segment, Financial Document Type, Posting Key, Debit/Credit Code, are available in this data model. The model provides a source ledger as well as all the ledgers that apply to the relevant company codes. This model maps the journal entries to the semantic tags defined based on G/L Accounts. The semantic tags based on functional areas are not considered in this model. | Incld Headcount, Plan | |
| Net Working Capital | BSEG | The Operation Accounting Document item view provides details of an operational accounting document item (sourced from BSEG) like clearing document details, payment data, and tax data. The long-term vision is that table BSEG will be used only for open item management. Used as the foundation of accounts receivable and accounts payable analysis, such as total payables and receivables, overdue receivables and payables, and future receivables. Generates a balance and movements model.
| Leading ledger only | |
| Fixed Assets | Assets | Ability to show Original cost, depreciation and net book value
| There is no business content for this | |
| Statistical Key Figures | SKF | SKF will be calculated in SAC and retracted to both S/4 systems based on company code. SKF can be amended in S/4 and need to be extracted back into DSP.
| There is no business content for this | |
| Group Reporting | ACDOCU | There is new improved business content for matrix elimination in group reporting that we will use. Significantly it is now periodic rather than year to date. Cash flow is difficult to replicate into DSP and not included in the business content. As all the data is in a single system, the starting point will be to use SAC LIVE reporting on S/4. There are currently around 30 schedules required. They run quarterly, projecting the 3rd Quarter forwards to predict the year end picture. Reconciliation to Finance GL:
| Planning is not included in this model - need to add if required | |
| Restructuring Provisions | Plan | The workforce is analysed to consider any possible restructuring and create financial provisions.
| ||
| HSE Provisions | Plan | Data is required to cater for planning every quarter (2 forms in total, one for qualitative and one for quantitative analysis and inputs). | ||
| Insurance | Plan | Insurance is provided for the group centrally. Each site needs to provide a valuation for assets (including stock) and potential loss of income. | ||
| Tax | Tax | Ability to plan tax changes and create journals to be posted in S/4 as provisions. | ||
| Stock valuation | Stock | Stock values including future prices. Join MATDOC to MBEW to ensure that you get a value even if no stock on hand. | There is no business content for this |
| Item | Detail | Status |
|---|---|---|
| Planning | Planning for maintenance and production orders may be in ACDOCP. These are not R2R requirements | Open |
| Missing requirement | Stock valuation requirements. | Open |
| Headcount data | Headcount is shown but as a ghost as not in scope at present. Assuming will be covered in B2F where the seed data should be actuals. | Open |
| Kinaxis integration | Kinaxis Long Term plan has not been designed as expected to be covered in the B2F POD. | Open |
| Bridges | Opening, closing balance and difference. Assume this logic is possible in models based on 3VR_OpsItemTS. There is a CDS called C_GLAccountBalance_F0707A This is implemented via a class (predecessor was C_CN_GLAccountBalanceSumQuery). | Open |
| Functional Area Semantic Tag | No requirement as yet for this model. It is not included in SAP business content. The model is very similar to the Profit Centre model. | Open |
| Cashflow in GR | As this is a difficult area to recreate, it is envisaged that a plausible solution would be to run this using a LIVE model in SAC without DSP. | Open |
| Group Reporting data incomplete | Planning functionality may be required for parameters and data not available in S/4. | Open |
| Drill through in GR | Currently we do not believe this is plausible as data is captured from China using the data collector. | Open |
| Reuse of KPI | In a perfect world, we would create a KPI once and share it, to ensure consistency. If we stack models this will work, but this is probably not feasible in all cases If a KPI is only calculated in the Analytical Model, it will not be shared. Reasons for defining at this level are:
| Open |
Commentary | Commentary will be added per model. This is not ideal as there is no leverage. | Open |
Leases | Real Estate is being used for Leases but there are no requirements as yet outside of what is included within ACDOCA. | Open |
| Actual Cash Flow | A very restricted set of dimensions, consider expanding this based on business needs (eg customer and vendor) | Open |
| Fixed Assets |
| Open |
![]()
Orange font implies a change from SAP standard business content
| System | Code | Extractor Name | Purpose | Delta | Frequency | Jira Ref | Extended fields |
|---|---|---|---|---|---|---|---|
S/4 x | ACDOCA | I_GLACCOUNTLINEITEMRAWDATA | View does not implement the logic for extension ledgers (just basis ledgers). This is implemented in 2VR_GLAccItmV1 Includes Balances Brought Forward (000) | Y | Continuous | Yes | |
| S/4 x | BSEG | I_OPERATIONALACCTGDOCITEM | Open Item management | Continuous | |||
| S/4 x | FQMFLOWA | I_CASHLIQUIDITYACTUALFLOW | Cash liquidity actual flow for working capital inventory. | Y | Continuous | ||
| S/4 x | FQMFLOWF | I_CASHLIQUIDITYFORECASTFLOW | Same source as actual flows | Y | Continuous | ||
| S/4 x | DEPR | I_FXDASTSTATISTICALLINEITEM | Statistical Depreciation areas - This will need to be exposed for extraction. Replicating the logic used in S/4 I_AssetDepreciationBalanceCube Restrict to VORGN <> AFAB, MOVCAT <> 05, SLALITTYPE not between 07203 and 07209 (check CDS for exact) | TBC | |||
| S/4 x | FINSSKF | I_FINSTATISTICALKEYFIGITEMBSC | Statistical Key Figures | Y | |||
| S/4 | ACDOCU | I_CNSLDTNGROUPJRNLENTRITMDEX | Matrix consolidation | Y | Continuous | Potentially |
| Code | Tech Name | Logic | Partitioning |
|---|---|---|---|
| 1TL_ACDOCA | 1TL_S4Hx_I_GLACCOUNTLINEITEMRAWDATA | Retain all 402 fields even though SAP Business Content has 60 fields less. As the BCT is based on SAP 2023 | Fiscal Year |
| 1TL_BSEG | 1TL_S4Hx_I_OPERATIONALACCTGDOCITEM | Adds flag for cleared, based on date | |
| 1TL_CashA | 1TL_S4Hx_I_CASHLIQUIDITYACTUALFLOW | Cash Actual Flow Lower levels of the CDS have more dimensions (see gaps) | |
| 1TL_CashF | 1TL_S4Hx_I_CASHLIQUIDITYFORECASTFLOW | Cash Forecast Flow | |
| 1TL_Depr | 1TL_S4Hx_I_FXDASTSTATISTICALLINEITEM | Depreciation Areas | |
| 1TL_SKF | 1TL_S4Hx_I_FINSTATISTICALKEYFIGITEMBSC | Statistical Key Figures | |
| 1TL_ConsolDEX | 1TL_S4Hx_I_CNSLDTNGROUPJRNLENTRITMDEX | Consolidation |
Persist the 2 datasources into a single table for performance to avoid the runtime union.
1TL_S4HR_I_GLACCOUNTLINEITEMRAWDATA
1TL_S4HC_I_GLACCOUNTLINEITEMRAWDATA
Ledger, CompanyCode, SourceLedger
Ledger, FiscalYear
Set as Delta Capture
Casting dates and add the statistical derivations from the next level
2TL_S4HARM_I_GLAccountLineItemRawData
Casting TO_DATE (PostingDate, DocumentDate, CreationDate, ServicesRenderedDate, PerformancePeriodStartDate, PerformancePeriodEndDate, ExchangeRateDate, ClearingDate, ValueDate, LastChangeDate).
Add the statistical derivations here, rather than repeat in the level above
WBSIsStatisticalWBSElement - WHEN AccountAssignmentType <> 'PR' AND WBSElementInternalID <> '00000000' THEN 'X' ELSE '' END
IsStatisticalSalesDocument - WHEN AccountAssignmentType <> 'VB' AND SalesDocument <> '' THEN 'X' ELSE '' END
IsStatisticalCostCenter - WHEN ( AccountAssignmentType <> 'KL' AND AccountAssignmentType <> 'KS') AND CostCenter <> '' THEN 'X' ELSE '' END
IsStatisticalOrder. - WHEN ( AccountAssignmentType <> 'OR' and AccountAssignmentType <> 'OP' and AccountAssignmentType <> 'OV' ) and OrderID <> '' THEN 'X' ELSE '' END
Note that the fields set to null in BCT are available to be mapped in this release.
Changing name to replicate the corresponding CDS in S/4.
Restrict to Leading Ledger.
This should be the object that is shared with other PODs for reporting.
2VR_S4HARM_GLAccountLineItem
I_FI_Ledger
FI_Ledger - IsLeadingLedger = 'X'
FI_Ledger - Ledger
[Many.....1] 2VR_S4HARM_GLAccountLineItem V1 INNER JOIN I_FI_Ledger on SourceLedger = Ledger
Derivations applied at lower level, so not required here
To provide currency roles and Company Code Assignment of Ledgers.
I_LedgerCompanyCodeCrcyRoles
I_LedgerSourceLedger
[Many.....Many]2VR_S4HARM_CoCodeLedgerSourceLedger as 2VR_S4HARM_LedgerCompanyCodeCrcyRoles LEFT JOIN 2VR_S4HARM__LedgerSourceLedger on Ledger = Ledger
Remove repeated Ledger
Not shown in diagram (hence no alias) as this is master data
To provide all the ledgers available to a company code.
This has the effect of exploding the rows to ensure that all ledgers are created for every source ledger.
2VR_S4HARM_GLAccountLineItem
2VR_S4HARM_CoCodeLedgerSourceLedger
[Many.....Many] 2VR_S4HARM_GLAccountLineItem INNER JOIN I_LedgerCompanyCodeCrcyRoles on SourceLedger = SourceLedger, CompanyCode = CompanyCode
SAP incorrectly defined as semantic type FACT
Persist the 2 datasources into a single table for performance to avoid the runtime union.
1TL_S4HR_I_OperationalAcctgDocItem
1TL_S4HC_I_OperationalAcctgDocItem
CompanyCode, AccountingDocument, FiscalYear, AccountingDocumentItem
FiscalYear
Set as Delta Capture
Casting dates and adding cleared flag
2TL_S4HARM_I_OperationalAcctgDocItem
Removing 26 fields - project, fixedasset, material, valuationarea, jointventure, committmentitem, funds, profitabilitysegment etc
These are related to deprecation of fields and the relevance to the solution.
Casting TO_DATE (ClearingDate, ClearingCreationDate, ValueDate, DueCalculationBaseDate, LastDunningDate, TaxDeterminationDate, PostingDate, DocumentDate, NetDueDate, CashDiscount1DueDate, CashDiscount2DueDate)
Adding IsCleared - case when ClearingDate = '00000000' then '' else 'X' end
Note that the fields set to null in BCT are available to be mapped in this release.
Persist the 2 datasources into a single table for performance to avoid the runtime union.
1TL_S4HR_I_CashLiquidityActualFlow
1TL_S4HC_I_CashLiquidityActualFlow
Delta capture not required.
Cast dates and add fields.
2TL_S4HARM_I_CashLiquidityActualFlow
Cast TO_DATE for ( TransactionDate and PostingDate)
Adding ControllingArea, ProfitCentre,Segment, Customer, Supplier as NULL (these are now standard fields in the CDS).
Convert to Graphical
Combine SAP_FI_HL_CashFlowActualItem (adding NULL fields) and SAP_FI_IL_CashLiquidityActualFlow (casting)
Cast dates and restrict to bank related.
2TL_S4HARM_I_CashLiquidityActualFlow
BankAccountInternalID <> '' AND BankAccountInternalID <> '0000000000'
Cast TO_DATE for ( TransactionDate and PostingDate)
Convert to Graphical
Persist the 2 datasources into a single table for performance to avoid the runtime union.
1TL_S4HR_I_CASHLIQUIDITYFORECASTFLOW
1TL_S4HC_I_CASHLIQUIDITYFORECASTFLOW
Delta capture not required.
Casting dates and filtering for bank related.
BankAccountInternalID <> '' AND BankAccountInternalID <> '0000000000'
Cast TO_DATE for ( TransactionDate and PostingDate)
Convert to Graphical combining the 2 views
Persist the 2 datasources into a single table for performance to avoid the runtime union.
1TL_S4HR_I_FinStatisticalKeyFigItemBsc
1TL_S4HC_I_FinStatisticalKeyFigItemBsc
Cast dates and remove deprecated fields.
2TL_S4HARM_I_FinStatisticalKeyFigItemBsc
Remove deprecated fields (WBS and Project)
TO_DATE (ValidityStartDate)
Persist the 2 datasources into a single table for performance to avoid the runtime union.
1TL_S4HR_I_FxdAstStatisticalLineItem
1TL_S4HC_I_FxdAstStatisticalLineItem
Cast dates and remove deprecated fields.
2TL_S4HARM_I_FxdAstStatisticalLineItem
Remove fields not required (eg additional currencies that Syensqo do not intend to use).
TO_DATE (ValidityStartDate)
Casting fields
1TL_S4HR_I_CNSLDTNGROUPJRNLENTRITMDEX
TO_DECIMAL(AmountInTransactionCurrency,23,2)
TO_DECIMAL(AmountInLocalCurrency,23,2)
TO_DECIMAL(AmountInGroupCurrency,23,2)
TO_DATE(CreationDate)
Relational semantic type.
Enrich with accounting principle
I_AccountingPrincipleAssgmt
Join ActPlan N:N SemTagGLAccount (filter for validity dates and excld FunctArea)
Remove redundant measures
Can we reduce initial projection?
Need to add headcount somewhere, maybe here?
CDS View I_SemTagGLACcount from SAP S/4HANA provides the mapping between the G/L accounts and semantic tags. It is the key component of this model.
This CDS view does not have any key fields. The replication of data without key fields from CDS Views is not supported by the Replication Flow at moment. Instead the local table SAP_FI_IL_I_SemTagGLAccount is used in this model to support both SAP S/4HANA Cloud and SAP S/4HANA source systems. The inbound layer view SAP_FI_IL_SemTagGLAccount is based on this table.
Customer should perform the following activities after importing the content package:
Create a remote table from CDS View I_SemTagGLAccount of the connected SAP S/4HANA system and replicate the data.
Create a dataflow to populate the local table SAP_FI_IL_I_SemTagGLAccount from the remote table. (For SAP S/4HANA Cloud sources a conversion from Date to String Datatype is needed in the dataflow.)
or
Replace the local table SAP_FI_IL_I_SemTagGLAccount with the remote table in the inbound layer view SAP_FI_IL_ SemTagGLAccount.
The Inbound layer view G/L Account with Semantic Target (IL) (SAP_FI_IL_ SemTagGLAccount) is based on the local table SAP_FI_IL_I_SemTagGLAccount and has some simple data type conversions like date conversion.
Union with itself
The first select is where group currency = group currency and the second select is where it is not equal
Relating to statistical postings and adjustments in Local Currency, not envisaged as being used in our scenario
2VR_S4HARM_GroupJournalEntryItem
2VR_S4HARM_GroupJournalEntryItem
INNER JOIN ConsVersRelation on ConsolidationVersionElement = ConsolidationVersionElement
INNER JOIN ConsVers on ConsolidationVersion = ConsolidationVersion and GroupCurrency = GroupCurrency
UNION ALL
2VR_S4HARM_GroupJournalEntryItem
INNER JOIN ConsVersRelation on ConsolidationVersionElement = ConsolidationVersionElement
INNER JOIN ConsVers on ConsolidationVersion = ConsolidationVersion and GroupCurrency <> GroupCurrency
adding fields ConsolidationVersion and FiscalYearVariant
Removing creationdate, creationtime, creationdatetime (the count difference is -1 as we add 2 and remove these 3)
The second select does not update the group currency and amount in group currency
Need to see if any entries where group currency <> group currency. Potentially GRDC data
Else items in local currency that dont have a translation
Switch to graphical view
Union with same source
2VR_S4HARM_VersionMapping
2VR_S4HARM_VersionMapping
INNER JOIN ConsGrpStr on ConsolidationVersion = ConsolidationVersion, ConsolidationUnit = ConsolidationUnit and FiscalYearPeriod between FromFiscalYearPeriod and ToFiscalYearPeriod
INNER JOIN ConsGrpStr on ConsolidationVersion = ConsolidationVersion, PartnerConsolidationUnit = ConsolidationUnit and FiscalYearPeriod between FromFiscalYearPeriod and ToFiscalYearPeriod andConsolidationGroup = ConsolidationGroup
where PostingLevel = 20 (two-sided elimination entries)
Replacing the ConsolidationGroup from the joined table
UNION ALL
2VR_S4HARM_VersionMapping
INNER JOIN ConsGrpStr on ConsolidationVersion = ConsolidationVersion, ConsolidationUnit = ConsolidationUnit and FiscalYearPeriod between FromFiscalYearPeriod and ToFiscalYearPeriod andConsolidationGroup = ConsolidationGroup
where PostingLevel = 02 or 12 AND RecordType = 0, A, D or E
UNION ALL
2VR_S4HARM_VersionMapping
INNER JOIN ConsGrpStr on ConsolidationVersion = ConsolidationVersion, ConsolidationUnit = ConsolidationUnit and FiscalYearPeriod between FromFiscalYearPeriod and ToFiscalYearPeriod
INNER JOIN ConsGrpStr on ConsolidationVersion = ConsolidationVersion, PartnerConsolidationUnit = ConsolidationUnit and FiscalYearPeriod between FromFiscalYearPeriod and ToFiscalYearPeriod andConsolidationGroup = ConsolidationGroup
where PostingLevel = 22 (two-sided elimination entries) AND RecordType = 0, A, D or E
UNION ALL
2VR_S4HARM_VersionMapping
where RecordType = U OR (RecordType = 0 AND PostingLevel in ( '', '00', '01', '08', '0C', '0T', '10', '20', '30' )
Probably move to Propagation layer
Create as Graphical
For Group Journal Entry Items with two-sided elimination entries, the consolidation unit and partner consolidation unit need to be assessed along a given consolidation hierarchy on which node in the hierarchy they meet. Above this hierarchy node, the posting needs to be eliminated. Therefore, the posting gets assigned to an elimination member on this hierarchy node.
For all other Group Journal Entry Items, the elimination member information should be still available to allow showing all postings along one common hierarchy in a report. In this case the elimination member is just to be filled with the consolidation unit if the consolidation unit exists for the chosen consolidation unit hierarchy.
Only at this layer will we add additional datasets like plan and headcoun
Ensure we perform group by when aggregating......
| Type | Code | Tech Name | Root | Logic | Potential Changes |
|---|---|---|---|---|---|
| Headcount | |||||
| 2VR_ActPlnItm | ACDOCA/ PLAN | 2VF_S4HARM_GLAccountLineItem V1 union with the plan data | |||
| VF | 3VF_PFSemTag | ProfitLossSemanticTag | ACDOCA/ PLAN | Create parameters for FinStatemtVersion and Category Reduce dimensions (need to align to our needs) Add associations | |
| SemTag Leading Ledger | ACDOCA/ PLAN | Dead end | |||
| VR | 3VR_JEBalTS | JournalEntryBalanceTimeSeries | ACDOCA | Every month includes all postings belonging to this month and all postings from the past, and aggregates the data as cumulative balances Therefore, it excludes all postings with Fiscal Period ‘000’, which can be viewed as balance carry-forward items, which otherwise would lead to double counted values. | Convert SQL to graphical? |
| VR | 3VR_JESTTim3VR_JEBalSTTim | JournalEntryBalanceSemTagTimeSeries | ACDOCA | Every month includes all postings belonging to this month and all postings from the past, and aggregates the data as cumulative balances Therefore, it excludes all postings with Fiscal Period ‘000’, which can be viewed as balance carry-forward items, which otherwise would lead to double counted values. | Convert SQL to graphical? |
| VR | 3VR_JESTTim | JournalEntrySemTagTimeSeries | ACDOCA | Each month shows the changes or postings that occurred in this month. The values of the Financial Data Model Configuration (FinancialDataModelConfiguration) table are not fixed and can be changed by the user. If you define a G/L Account Hierarchy before joining with G/L Account with Semantic Tag (IL), you restrict the data from Journal Entry item Operational View to a single G/L Account Hierarchy by default. This is a requirement for Net Working Capital Time Series Consumption (NetWorkingCapitalTimeSeries). | Convert SQL to graphical? |
| VF | 3VF_Invent | InventoryTimeSeries | ACDOCA | Combines data from “Journal Entry Balance Time Series”, “Journal Entry Balance Semantic Tag Time Series” and “Journal Entry Semantic Tag Time Series”. Some semantic tag KPIs must include data from the past months, whereas others need to consider only the movements of the relevant months. Every branch introduces a calculated field UnionBranch which is included in some KPIs to check which type of data should be considered.
| |
| Cash Balances |
|
| |||
| VR | 3VR_CashTS | CashBalanceTimeSeries | CashA | Read from CashFlowActualItem, returns cash balance with bank account on End of MonthDate
| SQL to Graphic View? |
| TL | 3TL_CashBalT | TotalCashBalanceTimeSeriesTable | CashA | Dataflow aggregates an interim result from CashBalanceTimeSeries and persists the results for performance. This table is updated on an hourly basis. | |
| VF | 3VF_CashBalC | TotalCashBalanceTimeSeriesCube | CashA | Projection of TotalCashBalanceTimeSeriesTable adding associations | |
| VF | 3VF_CashWk | CashActualFlowByCalendarWeek | CashA | Read from CashLiquidityActualFlow
| SQL to Graphic View? Combine with lower layer? |
| VF | 3VF_CashFcst | CashForecastFlow | CashF | Read from CashLiquidityForecastFlow
| SQL to Graphic View? |
| VF | 3VF_CashFcstC | CashForecastBalanceFlow | CashF / CashA | Union Actual and Forecast adding associations
| will we have migrated history? |
| VR | 3VR_CashAW | CashActualFlowByCalendarWeek |
| Read from CashLiquidityActualFlow
| SQL to Graphic View? |
| VT | 3VT_CashACWT | CashActualFlowByCalendarWeekTable |
| Read from CashActualFlowByCalendarWeek and persist for performance?
| DF to Transformation Flow |
| VF | 3VF_CashACW | CashActualFlowByWeek |
| Reads from CashActualFlowByWeek adding Associations | |
| Net Working Capital |
|
| |||
| VR | 3VR_GLAccOps | JournalEntryItemOperationalView | ACDOCA/ BSEG | ACDOCA (GLAccountLineItemLeadingLedger) + BSEG (OperationalAcctgDocItem). 1:N This will add the 3 XREF fields | |
| VR | 3VR_OpsItemTS | JournalEntryOperationalViewTimeSeries | ACDOCA/ BSEG | Reads using SQL, JournalEntryItemOperationalView with inner join on TimeSeriesMonthlyValues to restrict to monthly balances Restricted to Debtors and Creditors and excludes Statistical Items Flag for items that are sales-related or not (IsSalesRelated indicator). Performs the currency role selection | SQL to Graphic View? |
| 3VR_NWCTSUn | NetWorkingCapitalBalanceTimeSeriesUnion | ACDOCA/ BSEG | Union of:
| SQL to Graphic View? | |
| 3TL_NWCTable | NetWorkingCapitalBalanceTimeSeriesTable | ACDOCA/ BSEG | A dataflow retrieves the data from “Net Working Capital Balance Time Series Union” and aggregates an interim result that is stored in the Net Working Capital Balance Time Series table. When you combine data from multiple areas, this may result in complex KPIs on top and may lead to serious performance issues, as live data from the inbound layer is processed to calculate the KPIs.
| Replace DF with Transformation Flow | |
| VF | 3VF_NWCCube | NetWorkingCapitalBalanceTimeSeriesCube | ACDOCA/ BSEG | Just a projection (removing Amount in Group Currency?) on NetWorkingCapitalBalanceTimeSeriesTable | Add Grp Curr? |
| Payables / Receivables |
|
| |||
| VR | 3VR_OpsItemPr | OperationalAcctDocItemProj | BSEG | Convert SQl to Graphical view (just restricting the fields read from OperationalAcctgDocItem) | SQL to Graphic View? |
| VR | 3VR_APItmBase | APARLineItemBase | ACDOCA/ BSEG | Read JournalEntryItemOperationalView Returns cleared vendor and customer items that are sales-related, for example, invoice and credit memo, and excludes the statistical items and items from recurring documents.
| SQL to Graphic View? |
| VR | 3VR_APARWR | APAROpenItemWRJ | ACDOCA/ BSEG | Reading from APARLineItemBase and restricting by joining on OperationalAcctDocItemProj to sales related, doc type <> V/P , Inv ref not Null Selects open items with an invoice reference (payments) When calculating arrears days for partial payment cases for base invoice items, the net due date of the reference item would be used instead of the net due date of the base item. | SQL to Graphic View? |
| VR | 3VR_APARNorj | APAROpenItemNORJ | ACDOCA/ BSEG | Reading from APARLineItemBase and restricting to doc type V/P, Inv ref is Null Selects open items with no invoice reference (partial payments). The net due date of the base item is retrieved for further calculation. | SQL to Graphic View? |
| VR | 3VR_APARUnion | APARLineItemUnion | ACDOCA/ BSEG | Links AP/AR Open Item with the Reference Join (APAROpenItemWRJ) view and the AP/AR Open Item no Reference Join (APAROpenItemNORJ) view, which retrieves dimensions and amounts fields for both direct payment and partial payment cases of open items for further calculation. | SQL to Graphic View? |
| VR | 3VR_APAROpen | APAROpenItem | Reading from APARLineItemUnion
| SQL to Graphic View? Please dont use OIDs Anymore. Product and CostCenter are exceptions right now. | |
| VF | 3VF_APAROpenC | APAROpenItemC | ACDOCA/ BSEG | Adding Associations | |
| Days Sales Outstanding |
|
| |||
| VF | 3VF_DSOBase | DaysSalesOutStdgDrctBase | ACDOCA/ BSEG | Reading from JournalEntryItemOperationalView
| SQL to Graphic View? prior year? |
| VR | 3VF_DSOAgg | DaysSalesOutStdgDrctLineItem | ACDOCA/ BSEG | Nested select from DaysSalesOutStdgDrctBase (for calculations before group by?)
Why is it called line item when aggregated? | SQL to Graphic View? |
| VR | 3VF_DSOTS | DaysSalesOutStdgDrctLineItemTmeSers | ACDOCA/ BSEG | Nested select from CalendarMonth with left outer join on DaysSalesOutStdgDrctLineItem To perform if before aggregation? | SQL to Graphic View? perform string on lower level? |
| VF | 3VF_DSOCube | DSODrctLineItem | ACDOCA/ BSEG | Add associations | |
| Days Payable Outstanding |
|
| |||
| VF | 3VF_DPOBase | DaysPyblOutStdgDrctBase | ACDOCA/ BSEG | Reading from JournalEntryItemOperationalView
| SQL to Graphic View? prior year? |
| VR | 3VF_DPOAgg | DaysPyblOutStdgDirect | ACDOCA/ BSEG | Nested select from DaysPyblOutStdgDrctBase (for calculations before group by?)
Why is it called line item when aggregated? | SQL to Graphic View? |
| VR | 3VF_DPOTS | DaysPyblOutStdgDrctLineItemTmeSers | ACDOCA/ BSEG | Nested select from CalendarMonth with left outer join on DaysPyblOutStdgDrctLineItem To perform if before aggregation? | SQL to Graphic View? perform string on lower level? |
| VF | 3VF_DPOCube | DPODrctLineItem | ACDOCA/ BSEG | Add associations | |
| On Time Payments |
|
| |||
| VR | 3VR_OTPBase | OnTimePaymentRateBase | ACDOCA/ BSEG | Reading from JournalEntryItemOperationalView, returns cleared vendor items
| SQL to Graphic View? Time range as 2 years |
| VR | 3VR_OTPAgg | OnTimePaymentRateSum | ACDOCA/ BSEG | Nested select from OnTimePaymentRateBase (for calculations before group by?)
| SQL to Graphic View? |
| VF | 3VF_OTPCube | OnTimePaymentRate | ACDOCA/ BSEG | Add associations | |
| Cash Discounts |
|
| |||
| VR | 3VR_DiscBase | APCshDiscRealizedBase | ACDOCA/ BSEG | Reading from OperationalAcctgDocItem
| SQL to Graphic View? |
| VR | 3VR_DiscCnv | APCshDiscRealizedConvert | ACDOCA/ BSEG | Reading from APCshDiscRealizedBase, returns cleared vendor items
| SQL to Graphic View? |
| VR | 3VR_DiscAgg | APCshDiscRealized | ACDOCA/ BSEG | Nested select from APCshDiscRealizedConvert (for calculations before group by?)
| SQL to Graphic View? |
| VF | 3VF_DiscCube | APCshDiscRealizedC | ACDOCA/ BSEG | Add associations | |
| Assets | Read from Acdoca/Bseg
|
| Type | Code | Tech Name | Logic | Functional Spec |
|---|---|---|---|---|
| MA | 4MA_PL_SemTag | 4MA_R2RGLR_SemanticTags | ProfitLossSemanticTagKPIs Currency handling: select single based on role Quantity Conversion: Measures: 19 restricted by Semantic tags and simple calculations Variables: FinStatemtVersion, Category, Date | 1564 682 |
| MA | 4MA_Invent | InventoryTimeSeries | Provides a balance and movements for the entire TB (not sure why called inventory) - includes semantic tags Dimensions: a limited set - will have to review if adequate Currency handling: select single based on role Quantity Conversion: Measures: 19 restricted by Semantic tags and simple calculations Variables: FinStatemtVersion, Category, Date | |
| MA | 4MA_NWC | NetWorkingCapitalTimeSeries | Read from NetWorkingCapitalBalanceTimeSeriesCube. The goal is to be able to calculate moving averages for specific KPI’s It combines data from different areas such as Cash, Accounts Receivables, Accounts Payables, and Inventory. When you combine data from multiple areas, this may result in complex KPIs on top and may lead to serious performance issues, as live data from the inbound layer is processed to calculate the KPIs. To prevent this, an interim result is stored and updated hourly via the Net Working Capital Persist Task Chain task chain | |
| MA | 4MA_ARAP | ARAPOpenItem | It provides overdue payables/receivables, future payables/receivables, and total payables/receivables in the point of Key Date. This analytical model distinguishes open items to overdue and future items by the comparison of posting date and net due date of open invoice items. | |
| MA | 4MA_DSO | DSODrctLineItem | It provides per calendar month the measures DSO, Best Possible DSO and the DSO 12 months before. Days Sales Outstanding (DSO) is to measure the time elapsed between the completion of a sale and the collection of the revenue, that is, the time taken to process accounts receivable items. This analytical model calculates DSO according to the direct calculation method. The direct calculation method is based on original documents. The period of time between posting an invoice (posting date) and receiving the payment for the invoice (clearing date) is calculated for the relevant document line item to provide accurate results. | |
| MA | 4MA_DPO | DPODrctLineItem | This model provides measures DPO and corresponding DPO 12 months before according to the direct calculation method. Direct Days Payables Outstanding (DPO) is calculated based on the period of time between posting an invoice (posting date) and actual paying for the invoice (clearing date) along with the invoice amount. | |
| MA | 4MA_CashBal | CashBalanceTimeSeries | Provides cash balance with bank account on End of MonthDate. The cash balance amount is represented by two currencies, that is, Company Code Currency and Global Currency. Cash Balance also contains the transaction currency amount and bank information, as it can be drilled down by Transaction Currency and bank dimension. Reconcile to I_CashFlowCube | more dmensions? |
| MA | 4MA_CashFrcst | CashForecastBalncFlw | Consumption View for Forecast Cash Balance & Flow | |
| MA | 4MA_CashWeek | CashActualFlowByWeek | Reads from view of the same name CashActualFlowByWeek | |
| MA | 4MA_DiscAP | APCashDiscount | This model provides measures realized discount, lost discount, discounted spend, and discount realization rate, which is calculated based on the discount-related fields on invoice line items along with the invoice amount. | |
| MA | 4MA_OnTime | OnTimePaymentRate | This model provides measures on-time payment rate from year to Key Date and its comparison rate of the whole last calendar year based on the date comparison between actual paying for the invoice (clearing date) and proposed payment date for the invoice (net due date) along with the invoice number count. | |
| MA | Assets | This will either be Acdoca or Acdoca/Bseg base with depreciation areas and fixed asset master data Logic to emulate I_AssetDepreciationBalanceCube with less parameters | 293 | |
| MA | 4MA_Ins | Insurance | Corporate Insurance Management is a process managed by a central global insurance team which relies on data provided by each site with ongoing business operations for obtaining quotations of annual insurance premiums from third-party insurance providers for the subsequent premium cycle. Various forward-looking financial data need to be provided to the corporate insurance team by each site in annual intervals.
| 1321 |
| MA | 4MA_Rest | Restructuring | SAC Planning model integrated with ProfitLossSemanticTag
| 1320 |
| MA | 4MA_HSE | HSE | SAC Planning model integrated with ProfitLossSemanticTag
| 1320 |
| MA | 4MP_SKF | SKF | SKF will be calculated in SAC and retracted to both S/4 systems based on company code. | 1843 |
| MA | 4MP_Tax | Tax | Ability to plan for tax and post results into S/4 as journal entries |
Supports:
Includes technical details for:
| Report Field Description | SAP Table-Field Name / process | Comments / Calculation / Formula / Restriction dimensions and values | Aggregation of data | Example SAP field data |
|---|---|---|---|---|
Inverted amount | Amount In Global Currency * -1 | Calculated | ||
Amortization of Intangible Asset | Inverted amount when Semantic Tag = 'AMORINASST' | Restricted | ||
COGS | Inverted amount when Semantic Tag = 'RECO_COS' | Restricted | ||
Depreciation of Tangible Assets | Inverted amount when Semantic Tag = 'DPRTASSET' | Restricted | ||
Gross Revenue | Inverted amount when Semantic Tag = 'GROSS_REV' | Restricted | ||
Income Tax | Inverted amount when Semantic Tag = 'INCOMETAX' | Restricted | ||
Net Income | Inverted amount when Semantic Tag = 'PL_RESULT' | Restricted | ||
Net Revenue | Inverted amount when Semantic Tag = 'RECO_REV' | Restricted | ||
Employee Expense | Amount in Global Currency when Semantic Tag = 'EMPLEXP' | Restricted | ||
Operating Expense | Inverted amount when Semantic Tag = 'OPEREXP' | Restricted | ||
Recognized Revenue | Inverted amount when Semantic Tag = 'RECO_REV' | Restricted | ||
Gross Profit | Recognized Revenue + COGS | Calculated | ||
Gross Margin | (Gross Profit / Recognized Revenue) * 100 | Calculated | ||
Total Operating Expense | COGS + Operating Expense | Calculated | ||
Operating Profit | Recognized Revenue + Total Operating Expense | Calculated |
tbd
tbd
| Field | Required/Optional | Scope | Default | Comment |
| Periods (Weeks / Months / Quarters) | Optional | Interval (Date or Fiscal Period) | Default = last xxxxx | Applied using CreationDate or CreationDateTime |
Supports:
| Report Field Description | SAP Table-Field Name / process | Comments / Calculation / Formula / Restriction dimensions and values | Aggregation of data | Example SAP field data |
|---|---|---|---|---|
Amount in Currency Role Currency (AmountInCurrencyRoleCurrency) | Source measure for every measure described here. This measure distinguishes between Amount in Global Currency and Amount in Company Code Currency. | |||
Capital Employed (CapitalEmployed) | TotalAssets-CurrentLiabilities | |||
Cash Asset Ratio (CashAssetRatio) | Liquidity/CurrentLiabilities based on semantic tag 'CSH_CSHEQV' and 'CURLIABEQU'. | |||
Cash Asset Ratio Last (CashAssetRatioLast) | CashAssetRatio with exception aggregation LAST | |||
Cost Of Sales (CostOfSalesAmount) | Shows SemanticTag = 'RECO_COS' assigned movements within a month. UnionBranch = ‘SEMTAG’. | |||
Current Liabilities – LAST (CurrentLiabilities) | Displays SemanticTag = 'CURLIABEQU' assigned balances cumulated on month level with exception aggregation LAST. UnionBranch = ‘SEMTAGBAL’. | |||
EBIT (EBIT) | NetIncomeAmount-(IncomeTax+Interest) | |||
Income Tax (IncomeTax) | Displays SemanticTag = 'INCOMETAX' assigned movements within a month. UnionBranch = ‘SEMTAG’. | |||
Interest (Interest) | Displays SemanticTag = 'INTEREST' assigned movements within a month. UnionBranch = ‘SEMTAG’. | |||
Liquidity – LAST (Liquidity) | Displays SemanticTag = 'CSH_CSHEQV' assigned balances cumulated on month level with exception aggregation LAST. UnionBranch = ‘SEMTAGBAL’. | |||
Marketable Securities – LAST (MarketableSecuritiesAmount) | Displays SemanticTag = 'MARK_SEC' assigned balances cumulated on month level with exception aggregation LAST. UnionBranch = ‘SEMTAGBAL’. | |||
Net Income (NetIncomeAmount) | Displays SemanticTag = 'PL_RESULT' assigned movements within a month. UnionBranch = ‘SEMTAG’. | |||
Number Of Days In Month (NumberOfDaysInMonth) | Displays the number of days of every month based on Time Series Date that provides the end date of a month. | |||
Numbers Of Days In Month Max (NumbersOfDaysInMonthMax) | MAximum Number of Days In Month to provide the number of days of the selected time range. | |||
Quick Ratio (QuickRatio) | TotalLiquidityLast/CurrentLiabilities | |||
ROCE (ROCE) | Refers to a financial ratio that assesses the profitability and capital efficiency of a company by dividing EBIT by Capital Employed. Capital Employed = Total Assets - Current Liabilities, which are based on Semantic Tag 'ASSET' and 'CURLIABEQU'. Formula: EBIT/CapitalEmployed | |||
ROCE Last (ROCELast) | LAST of ROCE | |||
Total Assets – LAST (TotalAssets) | Shows SemanticTag = 'ASSET' assigned balances cumulated on a monthly basis with exception aggregation LAST. UnionBranch = ‘SEMTAGBAL’. | |||
Total Inventory (TotalInventory) | Displays data assigned with TransactionTypeDetermination = 'BSX' cumulated on a monthly basis. UnionBranch = ‘BALANCE’. | |||
Total Inventory Average (TotalInventoryAverage) | Average of Total Inventory based on Time Series Date that provides the end date of a month. | |||
Total Liquidity (TotalLiquidity) | Displays your Total Liquidity based on 'Cash and Cash Equivalence' (Semantic Tag 'CSH_CSHEQV'), 'Marketable Securities' (Semantic Tag 'MARK_SEC'), and 'Accounts Receivables'. Accounts Receivables includes all open invoices up to the current month (Financial Account Type = 'D' and isOpen = 'X'). Formula: SemanticTag = 'CSH_CSHEQV' or ( SemanticTag = 'ACCREC2') or SemanticTag = 'MARK_SEC'. | |||
Total Liquidity Last (TotalLiquidityLast) | Displays Total Liquidity balances cumulated on a monthly basis with exception aggregation LAST. |
Supports:
Includes technical details for:
| Report Field Description | SAP Table-Field Name / process | Comments / Calculation / Formula / Restriction dimensions and values | Aggregation of data | Example SAP field data |
|---|---|---|---|---|
| Amount | Currency derived using currency roles | SUM | 1 |
Supports:
Includes technical details for:
| Report Field Description | SAP Table-Field Name / process | Comments / Calculation / Formula / Restriction dimensions and values | Aggregation of data | Example SAP field data |
|---|---|---|---|---|
| Discount realisation rate |
| SUM | 1 | |
| On time payment rate | OntimeInvoiceNumber / InvoiceNumber | |||
| Overdue payment rate | OverDueInvoiceNumber / InvoiceNumber |
Supports:
Includes technical details for:
| Report Field Description | SAP Table-Field Name / process | Comments / Calculation / Formula / Restriction dimensions and values | Aggregation of data | Example SAP field data |
| SUM | 1 |
Supports:
Includes technical details for:
Dimensions & Measures are defined in the Functional Specification under “Dimensions & Measures: Requirements View”; the analytical model exposes those fields at notification grain without pre-aggregation.
Dimensions (significant only)
Assume that Semantic Tags cannot be used
Attribute for discontinued ops?
| Dimension | Design | Variable | Parameter |
|---|---|---|---|
| Consol COA | Mandtory | ||
| Consol Group | Mandtory | ||
| Version | Mandtory | ||
| FYPeriod | Mandtory | ||
| PrfctHier | Mandtory | ||
| SegmentHier | Mandtory | ||
| UnitHier | Mandtory | ||
| Key date | Mandtory | ||
| Ref Date | Mandtory | ||
| Seg for Elim | 0 | ||
| Segment | 1 | ||
| Proft Centre elim | 2 | ||
| Profit Centre | 3 | ||
| Consol Unit | 4 | ||
| FinStatItem | 5 | ||
| Doc Type | 6 | ||
| SubItem | 7 | ||
| Elim Member | 8 | ||
| Supplier | 9 | ||
| Cost Centre | 10 | ||
| Cont Area | 11 |
Missing: Asset
Consider using a structure for Current and Prior, movement(variance)
| Report Field Description | SAP Table-Field Name / process | Comments / Calculation / Formula / Restriction dimensions and values | Aggregation of data | Example SAP field data |
Transaction Amount | SUM | |||
Company Amount | SUM | |||
Group Amount | SUM | |||
Quantity | SUM |