C_MstrProjKeyMember
Master Project Key Member
C_MstrProjKeyMember is a Consumption CDS View that provides data about "Master Project Key Member" in SAP S/4HANA. It reads from 1 data source (I_MstrProjTeamMember) and exposes 13 fields with key fields MasterProject, MstrProjTeamMemberUUID. It has 5 associations to related views. Part of development package VDM_CPM_WS.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| I_MstrProjTeamMember | TeamMember | inner |
Associations (5)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | I_WorkforcePerson | _Employee | $projection.BusinessPartner = _Employee.Person |
| [0..1] | I_Addressindependentemail | _AddressIndependentEmail | $projection.IndependentAddressID = _AddressIndependentEmail.AddressID |
| [0..1] | I_Addressindependentphone | _AddressIndependentPhone | $projection.IndependentAddressID = _AddressIndependentPhone.AddressID and _AddressIndependentPhone.PhoneNumberType = '1' |
| [0..1] | I_Addressindependentmobile | _AddressIndependentMobile | $projection.IndependentAddressID = _AddressIndependentMobile.AddressID and _AddressIndependentMobile.PhoneNumberType = '3' |
| [0..1] | I_WorkforcePersonImageURL | _PersonImageURL | $projection.BusinessPartner = _PersonImageURL.Person |
Annotations (10)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | CMPKEYMEM | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| VDM.viewType | #CONSUMPTION | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.dataClass | #MIXED | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| EndUserText.label | Master Project Key Member | view | |
| AccessControl.personalData.blocking | #REQUIRED | view |
Fields (13)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | MasterProject | I_MstrProjTeamMember | MasterProject | |
| KEY | MstrProjTeamMemberUUID | I_MstrProjTeamMember | MstrProjTeamMemberUUID | |
| ProjectResponsiblePerson | I_MstrProjTeamMember | ProjectResponsiblePerson | ||
| MasterProjectTeamRole | I_MstrProjTeamMember | MasterProjectTeamRole | ||
| ProjectRoleName | ||||
| BusinessPartner | I_MstrProjTeamMember | BusinessPartner | ||
| IndependentAddressID | I_MstrProjTeamMember | IndependentAddressID | ||
| Employee | ||||
| EmailAddress | ||||
| InternationalMobilePhoneNumber | ||||
| InternationalPhoneNumber | ||||
| EmployeeImageURL | _PersonImageURL | WorkforcePersonImageURL | ||
| _Employee | _Employee |
@AbapCatalog.sqlViewName: 'CMPKEYMEM'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@VDM.viewType: #CONSUMPTION
@ObjectModel.usageType.sizeCategory: #L
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.dataClass: #MIXED
@ClientHandling.algorithm: #SESSION_VARIABLE
@EndUserText.label: 'Master Project Key Member'
@AccessControl.personalData.blocking: #REQUIRED
define view C_MstrProjKeyMember
as select distinct from I_MstrProjKeyMember as KeyMember
inner join I_MstrProjTeamMember as TeamMember on KeyMember.MasterProject = TeamMember.MasterProject
and KeyMember.MasterProjectUUID = TeamMember.MasterProjectUUID
and KeyMember.ProjectRole = TeamMember.MasterProjectTeamRole
//association [0..*] "NOTE:2931963
association [0..1] to I_WorkforcePerson as _Employee on $projection.BusinessPartner = _Employee.Person //HRDecoupling "NOTE:2931963
association [0..1] to I_Addressindependentemail as _AddressIndependentEmail on $projection.IndependentAddressID = _AddressIndependentEmail.AddressID
association [0..1] to I_Addressindependentphone as _AddressIndependentPhone on $projection.IndependentAddressID = _AddressIndependentPhone.AddressID
and _AddressIndependentPhone.PhoneNumberType = '1'
association [0..1] to I_Addressindependentmobile as _AddressIndependentMobile on $projection.IndependentAddressID = _AddressIndependentMobile.AddressID
and _AddressIndependentMobile.PhoneNumberType = '3'
association [0..1] to I_WorkforcePersonImageURL as _PersonImageURL on $projection.BusinessPartner = _PersonImageURL.Person //HRDecoupling
{
key TeamMember.MasterProject,
key TeamMember.MstrProjTeamMemberUUID,
TeamMember.ProjectResponsiblePerson,
TeamMember.MasterProjectTeamRole,
TeamMember._Text[1:Language = $session.system_language].ProjectRoleName as ProjectRoleName,
TeamMember.BusinessPartner,
TeamMember.IndependentAddressID,
// cast (_Employee.PersonExternalID as pernr_d) as Employee, //HRDecoupling //NOTE:3249550
cast (_Employee.PersonExternalID as bu_id_number) as Employee, //HRDecoupling //NOTE:3249550
_Employee._WorkplaceAddress.DefaultEmailAddress as EmailAddress, //HRDecoupling
_Employee._WorkplaceAddress.MobilePhoneNumber as InternationalMobilePhoneNumber, //HRDecoupling
_Employee._WorkplaceAddress.PhoneNumber as InternationalPhoneNumber, //HRDecoupling
// _AddressIndependentEmail.EmailAddress,
// _AddressIndependentMobile.InternationalMobilePhoneNumber,
// _AddressIndependentPhone.InternationalPhoneNumber,
// TeamMember.EmailAddress,
// TeamMember.InternationalPhoneNumber,
// TeamMember.InternationalMobilePhoneNumber,
//_Employee.EmployeeImageURL,
_PersonImageURL.WorkforcePersonImageURL as EmployeeImageURL, //HRDecoupling
_Employee
}
//Before HR Decoupling
//define view C_MstrProjKeyMember
// as select distinct from I_MstrProjKeyMember as KeyMember
// inner join I_MstrProjTeamMember as TeamMember on KeyMember.MasterProject = TeamMember.MasterProject
// and KeyMember.MasterProjectUUID = TeamMember.MasterProjectUUID
// and KeyMember.ProjectRole = TeamMember.MasterProjectTeamRole
//
// association [0..*] to I_Employee as _Employee on $projection.BusinessPartner = _Employee.EmployeeInternalID
// association [0..1] to I_Addressindependentemail as _AddressIndependentEmail on $projection.IndependentAddressID = _AddressIndependentEmail.AddressID
// association [0..1] to I_Addressindependentphone as _AddressIndependentPhone on $projection.IndependentAddressID = _AddressIndependentPhone.AddressID
// and _AddressIndependentPhone.PhoneNumberType = '1'
// association [0..1] to I_Addressindependentmobile as _AddressIndependentMobile on $projection.IndependentAddressID = _AddressIndependentMobile.AddressID
// and _AddressIndependentMobile.PhoneNumberType = '3'
// association [0..1] to I_EmployeeWorkplaceAddress as _EmployeeWorkplaceAddress on $projection.BusinessPartner = _EmployeeWorkplaceAddress.EmployeeInternalID
//
//{
// key TeamMember.MasterProject,
// key TeamMember.MstrProjTeamMemberUUID,
// TeamMember.ProjectResponsiblePerson,
// TeamMember.MasterProjectTeamRole,
// TeamMember._Text[1:Language = $session.system_language].ProjectRoleName as ProjectRoleName,
// TeamMember.BusinessPartner,
// TeamMember.IndependentAddressID,
// cast (_Employee.Employee as pernr_d) as Employee,
// _EmployeeWorkplaceAddress.DefaultEmailAddress as EmailAddress,
// _EmployeeWorkplaceAddress.MobilePhoneNumber as InternationalMobilePhoneNumber,
// _EmployeeWorkplaceAddress.PhoneNumber as InternationalPhoneNumber,
// // _AddressIndependentEmail.EmailAddress,
// // _AddressIndependentMobile.InternationalMobilePhoneNumber,
// // _AddressIndependentPhone.InternationalPhoneNumber,
// // TeamMember.EmailAddress,
// // TeamMember.InternationalPhoneNumber,
// // TeamMember.InternationalMobilePhoneNumber,
// //_Employee.EmployeeImageURL,
//
// _Employee.EmployeeImageURL as EmployeeImageURL,
//
// _Employee
//}
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