I_PPM_ProjectRoleText

DDL: I_PPM_PROJECTROLETEXT SQL: IPPMPROROLETEXT Type: view COMPOSITE

Project Role Text

I_PPM_ProjectRoleText is a Composite CDS View that provides data about "Project Role Text" in SAP S/4HANA. It reads from 4 data sources (I_PPM_ProjectRoot, I_PPM_ProjectRole, I_PPM_Text, I_PPM_Text) and exposes 10 fields with key field ProjectRoleUUID.

Data Sources (4)

SourceAliasJoin Type
I_PPM_ProjectRoot ProjectRoot left_outer
I_PPM_ProjectRole role from
I_PPM_Text TextLogon left_outer
I_PPM_Text TextMaster left_outer

Annotations (13)

NameValueLevelField
ClientHandling.algorithm #SESSION_VARIABLE view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #BLOCKED_DATA_EXCLUDED view
ObjectModel.dataCategory #TEXT view
ObjectModel.representativeKey ProjectRoleUUID view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.sizeCategory #S view
VDM.viewType #COMPOSITE view
AbapCatalog.sqlViewName IPPMPROROLETEXT view
AbapCatalog.compiler.compareFilter true view
EndUserText.label Project Role Text view
VDM.lifecycle.contract.type #SAP_INTERNAL_API view

Fields (10)

KeyFieldSource TableSource FieldDescription
KEY ProjectRoleUUID I_PPM_ProjectRole ProjectRoleUUID
ProjectSummaryTaskUUID I_PPM_ProjectRole ProjectSummaryTaskUUID
ProjectInternalID I_PPM_ProjectRole ProjectInternalID
WBSElementInternalID I_PPM_ProjectRole WBSElementInternalID
_I_Project I_PPM_ProjectRole _I_Project
_ProjObj I_PPM_ProjectRole _ProjObj
_AuthUser I_PPM_ProjectRole _AuthUser
_AuthSubst I_PPM_ProjectRole _AuthSubst
_AuthRole I_PPM_ProjectRole _AuthRole
_AuthGroup I_PPM_ProjectRole _AuthGroup
@ClientHandling.algorithm: #SESSION_VARIABLE
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #BLOCKED_DATA_EXCLUDED
@ObjectModel: {
   dataCategory: #TEXT,
   representativeKey:  'ProjectRoleUUID',
   usageType: {
     serviceQuality:  #C,
     dataClass:       #MIXED,
     sizeCategory:    #S
    }
}

@VDM.viewType: #COMPOSITE
@AbapCatalog.sqlViewName: 'IPPMPROROLETEXT'
@AbapCatalog.compiler.compareFilter: true
@EndUserText.label: 'Project Role Text'
@VDM.lifecycle.contract.type:  #SAP_INTERNAL_API 

define view I_PPM_ProjectRoleText
  as select from    I_PPM_ProjectRole as role
    left outer join I_PPM_ProjectRoot as ProjectRoot on role.ProjectUUID = ProjectRoot.ProjectUUID  
    left outer join I_PPM_Text        as TextLogon   on (
         TextLogon.LanguageCode                                                       = $session.system_language
       )
                                                     and(
                                                       TextLogon.ReferencedObjectUUID = role.ProjectRoleUUID
                                                     )
    left outer join I_PPM_Text        as TextMaster  on (
        TextMaster.LanguageCode                                                        = ProjectRoot.MasterLanguage
      )
                                                     and(
                                                       TextMaster.ReferencedObjectUUID = role.ProjectRoleUUID
                                                     )
{
    @ObjectModel.text.element: ['ProjectRoleName']
key role.ProjectRoleUUID,

    @EndUserText.label: 'Object Description'
    @Semantics.text: true            -- identifies the first text field
    @UI.hidden: true
    cast( case
         when TextLogon.ObjectName > '' then
              TextLogon.ObjectName
         else (
         case
              when TextMaster.ObjectName > '' then
              TextMaster.ObjectName
              else role.ProjectRole
         end
         )
      end as dpr_project_name ) as ProjectRoleName,
 //Authorization check relevant data   

      role.ProjectSummaryTaskUUID,
      role.ProjectInternalID,
      role.WBSElementInternalID,
      role._I_Project,
      role._ProjObj,
      role._AuthUser,
      role._AuthSubst,
      role._AuthRole,
      role._AuthGroup 
}