P_MatrixCnsldtnFoundation

DDL: P_MATRIXCNSLDTNFOUNDATION SQL: PMCFNDN Type: view COMPOSITE

P_MatrixCnsldtnFoundation is a Composite CDS View in SAP S/4HANA. It reads from 2 data sources (I_CnsldtnVersion, P_MJEL_CnsldtnFoundation) and exposes 39 fields with key fields ConsolidationLedger, ConsolidationDimension, FiscalYear, ConsolidationDocumentNumber, ConsolidationPostingItem. It has 67 associations to related views.

Data Sources (2)

SourceAliasJoin Type
I_CnsldtnVersion CnsldtnVersion inner
P_MJEL_CnsldtnFoundation P_MJEL_CnsldtnFoundation from

Parameters (4)

NameTypeDefault
P_ConsolidationUnitHierarchy fincs_hryid
P_ConsolidationPrftCtrHier fincs_hryid
P_ConsolidationSegmentHier fincs_hryid
P_KeyDate sydate

Associations (67)

CardinalityTargetAliasCondition
[1..1] I_CnsldtnLedger _Ledger $projection.ConsolidationLedger = _Ledger.ConsolidationLedger
[1..1] I_CnsldtnDimension _Dimension $projection.ConsolidationDimension = _Dimension.ConsolidationDimension
[1..1] I_CnsldtnVersion _Version $projection.ConsolidationVersion = _Version.ConsolidationVersion
[1..1] I_CnsldtnVersion _VersionElement $projection.ConsolidationVersionElement = _VersionElement.ConsolidationVersion
[1..1] I_Globalcompany _Company $projection.Company = _Company.Company
[0..1] I_DebitCreditCode _DebitCreditCode $projection.DebitCreditCode = _DebitCreditCode.DebitCreditCode
[1..1] I_CnsldtnUnit_2 _CnsldtnUnit $projection.ConsolidationDimension = _CnsldtnUnit.ConsolidationDimension and $projection.ConsolidationUnit = _CnsldtnUnit.ConsolidationUnit
[1..1] I_CnsldtnUnitForElimination _CnsldtnUnitForElimination $projection.ConsolidationDimension = _CnsldtnUnitForElimination.ConsolidationDimension and $projection.ConsolidationUnitForElim = _CnsldtnUnitForElimination.ConsolidationUnit
[1..1] I_CnsldtnGroupWithEmptyValue _CnsldtnGroup $projection.ConsolidationDimension = _CnsldtnGroup.ConsolidationDimension and $projection.ConsolidationGroup = _CnsldtnGroup.ConsolidationGroup
[1..1] I_CnsldtnChartOfAccounts _ChartOfAccounts $projection.ConsolidationChartOfAccounts = _ChartOfAccounts.ConsolidationChartOfAccounts
[1..1] I_GroupReportingFSItem _FinStmntItm $projection.ConsolidationChartOfAccounts = _FinStmntItm.ConsolidationChartOfAccounts and $projection.FinancialStatementItem = _FinStmntItm.FinancialStatementItem
[0..1] I_CnsldtnUnit_2 _PartnerUnit $projection.ConsolidationDimension = _PartnerUnit.ConsolidationDimension and $projection.PartnerConsolidationUnit = _PartnerUnit.ConsolidationUnit
[0..1] I_CompanyCode _CompanyCode $projection.CompanyCode = _CompanyCode.CompanyCode
[0..1] I_CnsldtnGLAccount _GLAccountInChartOfAccounts $projection.ChartOfAccounts = _GLAccountInChartOfAccounts.ChartOfAccounts and $projection.GLAccount = _GLAccountInChartOfAccounts.GLAccount
[0..1] I_GLAccountInCompanyCode _GLAccountInCompanyCode $projection.CompanyCode = _GLAccountInCompanyCode.CompanyCode and $projection.GLAccount = _GLAccountInCompanyCode.GLAccount
[0..1] I_CnsldtnGLChartOfAccounts _GLChartOfAccounts $projection.ChartOfAccounts = _GLChartOfAccounts.ChartOfAccounts
[0..1] I_CnsldtnSubItemCategory _SubItemCategory $projection.SubItemCategory = _SubItemCategory.SubItemCategory
[0..1] I_CnsldtnSubItem _SubItem $projection.SubItemCategory = _SubItem.SubItemCategory and $projection.SubItem = _SubItem.SubItem
[1..1] I_CnsldtnDocumentType _DocumentType $projection.ConsolidationDimension = _DocumentType.ConsolidationDimension and $projection.ConsolidationDocumentType = _DocumentType.ConsolidationDocumentType
[1..1] I_CnsldtnPostingLevel _PostingLevel $projection.PostingLevel = _PostingLevel.PostingLevel
[0..1] I_CnsldtnUnit_2 _InvesteeUnit $projection.ConsolidationDimension = _InvesteeUnit.ConsolidationDimension and $projection.InvesteeConsolidationUnit = _InvesteeUnit.ConsolidationUnit
[1..1] I_CnsldtnApportionment _Apportionment $projection.ConsolidationApportionment = _Apportionment.ConsolidationApportionment
[1..1] I_CnsldtnCrcyCnvrsnDiffType _CrcyCnvrsnDiffType $projection.CurrencyConversionsDiffType = _CrcyCnvrsnDiffType.CurrencyConversionsDiffType
[0..1] I_Currency _TransactionCurrency $projection.TransactionCurrency = _TransactionCurrency.Currency
[0..1] I_Currency _LocalCurrency $projection.LocalCurrency = _LocalCurrency.Currency
[0..1] I_Currency _GroupCurrency $projection.GroupCurrency = _GroupCurrency.Currency
[0..1] I_UnitOfMeasure _BaseUnit $projection.BaseUnit = _BaseUnit.UnitOfMeasure
[0..1] I_CnsldtnInternalOrder _InternalOrder $projection.OrderID = _InternalOrder.InternalOrder
[0..1] I_CnsldtnCustomer _Customer $projection.Customer = _Customer.Customer
[0..1] I_CnsldtnSupplier _Supplier $projection.Supplier = _Supplier.Supplier
[0..1] I_CnsldtnMaterial _Material $projection.Material = _Material.Material
[0..1] I_CnsldtnMaterialGroup _MaterialGroup $projection.MaterialGroup = _MaterialGroup.MaterialGroup
[0..1] I_CnsldtnPlant _Plant $projection.Plant = _Plant.Plant
[0..1] I_CnsldtnFinTransType _FinancialTransactionType $projection.FinancialTransactionType = _FinancialTransactionType.FinancialTransactionType
[0..1] I_CnsldtnWBSElement _WBSElement $projection.Project = _WBSElement.Project and $projection.WBSElementExternalID = _WBSElement.WBSElement
[0..1] I_WBSElementBasicData _WBSElementInternalID $projection.WBSElementInternalID = _WBSElementInternalID.WBSElementInternalID
[0..1] I_CnsldtnProject _Project $projection.Project = _Project.Project
[0..1] I_CnsldtnCostCenter _CostCenter $projection.ControllingArea = _CostCenter.ControllingArea and $projection.CostCenter = _CostCenter.CostCenter
[0..1] I_CnsldtnProfitCenter _ProfitCenter $projection.ControllingArea = _ProfitCenter.ControllingArea and $projection.ProfitCenter = _ProfitCenter.ProfitCenter
[0..1] I_CnsldtnProfitCenterForElim _ProfitCenterForElim $projection.ControllingArea = _ProfitCenterForElim.ControllingArea and $projection.ConsolidationPrftCtrForElim = _ProfitCenterForElim.ProfitCenter
[0..1] I_CnsldtnFunctionalArea _FunctionalArea $projection.FunctionalArea = _FunctionalArea.FunctionalArea
[0..1] I_CnsldtnBusinessArea _BusinessArea $projection.BusinessArea = _BusinessArea.BusinessArea
[0..1] I_CnsldtnControllingArea _ControllingArea $projection.ControllingArea = _ControllingArea.ControllingArea
[0..1] I_CnsldtnSegment _Segment $projection.Segment = _Segment.Segment
[0..1] I_CnsldtnSegmentForElim _SegmentForElim $projection.ConsolidationSegmentForElim = _SegmentForElim.Segment
[0..1] I_CnsldtnCostCenter _PartnerCostCenter $projection.ControllingArea = _PartnerCostCenter.ControllingArea and $projection.PartnerCostCenter = _PartnerCostCenter.CostCenter
[0..1] I_CnsldtnProfitCenter _PartnerProfitCenter $projection.ControllingArea = _PartnerProfitCenter.ControllingArea and $projection.PartnerProfitCenter = _PartnerProfitCenter.ProfitCenter
[0..1] I_CnsldtnFunctionalArea _PartnerFunctionalArea $projection.PartnerFunctionalArea = _PartnerFunctionalArea.FunctionalArea
[0..1] I_CnsldtnBusinessArea _PartnerBusinessArea $projection.PartnerBusinessArea = _PartnerBusinessArea.BusinessArea
[1..1] I_Globalcompany _PartnerCompany $projection.PartnerCompany = _PartnerCompany.Company
[0..1] I_CnsldtnSegment _PartnerSegment $projection.PartnerSegment = _PartnerSegment.Segment
[0..1] I_CnsldtnBillingType _BillingDocumentType $projection.BillingDocumentType = _BillingDocumentType.BillingDocumentType
[0..1] I_CnsldtnSalesOrganization _SalesOrganization $projection.SalesOrganization = _SalesOrganization.SalesOrganization
[0..1] I_CnsldtnDistributionChannel _DistributionChannel $projection.DistributionChannel = _DistributionChannel.DistributionChannel
[0..1] I_CnsldtnDivision _Division $projection.OrganizationDivision = _Division.Division
[0..1] I_CnsldtnMaterial _SoldMaterial $projection.SoldMaterial = _SoldMaterial.Material
[0..1] I_CnsldtnProduct _SoldProduct $projection.SoldProduct = _SoldProduct.Product
[0..1] I_CnsldtnMaterialGroup _SoldProductGroup $projection.SoldProductGroup = _SoldProductGroup.MaterialGroup
[0..1] I_CnsldtnCustomerGroup _CustomerGroup $projection.CustomerGroup = _CustomerGroup.CustomerGroup
[0..1] I_CnsldtnCountry _Country $projection.CustomerSupplierCountry = _Country.Country
[0..1] I_CnsldtnIndustry _Industry $projection.CustomerSupplierIndustry = _Industry.Industry
[0..1] I_CnsldtnSalesDistrict _SalesDistrict $projection.SalesDistrict = _SalesDistrict.SalesDistrict
[0..1] I_CnsldtnCustomer _BillToParty $projection.BillToParty = _BillToParty.Customer
[0..1] I_CnsldtnCustomer _ShipToParty $projection.ShipToParty = _ShipToParty.Customer
[0..1] I_CnsldtnAdhocItem _AdhocItem $projection.ConsolidationChartOfAccounts = _AdhocItem.ConsolidationChartOfAccounts and $projection.CnsldtnAdhocItem = _AdhocItem.CnsldtnAdhocItem
[0..1] I_CnsldtnAdhocSet _AdhocSet $projection.ConsolidationChartOfAccounts = _AdhocSet.ConsolidationChartOfAccounts and $projection.CnsldtnAdhocSet = _AdhocSet.CnsldtnAdhocSet
[0..1] I_CnsldtnAdhocSetItem _AdhocSetItem $projection.ConsolidationChartOfAccounts = _AdhocSetItem.ConsolidationChartOfAccounts and $projection.CnsldtnAdhocSet = _AdhocSetItem.CnsldtnAdhocSet and $projection.CnsldtnAdhocSetItem = _AdhocSetItem.CnsldtnAdhocSetItem

