I_PPM_ProjectManagerForObject

DDL: I_PPM_PROJECTMANAGERFOROBJECT SQL: IPPMPRJMGRFOROBJ Type: view COMPOSITE

Provide Project Manager for referenced object

I_PPM_ProjectManagerForObject is a Composite CDS View that provides data about "Provide Project Manager for referenced object" in SAP S/4HANA. It reads from 1 data source (I_PPM_ProjectRoleText) and exposes 13 fields with key fields ReferencedObjectUUID, ProjManagerBusinessPartnerUUID. It has 2 associations to related views.

Data Sources (1)

SourceAliasJoin Type
I_PPM_ProjectRoleText role left_outer

Associations (2)

CardinalityTargetAliasCondition
[0..1] I_PPM_Task _Task $projection.ReferencedObjectUUID = _Task.TaskUUID
[0..1] I_BusinessUserBasic _ProjectManagerData $projection.ProjManagerBusinessPartnerUUID = _ProjectManagerData.BusinessPartnerUUID

Annotations (12)

NameValueLevelField
EndUserText.label Provide Project Manager for referenced object view
VDM.viewType #COMPOSITE view
AbapCatalog.sqlViewName IPPMPRJMGRFOROBJ view
AbapCatalog.compiler.compareFilter true view
ClientHandling.algorithm #SESSION_VARIABLE view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #REQUIRED view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.representativeKey ProjManagerBusinessPartnerUUID view
VDM.lifecycle.contract.type #SAP_INTERNAL_API view

Fields (13)

KeyFieldSource TableSource FieldDescription
KEY ReferencedObjectUUID task TaskUUID
KEY ProjManagerBusinessPartnerUUID bupa BusinessPartnerUUID
ProjectRoleUUID bupa ProjectRoleUUID
PersonFullName
EmailAddress
MobilePhoneNumber
AddressPhoneNumber
ProjectRoleName I_PPM_ProjectRoleText ProjectRoleName
StaffingPeriodStartDateTime bupa StaffingPeriodStartDateTime
StaffingPeriodFinishDateTime bupa StaffingPeriodFinishDateTime
_ProjectManagerData _ProjectManagerData
_ProjectRoleName _ProjectRoleName
_Task _Task
@EndUserText.label: 'Provide Project Manager for referenced object'
@VDM.viewType: #COMPOSITE
@AbapCatalog.sqlViewName: 'IPPMPRJMGRFOROBJ'
@AbapCatalog.compiler.compareFilter: true
@ClientHandling.algorithm: #SESSION_VARIABLE

@AccessControl: {
    authorizationCheck:     #CHECK,
    personalData.blocking:  #REQUIRED,
    privilegedAssociations: ['_PROJECTROLENAME']    
}

@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #L
@ObjectModel.usageType.dataClass: #MIXED
@ObjectModel.representativeKey: 'ProjManagerBusinessPartnerUUID'
@ObjectModel.alternativeKey: [ { id : 'ReferencedObjectUUID', uniqueness: #UNIQUE, element: ['ReferencedObjectUUID'] } ] 
@VDM.lifecycle.contract.type:  #SAP_INTERNAL_API 
define view I_PPM_ProjectManagerForObject as 
    select distinct from I_PPM_Task as task
        join I_PPM_ProjectSummaryTask as pst on pst.ProjectUUID = task.ProjectUUID
        join I_PPM_BusinessPartnerForObject as bupa on bupa.ReferencedObjectUUID = pst.ProjectSummaryTaskUUID
        left outer join I_PPM_ProjectRoleText as role on role.ProjectRoleUUID = bupa.ProjectRoleUUID   

        association [0..1]  to I_PPM_Task                as _Task
                    on $projection.ReferencedObjectUUID  =  _Task.TaskUUID
        association [0..1]  to I_BusinessUserBasic       as _ProjectManagerData
                    on $projection.ProjManagerBusinessPartnerUUID  =  _ProjectManagerData.BusinessPartnerUUID                   
{
    key task.TaskUUID as ReferencedObjectUUID, 
    
    @ObjectModel.foreignKey.association: '_ProjectManagerData'
    key bupa.BusinessPartnerUUID as ProjManagerBusinessPartnerUUID,
    
    bupa.ProjectRoleUUID as ProjectRoleUUID,
    
    @Semantics:   { name.fullName: true }
    bupa._BusinessUser.PersonFullName,
    @Semantics:   { eMail: { address: true, type:  [ #PREF, #WORK ] } }
    bupa._BusinessUser._WorkplaceAddress.DefaultEmailAddress as EmailAddress,
    @Semantics.telephone.type: #CELL
    bupa._BusinessUser._WorkplaceAddress.MobilePhoneNumber   as MobilePhoneNumber,
    @Semantics.telephone.type: [ #WORK ]
    bupa._BusinessUser._WorkplaceAddress.PhoneNumber         as AddressPhoneNumber,
    @Semantics.organization.role: true
    role.ProjectRoleName,
    bupa.StaffingPeriodStartDateTime,
    bupa.StaffingPeriodFinishDateTime,
    
    _ProjectManagerData,
    _ProjectRoleName,
    _Task
} where bupa.IsBusinessPartnerResponsible = 'X'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_BUSINESSUSERBASIC",
"I_PPM_BUSINESSPARTNERFOROBJECT",
"I_PPM_PROJECTROLETEXT",
"I_PPM_PROJECTSUMMARYTASK",
"I_PPM_TASK",
"I_WORKPLACEADDRESS"
],
"ASSOCIATED":
[
"I_BUSINESSUSERBASIC",
"I_PPM_TASK",
"I_PPM_TEXT"
],
"BASE":
[
"I_PPM_BUSINESSPARTNERFOROBJECT"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/