I_EnterpriseProjectRole
Enterprise Project Role
I_EnterpriseProjectRole is a Basic CDS View that provides data about "Enterprise Project Role" in SAP S/4HANA. It reads from 1 data source (/s4ppm/role) and exposes 12 fields with key field ProjectRoleUUID. It has 3 associations to related views.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| /s4ppm/role | role | from |
Associations (3)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1..1] | I_EnterpriseProject | _Project | $projection.ProjectUUID = _Project.ProjectUUID |
| [1..1] | I_EnterpriseProjectRoleType | _ProjectRoleType | $projection.ProjectRoleType = _ProjectRoleType.ProjectRoleType |
| [1..1] | I_EntProjectRoleCategory | _ProjectRoleTypeCategory | $projection.ProjectRoleCategory = _ProjectRoleTypeCategory.ProjectRoleCategory |
Annotations (17)
| Name | Value | Level | Field |
|---|---|---|---|
| VDM.viewType | #BASIC | view | |
| EndUserText.label | Enterprise Project Role | view | |
| AbapCatalog.sqlViewName | IIENTERPROJROLE | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AbapCatalog.preserveKey | true | view | |
| AbapCatalog.dataMaintenance | #RESTRICTED | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| AccessControl.personalData.blocking | #BLOCKED_DATA_EXCLUDED | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| ObjectModel.representativeKey | ProjectRoleUUID | view | |
| ObjectModel.usageType.serviceQuality | #B | view | |
| ObjectModel.usageType.dataClass | #MASTER | view | |
| ObjectModel.usageType.sizeCategory | #XL | view | |
| Metadata.ignorePropagatedAnnotations | true | view | |
| Analytics.dataExtraction.enabled | true | view | |
| Analytics.dataExtraction.delta.changeDataCapture.automatic | true | view | |
| VDM.lifecycle.contract.type | #PUBLIC_LOCAL_API | view |
Fields (12)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | ProjectRoleUUID | /s4ppm/role | guid | |
| ProjectUUID | /s4ppm/role | project_guid | ||
| ProjectRoleType | /s4ppm/role | role_type | ||
| ProjectRoleCategory | /s4ppm/role | role_category | ||
| ProjectRoleName | /s4ppm/role | role_name | ||
| CreatedByUser | /s4ppm/role | created_by | ||
| CreationDateTime | /s4ppm/role | created_on | ||
| LastChangedByUser | /s4ppm/role | changed_by | ||
| LastChangeDateTime | /s4ppm/role | changed_on | ||
| _Project | _Project | |||
| _ProjectRoleType | _ProjectRoleType | |||
| _ProjectRoleTypeCategory | _ProjectRoleTypeCategory |
@VDM.viewType: #BASIC
@EndUserText.label: 'Enterprise Project Role'
@AbapCatalog: {
sqlViewName: 'IIENTERPROJROLE',
compiler.compareFilter: true,
preserveKey: true,
dataMaintenance: #RESTRICTED
}
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #BLOCKED_DATA_EXCLUDED
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel: {
// semanticKey: [ 'ProjectRole' ], ProjectRoleName is not unique, there is no ID field at the moment
representativeKey: 'ProjectRoleUUID',
supportedCapabilities: [ #SQL_DATA_SOURCE, #CDS_MODELING_DATA_SOURCE, #CDS_MODELING_ASSOCIATION_TARGET, #EXTRACTION_DATA_SOURCE ],
usageType: {
serviceQuality: #B,
dataClass: #MASTER,
sizeCategory: #XL
}
}
@Metadata.ignorePropagatedAnnotations: true
@Analytics.dataExtraction: {
enabled: true
}
@Analytics.dataExtraction.delta.changeDataCapture.automatic: true
@VDM.lifecycle.contract.type: #PUBLIC_LOCAL_API
define view I_EnterpriseProjectRole
as select from /s4ppm/role as role
association [1..1] to I_EnterpriseProject as _Project on $projection.ProjectUUID = _Project.ProjectUUID
association [1..1] to I_EnterpriseProjectRoleType as _ProjectRoleType on $projection.ProjectRoleType = _ProjectRoleType.ProjectRoleType
association [1..1] to I_EntProjectRoleCategory as _ProjectRoleTypeCategory on $projection.ProjectRoleCategory = _ProjectRoleTypeCategory.ProjectRoleCategory
{
key role.guid as ProjectRoleUUID,
@ObjectModel.foreignKey.association: '_Project'
role.project_guid as ProjectUUID,
@ObjectModel.foreignKey.association: '_ProjectRoleType'
role.role_type as ProjectRoleType,
@ObjectModel.foreignKey.association: '_ProjectRoleTypeCategory'
role.role_category as ProjectRoleCategory,
role.role_name as ProjectRoleName,
@Semantics.user.createdBy: true
role.created_by as CreatedByUser,
@Semantics.systemDateTime.createdAt: true
role.created_on as CreationDateTime,
@Semantics.user.lastChangedBy: true
role.changed_by as LastChangedByUser,
@Semantics.systemDateTime.lastChangedAt: true
role.changed_on as LastChangeDateTime,
_Project,
_ProjectRoleType,
_ProjectRoleTypeCategory
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"/S4PPM/ROLE"
],
"ASSOCIATED":
[
"I_ENTERPRISEPROJECT",
"I_ENTERPRISEPROJECTROLETYPE",
"I_ENTPROJECTROLECATEGORY"
],
"BASE":
[],
"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