Annotations (11)

NameValueLevelField
AbapCatalog.sqlViewName PMCFNDN view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
VDM.viewType #COMPOSITE view
VDM.private true view
ClientHandling.algorithm #SESSION_VARIABLE view
AbapCatalog.buffering.status #NOT_ALLOWED view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.dataClass #MIXED view

Fields (39)

KeyFieldSource TableSource FieldDescription
KEY ConsolidationLedger rldnr
KEY ConsolidationDimension rdimen
KEY FiscalYear ryear
KEY ConsolidationDocumentNumber docnr
KEY ConsolidationPostingItem docln
KEY ConsolidationGroup rcongr
KEY FiscalPeriod poper
KEY PeriodMode period_mode
FiscalYearPeriod year_period
FiscalYearVariant
PostingFiscalPeriod poper_posting
GLRecordType
ConsolidationVersionElement
ConsolidationVersion ref_version
TransactionCurrency rtcur
LocalCurrency rhcur
GroupCurrency rkcur
BaseUnit runit
DocumentCategory docct
ConsolidationDocumentType docty
DebitCreditCode drcrk
Company rcomp
ConsolidationUnit rbunit
ConsolidationUnitForElim rbunit_eliminated
ConsolidationChartOfAccounts ritclg
FinancialStatementItem ritem
PartnerConsolidationUnit rbuptr
CompanyCode robukrs
SubItemCategory sityp
SubItem subit
PostingLevel plevl
ConsolidationApportionment rpflg
CurrencyConversionsDiffType rtflg
ConsolidationAcquisitionYear yracq
ConsolidationAcquisitionPeriod pracq
InvesteeConsolidationUnit coicu
AmountInTransactionCurrency tsl
AmountInLocalCurrency hsl
AmountInGroupCurrency ksl
@AbapCatalog.sqlViewName: 'PMCFNDN'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@VDM.viewType: #COMPOSITE
@VDM.private:true
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog.buffering.status: #NOT_ALLOWED
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.usageType.sizeCategory: #XL
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.dataClass: #MIXED

