I_DevelopmentProjectRole
PPM Project Role Details
I_DevelopmentProjectRole is a Basic CDS View (Dimension) that provides data about "PPM Project Role Details" in SAP S/4HANA. It reads from 3 data sources (dpr_part, /s4ppm/role, cgpl_task) and exposes 17 fields with key field ProjectRoleUUID.
Data Sources (3)
| Source | Alias | Join Type |
|---|---|---|
| dpr_part | _Part | inner |
| /s4ppm/role | _Role | from |
| cgpl_task | _Task | inner |
Annotations (18)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | DEVPROJROLE | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| VDM.viewType | #BASIC | view | |
| VDM.lifecycle.contract.type | #PUBLIC_LOCAL_API | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.sizeCategory | #XL | view | |
| ObjectModel.representativeKey | ProjectRoleUUID | view | |
| ObjectModel.modelingPattern | #ANALYTICAL_DIMENSION | view | |
| ObjectModel.sapObjectNodeType.name | DevelopmentProjectRole | view | |
| Analytics.dataCategory | #DIMENSION | view | |
| Analytics.internalName | #LOCAL | view | |
| Analytics.dataExtraction.enabled | true | view | |
| Metadata.ignorePropagatedAnnotations | true | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| AccessControl.authorizationCheck | #MANDATORY | view | |
| EndUserText.label | PPM Project Role Details | view | |
| Metadata.allowExtensions | true | view |
Fields (17)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | ProjectRoleUUID | /s4ppm/role | guid | |
| ProjectUUID | /s4ppm/role | project_guid | ||
| ProjectRoleType | /s4ppm/role | role_type | ||
| ProjectRoleName | /s4ppm/role | role_name | ||
| SortingNumber | dpr_part | sort_number | ||
| PlannedWorkQuantityUnit | dpr_part | work_unit | ||
| PlannedWorkQuantity | dpr_part | work_effort | ||
| IsVacant | dpr_part | vacant | ||
| CostRevenueRateCode | dpr_part | rate | ||
| ManualRevenueRateCurrency | dpr_part | currency | ||
| ManualRevenueRate | dpr_part | revenue_rate | ||
| ActualWorkQuantityUnit | dpr_part | act_wrk_unit_ext | ||
| clientNULLasPlannedStartDate | Planned Start Date | |||
| clientNULLasDevProjRolePlndFinishDate | Project Role Planned Finish Date | |||
| ProjectRole | dpr_part | participant_id | ||
| DevProjRoleFunctionID | dpr_part | role_function_id | ||
| LocationType | dpr_part | location |
@AbapCatalog.sqlViewName: 'DEVPROJROLE'
@AbapCatalog.compiler.compareFilter: true
@VDM.viewType: #BASIC
@VDM.lifecycle.contract.type: #PUBLIC_LOCAL_API
@ObjectModel: {
usageType: {
dataClass: #TRANSACTIONAL,
serviceQuality: #C,
sizeCategory: #XL
},
supportedCapabilities: [#SQL_DATA_SOURCE,
#CDS_MODELING_DATA_SOURCE,
#CDS_MODELING_ASSOCIATION_TARGET,
#EXTRACTION_DATA_SOURCE,
#ANALYTICAL_DIMENSION],
representativeKey: 'ProjectRoleUUID',
modelingPattern: #ANALYTICAL_DIMENSION,
sapObjectNodeType.name: 'DevelopmentProjectRole'
}
@Analytics: {
dataCategory: #DIMENSION,
internalName: #LOCAL,
dataExtraction: {
enabled: true
}
}
@Metadata.ignorePropagatedAnnotations:true
@ClientHandling.algorithm: #SESSION_VARIABLE
@AccessControl.authorizationCheck: #MANDATORY
@EndUserText.label: 'PPM Project Role Details'
@Metadata.allowExtensions:true
define view I_DevelopmentProjectRole
as select from /s4ppm/role as _Role
inner join dpr_part as _Part on _Part.guid = _Role.guid
inner join cgpl_task as _Task on _Task.guid = _Role.guid
and _Task.object_type = 'MTG'
{
key _Role.guid as ProjectRoleUUID,
_Role.project_guid as ProjectUUID,
_Role.role_type as ProjectRoleType,
_Role.role_name as ProjectRoleName,
_Part.sort_number as SortingNumber,
_Part.work_unit as PlannedWorkQuantityUnit,
@Semantics.quantity.unitOfMeasure : 'PlannedWorkQuantityUnit'
_Part.work_effort as PlannedWorkQuantity,
_Part.vacant as IsVacant,
_Part.rate as CostRevenueRateCode,
_Part.currency as ManualRevenueRateCurrency,
@Semantics.amount.currencyCode : 'ManualRevenueRateCurrency'
_Part.revenue_rate as ManualRevenueRate,
@EndUserText.label: 'Project Role Actual Work Quantity'
@Semantics.quantity.unitOfMeasure : 'ActualWorkQuantityUnit'
unit_conversion( quantity => _Part.act_work_effort ,
source_unit => _Part.act_work_unit,
target_unit => _Part.act_wrk_unit_ext,
error_handling => 'SET_TO_NULL') as DevProjRoleActualWorkQuantity,
_Part.act_wrk_unit_ext as ActualWorkQuantityUnit,
@EndUserText.label: 'Planned Start Date'
tstmp_to_dats( _Part.beg_tmstmp ,
abap_system_timezone( $session.client,'NULL' ),
$session.client,
'NULL' ) as PlannedStartDate,
@EndUserText.label: 'Project Role Planned Finish Date'
tstmp_to_dats( _Part.end_tmstmp ,
abap_system_timezone( $session.client,'NULL' ),
$session.client,
'NULL' ) as DevProjRolePlndFinishDate,
_Part.participant_id as ProjectRole,
_Part.role_function_id as DevProjRoleFunctionID,
_Part.location as LocationType
}
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA