I_FinancialStatementCube
Virtual Financial Statement Cube
I_FinancialStatementCube is a Composite CDS View (Cube) that provides data about "Virtual Financial Statement Cube" in SAP S/4HANA. It reads from 1 data source (I_GLAccountLineItem) and exposes 53 fields with key fields Ledger, SourceLedger, CompanyCode, FiscalYear, AccountingDocument. It has 8 associations to related views.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| I_GLAccountLineItem | I_GLAccountLineItem | from |
Parameters (11)
| Name | Type | Default |
|---|---|---|
| P_FinancialStatementVersion | hryid | |
| P_FromFiscalPeriod | fis_period_from | |
| P_ToFiscalPeriod | fis_period_to | |
| P_FiscalYear | fis_gjahr_no_conv | |
| P_FromComparisonFiscalPeriod | fis_period_from_cmp | |
| P_ToComparisonFiscalPeriod | fis_period_to_cmp | |
| P_ComparisonFiscalYear | fis_gjahr_cmp_no_conv | |
| P_Ledger | fins_ledger | |
| P_ComparisonLedger | fis_ledger_cmp | |
| P_CurrencyRole | fis_curtp | |
| P_PlanningCategory | fcom_category |
Associations (8)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1..1] | E_JournalEntryItem | _Extension | $projection.SourceLedger = _Extension.SourceLedger and $projection.CompanyCode = _Extension.CompanyCode and $projection.FiscalYear = _Extension.FiscalYear and $projection.AccountingDocument = _Extension.AccountingDocument and $projection.LedgerGLLineItem = _Extension.LedgerGLLineItem |
| [0..1] | I_FinancialStatementLeafItem | _FinancialStatementLeafItem | $projection.FinancialStatementLeafItem = _FinancialStatementLeafItem.FinancialStatementLeafItem |
| [1..1] | I_Currency | _Currency | $projection.Currency = _Currency.Currency |
| [0..1] | I_ChartOfAccounts | _CorpGroupChartOfAccounts | $projection.corporategroupchartofaccounts = _CorpGroupChartOfAccounts.ChartOfAccounts |
| [0..1] | I_GLAccountInChartOfAccounts | _CorporateGroupAccount | $projection.corporategroupchartofaccounts = _CorporateGroupAccount.ChartOfAccounts and $projection.CorporateGroupAccount = _CorporateGroupAccount.GLAccount |
| [0..1] | I_AlternativeGLAccountIsUsed | _AlternativeGLAccountIsUsed | $projection.AlternativeGLAccountIsUsed = _AlternativeGLAccountIsUsed.AlternativeGLAccountIsUsed |
| [0..1] | I_Indicator | _ZeroBalanceAccountIsDisplayed | $projection.ZeroBalanceAccountIsDisplayed = _ZeroBalanceAccountIsDisplayed.IndicatorValue |
| [0..1] | I_Indicator | _YrEndClsgPostingIsDisplayed | $projection.YrEndClsgPostingIsDisplayed = _YrEndClsgPostingIsDisplayed.IndicatorValue |
Annotations (16)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | IFIFINSTMTCUBE | view | |
| EndUserText.label | Virtual Financial Statement Cube | view | |
| Analytics.dataCategory | #CUBE | view | |
| Analytics.dataExtraction.enabled | true | view | |
| VDM.viewType | #COMPOSITE | view | |
| AccessControl.authorizationCheck | #PRIVILEGED_ONLY | view | |
| AccessControl.personalData.blocking | #BLOCKED_DATA_EXCLUDED | view | |
| ObjectModel.representativeKey | LedgerGLLineItem | view | |
| ObjectModel.usageType.sizeCategory | #XXL | view | |
| ObjectModel.usageType.dataClass | #MIXED | view | |
| ObjectModel.usageType.serviceQuality | #D | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| AbapCatalog.buffering.status | #NOT_ALLOWED | view | |
| Metadata.ignorePropagatedAnnotations | true | view | |
| Metadata.allowExtensions | true | view | |
| Analytics.readClassName | CL_FIS_FINS_STMNT_CDS | view |
Fields (53)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | Ledger | Ledger | ||
| _Ledger | _Ledger | |||
| KEY | SourceLedger | SourceLedger | ||
| _SourceLedger | _SourceLedger | |||
| KEY | CompanyCode | CompanyCode | ||
| _CompanyCode | _CompanyCode | |||
| KEY | FiscalYear | |||
| _FiscalYear | _FiscalYear | |||
| KEY | AccountingDocument | AccountingDocument | ||
| _JournalEntry | _JournalEntry | |||
| KEY | LedgerGLLineItem | LedgerGLLineItem | ||
| LedgerFiscalYear | LedgerFiscalYear | |||
| _LedgerFiscalYear | _LedgerFiscalYear | |||
| ControllingArea | ControllingArea | |||
| _ControllingArea | _ControllingArea | |||
| ChartOfAccounts | ChartOfAccounts | |||
| _ChartOfAccounts | _ChartOfAccounts | |||
| GLAccount | GLAccount | |||
| _GLAccountInChartOfAccounts | _GLAccountInChartOfAccounts | |||
| FinancialStatementLeafItem | Financial Statement Leaf Item | |||
| _FinancialStatementLeafItem | _FinancialStatementLeafItem | |||
| ProfitCenter | ProfitCenter | |||
| _ProfitCenter | _ProfitCenter | |||
| FunctionalArea | FunctionalArea | |||
| _FunctionalArea | _FunctionalArea | |||
| FiscalPeriod | FiscalPeriod | |||
| _FiscalPeriod | _FiscalPeriod | |||
| FiscalYearVariant | FiscalYearVariant | |||
| _FiscalYearVariant | _FiscalYearVariant | |||
| AlternativeGLAccount | AlternativeGLAccount | |||
| _AlternativeGLAccount | _AlternativeGLAccount | |||
| CountryChartOfAccounts | CountryChartOfAccounts | |||
| _CountryChartOfAccounts | _CountryChartOfAccounts | |||
| Segment | Segment | |||
| _Segment | _Segment | |||
| CorporateGroupAccount | _GLAccountInChartOfAccounts | CorporateGroupAccount | ||
| _CorporateGroupAccount | _CorporateGroupAccount | |||
| CorporateGroupChartOfAccounts | _ChartOfAccounts | CorporateGroupChartOfAccounts | ||
| _CorpGroupChartOfAccounts | _CorpGroupChartOfAccounts | |||
| AlternativeGLAccountIsUsed | ||||
| _AlternativeGLAccountIsUsed | _AlternativeGLAccountIsUsed | |||
| Currency | ||||
| _Currency | _Currency | |||
| PeriodBalanceAmount | ||||
| ComparisonPeriodBalanceAmount | ||||
| GLAccountHierarchyKeyDate | ||||
| ZeroBalanceAccountIsDisplayed | ||||
| _ZeroBalanceAccountIsDisplayed | _ZeroBalanceAccountIsDisplayed | |||
| YrEndClsgPostingIsDisplayed | ||||
| _YrEndClsgPostingIsDisplayed | _YrEndClsgPostingIsDisplayed | |||
| GLRecordType | GLRecordType | |||
| BusinessTransactionCategory | BusinessTransactionCategory | |||
| _BusinessTransactionCategory | _BusinessTransactionCategory |
@AbapCatalog.sqlViewName: 'IFIFINSTMTCUBE'
@EndUserText.label: 'Virtual Financial Statement Cube'
@Analytics: { dataCategory: #CUBE, dataExtraction.enabled: true }
@VDM.viewType: #COMPOSITE
@AccessControl.authorizationCheck: #PRIVILEGED_ONLY
@AccessControl.personalData.blocking:#BLOCKED_DATA_EXCLUDED
@ObjectModel.representativeKey: 'LedgerGLLineItem'
@ObjectModel.usageType.sizeCategory: #XXL
@ObjectModel.usageType.dataClass: #MIXED
@ObjectModel.usageType.serviceQuality: #D
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog.buffering.status: #NOT_ALLOWED
@Metadata.ignorePropagatedAnnotations: true
@Metadata.allowExtensions:true
@Analytics.readClassName: 'CL_FIS_FINS_STMNT_CDS'
define view I_FinancialStatementCube
with parameters
P_FinancialStatementVersion : hryid,
P_FromFiscalPeriod : fis_period_from,
P_ToFiscalPeriod : fis_period_to,
P_FiscalYear : fis_gjahr_no_conv,
P_FromComparisonFiscalPeriod : fis_period_from_cmp,
P_ToComparisonFiscalPeriod : fis_period_to_cmp,
P_ComparisonFiscalYear : fis_gjahr_cmp_no_conv,
P_Ledger : fins_ledger,
P_ComparisonLedger : fis_ledger_cmp,
P_CurrencyRole : fis_curtp,
P_PlanningCategory : fcom_category
as select from I_GLAccountLineItem as I_GLAccountLineItem
association [1..1] to E_JournalEntryItem as _Extension on $projection.SourceLedger = _Extension.SourceLedger
and $projection.CompanyCode = _Extension.CompanyCode
and $projection.FiscalYear = _Extension.FiscalYear
and $projection.AccountingDocument = _Extension.AccountingDocument
and $projection.LedgerGLLineItem = _Extension.LedgerGLLineItem
association [0..1] to I_FinancialStatementLeafItem as _FinancialStatementLeafItem on $projection.FinancialStatementLeafItem = _FinancialStatementLeafItem.FinancialStatementLeafItem
association [1..1] to I_Currency as _Currency on $projection.Currency = _Currency.Currency
association [0..1] to I_ChartOfAccounts as _CorpGroupChartOfAccounts on $projection.corporategroupchartofaccounts = _CorpGroupChartOfAccounts.ChartOfAccounts
association [0..1] to I_GLAccountInChartOfAccounts as _CorporateGroupAccount on $projection.corporategroupchartofaccounts = _CorporateGroupAccount.ChartOfAccounts
and $projection.CorporateGroupAccount = _CorporateGroupAccount.GLAccount
association [0..1] to I_AlternativeGLAccountIsUsed as _AlternativeGLAccountIsUsed on $projection.AlternativeGLAccountIsUsed = _AlternativeGLAccountIsUsed.AlternativeGLAccountIsUsed
association [0..1] to I_Indicator as _ZeroBalanceAccountIsDisplayed on $projection.ZeroBalanceAccountIsDisplayed = _ZeroBalanceAccountIsDisplayed.IndicatorValue
association [0..1] to I_Indicator as _YrEndClsgPostingIsDisplayed on $projection.YrEndClsgPostingIsDisplayed = _YrEndClsgPostingIsDisplayed.IndicatorValue
{
@ObjectModel.foreignKey.association: '_Ledger'
key Ledger,
_Ledger,
@ObjectModel.foreignKey.association: '_SourceLedger'
key SourceLedger,
_SourceLedger,
@ObjectModel.foreignKey.association: '_CompanyCode'
key CompanyCode,
_CompanyCode,
@ObjectModel.foreignKey.association: '_FiscalYear'
key cast( FiscalYear as fis_gjahr_no_conv preserving type ) as FiscalYear,
_FiscalYear,
@ObjectModel.foreignKey.association: '_JournalEntry'
key AccountingDocument,
_JournalEntry,
key LedgerGLLineItem,
@ObjectModel.foreignKey.association: '_LedgerFiscalYear'
@Semantics.fiscal.year: true
LedgerFiscalYear,
_LedgerFiscalYear,
@ObjectModel.foreignKey.association: '_ControllingArea'
ControllingArea,
_ControllingArea,
@ObjectModel.foreignKey.association: '_ChartOfAccounts'
ChartOfAccounts,
_ChartOfAccounts,
@ObjectModel.foreignKey.association: '_GLAccountInChartOfAccounts'
GLAccount,
_GLAccountInChartOfAccounts,
@ObjectModel.foreignKey.association:'_FinancialStatementLeafItem'
@EndUserText.label: 'Financial Statement Leaf Item'
cast(concat(ChartOfAccounts,concat(lpad(GLAccount,12,'0'),' A')) as fins_fsleaf) as FinancialStatementLeafItem,
@ObjectModel.association.boundFields.dataMatchesSourceAndTargetTypes: true
_FinancialStatementLeafItem,
@ObjectModel.foreignKey.association: '_ProfitCenter'
ProfitCenter,
_ProfitCenter,
@ObjectModel.foreignKey.association: '_FunctionalArea'
FunctionalArea,
_FunctionalArea,
@ObjectModel.foreignKey.association: '_FiscalPeriod'
@Semantics.fiscal.period: true
FiscalPeriod,
_FiscalPeriod,
@ObjectModel.foreignKey.association: '_FiscalYearVariant'
@Semantics.fiscal.yearVariant: true
FiscalYearVariant,
_FiscalYearVariant,
@ObjectModel.foreignKey.association: '_AlternativeGLAccount'
AlternativeGLAccount,
_AlternativeGLAccount,
@ObjectModel.foreignKey.association: '_CountryChartOfAccounts'
CountryChartOfAccounts,
_CountryChartOfAccounts,
@ObjectModel.foreignKey.association: '_Segment'
Segment,
_Segment,
@ObjectModel.foreignKey.association: '_CorporateGroupAccount'
_GLAccountInChartOfAccounts.CorporateGroupAccount as CorporateGroupAccount,
_CorporateGroupAccount,
@ObjectModel.foreignKey.association: '_CorpGroupChartOfAccounts'
_ChartOfAccounts.CorporateGroupChartOfAccounts,
_CorpGroupChartOfAccounts,
@ObjectModel.foreignKey.association: '_AlternativeGLAccountIsUsed'
cast (' ' as fis_disalteracct) as AlternativeGLAccountIsUsed,
_AlternativeGLAccountIsUsed,
///////////////////////////////////////////////////////////////////////////////
// Currency and Amount Fields
///////////////////////////////////////////////////////////////////////////////
@Semantics.currencyCode: true
@ObjectModel.foreignKey.association: '_Currency'
cast (CompanyCodeCurrency as fis_waers) as Currency,
_Currency,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'Currency'} }
cast( 1 as fis_repo_amount ) as PeriodBalanceAmount,
@DefaultAggregation: #SUM
@Semantics: { amount : {currencyCode: 'Currency'} }
cast( 1 as fis_comp_amount ) as ComparisonPeriodBalanceAmount,
cast( '00000000' as fis_glaccthier_keydate ) as GLAccountHierarchyKeyDate,
@ObjectModel.foreignKey.association: '_ZeroBalanceAccountIsDisplayed'
cast( ' ' as fis_zerobalance) as ZeroBalanceAccountIsDisplayed,
_ZeroBalanceAccountIsDisplayed,
@ObjectModel.foreignKey.association: '_YrEndClsgPostingIsDisplayed'
cast( ' ' as fis_inclyearendpostings ) as YrEndClsgPostingIsDisplayed,
_YrEndClsgPostingIsDisplayed,
GLRecordType,
@ObjectModel.foreignKey.association: '_BusinessTransactionCategory'
BusinessTransactionCategory,
_BusinessTransactionCategory
//_Extension Extensions must be local
}
///////////////////////////////////////////////////////////////////////////////
// This is a virtual cube and serves only as metadata for the OLAP Engine.
// A SQL request shall never return any data.
where
Ledger = ''
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_CHARTOFACCOUNTS",
"I_GLACCOUNTINCHARTOFACCOUNTS",
"I_GLACCOUNTLINEITEM"
],
"ASSOCIATED":
[
"E_JOURNALENTRYITEM",
"I_ALTERNATIVEGLACCOUNTISUSED",
"I_BUSINESSTRANSACTIONCATEGORY",
"I_CHARTOFACCOUNTS",
"I_COMPANYCODE",
"I_CONTROLLINGAREA",
"I_CURRENCY",
"I_FINANCIALSTATEMENTLEAFITEM",
"I_FISCALYEARFORCOMPANYCODE",
"I_FISCALYEARPERIODFORCMPNYCODE",
"I_FISCALYEARVARIANT",
"I_FUNCTIONALAREA",
"I_GLACCOUNTINCHARTOFACCOUNTS",
"I_INDICATOR",
"I_JOURNALENTRY",
"I_LEDGER",
"I_PROFITCENTER",
"I_SEGMENT"
],
"BASE":
[
"I_GLACCOUNTLINEITEM"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA