C_AllocationSegmentTP

DDL: C_ALLOCATIONSEGMENTTP SQL: CALLOCSEGMENT Type: view CONSUMPTION Package: ODATA_MANAGE_ALLOCATION

Allocation Segment

C_AllocationSegmentTP is a Consumption CDS View that provides data about "Allocation Segment" in SAP S/4HANA. It reads from 1 data source (I_AllocationSegmentTP) and exposes 89 fields with key fields AllocationType, AllocationCycle, AllocationCycleStartDate, AllocationCycleSegment. It has 24 associations to related views. Part of development package ODATA_MANAGE_ALLOCATION.

Data Sources (1)

SourceAliasJoin Type
I_AllocationSegmentTP I_AllocationSegmentTP from

Associations (24)

CardinalityTargetAliasCondition
[0..*] C_AllocationSenderInformation _SenderInformation $projection.AllocationType = _SenderInformation.AllocationType and $projection.allocationpostingtype = _SenderInformation.AllocationPostingType and $projection.allocationactualplanvariant = _SenderInformation.AllocationActualPlanVariant
[0..*] C_AllocationSenderKeyFieldTP _SenderField $projection.AllocationType = _SenderField.AllocationType and $projection.AllocationCycle = _SenderField.AllocationCycle and $projection.AllocationCycleStartDate = _SenderField.AllocationCycleStartDate and $projection.AllocationCycleSegment = _SenderField.AllocationCycleSegment
[0..*] C_AllocReceiverInformation _ReceiverInformation $projection.AllocationType = _ReceiverInformation.AllocationType and $projection.allocationpostingtype = _ReceiverInformation.AllocationPostingType and $projection.allocationactualplanvariant = _ReceiverInformation.AllocationActualPlanVariant
[0..*] C_AllocationReceiverKeyFieldTP _ReceiverField $projection.AllocationType = _ReceiverField.AllocationType and $projection.AllocationCycle = _ReceiverField.AllocationCycle and $projection.AllocationCycleStartDate = _ReceiverField.AllocationCycleStartDate and $projection.AllocationCycleSegment = _ReceiverField.AllocationCycleSegment
[0..*] C_AllocSenderValueInformation _SenderValueInformation $projection.AllocationType = _SenderValueInformation.AllocationType and $projection.allocationpostingtype = _SenderValueInformation.AllocationPostingType and $projection.allocationactualplanvariant = _SenderValueInformation.AllocationActualPlanVariant
[0..*] C_AllocSenderValueKeyFieldTP _SenderValueField $projection.AllocationType = _SenderValueField.AllocationType and $projection.AllocationCycle = _SenderValueField.AllocationCycle and $projection.AllocationCycleStartDate = _SenderValueField.AllocationCycleStartDate and $projection.AllocationCycleSegment = _SenderValueField.AllocationCycleSegment
[0..*] C_AllocRcvrTracingInformation _ReceiverTracingInformation $projection.AllocationType = _ReceiverTracingInformation.AllocationType and $projection.allocationpostingtype = _ReceiverTracingInformation.AllocationPostingType and $projection.allocationactualplanvariant = _ReceiverTracingInformation.AllocationActualPlanVariant
[0..*] C_AllocRcvrTracingKeyFieldTP _ReceiverTracingField $projection.AllocationType = _ReceiverTracingField.AllocationType and $projection.AllocationCycle = _ReceiverTracingField.AllocationCycle and $projection.AllocationCycleStartDate = _ReceiverTracingField.AllocationCycleStartDate and $projection.AllocationCycleSegment = _ReceiverTracingField.AllocationCycleSegment
[0..*] C_AllocationSenderElementTP _SenderElement $projection.AllocationType = _SenderElement.AllocationType and $projection.AllocationCycle = _SenderElement.AllocationCycle and $projection.AllocationCycleStartDate = _SenderElement.AllocationCycleStartDate and $projection.AllocationCycleSegment = _SenderElement.AllocationCycleSegment
[0..*] C_AllocationReceiverElementTP _ReceiverElement $projection.AllocationType = _ReceiverElement.AllocationType and $projection.AllocationCycle = _ReceiverElement.AllocationCycle and $projection.AllocationCycleStartDate = _ReceiverElement.AllocationCycleStartDate and $projection.AllocationCycleSegment = _ReceiverElement.AllocationCycleSegment
[0..*] C_AllocReceiverFactorElementTP _ReceiverWeightingElement $projection.AllocationType = _ReceiverWeightingElement.AllocationType and $projection.AllocationCycle = _ReceiverWeightingElement.AllocationCycle and $projection.AllocationCycleStartDate = _ReceiverWeightingElement.AllocationCycleStartDate and $projection.AllocationCycleSegment = _ReceiverWeightingElement.AllocationCycleSegment
[1..1] I_AllocationSenderRule _AllocationSenderRule $projection.AllocationSenderRule = _AllocationSenderRule.AllocationSenderRule
[1..1] I_AllocationReceiverRule _AllocationReceiverRule $projection.AllocationReceiverRule = _AllocationReceiverRule.AllocationReceiverRule
[1..1] I_AllocScNgtvTracingFactor _AllocScNgtvTracingFactor $projection.AllocScNgtvTracingFctr = _AllocScNgtvTracingFactor.AllocScNgtvTracingFctr
[1..1] C_AllocationCycleTP _Cycle $projection.AllocationType = _Cycle.AllocationType and $projection.AllocationCycle = _Cycle.AllocationCycle and $projection.AllocationCycleStartDate = _Cycle.AllocationCycleStartDate
[1..1] P_AllocationSegmentStatusText _SegmentTest $projection.AllocationSegmentIsLocked = _SegmentTest.AllocationSegmentIsLocked
[1..1] P_AllocationCycleCalc _CycleCalc $projection.AllocationCycle = _CycleCalc.AllocationCycle and $projection.AllocationType = _CycleCalc.AllocationType and $projection.AllocationCycleStartDate = _CycleCalc.AllocationCycleStartDate
[0..*] C_AllocRcvrTmplItm _AllocRcvrTmplItm $projection.topdwndistrtmplname = _AllocRcvrTmplItm.TopDwnDistrTmplName and $projection.AllocationType = _AllocRcvrTmplItm.AllocationType
[0..*] C_AllocSndrTmplItm _AllocSndrTmplItm $projection.topdwndistrtmplname = _AllocSndrTmplItm.TopDwnDistrTmplName and $projection.AllocationType = _AllocSndrTmplItm.AllocationType
[0..*] C_AllocRcvrTracingTmplItm _AllocRcvrTracingTmplItm $projection.topdwndistrtmplname = _AllocRcvrTracingTmplItm.TopDwnDistrTmplName and $projection.AllocationType = _AllocRcvrTracingTmplItm.AllocationType
[0..*] C_AllocSndrValTmplItm _AllocSndrValTmplItm $projection.topdwndistrtmplname = _AllocSndrValTmplItm.TopDwnDistrTmplName and $projection.AllocationType = _AllocSndrValTmplItm.AllocationType
[0..*] C_AllocationSegmentNoteTP _SegmentNote $projection.AllocationType = _SegmentNote.AllocationType and $projection.AllocationCycle = _SegmentNote.AllocationCycle and $projection.AllocationCycleStartDate = _SegmentNote.AllocationCycleStartDate and $projection.AllocationCycleSegment = _SegmentNote.AllocationCycleSegment
[0..*] C_AllocTagSegmentAssignmentTP _SegmentTag $projection.AllocationType = _SegmentTag.AllocationType and $projection.AllocationCycle = _SegmentTag.AllocationCycle and $projection.AllocationCycleStartDate = _SegmentTag.AllocationCycleStartDate and $projection.AllocationCycleSegment = _SegmentTag.AllocationCycleSegment
[0..*] C_AllocationTagForSegment _AllocationTagForSegment $projection.AllocationType = _AllocationTagForSegment.AllocationType and $projection.AllocationCycle = _AllocationTagForSegment.AllocationCycle and $projection.AllocationCycleStartDate = _AllocationTagForSegment.AllocationCycleStartDate and $projection.AllocationCycleSegment = _AllocationTagForSegment.AllocationCycleSegment

