I_FinancialStatementCube

DDL: I_FINANCIALSTATEMENTCUBE Type: view_entity COMPOSITE Package: FINS_FIS_GL

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 7 associations to related views. Part of development package FINS_FIS_GL.

Data Sources (1)

SourceAliasJoin Type
I_GLAccountLineItem I_GLAccountLineItem from

Parameters (11)

NameTypeDefault
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 (7)

CardinalityTargetAliasCondition
[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)

NameValueLevelField
AbapCatalog.entityBuffer.definitionAllowed false view
EndUserText.label Virtual Financial Statement Cube view
Analytics.dataCategory #CUBE view
Analytics.dataExtraction.enabled true view
Analytics.technicalName IFIFINSTMTCUBE 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
Metadata.ignorePropagatedAnnotations true view
Metadata.allowExtensions true view
Environment.sql.passValueForClient true view
Analytics.readClassName CL_FIS_FINS_STMNT_CDS view

Fields (53)

KeyFieldSource TableSource FieldDescription
KEY Ledger I_GLAccountLineItem Ledger
_Ledger I_GLAccountLineItem _Ledger
KEY SourceLedger I_GLAccountLineItem SourceLedger
_SourceLedger I_GLAccountLineItem _SourceLedger
KEY CompanyCode I_GLAccountLineItem CompanyCode
_CompanyCode I_GLAccountLineItem _CompanyCode
KEY FiscalYear
_FiscalYear I_GLAccountLineItem _FiscalYear
KEY AccountingDocument I_GLAccountLineItem AccountingDocument
_JournalEntry I_GLAccountLineItem _JournalEntry
KEY LedgerGLLineItem I_GLAccountLineItem LedgerGLLineItem
LedgerFiscalYear I_GLAccountLineItem LedgerFiscalYear
_LedgerFiscalYear I_GLAccountLineItem _LedgerFiscalYear
ControllingArea I_GLAccountLineItem ControllingArea
_ControllingArea I_GLAccountLineItem _ControllingArea
ChartOfAccounts I_GLAccountLineItem ChartOfAccounts
_ChartOfAccounts I_GLAccountLineItem _ChartOfAccounts
GLAccount I_GLAccountLineItem GLAccount
_GLAccountInChartOfAccounts I_GLAccountLineItem _GLAccountInChartOfAccounts
FinancialStatementLeafItem Financial Statement Leaf Item
_FinancialStatementLeafItem _FinancialStatementLeafItem
ProfitCenter I_GLAccountLineItem ProfitCenter
_ProfitCenter I_GLAccountLineItem _ProfitCenter
FunctionalArea I_GLAccountLineItem FunctionalArea
_FunctionalArea I_GLAccountLineItem _FunctionalArea
FiscalPeriod I_GLAccountLineItem FiscalPeriod
_FiscalPeriod I_GLAccountLineItem _FiscalPeriod
FiscalYearVariant I_GLAccountLineItem FiscalYearVariant
_FiscalYearVariant I_GLAccountLineItem _FiscalYearVariant
AlternativeGLAccount I_GLAccountLineItem AlternativeGLAccount
_AlternativeGLAccount I_GLAccountLineItem _AlternativeGLAccount
CountryChartOfAccounts I_GLAccountLineItem CountryChartOfAccounts
_CountryChartOfAccounts I_GLAccountLineItem _CountryChartOfAccounts
Segment I_GLAccountLineItem Segment
_Segment I_GLAccountLineItem _Segment
CorporateGroupAccount
_CorporateGroupAccount _CorporateGroupAccount
CorporateGroupChartOfAccounts
_CorpGroupChartOfAccounts _CorpGroupChartOfAccounts
AlternativeGLAccountIsUsed
_AlternativeGLAccountIsUsed _AlternativeGLAccountIsUsed
Currency
_Currency _Currency
PeriodBalanceAmount
ComparisonPeriodBalanceAmount
GLAccountHierarchyKeyDate
ZeroBalanceAccountIsDisplayed
_ZeroBalanceAccountIsDisplayed _ZeroBalanceAccountIsDisplayed
YrEndClsgPostingIsDisplayed
_YrEndClsgPostingIsDisplayed _YrEndClsgPostingIsDisplayed
GLRecordType I_GLAccountLineItem GLRecordType
BusinessTransactionCategory I_GLAccountLineItem BusinessTransactionCategory
_BusinessTransactionCategory I_GLAccountLineItem _BusinessTransactionCategory
 @AbapCatalog.entityBuffer.definitionAllowed: false
 @EndUserText.label: 'Virtual Financial Statement Cube'
