I_PPM_ProjectManagerForObject
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)
| Source | Alias | Join Type |
|---|---|---|
| I_PPM_ProjectRoleText | role | left_outer |
Associations (2)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | I_PPM_Task | _Task | $projection.ReferencedObjectUUID = _Task.TaskUUID |
| [0..1] | I_BusinessUserBasic | _ProjectManagerData | $projection.ProjManagerBusinessPartnerUUID = _ProjectManagerData.BusinessPartnerUUID |
Annotations (12)
| Name | Value | Level | Field |
|---|---|---|---|
| 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)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| 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":""
}
}*/
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