Annotations (14)

NameValueLevelField
AbapCatalog.sqlViewName CALLOCSEGMENT view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #NOT_REQUIRED view
ClientHandling.algorithm #SESSION_VARIABLE view
EndUserText.label Allocation Segment view
ObjectModel.usageType.dataClass #CUSTOMIZING view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #M view
VDM.viewType #CONSUMPTION view
ObjectModel.transactionalProcessingDelegated true view
ObjectModel.createEnabled true view
ObjectModel.updateEnabled true view
ObjectModel.deleteEnabled true view

Fields (89)

KeyFieldSource TableSource FieldDescription
KEY AllocationType I_AllocationSegmentTP AllocationType
KEY AllocationCycle AllocationCycle
KEY AllocationCycleStartDate AllocationCycleStartDate
KEY AllocationCycleSegment AllocationCycleSegment
SegmentName SegmentName
SegmentNameDescription SegmentNameDescription
AllocationSegmentPosition AllocationSegmentPosition
AllocationSenderRule AllocationSenderRule
AllocationSenderRuleText
AllocationReceiverRule AllocationReceiverRule
AllocationReceiverRuleText
AllocationStatusDescription
AllocationSegmentIsLocked AllocationSegmentIsLocked
CriticalityCode _SegmentTest CriticalityCode
AllocationStatus _SegmentTest AllocationStatus
AllocScNgtvTracingFctr AllocScNgtvTracingFctr
AllocScNgtvTracingFctrText
SenderTracingFieldGroup SenderTracingFieldGroup
SenderFieldGroup SenderFieldGroup
ReceiverFieldGroup ReceiverFieldGroup
ReceiverTracingFieldGroup ReceiverTracingFieldGroup
AllocationSenderFixedField1 AllocationSenderFixedField1
AllocationSenderFixedField2 AllocationSenderFixedField2
AllocationSenderFixedField3 AllocationSenderFixedField3
AllocationSenderFixedField4 AllocationSenderFixedField4
AllocationSenderFixedField5 AllocationSenderFixedField5
AllocationSenderFixedField6 AllocationSenderFixedField6
AllocationSenderFixedField7 AllocationSenderFixedField7
AllocationSenderFixedField8 AllocationSenderFixedField8
AllocationSenderFixedField9 AllocationSenderFixedField9
AllocationSenderFixedField10 AllocationSenderFixedField10
AllocationCurrency AllocationCurrency
AllocationReceiverFixedField1 AllocationReceiverFixedField1
AllocationReceiverFixedField2 AllocationReceiverFixedField2
AllocationReceiverFixedField3 AllocationReceiverFixedField3
AllocationReceiverFixedField4 AllocationReceiverFixedField4
AllocationReceiverFixedField5 AllocationReceiverFixedField5
AllocationReceiverFixedField6 AllocationReceiverFixedField6
AllocationReceiverFixedField7 AllocationReceiverFixedField7
AllocationReceiverFixedField8 AllocationReceiverFixedField8
AllocationReceiverFixedField9 AllocationReceiverFixedField9
AllocationReceiverFixedField10 AllocationReceiverFixedField10
AllocationFieldGroup
AllocationTagID AllocationTagID
AssessmentCostElement
CostElementDescription
AllocationFixedCostCenterCost AllocationFixedCostCenterCost
AllocationVariableCostCtrCost AllocationVariableCostCtrCost
AllocationAccountAssignment AllocationAccountAssignment
AllocationSegmentSortField AllocationSegmentSortField
AllocIsSndrExclAsRcvr AllocIsSndrExclAsRcvr
ManipulationRuleForCyclicMaint ManipulationRuleForCyclicMaint
AllocationStructure AllocationStructure
AllocationTransferStructure AllocationTransferStructure
AllocSndrFctrPercent AllocSndrFctrPercent
AllocRcvrFctrPercent AllocRcvrFctrPercent
AllocSegmentShareInPercent AllocSegmentShareInPercent
AllocationActualPlanVariant _Cycle AllocationActualPlanVariant
AllocationPostingType _Cycle AllocationPostingType
AllocationPostingTypeText _Cycle AllocationPostingTypeText
CompanyCode _CycleCalc CompanyCode
TopDwnDistrTmplName _Cycle TopDwnDistrTmplName
ControllingArea _Cycle ControllingArea
AllocationReferenceLedger AllocationReferenceLedger
PlanningCategory PlanningCategory
UnitOfMeasure UnitOfMeasure
AllocationSenderValueIsNew AllocationSenderValueIsNew
_Cycle _Cycle
_SenderInformation _SenderInformation
_SenderField _SenderField
_ReceiverInformation _ReceiverInformation
_ReceiverField _ReceiverField
_SenderValueInformation _SenderValueInformation
_SenderValueField _SenderValueField
_ReceiverTracingInformation _ReceiverTracingInformation
_ReceiverTracingField _ReceiverTracingField
_AllocationSenderRule _AllocationSenderRule
_AllocationReceiverRule _AllocationReceiverRule
_AllocScNgtvTracingFactor _AllocScNgtvTracingFactor
_SenderElement _SenderElement
_ReceiverElement _ReceiverElement
_ReceiverWeightingElement _ReceiverWeightingElement
_AllocRcvrTmplItm _AllocRcvrTmplItm
_AllocSndrTmplItm _AllocSndrTmplItm
_AllocRcvrTracingTmplItm _AllocRcvrTracingTmplItm
_AllocSndrValTmplItm _AllocSndrValTmplItm
_SegmentNote _SegmentNote
_SegmentTag _SegmentTag
_AllocationTagForSegment _AllocationTagForSegment
@AbapCatalog.sqlViewName: 'CALLOCSEGMENT'
@AbapCatalog.compiler.compareFilter: true