@Analytics: { dataCategory: #CUBE, dataExtraction.enabled: true }
@Analytics.technicalName: 'IFIFINSTMTCUBE'
@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
@Metadata.ignorePropagatedAnnotations: true
@Metadata.allowExtensions:true
@Environment.sql.passValueForClient: true
@Analytics.readClassName: 'CL_FIS_FINS_STMNT_CDS'

define view entity 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 of exact one to exact one 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 I_GLAccountLineItem.Ledger,
      I_GLAccountLineItem._Ledger,
      @ObjectModel.foreignKey.association: '_SourceLedger'
  key I_GLAccountLineItem.SourceLedger,
      I_GLAccountLineItem._SourceLedger,
      @ObjectModel.foreignKey.association: '_CompanyCode'
  key I_GLAccountLineItem.CompanyCode,
      I_GLAccountLineItem._CompanyCode,
      @ObjectModel.foreignKey.association: '_FiscalYear'
  key cast( I_GLAccountLineItem.FiscalYear as fis_gjahr_no_conv preserving type ) as FiscalYear,
      I_GLAccountLineItem._FiscalYear,
      @ObjectModel.foreignKey.association: '_JournalEntry'
  key I_GLAccountLineItem.AccountingDocument,
      I_GLAccountLineItem._JournalEntry,
  key I_GLAccountLineItem.LedgerGLLineItem,
      @ObjectModel.foreignKey.association: '_LedgerFiscalYear'
      @Semantics.fiscal.year: true
      I_GLAccountLineItem.LedgerFiscalYear,
      I_GLAccountLineItem._LedgerFiscalYear,
      @ObjectModel.foreignKey.association: '_ControllingArea'
      I_GLAccountLineItem.ControllingArea,
      I_GLAccountLineItem._ControllingArea,
      @ObjectModel.foreignKey.association: '_ChartOfAccounts'
      I_GLAccountLineItem.ChartOfAccounts,
      I_GLAccountLineItem._ChartOfAccounts,

      @ObjectModel.foreignKey.association: '_GLAccountInChartOfAccounts'
      I_GLAccountLineItem.GLAccount,
      I_GLAccountLineItem._GLAccountInChartOfAccounts,
      @ObjectModel.foreignKey.association:'_FinancialStatementLeafItem'
      @EndUserText.label: 'Financial Statement Leaf Item'
      cast(concat(I_GLAccountLineItem.ChartOfAccounts,concat(lpad(GLAccount,12,'0'),' A')) as fins_fsleaf preserving type )               as FinancialStatementLeafItem,
      @ObjectModel.association.boundFields.dataMatchesSourceAndTargetTypes: true      
      _FinancialStatementLeafItem,
      @ObjectModel.foreignKey.association: '_ProfitCenter'
      I_GLAccountLineItem.ProfitCenter,
      I_GLAccountLineItem._ProfitCenter,
      @ObjectModel.foreignKey.association: '_FunctionalArea'
      I_GLAccountLineItem.FunctionalArea,
      I_GLAccountLineItem._FunctionalArea,
      @ObjectModel.foreignKey.association: '_FiscalPeriod'
      @Semantics.fiscal.period: true
      I_GLAccountLineItem.FiscalPeriod,
      I_GLAccountLineItem._FiscalPeriod,
      @ObjectModel.foreignKey.association: '_FiscalYearVariant'
      @Semantics.fiscal.yearVariant: true
      I_GLAccountLineItem.FiscalYearVariant,
      I_GLAccountLineItem._FiscalYearVariant,

      @ObjectModel.foreignKey.association: '_AlternativeGLAccount'
      I_GLAccountLineItem.AlternativeGLAccount,
      I_GLAccountLineItem._AlternativeGLAccount,
      @ObjectModel.foreignKey.association: '_CountryChartOfAccounts'
      I_GLAccountLineItem.CountryChartOfAccounts,
      I_GLAccountLineItem._CountryChartOfAccounts,
      @ObjectModel.foreignKey.association: '_Segment'
      I_GLAccountLineItem.Segment,
      I_GLAccountLineItem._Segment,
      @ObjectModel.foreignKey.association: '_CorporateGroupAccount'
      I_GLAccountLineItem._GLAccountInChartOfAccounts.CorporateGroupAccount                          as CorporateGroupAccount,
      _CorporateGroupAccount,
      @ObjectModel.foreignKey.association: '_CorpGroupChartOfAccounts'
      I_GLAccountLineItem._ChartOfAccounts.CorporateGroupChartOfAccounts,
      _CorpGroupChartOfAccounts,
      @ObjectModel.foreignKey.association: '_AlternativeGLAccountIsUsed'
      cast (' ' as fis_disalteracct preserving type )                                                as AlternativeGLAccountIsUsed,
      _AlternativeGLAccountIsUsed,

      ///////////////////////////////////////////////////////////////////////////////

      // Currency and Amount Fields

      ///////////////////////////////////////////////////////////////////////////////

      @ObjectModel.foreignKey.association: '_Currency'
      cast (CompanyCodeCurrency as fis_waers preserving type )                                       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 preserving type )                                                 as ZeroBalanceAccountIsDisplayed,
      _ZeroBalanceAccountIsDisplayed,
      
      @ObjectModel.foreignKey.association: '_YrEndClsgPostingIsDisplayed'
      cast( ' ' as fis_inclyearendpostings preserving type )                                         as YrEndClsgPostingIsDisplayed,
      _YrEndClsgPostingIsDisplayed,
      
      I_GLAccountLineItem.GLRecordType,
      
      @ObjectModel.foreignKey.association: '_BusinessTransactionCategory'
      I_GLAccountLineItem.BusinessTransactionCategory, 
      I_GLAccountLineItem._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
  I_GLAccountLineItem.Ledger = ''