A_DevelopmentProjectRole

DDL: A_DEVELOPMENTPROJECTROLE Type: view_entity COMPOSITE

Development Project Role Details

A_DevelopmentProjectRole is a Composite CDS View that provides data about "Development Project Role Details" in SAP S/4HANA. It reads from 1 data source (R_DevelopmentProjectRoleTP) and exposes 22 fields with key field ProjectRoleUUID. It has 4 associations to related views. It is exposed through 1 OData service (API_DEVELOPMENTPROJECT).

Data Sources (1)

SourceAliasJoin Type
R_DevelopmentProjectRoleTP R_DevelopmentProjectRoleTP projection

Associations (4)

CardinalityTargetAliasCondition
[0..*] A_DevProjRoleStaffing _Staffing $projection.ProjectRoleUUID = _Staffing.ProjectRoleUUID and $projection.ProjectUUID = _Staffing.ProjectUUID
[1..*] A_DevRoleTaskAssignment _TaskRoleAssignment $projection.ProjectRoleUUID = _TaskRoleAssignment.ProjectRoleUUID
[1..*] A_DevProjectElementResponsible _ProjectElmntResponsible $projection.ProjectUUID = _ProjectElmntResponsible.ProjectUUID and $projection.ProjectRoleUUID = _ProjectElmntResponsible.ProjectRoleUUID
[1..*] A_DevProjResponsible _ProjectResponsible $projection.ProjectRoleUUID = _ProjectResponsible.ProjectRoleUUID and $projection.ProjectUUID = _ProjectResponsible.ProjectUUID

Annotations (9)

NameValueLevelField
AccessControl.authorizationCheck #MANDATORY view
EndUserText.label Development Project Role Details view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XL view
VDM.viewType #COMPOSITE view
VDM.lifecycle.contract.type #PUBLIC_REMOTE_API view
OData.entityType.name DevelopmentProjectRole_Type view

OData Services (1)

ServiceBindingVersionContractRelease
API_DEVELOPMENTPROJECT API_DEVELOPMENTPROJECT V4 C2 C1

Fields (22)

KeyFieldSource TableSource FieldDescription
KEY ProjectRoleUUID ProjectRoleUUID
ProjectUUID ProjectUUID
ProjectRole ProjectRole
ProjectRoleName ProjectRoleName
SortingNumber SortingNumber
PlannedWorkQuantityUnit PlannedWorkQuantityUnit
PlannedWorkQuantity PlannedWorkQuantity
IsVacant IsVacant
CostRevenueRateCode CostRevenueRateCode
ManualRevenueRateCurrency ManualRevenueRateCurrency
ManualRevenueRate ManualRevenueRate
DevProjRoleActualWorkQuantity DevProjRoleActualWorkQuantity
ActualWorkQuantityUnit ActualWorkQuantityUnit
PlannedStartDate PlannedStartDate
DevProjRolePlndFinishDate DevProjRolePlndFinishDate
ProjectRoleType ProjectRoleType
DevProjRoleFunctionID DevProjRoleFunctionID
LocationType LocationType
_Staffing _Staffing
_TaskRoleAssignment _TaskRoleAssignment
_ProjectElmntResponsible _ProjectElmntResponsible
_ProjectResponsible _ProjectResponsible
@AccessControl.authorizationCheck: #MANDATORY
@EndUserText.label: 'Development Project Role Details'
@Metadata.ignorePropagatedAnnotations:true
@ObjectModel: {
    usageType: {
      dataClass:       #TRANSACTIONAL,
      serviceQuality:  #C,
      sizeCategory:    #XL
    }
}
@VDM: {
    viewType: #COMPOSITE,
    lifecycle.contract.type: #PUBLIC_REMOTE_API
}
@OData.entityType.name:'DevelopmentProjectRole_Type'
@VDM.usage.type:[#TRANSACTIONAL_PROCESSING_SERVICE]


define view entity A_DevelopmentProjectRole
  as projection on R_DevelopmentProjectRoleTP
  association [0..*] to A_DevProjRoleStaffing          as _Staffing                on  $projection.ProjectRoleUUID = _Staffing.ProjectRoleUUID
                                                                                   and $projection.ProjectUUID     = _Staffing.ProjectUUID
  association [1..*] to A_DevRoleTaskAssignment        as _TaskRoleAssignment      on  $projection.ProjectRoleUUID = _TaskRoleAssignment.ProjectRoleUUID

  association [1..*] to A_DevProjectElementResponsible as _ProjectElmntResponsible on  $projection.ProjectUUID     = _ProjectElmntResponsible.ProjectUUID
                                                                                   and $projection.ProjectRoleUUID = _ProjectElmntResponsible.ProjectRoleUUID
  association [1..*] to A_DevProjResponsible           as _ProjectResponsible      on  $projection.ProjectRoleUUID = _ProjectResponsible.ProjectRoleUUID
                                                                                   and $projection.ProjectUUID     = _ProjectResponsible.ProjectUUID
{
  key ProjectRoleUUID,
      ProjectUUID,
      ProjectRole,
      ProjectRoleName,
      SortingNumber,
      @ObjectModel.sapObjectNodeTypeReference: 'UnitOfMeasure'
      PlannedWorkQuantityUnit,
      @Semantics.quantity.unitOfMeasure : 'PlannedWorkQuantityUnit'
      PlannedWorkQuantity,
      IsVacant,
      @ObjectModel.sapObjectNodeTypeReference: 'DevProjCostRevenueRateCode'
      CostRevenueRateCode,
      ManualRevenueRateCurrency,
      @Semantics.amount.currencyCode : 'ManualRevenueRateCurrency'
      ManualRevenueRate,
      @Semantics.quantity.unitOfMeasure : 'ActualWorkQuantityUnit'
      DevProjRoleActualWorkQuantity,
      @ObjectModel.sapObjectNodeTypeReference: 'UnitOfMeasure'
      ActualWorkQuantityUnit,
      PlannedStartDate,
      DevProjRolePlndFinishDate,
      @ObjectModel.sapObjectNodeTypeReference: 'DevelopmentProjectRoleType'
      ProjectRoleType,
      DevProjRoleFunctionID,
      LocationType,
      /* Associations */
      _Project : redirected to parent A_DevelopmentProject,
      _Staffing,
      _TaskRoleAssignment,
      _ProjectElmntResponsible,
      _ProjectResponsible
}