I_EngmntProjectWithRoleAssgmt

DDL: I_ENGMNTPROJECTWITHROLEASSGMT SQL: IENGPRJWROLASGMT Type: view COMPOSITE

Engagement Project With Roles

I_EngmntProjectWithRoleAssgmt is a Composite CDS View (Dimension) that provides data about "Engagement Project With Roles" in SAP S/4HANA. It reads from 2 data sources (P_EngmntProjectRoleAssgmt, P_WFPersonIdentification) and exposes 22 fields with key fields EngagementProject, ProjectRoleType. It has 8 associations to related views.

Data Sources (2)

SourceAliasJoin Type
P_EngmntProjectRoleAssgmt B from
P_WFPersonIdentification C inner

Associations (8)

CardinalityTargetAliasCondition
[0..1] I_BusinessUserBasic _BusinessUser $projection.BusinessPartner = _BusinessUser.BusinessPartner
[0..1] I_BusinessPartner _BusinessPartner $projection.BusinessPartner = _BusinessPartner.BusinessPartner
[0..1] I_WorkplaceAddress _WorkplaceAddress $projection.BusinessPartnerUUID = _WorkplaceAddress.BusinessPartnerUUID
[0..1] I_WorkforcePersonImageURL _Image _Image.Person = B.BusinessPartner
[0..1] I_EnterpriseProjectRoleType _ProjectRole $projection.ProjectRoleType = _ProjectRole.ProjectRoleType
[1] I_EngagementProject _EngagementProject $projection.EngagementProject = _EngagementProject.EngagementProject
[0..1] I_PPM_ProjectRoleTypeText _ProjectRoleText _ProjectRoleText.LanguageCode = $session.system_language and _ProjectRoleText.ProjectRoleType = $projection.ProjectRoleType
[1..1] I_EngmntProjWithUserInvlmnt _MyProjects $projection.EngagementProjectUUID = _MyProjects.ProjectUUID

Annotations (19)

NameValueLevelField
ClientHandling.algorithm #SESSION_VARIABLE view
AbapCatalog.sqlViewName IENGPRJWROLASGMT view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #BLOCKED_DATA_EXCLUDED view
AccessControl.personalData.blockingIndicator IsBusinessPurposeCompleted view
ObjectModel.representativeKey ProjectRoleType view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.modelingPattern #ANALYTICAL_DIMENSION view
EndUserText.label Engagement Project With Roles view
Analytics.dataCategory #DIMENSION view
Analytics.internalName #LOCAL view
VDM.viewType #COMPOSITE view
VDM.lifecycle.contract.type #PUBLIC_LOCAL_API view
Metadata.ignorePropagatedAnnotations true view
Metadata.allowExtensions true view

Fields (22)

