I_DevelopmentProjectRole

DDL: I_DEVELOPMENTPROJECTROLE SQL: DEVPROJROLE Type: view BASIC

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)

SourceAliasJoin Type
dpr_part _Part inner
/s4ppm/role _Role from
cgpl_task _Task inner

Annotations (18)

NameValueLevelField
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)

KeyFieldSource TableSource FieldDescription
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

}