define view P_MatrixCnsldtnFoundation
  with parameters
    P_ConsolidationUnitHierarchy : fincs_hryid,
    P_ConsolidationPrftCtrHier   : fincs_hryid,
    P_ConsolidationSegmentHier   : fincs_hryid,
    P_KeyDate                    : sydate


  as select from P_MJEL_CnsldtnFoundation
                 ( P_ConsolidationUnitHierarchy: $parameters.P_ConsolidationUnitHierarchy,
                   P_ConsolidationPrftCtrHier: $parameters.P_ConsolidationPrftCtrHier,
                   P_ConsolidationSegmentHier: $parameters.P_ConsolidationSegmentHier,
                   P_KeyDate: $parameters.P_KeyDate ) as CnsldtnFoundation
    inner join   I_CnsldtnVersion as CnsldtnVersion on CnsldtnVersion.ConsolidationVersion = CnsldtnFoundation.rvers and
                                                       CnsldtnVersion.ConsolidationLedger  = CnsldtnFoundation.rldnr

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

  //                                       associations

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

  association [1..1] to I_CnsldtnLedger              as _Ledger                     on  $projection.ConsolidationLedger = _Ledger.ConsolidationLedger

  association [1..1] to I_CnsldtnDimension           as _Dimension                  on  $projection.ConsolidationDimension = _Dimension.ConsolidationDimension

  association [1..1] to I_CnsldtnVersion             as _Version                    on  $projection.ConsolidationVersion = _Version.ConsolidationVersion

  association [1..1] to I_CnsldtnVersion             as _VersionElement             on  $projection.ConsolidationVersionElement = _VersionElement.ConsolidationVersion

  association [1..1] to I_Globalcompany              as _Company                    on  $projection.Company = _Company.Company

  association [0..1] to I_DebitCreditCode            as _DebitCreditCode            on  $projection.DebitCreditCode = _DebitCreditCode.DebitCreditCode

  association [1..1] to I_CnsldtnUnit_2              as _CnsldtnUnit                on  $projection.ConsolidationDimension = _CnsldtnUnit.ConsolidationDimension
                                                                                    and $projection.ConsolidationUnit      = _CnsldtnUnit.ConsolidationUnit

  association [1..1] to I_CnsldtnUnitForElimination  as _CnsldtnUnitForElimination  on  $projection.ConsolidationDimension   = _CnsldtnUnitForElimination.ConsolidationDimension
                                                                                    and $projection.ConsolidationUnitForElim = _CnsldtnUnitForElimination.ConsolidationUnit

  association [1..1] to I_CnsldtnGroupWithEmptyValue as _CnsldtnGroup               on  $projection.ConsolidationDimension = _CnsldtnGroup.ConsolidationDimension
                                                                                    and $projection.ConsolidationGroup     = _CnsldtnGroup.ConsolidationGroup

  association [1..1] to I_CnsldtnChartOfAccounts     as _ChartOfAccounts            on  $projection.ConsolidationChartOfAccounts = _ChartOfAccounts.ConsolidationChartOfAccounts

  association [1..1] to I_GroupReportingFSItem       as _FinStmntItm                on  $projection.ConsolidationChartOfAccounts = _FinStmntItm.ConsolidationChartOfAccounts
                                                                                    and $projection.FinancialStatementItem       = _FinStmntItm.FinancialStatementItem

  association [0..1] to I_CnsldtnUnit_2              as _PartnerUnit                on  $projection.ConsolidationDimension   = _PartnerUnit.ConsolidationDimension
                                                                                    and $projection.PartnerConsolidationUnit = _PartnerUnit.ConsolidationUnit

  association [0..1] to I_CompanyCode                as _CompanyCode                on  $projection.CompanyCode = _CompanyCode.CompanyCode

  association [0..1] to I_CnsldtnGLAccount           as _GLAccountInChartOfAccounts on  $projection.ChartOfAccounts = _GLAccountInChartOfAccounts.ChartOfAccounts
                                                                                    and $projection.GLAccount       = _GLAccountInChartOfAccounts.GLAccount

  association [0..1] to I_GLAccountInCompanyCode     as _GLAccountInCompanyCode     on  $projection.CompanyCode = _GLAccountInCompanyCode.CompanyCode
                                                                                    and $projection.GLAccount   = _GLAccountInCompanyCode.GLAccount

  association [0..1] to I_CnsldtnGLChartOfAccounts   as _GLChartOfAccounts          on  $projection.ChartOfAccounts = _GLChartOfAccounts.ChartOfAccounts

  association [0..1] to I_CnsldtnSubItemCategory     as _SubItemCategory            on  $projection.SubItemCategory = _SubItemCategory.SubItemCategory

  association [0..1] to I_CnsldtnSubItem             as _SubItem                    on  $projection.SubItemCategory = _SubItem.SubItemCategory
                                                                                    and $projection.SubItem         = _SubItem.SubItem

  association [1..1] to I_CnsldtnDocumentType        as _DocumentType               on  $projection.ConsolidationDimension    = _DocumentType.ConsolidationDimension
                                                                                    and $projection.ConsolidationDocumentType = _DocumentType.ConsolidationDocumentType

  association [1..1] to I_CnsldtnPostingLevel        as _PostingLevel               on  $projection.PostingLevel = _PostingLevel.PostingLevel

  association [0..1] to I_CnsldtnUnit_2              as _InvesteeUnit               on  $projection.ConsolidationDimension    = _InvesteeUnit.ConsolidationDimension
                                                                                    and $projection.InvesteeConsolidationUnit = _InvesteeUnit.ConsolidationUnit

  association [1..1] to I_CnsldtnApportionment       as _Apportionment              on  $projection.ConsolidationApportionment = _Apportionment.ConsolidationApportionment

  association [1..1] to I_CnsldtnCrcyCnvrsnDiffType  as _CrcyCnvrsnDiffType         on  $projection.CurrencyConversionsDiffType = _CrcyCnvrsnDiffType.CurrencyConversionsDiffType

  association [0..1] to I_Currency                   as _TransactionCurrency        on  $projection.TransactionCurrency = _TransactionCurrency.Currency

  association [0..1] to I_Currency                   as _LocalCurrency              on  $projection.LocalCurrency = _LocalCurrency.Currency

  association [0..1] to I_Currency                   as _GroupCurrency              on  $projection.GroupCurrency = _GroupCurrency.Currency

  association [0..1] to I_UnitOfMeasure              as _BaseUnit                   on  $projection.BaseUnit = _BaseUnit.UnitOfMeasure

  association [0..1] to I_CnsldtnInternalOrder       as _InternalOrder              on  $projection.OrderID = _InternalOrder.InternalOrder

  association [0..1] to I_CnsldtnCustomer            as _Customer                   on  $projection.Customer = _Customer.Customer

  association [0..1] to I_CnsldtnSupplier            as _Supplier                   on  $projection.Supplier = _Supplier.Supplier

  association [0..1] to I_CnsldtnMaterial            as _Material                   on  $projection.Material = _Material.Material

  association [0..1] to I_CnsldtnMaterialGroup       as _MaterialGroup              on  $projection.MaterialGroup = _MaterialGroup.MaterialGroup

  association [0..1] to I_CnsldtnPlant               as _Plant                      on  $projection.Plant = _Plant.Plant

  association [0..1] to I_CnsldtnFinTransType        as _FinancialTransactionType   on  $projection.FinancialTransactionType = _FinancialTransactionType.FinancialTransactionType

  association [0..1] to I_CnsldtnWBSElement          as _WBSElement                 on  $projection.Project              = _WBSElement.Project
                                                                                    and $projection.WBSElementExternalID = _WBSElement.WBSElement

  association [0..1] to I_WBSElementBasicData        as _WBSElementInternalID       on  $projection.WBSElementInternalID = _WBSElementInternalID.WBSElementInternalID

  association [0..1] to I_CnsldtnProject             as _Project                    on  $projection.Project = _Project.Project

  association [0..1] to I_CnsldtnCostCenter          as _CostCenter                 on  $projection.ControllingArea = _CostCenter.ControllingArea
                                                                                    and $projection.CostCenter      = _CostCenter.CostCenter

  association [0..1] to I_CnsldtnProfitCenter        as _ProfitCenter               on  $projection.ControllingArea = _ProfitCenter.ControllingArea
                                                                                    and $projection.ProfitCenter    = _ProfitCenter.ProfitCenter

  association [0..1] to I_CnsldtnProfitCenterForElim as _ProfitCenterForElim        on  $projection.ControllingArea             = _ProfitCenterForElim.ControllingArea
                                                                                    and $projection.ConsolidationPrftCtrForElim = _ProfitCenterForElim.ProfitCenter

  association [0..1] to I_CnsldtnFunctionalArea      as _FunctionalArea             on  $projection.FunctionalArea = _FunctionalArea.FunctionalArea

  association [0..1] to I_CnsldtnBusinessArea        as _BusinessArea               on  $projection.BusinessArea = _BusinessArea.BusinessArea

  association [0..1] to I_CnsldtnControllingArea     as _ControllingArea            on  $projection.ControllingArea = _ControllingArea.ControllingArea

  association [0..1] to I_CnsldtnSegment             as _Segment                    on  $projection.Segment = _Segment.Segment

  association [0..1] to I_CnsldtnSegmentForElim      as _SegmentForElim             on  $projection.ConsolidationSegmentForElim = _SegmentForElim.Segment

  association [0..1] to I_CnsldtnCostCenter          as _PartnerCostCenter          on  $projection.ControllingArea   = _PartnerCostCenter.ControllingArea
                                                                                    and $projection.PartnerCostCenter = _PartnerCostCenter.CostCenter

  association [0..1] to I_CnsldtnProfitCenter        as _PartnerProfitCenter        on  $projection.ControllingArea     = _PartnerProfitCenter.ControllingArea
                                                                                    and $projection.PartnerProfitCenter = _PartnerProfitCenter.ProfitCenter

  association [0..1] to I_CnsldtnFunctionalArea      as _PartnerFunctionalArea      on  $projection.PartnerFunctionalArea = _PartnerFunctionalArea.FunctionalArea

  association [0..1] to I_CnsldtnBusinessArea        as _PartnerBusinessArea        on  $projection.PartnerBusinessArea = _PartnerBusinessArea.BusinessArea

  association [1..1] to I_Globalcompany              as _PartnerCompany             on  $projection.PartnerCompany = _PartnerCompany.Company

  association [0..1] to I_CnsldtnSegment             as _PartnerSegment             on  $projection.PartnerSegment = _PartnerSegment.Segment

  association [0..1] to I_CnsldtnBillingType         as _BillingDocumentType        on  $projection.BillingDocumentType = _BillingDocumentType.BillingDocumentType

  association [0..1] to I_CnsldtnSalesOrganization   as _SalesOrganization          on  $projection.SalesOrganization = _SalesOrganization.SalesOrganization

  association [0..1] to I_CnsldtnDistributionChannel as _DistributionChannel        on  $projection.DistributionChannel = _DistributionChannel.DistributionChannel

  association [0..1] to I_CnsldtnDivision            as _Division                   on  $projection.OrganizationDivision = _Division.Division

  association [0..1] to I_CnsldtnMaterial            as _SoldMaterial               on  $projection.SoldMaterial = _SoldMaterial.Material

  association [0..1] to I_CnsldtnProduct             as _SoldProduct                on  $projection.SoldProduct = _SoldProduct.Product

  association [0..1] to I_CnsldtnMaterialGroup       as _SoldProductGroup           on  $projection.SoldProductGroup = _SoldProductGroup.MaterialGroup

  association [0..1] to I_CnsldtnCustomerGroup       as _CustomerGroup              on  $projection.CustomerGroup = _CustomerGroup.CustomerGroup

  association [0..1] to I_CnsldtnCountry             as _Country                    on  $projection.CustomerSupplierCountry = _Country.Country

  association [0..1] to I_CnsldtnIndustry            as _Industry                   on  $projection.CustomerSupplierIndustry = _Industry.Industry

  association [0..1] to I_CnsldtnSalesDistrict       as _SalesDistrict              on  $projection.SalesDistrict = _SalesDistrict.SalesDistrict

  association [0..1] to I_CnsldtnCustomer            as _BillToParty                on  $projection.BillToParty = _BillToParty.Customer

  association [0..1] to I_CnsldtnCustomer            as _ShipToParty                on  $projection.ShipToParty = _ShipToParty.Customer

  association [0..1] to I_CnsldtnAdhocItem           as _AdhocItem                  on  $projection.ConsolidationChartOfAccounts = _AdhocItem.ConsolidationChartOfAccounts
                                                                                    and $projection.CnsldtnAdhocItem             = _AdhocItem.CnsldtnAdhocItem

  association [0..1] to I_CnsldtnAdhocSet            as _AdhocSet                   on  $projection.ConsolidationChartOfAccounts = _AdhocSet.ConsolidationChartOfAccounts
                                                                                    and $projection.CnsldtnAdhocSet              = _AdhocSet.CnsldtnAdhocSet

  association [0..1] to I_CnsldtnAdhocSetItem        as _AdhocSetItem               on  $projection.ConsolidationChartOfAccounts = _AdhocSetItem.ConsolidationChartOfAccounts
                                                                                    and $projection.CnsldtnAdhocSet              = _AdhocSetItem.CnsldtnAdhocSet
                                                                                    and $projection.CnsldtnAdhocSetItem          = _AdhocSetItem.CnsldtnAdhocSetItem
{
      @ObjectModel.foreignKey.association: '_Ledger'
  key rldnr                                                          as ConsolidationLedger,
      @ObjectModel.foreignKey.association: '_Dimension'
  key rdimen                                                         as ConsolidationDimension,

      @Semantics.fiscal.year: true
  key ryear                                                          as FiscalYear,
  key docnr                                                          as ConsolidationDocumentNumber,
  key docln                                                          as ConsolidationPostingItem,

      @ObjectModel.foreignKey.association: '_CnsldtnGroup'
  key rcongr                                                         as ConsolidationGroup,

      @Semantics.fiscal.period: true
  key poper                                                          as FiscalPeriod,

  key period_mode                                                    as PeriodMode,

      @Semantics.fiscal.yearPeriod: true
      year_period                                                    as FiscalYearPeriod,

      @Semantics.fiscal.yearVariant: true
      cast ('K4' as fis_periv)                                       as FiscalYearVariant,

      poper_posting                                                  as PostingFiscalPeriod,

      cast (rrcty as fincs_rrcty  preserving type )                  as GLRecordType,

      @ObjectModel.foreignKey.association: '_VersionElement'
      cast (rvers as fincs_vers_elem preserving type )               as ConsolidationVersionElement,

      @ObjectModel.foreignKey.association: '_Version'
      ref_version                                                    as ConsolidationVersion,

      @Semantics.currencyCode:true
      @ObjectModel.foreignKey.association: '_TransactionCurrency'
      rtcur                                                          as TransactionCurrency,

      @Semantics.currencyCode:true
      @ObjectModel.foreignKey.association: '_LocalCurrency'
      rhcur                                                          as LocalCurrency,

      @Semantics.currencyCode:true
      @ObjectModel.foreignKey.association: '_GroupCurrency'
      rkcur                                                          as GroupCurrency,

      @Semantics.unitOfMeasure: true
      @ObjectModel.foreignKey.association: '_BaseUnit'
      runit                                                          as BaseUnit,

      //TODO Where is DOCTY and what's difference compare with docct

      docct                                                          as DocumentCategory,

      @ObjectModel.foreignKey.association: '_DocumentType'
      docty                                                          as ConsolidationDocumentType,

      @ObjectModel.foreignKey.association: '_DebitCreditCode'
      drcrk                                                          as DebitCreditCode,

      @ObjectModel.foreignKey.association: '_Company'
      rcomp                                                          as Company,

      @ObjectModel.foreignKey.association: '_CnsldtnUnit'
      rbunit                                                         as ConsolidationUnit,

      @ObjectModel.foreignKey.association: '_CnsldtnUnitForElimination'
      rbunit_eliminated                                              as ConsolidationUnitForElim,

      @ObjectModel.foreignKey.association: '_ChartOfAccounts'
      ritclg                                                         as ConsolidationChartOfAccounts,

      @ObjectModel.foreignKey.association: '_FinStmntItm'
      ritem                                                          as FinancialStatementItem,

      @ObjectModel.foreignKey.association: '_PartnerUnit'
      rbuptr                                                         as PartnerConsolidationUnit,

      @ObjectModel.foreignKey.association: '_CompanyCode'
      robukrs                                                        as CompanyCode,

      @ObjectModel.foreignKey.association: '_SubItemCategory'
      sityp                                                          as SubItemCategory,

      @ObjectModel.foreignKey.association: '_SubItem'
      subit                                                          as SubItem,

      @ObjectModel.foreignKey.association: '_PostingLevel'
      plevl                                                          as PostingLevel,

      @ObjectModel.foreignKey.association: '_Apportionment'
      rpflg                                                          as ConsolidationApportionment,

      @ObjectModel.foreignKey.association: '_CrcyCnvrsnDiffType'
      rtflg                                                          as CurrencyConversionsDiffType,


      @Semantics.fiscal.year: true
      yracq                                                          as ConsolidationAcquisitionYear,

      @Semantics.fiscal.period: true
      pracq                                                          as ConsolidationAcquisitionPeriod,

      @ObjectModel.foreignKey.association: '_InvesteeUnit'
      coicu                                                          as InvesteeConsolidationUnit,

      @Semantics: { amount : {currencyCode: 'TransactionCurrency'} }
      tsl                                                            as AmountInTransactionCurrency,

      @Semantics: { amount : {currencyCode: 'LocalCurrency'} }
      hsl                                                            as AmountInLocalCurrency,

      @Semantics: { amount : {currencyCode: 'GroupCurrency'} }
      ksl                                                            as AmountInGroupCurrency,

      @Semantics: { quantity : {unitOfMeasure : 'BaseUnit'} }
      msl                                                            as QuantityInBaseUnit,

      sgtxt                                                          as DocumentItemText,

      autom                                                          as ConsolidationPostgItemAutoFlag,

      activ                                                          as BusinessTransactionType,
      //TODO bvorg,


      budat                                                          as PostingDate,
      wsdat                                                          as CurrencyTranslationDate,
      refdocnr                                                       as RefConsolidationDocumentNumber,

      @Semantics.fiscal.year: true
      refryear                                                       as ReferenceFiscalYear,

      refdocln                                                       as RefConsolidationPostingItem,
      refdocct                                                       as RefConsolidationDocumentType,
      refactiv                                                       as RefBusinessTransactionType,
      timestamp                                                      as CreationDateTime,
      cpudt                                                          as CreationDate,
      cputm                                                          as CreationTime,
      usnam                                                          as UserID,
      rvsdocnr                                                       as ReverseDocument,
      orndocnr                                                       as ReversedDocument,
      coiac                                                          as InvestmentActivityType,
      coinr                                                          as InvestmentActivity,
      revyear                                                        as ConsolidationDocReversalYear,
      awtyp                                                          as ReferenceDocumentType,
      aworg                                                          as ReferenceDocumentContext,
      logsys                                                         as LogicalSystem,

      /*** Begin Of Additional Fields in Consolidation Journal Entries in S/4 ***/
      @ObjectModel.foreignKey.association: '_GLChartOfAccounts'
      ktopl                                                          as ChartOfAccounts,

      @ObjectModel.foreignKey.association: '_GLAccountInChartOfAccounts'
      racct                                                          as GLAccount,

      zuonr                                                          as AssignmentReference,

      @ObjectModel.foreignKey.association: '_CostCenter'
      rcntr                                                          as CostCenter,

      @ObjectModel.foreignKey.association: '_ProfitCenter'
      prctr                                                          as ProfitCenter,

      @ObjectModel.foreignKey.association: '_ProfitCenterForElim'
      prctr_eliminated                                               as ConsolidationPrftCtrForElim,

      @ObjectModel.foreignKey.association: '_FunctionalArea'
      rfarea                                                         as FunctionalArea,

      @ObjectModel.foreignKey.association: '_BusinessArea'
      rbusa                                                          as BusinessArea,

      @ObjectModel.foreignKey.association: '_ControllingArea'
      kokrs                                                          as ControllingArea,

      @ObjectModel.foreignKey.association: '_Segment'
      segment                                                        as Segment,

      @ObjectModel.foreignKey.association: '_SegmentForElim'
      segment_eliminated                                             as ConsolidationSegmentForElim,

      @ObjectModel.foreignKey.association: '_PartnerCostCenter'
      scntr                                                          as PartnerCostCenter,

      @ObjectModel.foreignKey.association: '_PartnerProfitCenter'
      pprctr                                                         as PartnerProfitCenter,

      @ObjectModel.foreignKey.association: '_PartnerFunctionalArea'
      sfarea                                                         as PartnerFunctionalArea,

      @ObjectModel.foreignKey.association: '_PartnerBusinessArea'
      sbusa                                                          as PartnerBusinessArea,

      @ObjectModel.foreignKey.association: '_PartnerCompany'
      rassc                                                          as PartnerCompany,

      @ObjectModel.foreignKey.association: '_PartnerSegment'
      psegment                                                       as PartnerSegment,

      @ObjectModel.foreignKey.association: '_InternalOrder'
      aufnr                                                          as OrderID,

      @ObjectModel.foreignKey.association: '_Customer'
      kunnr                                                          as Customer,

      @ObjectModel.foreignKey.association: '_Supplier'
      lifnr                                                          as Supplier,

      @ObjectModel.foreignKey.association: '_Material'
      matnr                                                          as Material, //do not use any longer, use Product


      @ObjectModel.foreignKey.association: '_MaterialGroup'
      matkl_mm                                                       as MaterialGroup,

      @ObjectModel.foreignKey.association: '_Plant'
      werks                                                          as Plant,

      @ObjectModel.foreignKey.association: '_FinancialTransactionType'
      rmvct                                                          as FinancialTransactionType,

      @ObjectModel.foreignKey.association: '_WBSElementInternalID'
      cast ( ps_psp_pnr as ps_s4_pspnr preserving type )             as WBSElementInternalID,

      @ObjectModel.foreignKey.association: '_WBSElement'
      ps_posid                                                       as WBSElementExternalID,

      @ObjectModel.foreignKey.association: '_Project'
      ps_pspid                                                       as Project,

      @ObjectModel.foreignKey.association: '_BillingDocumentType'
      fkart                                                          as BillingDocumentType,
      @ObjectModel.foreignKey.association: '_SalesOrganization'
      vkorg                                                          as SalesOrganization,
      @ObjectModel.foreignKey.association: '_DistributionChannel'
      vtweg                                                          as DistributionChannel,
      @ObjectModel.foreignKey.association: '_Division'
      spart                                                          as OrganizationDivision,
      @ObjectModel.foreignKey.association: '_SoldMaterial'
      matnr_copa                                                     as SoldMaterial,
      @ObjectModel.foreignKey.association: '_SoldProduct'
      matnr_copa                                                     as SoldProduct,
      @ObjectModel.foreignKey.association: '_SoldProductGroup'
      matkl                                                          as SoldProductGroup,
      @ObjectModel.foreignKey.association: '_CustomerGroup'
      kdgrp                                                          as CustomerGroup,
      @ObjectModel.foreignKey.association: '_Country'
      land1                                                          as CustomerSupplierCountry,
      @ObjectModel.foreignKey.association: '_Industry'
      brsch                                                          as CustomerSupplierIndustry,
      @ObjectModel.foreignKey.association: '_SalesDistrict'
      bzirk                                                          as SalesDistrict,
      @ObjectModel.foreignKey.association: '_BillToParty'
      kunre                                                          as BillToParty,
      @ObjectModel.foreignKey.association: '_ShipToParty'
      kunwe                                                          as ShipToParty,
      konzs                                                          as CustomerSupplierCorporateGroup,
      CnsldtnJrnlEntryItemOrigin                                     as CnsldtnJrnlEntryItemOrigin,
      FinancialPlanningReqTransSqnc                                  as FinancialPlanningReqTransSqnc,
      FinancialPlanningDataPacket                                    as FinancialPlanningDataPacket,
      FinancialPlanningEntryItem                                     as FinancialPlanningEntryItem,
      rldnr_fin                                                      as Ledger,

      //Additional Fileds: Adhoc Item

      @ObjectModel.foreignKey.association: '_AdhocItem'
      @Analytics.internalName: #LOCAL
      adhocitem                                                      as CnsldtnAdhocItem,
      @ObjectModel.foreignKey.association: '_AdhocSet'
      @Analytics.internalName: #LOCAL
      adhocset                                                       as CnsldtnAdhocSet,
      @ObjectModel.foreignKey.association: '_AdhocSetItem'
      @Analytics.internalName: #LOCAL
      adhocsetitem                                                   as CnsldtnAdhocSetItem,

      //Additional Fields - ICMR

      rcode                                                          as MatchingReasonCode,
      orig_type                                                      as OriginType,
      orig_ref                                                       as OriginReference,

      // Associations

      _Ledger,

      _Dimension,

      _Version,

      _Company,

      _CnsldtnUnit,

      _CnsldtnUnitForElimination,

      _CnsldtnGroup,

      _ChartOfAccounts,

      _FinStmntItm,

      _GLAccountInChartOfAccounts,

      _GLAccountInCompanyCode,

      _GLChartOfAccounts,

      _PartnerUnit,

      _CompanyCode,

      _SubItemCategory,

      _SubItem,

      _DebitCreditCode,

      _DocumentType,

      _PostingLevel,

      _InvesteeUnit,

      _Apportionment,

      _CrcyCnvrsnDiffType,

      _TransactionCurrency,

      _LocalCurrency,

      _GroupCurrency,

      _BaseUnit,

      _InternalOrder,

      _Customer,

      _Supplier,

      _Material,

      _MaterialGroup,

      _Plant,

      _FinancialTransactionType,

      _WBSElement,

      _WBSElementInternalID,

      _Project,

      _CostCenter,

      _ProfitCenter,

      _ProfitCenterForElim,

      _FunctionalArea,

      _BusinessArea,

      _ControllingArea,

      _Segment,

      _SegmentForElim,

      _PartnerCostCenter,

      _PartnerProfitCenter,

      _PartnerFunctionalArea,

      _PartnerBusinessArea,

      _PartnerCompany,

      _PartnerSegment,

      _BillingDocumentType,

      _SalesOrganization,

      _DistributionChannel,

      _Division,

      _SoldMaterial,

      _SoldProduct,

      _SoldProductGroup,

      _CustomerGroup,

      _Country,

      _Industry,

      _SalesDistrict,

      _BillToParty,

      _ShipToParty,

      _AdhocItem,

      _AdhocSet,

      _AdhocSetItem,

      _VersionElement

}