P_CUSTPROJSLSORDITMBYUSER

DDL: P_CUSTPROJSLSORDITMBYUSER Type: view_entity COMPOSITE Package: VDM_PROJECTBILLINGELEMENT_TP

Customer Projects for sales order items by user

P_CUSTPROJSLSORDITMBYUSER is a Composite CDS View that provides data about "Customer Projects for sales order items by user" 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. Part of development package VDM_PROJECTBILLINGELEMENT_TP.

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 (5)

NameValueLevelField
AccessControl.authorizationCheck #NOT_REQUIRED 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
@AccessControl.authorizationCheck: #NOT_REQUIRED
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #L
@VDM.private: true
@VDM.viewType: #COMPOSITE

define view entity 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

//}