I_COSTELEMENT

CDS View

Cost Element

I_COSTELEMENT is a CDS View in S/4HANA. Cost Element. It contains 14 fields. 6 CDS views read from this table.

CDS Views using this table (6)

ViewTypeJoinVDMDescription
C_ActyTypeAllocCostElementVH view from CONSUMPTION Allocation cost element value help
C_CostRevnReassgmtAllocAcctVH view from CONSUMPTION Account for Allocation VH
I_ActiveCostElementWithDraft view from COMPOSITE Active Cost Element With Draft Info
I_CostElementTP view from TRANSACTIONAL G/L Account in CtrlgArea (Draft 2.0)
P_CostElementByCompanyCode view from COMPOSITE
R_CostElementGroupHierarchy view inner COMPOSITE Cost Element Group Hierarchy

Fields (14)

KeyField CDS FieldsUsed in Views
KEY ChartOfAccounts ChartOfAccounts 2
KEY ControllingArea ControllingArea,ControllingAreaForEdit 3
KEY CostElement CostElement 1
KEY GLAccount GLAccount 2
AcctAssignmentIsStatistical AcctAssignmentIsStatistical 1
ConsumptionQtyIsRecorded ConsumptionQtyIsRecorded 1
CostElementCategory CostElementCategory 1
CreatedByUser CreatedByUser 1
CreationDate CreationDate 1
FunctionalArea FunctionalArea 1
LastChangeDateTime LastChangeDateTime 1
UnitOfMeasure UnitOfMeasure 1
ValidityEndDate ValidityEndDate 1
ValidityStartDate ValidityStartDate 1
@ClientHandling.algorithm: #SESSION_VARIABLE
@Metadata.ignorePropagatedAnnotations: true
@VDM.viewType: #COMPOSITE
@AbapCatalog.sqlViewName: 'IFICOSTELMNT'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Cost Element'
@Analytics.dataCategory: #DIMENSION
@ObjectModel.entityChangeStateId: 'LastChangeDateTime'
@ObjectModel.representativeKey: 'CostElement'
@ObjectModel.usageType: {
  serviceQuality: #C,
  sizeCategory: #M,
  dataClass: #MIXED
}
@Metadata.allowExtensions:true
define view I_CostElement
  as select from P_EffctvCostElmntOnCtrlgArea

    inner join   I_CostElementOnControllingArea on  P_EffctvCostElmntOnCtrlgArea.ControllingArea = I_CostElementOnControllingArea.ControllingArea
                                                and P_EffctvCostElmntOnCtrlgArea.CostElement     = I_CostElementOnControllingArea.CostElement
                                                and P_EffctvCostElmntOnCtrlgArea.ValidityEndDate = I_CostElementOnControllingArea.ValidityEndDate

    inner join   I_CostElementOnChartOfAccounts on  I_CostElementOnControllingArea.ChartOfAccounts = I_CostElementOnChartOfAccounts.ChartOfAccounts
                                                and I_CostElementOnControllingArea.CostElement     = I_CostElementOnChartOfAccounts.CostElement

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

  association [0..*] to I_CostElementText            as _Text                       on  $projection.ChartOfAccounts = _Text.ChartOfAccounts
                                                                                    and $projection.CostElement     = _Text.CostElement

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

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

  association [0..1] to I_ChartOfAccounts            as _ChartOfAccounts            on  $projection.ChartOfAccounts = _ChartOfAccounts.ChartOfAccounts

  association [0..1] to I_GLAccountInChartOfAccounts as _GLAccountInChartOfAccounts on  $projection.ChartOfAccounts = _GLAccountInChartOfAccounts.ChartOfAccounts
                                                                                    and $projection.CostElement     = _GLAccountInChartOfAccounts.GLAccount
  association [0..1] to I_CostElementCategory        as _CostElementCategory        on  $projection.CostElementCategory = _CostElementCategory.CostElementCategory

{
      @ObjectModel.foreignKey.association: '_ControllingArea'
  key I_CostElementOnControllingArea.ControllingArea,
  key I_CostElementOnControllingArea.CostElement,

      @Semantics.businessDate.from: true
      I_CostElementOnControllingArea.ValidityStartDate,
      @Semantics.businessDate.to: true
      I_CostElementOnControllingArea.ValidityEndDate,

      @ObjectModel.foreignKey.association: '_CostElementCategory'
      I_CostElementOnControllingArea.CostElementCategory,
      I_CostElementOnControllingArea.ConsumptionQtyIsRecorded,
      @ObjectModel.foreignKey.association: '_UnitOfMeasure'
      I_CostElementOnControllingArea.UnitOfMeasure,

      @ObjectModel.foreignKey.association: '_ChartOfAccounts'
      I_CostElementOnChartOfAccounts.ChartOfAccounts,
      cast (I_CostElementOnChartOfAccounts.CostElement as saknr) as GLAccount,

      @Semantics.businessDate.createdAt: true
      I_CostElementOnChartOfAccounts.CreationDate,
      @Semantics.user.createdBy: true
      I_CostElementOnChartOfAccounts.CreatedByUser,

      @ObjectModel.foreignKey.association: '_FunctionalArea'
      I_CostElementOnChartOfAccounts.FunctionalArea,

      cast (case when I_CostElementOnControllingArea.CostElementCategory = '90' then // 90 = Statistical cost element for balance sheet account, defined in domain KATYP

        'X'
      else
        ''
      end as fac_ce_exists_90)                                   as AcctAssignmentIsStatistical,

      I_CostElementOnControllingArea.LastChangeDateTime,

      _ChartOfAccounts,
      _GLAccountInChartOfAccounts,
      _ControllingArea,
      _UnitOfMeasure,
      _FunctionalArea,
      _CostElementCategory,
      _Text
}