I_FinancialStatementCube

DDL: I_FINANCIALSTATEMENTCUBE SQL: IFIFINSTMTCUBE Type: view COMPOSITE

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)

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

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

NameValueLevelField
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)

KeyFieldSource TableSource FieldDescription
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":""
}
}*/