I_ALLOCATIONSEGMENTTP

CDS View

Allocation Segment TP

I_ALLOCATIONSEGMENTTP is a CDS View in S/4HANA. Allocation Segment TP. It contains 1 fields. 2 CDS views read from this table.

CDS Views using this table (2)

ViewTypeJoinVDMDescription
C_AllocationSegmentTP view from CONSUMPTION Allocation Segment
P_AllocationSegmentCalc view from CONSUMPTION

Fields (1)

KeyField CDS FieldsUsed in Views
KEY AllocationType AllocationType 1
@AbapCatalog.sqlViewName: 'ALLOCSEGMENTTP'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Allocation Segment TP'

@ClientHandling.algorithm: #SESSION_VARIABLE

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

@VDM.viewType: #TRANSACTIONAL

@ObjectModel:
{
  transactionalProcessingEnabled:true,
  writeDraftPersistence: 'ALLOCSEGMENTTPD',
  semanticKey: ['AllocationType', 'AllocationCycle', 'AllocationCycleStartDate', 'AllocationCycleSegment' ],
  createEnabled: true,
  updateEnabled: true,
  deleteEnabled: true

//  entityChangeStateId: 'LastChangeTime'

}
define view I_AllocationSegmentTP
  as select from I_AllocationSegment

    inner join   I_AllocationContextType as Context on Context.AllocationType = I_AllocationSegment.AllocationType

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

  association [0..*] to I_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 I_AllocReceiverKeyFieldTP     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 I_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 I_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 I_AllocationSenderElementTP   as _SenderElement            on  $projection.AllocationType           = _SenderElement.AllocationType
                                                                                   and $projection.AllocationCycle          = _SenderElement.AllocationCycle
                                                                                   and $projection.AllocationCycleStartDate = _SenderElement.AllocationCycleStartDate
                                                                                   and $projection.AllocationCycleSegment   = _SenderElement.AllocationCycleSegment

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

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

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

  association [0..*] to I_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 I_AllocTagSegmentAssignmentTP as _SegmentTag               on  $projection.AllocationType           = _SegmentTag.AllocationType
                                                                                   and $projection.AllocationCycle          = _SegmentTag.AllocationCycle
                                                                                   and $projection.AllocationCycleStartDate = _SegmentTag.AllocationCycleStartDate
                                                                                   and $projection.AllocationCycleSegment   = _SegmentTag.AllocationCycleSegment                                                                                
                                                                                   
{
  key I_AllocationSegment.AllocationType,
  key AllocationCycle,
  key AllocationCycleStartDate,
  key AllocationCycleSegment,

      SegmentName,
      AllocationSegmentPosition,
      AllocationSenderRule,
      AllocationReceiverRule,
      AllocationSegmentIsLocked,
      case when AllocationSegmentIsLocked = 'X'
        then 1 //red

        else 3 //green

      end                                                                                                               as CriticalityCode,

      AllocScNgtvTracingFctr,

      SenderTracingFieldGroup,
      SenderFieldGroup,
      ReceiverFieldGroup,
      ReceiverTracingFieldGroup,
      AllocationSenderFixedField1,
      AllocationSenderFixedField2,
      AllocationSenderFixedField3,
      AllocationSenderFixedField4,
      AllocationSenderFixedField5,
      AllocationSenderFixedField6,
      AllocationSenderFixedField7,
      AllocationSenderFixedField8,
      AllocationSenderFixedField9,
      AllocationSenderFixedField10,
      AllocationCurrency,
      AllocationReceiverFixedField1,
      AllocationReceiverFixedField2,
      AllocationReceiverFixedField3,
      AllocationReceiverFixedField4,
      AllocationReceiverFixedField5,
      AllocationReceiverFixedField6,
      AllocationReceiverFixedField7,
      AllocationReceiverFixedField8,
      AllocationReceiverFixedField9,
      AllocationReceiverFixedField10,
      AllocationFieldGroup,
      AssessmentCostElement,
      AllocationFixedCostCenterCost,
      AllocationVariableCostCtrCost,
      AllocationAccountAssignment,
      AllocationSegmentSortField,
      AllocIsSndrExclAsRcvr,
      ManipulationRuleForCyclicMaint,
      AllocationStructure,
      AllocationTransferStructure,
      AllocSndrFctrPercent,
      AllocRcvrFctrPercent,
      AllocSegmentShareInPercent,
      _Cycle.AllocationActualPlanVariant,
      _Cycle.AllocationPostingType,
      
      cast(I_AllocationSegment._Text.AllocationCycleNameText as fco_alloc_segment_decs)                                 as SegmentNameDescription,


      cast(_TDDVirtualField[1:AllocationFieldName = 'RLDNR'].AllocationFieldMinimumValue as fco_alloc_reference_ledger) as AllocationReferenceLedger,


      cast(_TDDVirtualField[1:AllocationFieldName = 'CATEGORY'].AllocationFieldMinimumValue as fcom_category)           as PlanningCategory,

      case substring(AllocationFieldGroup, 1, 4)
        when 'VMSL' 
          then cast(_TDDVirtualField[1:AllocationFieldName = 'RVUNIT'].AllocationFieldMinimumValue as meins)
        else 
          cast(_TDDVirtualField[1:AllocationFieldName = 'RUNIT'].AllocationFieldMinimumValue as meins) 
      end                                                                                                               as UnitOfMeasure,

      cast( '' as boolean )                                                                                             as AllocationSenderValueIsNew,
      
      @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
      @ObjectModel.enabled: 'EXTERNAL_CALCULATION'
      cast('' as fco_tags_id) as AllocationTagID,      
      /* Associations */
      @ObjectModel.association.type:  [ #TO_COMPOSITION_ROOT, #TO_COMPOSITION_PARENT ]
      _Cycle,
      @ObjectModel.association.type: #TO_COMPOSITION_CHILD
      _SenderField,
      @ObjectModel.association.type: #TO_COMPOSITION_CHILD
      _ReceiverField,
      @ObjectModel.association.type: #TO_COMPOSITION_CHILD
      _SenderValueField,
      @ObjectModel.association.type: #TO_COMPOSITION_CHILD
      _ReceiverTracingField,
      @ObjectModel.association.type: #TO_COMPOSITION_CHILD
      _SenderElement,
      @ObjectModel.association.type: #TO_COMPOSITION_CHILD
      _ReceiverElement,
      @ObjectModel.association.type: #TO_COMPOSITION_CHILD
      _ReceiverWeightingElement,
      @ObjectModel.association.type: #TO_COMPOSITION_CHILD
      _SegmentNote,
      @ObjectModel.association.type: #TO_COMPOSITION_CHILD
      _SegmentTag

}
//where DatabaseTable = 'ACDOC_CC'