P_CUSTPROJSLSORDITMBYUSER

DDL: P_CUSTPROJSLSORDITMBYUSER SQL: PCUSTPROJBYUSR Type: view COMPOSITE

P_CUSTPROJSLSORDITMBYUSER is a Composite CDS View in SAP S/4HANA. It reads from 2 data sources (I_BusinessUserBasic, I_EnterpriseProjectTeamMember) and exposes 3 fields with key fields ProjectInternalID, UserID. It has 1 association to related views.

Data Sources (2)

SourceAliasJoin Type
I_BusinessUserBasic BusinessUserBasic inner
I_EnterpriseProjectTeamMember EnterpriseProjectTeamMember inner

Associations (1)

CardinalityTargetAliasCondition
[1..*] I_BusinessUser _BusinessUser EnterpriseProjectTeamMember.BusinessPartnerUUID = _BusinessUser.BusinessPartnerUUID

Annotations (9)

NameValueLevelField
AbapCatalog.sqlViewName PCUSTPROJBYUSR view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #NOT_REQUIRED view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #L view
VDM.private true view
VDM.viewType #COMPOSITE view

Fields (3)

KeyFieldSource TableSource FieldDescription
KEY ProjectInternalID
KEY UserID I_BusinessUserBasic UserID
BusinessPartnerUUID I_EnterpriseProjectTeamMember BusinessPartnerUUID
@AbapCatalog.sqlViewName: 'PCUSTPROJBYUSR'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #L
@VDM.private: true
@VDM.viewType: #COMPOSITE

define view P_CUSTPROJSLSORDITMBYUSER
as select distinct from I_EntProjectEntitlement as EntProjectEntitlement
inner join I_EnterpriseProjectTeamMember as EnterpriseProjectTeamMember on EntProjectEntitlement.TeamMemberUUID = EnterpriseProjectTeamMember.TeamMemberUUID
inner join I_BusinessUserBasic as BusinessUserBasic on EnterpriseProjectTeamMember.BusinessPartnerUUID = BusinessUserBasic.BusinessPartnerUUID
--association [1..*] to I_BusinessUser as _BusinessUser on EnterpriseProjectTeamMember.BusinessPartnerUUID = _BusinessUser.BusinessPartnerUUID
{
  key EntProjectEntitlement._Project.ProjectInternalID,
  key BusinessUserBasic.UserID as UserID,
  cast ( case when BusinessUserBasic.UserID = $session.user then 'X' else '' end as abap_boolean preserving type 
  ) as IsMyProjectBillingElement,
  EnterpriseProjectTeamMember.BusinessPartnerUUID
}
//  as select from I_CustProjSlsOrdItmByPersonnel as _CUSTPROJSLSORDITMBYPERSONNEL

//  //For performance issues coming select from view I_ProjectBillingElement and do an inner join to I_CustProjSlsOrdItmByPersonnel on

//  //I_ProjectBillingElement.BillingWBSElementInternalID = I_CustProjSlsOrdItmByPersonnel.wbselement inorder to filter push down wbselement internalid.

//{

//  key CustomerProject,

//  key SalesOrderItem,

//  key Personnel,

//      WBSElement,

//      _CUSTPROJSLSORDITMBYPERSONNEL._PersonWorkAgreement._WorkforcePerson._BusinessUser.UserID

////      case

////      when  _CUSTPROJSLSORDITMBYPERSONNEL._PersonWorkAgreement._WorkforcePerson._BusinessUser.UserID = $session.user

////      then cast ('X' as boolean)

//////      else

//////      cast ('' as boolean)

////      end as IsMyProjectBillingElement

//}