@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #NOT_REQUIRED

@ClientHandling.algorithm: #SESSION_VARIABLE

@EndUserText.label: 'Allocation Segment'

@ObjectModel.usageType.dataClass: #CUSTOMIZING
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #M

@VDM.viewType: #CONSUMPTION

@ObjectModel:
{
  transactionalProcessingDelegated: true,
  //draftEnabled: true,

  createEnabled: true,
  updateEnabled: true,
  deleteEnabled: true
//  entityChangeStateId: 'LastChangeTime'

}

@UI.lineItem: [{criticality: 'CriticalityCode'}]
define view C_AllocationSegmentTP
  as select from I_AllocationSegmentTP
  
  association [0..*] to C_AllocationSenderInformation  as _SenderInformation          on  $projection.AllocationType              = _SenderInformation.AllocationType
                                                                                      and $projection.allocationpostingtype       = _SenderInformation.AllocationPostingType
                                                                                      and $projection.allocationactualplanvariant = _SenderInformation.AllocationActualPlanVariant

  association [0..*] to C_AllocationSenderKeyFieldTP   as _SenderField                on  $projection.AllocationType           = _SenderField.AllocationType
                                                                                      and $projection.AllocationCycle          = _SenderField.AllocationCycle
                                                                                      and $projection.AllocationCycleStartDate = _SenderField.AllocationCycleStartDate
                                                                                      and $projection.AllocationCycleSegment   = _SenderField.AllocationCycleSegment

  association [0..*] to C_AllocReceiverInformation     as _ReceiverInformation        on  $projection.AllocationType              = _ReceiverInformation.AllocationType
                                                                                      and $projection.allocationpostingtype       = _ReceiverInformation.AllocationPostingType
                                                                                      and $projection.allocationactualplanvariant = _ReceiverInformation.AllocationActualPlanVariant

  association [0..*] to C_AllocationReceiverKeyFieldTP as _ReceiverField              on  $projection.AllocationType           = _ReceiverField.AllocationType
                                                                                      and $projection.AllocationCycle          = _ReceiverField.AllocationCycle
                                                                                      and $projection.AllocationCycleStartDate = _ReceiverField.AllocationCycleStartDate
                                                                                      and $projection.AllocationCycleSegment   = _ReceiverField.AllocationCycleSegment

  association [0..*] to C_AllocSenderValueInformation  as _SenderValueInformation     on  $projection.AllocationType              = _SenderValueInformation.AllocationType
                                                                                      and $projection.allocationpostingtype       = _SenderValueInformation.AllocationPostingType
                                                                                      and $projection.allocationactualplanvariant = _SenderValueInformation.AllocationActualPlanVariant

  association [0..*] to C_AllocSenderValueKeyFieldTP   as _SenderValueField           on  $projection.AllocationType           = _SenderValueField.AllocationType
                                                                                      and $projection.AllocationCycle          = _SenderValueField.AllocationCycle
                                                                                      and $projection.AllocationCycleStartDate = _SenderValueField.AllocationCycleStartDate
                                                                                      and $projection.AllocationCycleSegment   = _SenderValueField.AllocationCycleSegment

  association [0..*] to C_AllocRcvrTracingInformation  as _ReceiverTracingInformation on  $projection.AllocationType              = _ReceiverTracingInformation.AllocationType
                                                                                      and $projection.allocationpostingtype       = _ReceiverTracingInformation.AllocationPostingType
                                                                                      and $projection.allocationactualplanvariant = _ReceiverTracingInformation.AllocationActualPlanVariant

  association [0..*] to C_AllocRcvrTracingKeyFieldTP   as _ReceiverTracingField       on  $projection.AllocationType           = _ReceiverTracingField.AllocationType
                                                                                      and $projection.AllocationCycle          = _ReceiverTracingField.AllocationCycle
                                                                                      and $projection.AllocationCycleStartDate = _ReceiverTracingField.AllocationCycleStartDate
                                                                                      and $projection.AllocationCycleSegment   = _ReceiverTracingField.AllocationCycleSegment

  association [0..*] to C_AllocationSenderElementTP    as _SenderElement              on  $projection.AllocationType           = _SenderElement.AllocationType
                                                                                      and $projection.AllocationCycle          = _SenderElement.AllocationCycle
                                                                                      and $projection.AllocationCycleStartDate = _SenderElement.AllocationCycleStartDate
                                                                                      and $projection.AllocationCycleSegment   = _SenderElement.AllocationCycleSegment
  //and _SenderElement.AllocSenderReceiverVariant           = 'S'


  association [0..*] to C_AllocationReceiverElementTP  as _ReceiverElement            on  $projection.AllocationType           = _ReceiverElement.AllocationType
                                                                                      and $projection.AllocationCycle          = _ReceiverElement.AllocationCycle
                                                                                      and $projection.AllocationCycleStartDate = _ReceiverElement.AllocationCycleStartDate
                                                                                      and $projection.AllocationCycleSegment   = _ReceiverElement.AllocationCycleSegment
  //and _ReceiverElement.AllocSenderReceiverVariant           = 'R'


  association [0..*] to C_AllocReceiverFactorElementTP as _ReceiverWeightingElement   on  $projection.AllocationType           = _ReceiverWeightingElement.AllocationType
                                                                                      and $projection.AllocationCycle          = _ReceiverWeightingElement.AllocationCycle
                                                                                      and $projection.AllocationCycleStartDate = _ReceiverWeightingElement.AllocationCycleStartDate
                                                                                      and $projection.AllocationCycleSegment   = _ReceiverWeightingElement.AllocationCycleSegment


  association [1..1] to I_AllocationSenderRule         as _AllocationSenderRule       on  $projection.AllocationSenderRule = _AllocationSenderRule.AllocationSenderRule

  association [1..1] to I_AllocationReceiverRule       as _AllocationReceiverRule     on  $projection.AllocationReceiverRule = _AllocationReceiverRule.AllocationReceiverRule
  
  association [1..1] to I_AllocScNgtvTracingFactor     as _AllocScNgtvTracingFactor   on  $projection.AllocScNgtvTracingFctr = _AllocScNgtvTracingFactor.AllocScNgtvTracingFctr  
  //association [1..1] to I_AllocationStatus             as _AllocationStatus           on  $projection.AllocationStatus = _AllocationStatus.AllocationStatus


  //  association [1..1] to P_AllocationSegment            as _SegmentCalc                on  $projection.AllocationType           = _SegmentCalc.AllocationType

  //                                                                                      and $projection.AllocationCycle          = _SegmentCalc.AllocationCycle

  //                                                                                      and $projection.AllocationCycleStartDate = _SegmentCalc.AllocationCycleStartDate

  //                                                                                      and $projection.AllocationCycleSegment   = _SegmentCalc.AllocationCycleSegment


  association [1..1] to C_AllocationCycleTP            as _Cycle                      on  $projection.AllocationType           = _Cycle.AllocationType
                                                                                      and $projection.AllocationCycle          = _Cycle.AllocationCycle
                                                                                      and $projection.AllocationCycleStartDate = _Cycle.AllocationCycleStartDate

  //  association [1..1] to C_AllocationFieldGroup         as _FieldGroup                 on  $projection.AllocationFieldGroup     = _FieldGroup.AllocVariablePortingType

  //                                                                                      //and $projection.allocationpostingtype    = _FieldGroup.AllocationPostingType

  //                                                                                      and $projection.AllocationType           = _FieldGroup.AllocationType

  //                                                                                      //and $projection.allocationactualplanvariant = _FieldGroup.AllocationActualPlanVariant


  association [1..1] to P_AllocationSegmentStatusText  as _SegmentTest                on  $projection.AllocationSegmentIsLocked = _SegmentTest.AllocationSegmentIsLocked

  association [1..1] to P_AllocationCycleCalc          as _CycleCalc                  on  $projection.AllocationCycle          = _CycleCalc.AllocationCycle
                                                                                      and $projection.AllocationType           = _CycleCalc.AllocationType
                                                                                      and $projection.AllocationCycleStartDate = _CycleCalc.AllocationCycleStartDate

  //  association[0..*] to I_AllocTopDwnDistrCycTmplItm as _TopDwnDistrCycTmplItm on $projection.topdwndistrtmplname = _TopDwnDistrCycTmplItm.TopDwnDistrTmplName

  //                                                                              and $projection.AllocationType = _TopDwnDistrCycTmplItm.AllocationType


  association [0..*] to C_AllocRcvrTmplItm             as _AllocRcvrTmplItm           on  $projection.topdwndistrtmplname = _AllocRcvrTmplItm.TopDwnDistrTmplName
                                                                                      and $projection.AllocationType      = _AllocRcvrTmplItm.AllocationType

  association [0..*] to C_AllocSndrTmplItm             as _AllocSndrTmplItm           on  $projection.topdwndistrtmplname = _AllocSndrTmplItm.TopDwnDistrTmplName
                                                                                      and $projection.AllocationType      = _AllocSndrTmplItm.AllocationType

  association [0..*] to C_AllocRcvrTracingTmplItm      as _AllocRcvrTracingTmplItm    on  $projection.topdwndistrtmplname = _AllocRcvrTracingTmplItm.TopDwnDistrTmplName
                                                                                      and $projection.AllocationType      = _AllocRcvrTracingTmplItm.AllocationType

  association [0..*] to C_AllocSndrValTmplItm          as _AllocSndrValTmplItm        on  $projection.topdwndistrtmplname = _AllocSndrValTmplItm.TopDwnDistrTmplName
                                                                                      and $projection.AllocationType      = _AllocSndrValTmplItm.AllocationType
 
  association [0..*] to C_AllocationSegmentNoteTP      as _SegmentNote                on  $projection.AllocationType           = _SegmentNote.AllocationType
                                                                                      and $projection.AllocationCycle          = _SegmentNote.AllocationCycle
                                                                                      and $projection.AllocationCycleStartDate = _SegmentNote.AllocationCycleStartDate
                                                                                      and $projection.AllocationCycleSegment   = _SegmentNote.AllocationCycleSegment
                                                                                      
  association [0..*] to C_AllocTagSegmentAssignmentTP  as _SegmentTag                 on  $projection.AllocationType           = _SegmentTag.AllocationType
                                                                                      and $projection.AllocationCycle          = _SegmentTag.AllocationCycle
                                                                                      and $projection.AllocationCycleStartDate = _SegmentTag.AllocationCycleStartDate
                                                                                      and $projection.AllocationCycleSegment   = _SegmentTag.AllocationCycleSegment
                                                                                            
  association [0..*] to C_AllocationTagForSegment as _AllocationTagForSegment         on  $projection.AllocationType           = _AllocationTagForSegment.AllocationType
                                                                                      and $projection.AllocationCycle          = _AllocationTagForSegment.AllocationCycle
                                                                                      and $projection.AllocationCycleStartDate = _AllocationTagForSegment.AllocationCycleStartDate
                                                                                      and $projection.AllocationCycleSegment   = _AllocationTagForSegment.AllocationCycleSegment
{
      @UI.hidden: true
      //key DatabaseTable,

  key I_AllocationSegmentTP.AllocationType,
  key AllocationCycle,
  key AllocationCycleStartDate,
      @UI.lineItem.position: 19
  key AllocationCycleSegment,

      @UI.lineItem.position: 20
      SegmentName,

      @Semantics.text: true
      @UI.lineItem.position: 21
      SegmentNameDescription,

      AllocationSegmentPosition,
      @UI.lineItem.position: 40
      @UI.textArrangement: #TEXT_ONLY
      @ObjectModel.text.element: ['AllocationSenderRuleText']
      @Consumption.labelElement: ['AllocationSenderRuleText']
      @Consumption.valueHelpDefinition: [ { entity: { name: 'C_AllocationSenderRuleVH', element: 'AllocationSenderRule'  } } ]
      @UI.selectionField: [{element: 'AllocationSenderRuleText'}]
      AllocationSenderRule,
      @ObjectModel.readOnly: true
      _AllocationSenderRule._Text[1:Language = $session.system_language].AllocationSenderRuleText,
      @UI.lineItem.position: 50
      @UI.textArrangement: #TEXT_ONLY
      @ObjectModel.text.element: ['AllocationReceiverRuleText']
      @Consumption.labelElement: ['AllocationReceiverRuleText']
      @Consumption.valueHelpDefinition: [ { entity: { name: 'C_AllocationReceiverRuleVH', element: 'AllocationReceiverRule'  } } ]
      @UI.selectionField: [{element: 'AllocationReceiverRuleText'}]
      AllocationReceiverRule,
      @ObjectModel.readOnly: true
      _AllocationReceiverRule._Text[1:Language = $session.system_language].AllocationReceiverRuleText,
      @UI.lineItem: [{ position: 30, criticalityRepresentation: #WITHOUT_ICON, criticality: 'CriticalityCode' }]
      //_AllocationStatus._Text[1:Language = $session.system_language].AllocationStatusDescription, // missing GFN

      @ObjectModel.readOnly: true
      //_SegmentCalc.AllocationStatusDescription,

      _SegmentTest._Text[1:Language = $session.system_language].AllocationStatusDescription,
      AllocationSegmentIsLocked,
      //      case when AllocationSegmentIsLocked = 'X'

      //        then 1 //red

      //        else 3 //green

      //      end as CriticalityCode,

      @ObjectModel.readOnly: true
      //_SegmentCalc.CriticalityCode,

      _SegmentTest.CriticalityCode,
      @ObjectModel.readOnly: true
      _SegmentTest.AllocationStatus,
      //_SegmentCalc.AllocationStatus,

      
      @Consumption.valueHelpDefinition: [ { entity: { name: 'C_AllocScNgtvTracingFactorVH', element: 'AllocScNgtvTracingFctr'  } } ]
      @UI.textArrangement: #TEXT_LAST
      @ObjectModel.text.element: ['AllocScNgtvTracingFctrText']
      @Consumption: { labelElement: 'AllocScNgtvTracingFctrText' }          
//      @UI.selectionField: [{element: 'AllocScNgtvTracingFctrText'}]

      AllocScNgtvTracingFctr,
      @ObjectModel.readOnly: true
      _AllocScNgtvTracingFactor._Text[1:Language = $session.system_language].AllocScNgtvTracingFctrText,

      SenderTracingFieldGroup,
      SenderFieldGroup,
      ReceiverFieldGroup,
      ReceiverTracingFieldGroup,
      AllocationSenderFixedField1,
      AllocationSenderFixedField2,
      AllocationSenderFixedField3,
      AllocationSenderFixedField4,
      AllocationSenderFixedField5,
      AllocationSenderFixedField6,
      AllocationSenderFixedField7,
      AllocationSenderFixedField8,
      AllocationSenderFixedField9,
      AllocationSenderFixedField10,      
      @Consumption.valueHelpDefinition: [ { entity: { name: 'C_CurrencyValueHelp', element: 'Currency'  } } ]
      AllocationCurrency,
      AllocationReceiverFixedField1,
      AllocationReceiverFixedField2,
      AllocationReceiverFixedField3,
      AllocationReceiverFixedField4,
      AllocationReceiverFixedField5,
      AllocationReceiverFixedField6,
      AllocationReceiverFixedField7,
      AllocationReceiverFixedField8,
      AllocationReceiverFixedField9,
      AllocationReceiverFixedField10,
      //      OriginPAType, //missing GFN


      @Consumption.valueHelpDefinition: [ { entity: { name: 'C_AllocationFieldGroupVH', element: 'AllocationFieldGroup'  },
                                            additionalBinding: [
                                                {localElement: 'AllocationType', element: 'AllocationType' },
                                                {localElement: 'AllocationPostingType', element: 'AllocationPostingType' },
                                                {localElement: 'AllocationActualPlanVariant', element: 'AllocationActualPlanVariant' }
                                          ]
           } ] 
      @UI.textArrangement: #TEXT_ONLY
      //@ObjectModel.text.element: ['AllocFieldGroupRowText']

      //@Consumption.labelElement: 'AllocFieldGroupRowText'

      @ObjectModel.mandatory: true
      cast(AllocationFieldGroup as fco_alloc_var_portion_type preserving type) as AllocationFieldGroup,
      //@ObjectModel.readOnly: true

      //_FieldGroup._Text[1:Language = $session.system_language].AllocFieldGroupRowText,

      //@ObjectModel.readOnly: true

      //_Cycle.CompanyCodeForEdit,

      
      @Consumption.valueHelpDefinition: [{ entity:{ name: 'C_UniversalAllocationTagVH', element: 'AllocationTagID' } }]
      @UI.selectionField: {position: 91}
      AllocationTagID,           
     
      @Consumption.valueHelpDefinition: [ { entity: { name: 'C_OverheadAllocationAccountVH', element: 'CostElement'  },
      additionalBinding: [ {localElement: 'CompanyCode', element: 'CompanyCode' } ] } ]
      @ObjectModel.text.element: ['CostElementDescription']
      @Consumption.labelElement: 'CostElementDescription'
      @UI.textArrangement: #TEXT_ONLY
      cast(AssessmentCostElement as fco_alloc_asacc preserving type)  as AssessmentCostElement,
      
      @ObjectModel: {
        readOnly: true,
        virtualElement,
        virtualElementCalculatedBy: 'ABAP:CL_FCO_ALLOC_COST_ELEM_EXIT' }
      cast( '' as kltxt )   as CostElementDescription,
      
      AllocationFixedCostCenterCost,
      AllocationVariableCostCtrCost,
      AllocationAccountAssignment,
      AllocationSegmentSortField,
      AllocIsSndrExclAsRcvr,
      
      @Consumption.valueHelpDefinition: [
        { entity: { name: 'I_AllocationManipulationRuleVH', element: 'ManipulationRuleForCyclicMaint'  },
                    additionalBinding: [ { localElement: 'CompanyCode', element: 'CompanyCode' }] 
        }]
      ManipulationRuleForCyclicMaint,
      
      @Consumption.valueHelpDefinition: { entity: { name: 'C_AllocationStructureVH', element: 'AllocationStructure'  } }
      AllocationStructure,
      AllocationTransferStructure,
      AllocSndrFctrPercent,
      AllocRcvrFctrPercent,
      AllocSegmentShareInPercent,
      @ObjectModel.readOnly: true
      _Cycle.AllocationActualPlanVariant,
      //_Cycle.AllocationType,

      @ObjectModel.readOnly: true
      @ObjectModel.text.element: ['AllocationPostingTypeText']
      @Consumption.labelElement: 'AllocationPostingTypeText'
      @UI.textArrangement: #TEXT_ONLY
      _Cycle.AllocationPostingType,
      _Cycle.AllocationPostingTypeText,
      @ObjectModel.readOnly: true
      _CycleCalc.CompanyCode,
      @ObjectModel.readOnly: true
      _Cycle.TopDwnDistrTmplName,
      @ObjectModel.readOnly: true
      _Cycle.ControllingArea,
      //@ObjectModel.readOnly: true

      //cast(_Cycle.Ledger as fco_alloc_reference_ledger) as AllocationReferenceLedger,

      
      @Consumption.valueHelpDefinition: { entity: { name: 'C_AllocationLedgerVH', element: 'Ledger' } }
      AllocationReferenceLedger,
      @Consumption.valueHelpDefinition: { entity: { name: 'C_AllocationCategoryVH', element: 'PlanningCategory'  } }
      PlanningCategory,
//      @Consumption.valueHelpDefinition: { entity: { name: 'C_FinUnitOfMeasure', element: 'UnitOfMeasure'  } }

      @Consumption.valueHelpDefinition: { entity: { name: 'C_AllocationUnitOfMeasureVH', element: 'UnitOfMeasure'  } }
      UnitOfMeasure,

      @UI.hidden: true
      AllocationSenderValueIsNew,
      //_TopDwnDistrCycTmplItm,

      
      /* Associations */
      @ObjectModel.association.type: [ #TO_COMPOSITION_ROOT, #TO_COMPOSITION_PARENT ]
      _Cycle,
      _SenderInformation,
      @ObjectModel.association.type: #TO_COMPOSITION_CHILD
      _SenderField,
      _ReceiverInformation,
      @ObjectModel.association.type: #TO_COMPOSITION_CHILD
      _ReceiverField,
      _SenderValueInformation,
      @ObjectModel.association.type: #TO_COMPOSITION_CHILD
      _SenderValueField,
      _ReceiverTracingInformation,
      @ObjectModel.association.type: #TO_COMPOSITION_CHILD
      _ReceiverTracingField,
      _AllocationSenderRule,
      _AllocationReceiverRule,
      _AllocScNgtvTracingFactor,
      @ObjectModel.association.type: #TO_COMPOSITION_CHILD
      _SenderElement,
      @ObjectModel.association.type: #TO_COMPOSITION_CHILD
      _ReceiverElement,
      @ObjectModel.association.type: #TO_COMPOSITION_CHILD
      _ReceiverWeightingElement,
      _AllocRcvrTmplItm,
      _AllocSndrTmplItm,
      _AllocRcvrTracingTmplItm,
      _AllocSndrValTmplItm,
      @ObjectModel.association.type: #TO_COMPOSITION_CHILD
      @Consumption.filter.hidden: true
      _SegmentNote,
      @ObjectModel.association.type: #TO_COMPOSITION_CHILD
      _SegmentTag,
      @Consumption.filter.hidden: true
      _AllocationTagForSegment
}
//where DatabaseTable = 'ACDOC_CC'