@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
//}
Depth:
1
2
3
4
5
All
Reload
P_CUSTPROJSLSORDITMBYUSER view_entity