I_EnterpriseProjectRole

DDL: I_ENTERPRISEPROJECTROLE Type: view BASIC

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)

SourceAliasJoin Type
/s4ppm/role role from

Associations (3)

CardinalityTargetAliasCondition
[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)

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

KeyFieldSource TableSource FieldDescription
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":""
}
}*/