KeyFieldSource TableSource FieldDescription
KEY EngagementProject P_EngmntProjectRoleAssgmt EngagementProject Engagement Project ID
KEY ProjectRoleType P_EngmntProjectRoleAssgmt EngagementProjectTeamRole Project Role
CreationDateTime P_EngmntProjectRoleAssgmt CreationDateTime Created On
BusinessPartner P_EngmntProjectRoleAssgmt BusinessPartner Business Partner ID
ObjectName _ProjectRoleText ObjectName Project Role Name
EngagementProjectUUID P_EngmntProjectRoleAssgmt EngagementProjectUUID
EngagementProjectTeamRoleUUID P_EngmntProjectRoleAssgmt EngagementProjectTeamRoleUUID
EngmtProjTeamMemberUUID P_EngmntProjectRoleAssgmt EngmtProjTeamMemberUUID
EngagementProjectMemberUUID P_EngmntProjectRoleAssgmt EngagementProjectMemberUUID
BusinessPartnerUUID P_EngmntProjectRoleAssgmt BusinessPartnerUUID
BusinessPartnerFullName P_EngmntProjectRoleAssgmt BusinessPartnerFullName Business Partner Name
BusinessPartnerType P_EngmntProjectRoleAssgmt BusinessPartnerType Business Partner Type
UserID _BusinessUser UserID Business User
PersonExternalID P_WFPersonIdentification BPIdentificationNumber User name
_BusinessUser _BusinessUser
_Image _Image
_ProjectRole _ProjectRole
_ProjectRoleText _ProjectRoleText
_EngagementProject _EngagementProject
_WorkplaceAddress _WorkplaceAddress
_BusinessPartner _BusinessPartner
_MyProjects _MyProjects
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog.sqlViewName: 'IENGPRJWROLASGMT'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #BLOCKED_DATA_EXCLUDED
@AccessControl.personalData.blockingIndicator: 'IsBusinessPurposeCompleted'
@ObjectModel.representativeKey: 'ProjectRoleType'
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #XL
@ObjectModel.usageType.dataClass: #MIXED
@ObjectModel.modelingPattern: #ANALYTICAL_DIMENSION
@ObjectModel.supportedCapabilities: [#ANALYTICAL_DIMENSION,
                            #CDS_MODELING_ASSOCIATION_TARGET,
                            #CDS_MODELING_DATA_SOURCE,
                            #SQL_DATA_SOURCE]

@EndUserText.label: 'Engagement Project With Roles'
@Analytics.dataCategory: #DIMENSION
@Analytics.internalName: #LOCAL
@VDM.viewType: #COMPOSITE
@VDM.lifecycle.contract.type: #PUBLIC_LOCAL_API
@Metadata.ignorePropagatedAnnotations: true
@Metadata.allowExtensions:true

define view I_EngmntProjectWithRoleAssgmt
  as select from P_EngmntProjectRoleAssgmt as B
    inner join   P_WFPersonIdentification  as C on B.BusinessPartner = C.BusinessPartner
  association [0..1] to I_BusinessUserBasic         as _BusinessUser      on  $projection.BusinessPartner = _BusinessUser.BusinessPartner
  association [0..1] to I_BusinessPartner           as _BusinessPartner   on  $projection.BusinessPartner = _BusinessPartner.BusinessPartner
  association [0..1] to I_WorkplaceAddress          as _WorkplaceAddress  on  $projection.BusinessPartnerUUID = _WorkplaceAddress.BusinessPartnerUUID
  association [0..1] to I_WorkforcePersonImageURL   as _Image             on  _Image.Person = B.BusinessPartner
  association [0..1] to I_EnterpriseProjectRoleType as _ProjectRole       on  $projection.ProjectRoleType = _ProjectRole.ProjectRoleType
  association [1]    to I_EngagementProject         as _EngagementProject on  $projection.EngagementProject = _EngagementProject.EngagementProject
  association [0..1] to I_PPM_ProjectRoleTypeText   as _ProjectRoleText   on  _ProjectRoleText.LanguageCode    = $session.system_language
                                                                          and _ProjectRoleText.ProjectRoleType = $projection.ProjectRoleType
  association [1..1] to I_EngmntProjWithUserInvlmnt as _MyProjects        on  $projection.EngagementProjectUUID = _MyProjects.ProjectUUID
{

      @ObjectModel.foreignKey.association: '_EngagementProject'
      @EndUserText.label: 'Engagement Project ID'
  key B.EngagementProject,

      @EndUserText.label: 'Project Role'
  key B.EngagementProjectTeamRole as ProjectRoleType,

      @EndUserText.label: 'Created On'
      B.CreationDateTime,

      @ObjectModel.foreignKey.association: '_BusinessPartner'
      @EndUserText.label: 'Business Partner ID'
      B.BusinessPartner,

      @EndUserText.label: 'Project Role Name'
      @Semantics.name.jobTitle: true
      _ProjectRoleText.ObjectName,

      @Consumption.hidden: true
      B.EngagementProjectUUID,

      @Consumption.hidden: true
      B.EngagementProjectTeamRoleUUID,

      @Consumption.hidden: true
      B.EngmtProjTeamMemberUUID,

      @Consumption.hidden: true
      B.EngagementProjectMemberUUID,

      @Consumption.hidden: true
      B.BusinessPartnerUUID,

      @EndUserText.label: 'Business Partner Name'
      B.BusinessPartnerFullName,

      @EndUserText.label: 'Business Partner Type'
      B.BusinessPartnerType,
      
      @EndUserText.label: 'Business User'  
      _BusinessUser.UserID, //  as BusinessUser,


      @EndUserText.label: 'User name'
      C.BPIdentificationNumber    as PersonExternalID,

      _BusinessUser,
      _Image,
      _ProjectRole,
      _ProjectRoleText,
      _EngagementProject,
      _WorkplaceAddress,
      _BusinessPartner,
      _MyProjects

}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_BUSINESSUSERBASIC",
"I_PPM_PROJECTROLETYPETEXT",
"P_ENGMNTPROJECTROLEASSGMT",
"P_WFPERSONIDENTIFICATION"
],
"ASSOCIATED":
[
"I_BUSINESSPARTNER",
"I_BUSINESSUSERBASIC",
"I_ENGAGEMENTPROJECT",
"I_ENGMNTPROJWITHUSERINVLMNT",
"I_ENTERPRISEPROJECTROLETYPE",
"I_PPM_PROJECTROLETYPETEXT",
"I_WORKFORCEPERSONIMAGEURL",
"I_WORKPLACEADDRESS"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/