@AbapCatalog.sqlViewName : 'IMYPRJBILLGELMNT'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #BLOCKED_DATA_EXCLUDED
@ClientHandling.algorithm: #SESSION_VARIABLE
@VDM.viewType: #COMPOSITE
@EndUserText.label : 'Project Billing Elements by UserID'
@ObjectModel.usageType: {
sizeCategory: #XL,
dataClass: #MIXED,
serviceQuality: #C
}
define view I_MyProjectBillingElements
as select distinct from I_WorkForcePersonMappings as WorkForcePerson
inner join I_SDDocumentCompletePartners as Partners on WorkForcePerson.WorkforceAssignment = Partners.Personnel
inner join I_SalesOrderItem as SalesOrderItem on Partners.SDDocument = SalesOrderItem.SalesOrder
{
key SalesOrderItem.WBSElementInternalID as BillingWBSElementInternalID,
key SalesOrderItem.BillingPlan,
key WorkForcePerson.UserID
}
where
Partners.Personnel is not initial
and Partners.SDDocumentItem is initial
and WorkForcePerson.UserID = $session.user
union
select distinct from I_WorkForcePersonMappings as WorkForcePerson
inner join I_SDDocumentCompletePartners as Partners on WorkForcePerson.WorkforceAssignment = Partners.Personnel
inner join I_SalesOrderItem as SalesOrderItem on Partners.SDDocument = SalesOrderItem.SalesOrder
and Partners.SDDocumentItem = SalesOrderItem.SalesOrderItem
{
key SalesOrderItem.WBSElementInternalID as BillingWBSElementInternalID,
key SalesOrderItem.BillingPlan,
key WorkForcePerson.UserID
}
where
Partners.Personnel is not initial
and Partners.SDDocumentItem is not initial
and WorkForcePerson.UserID = $session.user
//define view I_MyProjectBillingElements
// as select distinct from I_SalesOrderItem as SalesOrderItem
// inner join I_SDDocumentCompletePartners as Partners on SalesOrderItem.SalesOrder = Partners.SDDocument
// inner join I_PersonWorkAgreement_1 as WorkAgreement on Partners.Personnel = WorkAgreement.PersonWorkAgreement
//{
// key cast ( SalesOrderItem.WBSElement as ps_s4_pspnr preserving type ) as BillingWBSElementInternalID,
// key SalesOrderItem.SalesOrder,
// key SalesOrderItem.SalesOrderItem,
// key WorkAgreement._WorkforcePerson._BusinessUser.UserID
//}
//where
// Partners.Personnel is not initial
// and Partners.SDDocumentItem is initial
// and WorkAgreement._WorkforcePerson._BusinessUser.UserID = $session.user
//
//
//union
//
//
//select distinct from I_SalesOrderItem as SalesOrderItem
// inner join I_SDDocumentCompletePartners as Partners on SalesOrderItem.SalesOrder = Partners.SDDocument
// and SalesOrderItem.SalesOrderItem = Partners.SDDocumentItem
// inner join I_PersonWorkAgreement_1 as WorkAgreement on Partners.Personnel = WorkAgreement.PersonWorkAgreement
//{
// key cast ( SalesOrderItem.WBSElement as ps_s4_pspnr preserving type ) as BillingWBSElementInternalID,
// key SalesOrderItem.SalesOrder,
// key SalesOrderItem.SalesOrderItem,
// key WorkAgreement._WorkforcePerson._BusinessUser.UserID
//}
//where
// Partners.Personnel is not initial
// and Partners.SDDocumentItem is not initial
// and WorkAgreement._WorkforcePerson._BusinessUser.UserID = $session.user
// as select distinct from I_SalesOrderItem as SalesOrderItem
// inner join I_SDDocumentCompletePartners as Partners on SalesOrderItem.SalesOrder = Partners.SDDocument
// and (
// Partners.SDDocumentItem = SalesOrderItem.SalesOrderItem
// or Partners.SDDocumentItem is initial
// )
// inner join I_PersonWorkAgreement_1 as WorkAgreement on Partners.Personnel = WorkAgreement.PersonWorkAgreement
//{
// key cast ( SalesOrderItem.WBSElement as ps_s4_pspnr preserving type ) as BillingWBSElementInternalID,
// key WorkAgreement._WorkforcePerson._BusinessUser.UserID
//}
//where
// Partners.Personnel is not initial
// and WorkAgreement._WorkforcePerson._BusinessUser.UserID = $session.user
//as select distinct from I_SDDocumentCompletePartners as SDDocumentPartner
//inner join I_SalesOrderItem as SalesOrderItem on SDDocumentPartner.SDDocument = SalesOrderItem.SalesOrder
//inner join I_PersonWorkAgreement_1 as PersonWorkAgreement_1 on SDDocumentPartner.Personnel = PersonWorkAgreement_1.PersonWorkAgreement
//--inner join I_WorkforcePerson as WorkforcePerson on PersonWorkAgreement_1.Person = WorkforcePerson.Person
//--inner join I_BusinessUser as BusinessUser on WorkforcePerson.BusinessPartnerUUID = BusinessUser.BusinessPartnerUUID
//{
// key cast ( SalesOrderItem.WBSElement as ps_s4_pspnr preserving type ) as BillingWBSElementInternalID,
// --key BusinessUser.UserID as UserID,
// key PersonWorkAgreement_1._WorkforcePerson._BusinessUser.UserID,
// SalesOrderItem._WBSElementBasicData
//}
//where SDDocumentPartner.Personnel is not initial
// and SDDocumentPartner.SDDocumentItem is initial
// --and BusinessUser.UserID = $session.user
//
//union
//
//select distinct from I_SDDocumentCompletePartners as SDDocumentPartner
//inner join I_SalesOrderItem as SalesOrderItem on SDDocumentPartner.SDDocument = SalesOrderItem.SalesOrder
// and SDDocumentPartner.SDDocumentItem = SalesOrderItem.SalesOrderItem
//inner join I_PersonWorkAgreement_1 as PersonWorkAgreement_1 on SDDocumentPartner.Personnel = PersonWorkAgreement_1.PersonWorkAgreement
//--inner join I_WorkforcePerson as WorkforcePerson on PersonWorkAgreement_1.Person = WorkforcePerson.Person
//--inner join I_BusinessUser as BusinessUser on WorkforcePerson.BusinessPartnerUUID = BusinessUser.BusinessPartnerUUID
//{
// key cast ( SalesOrderItem.WBSElement as ps_s4_pspnr preserving type ) as BillingWBSElementInternalID,
//-- key BusinessUser.UserID as UserID,
// key PersonWorkAgreement_1._WorkforcePerson._BusinessUser.UserID,
// SalesOrderItem._WBSElementBasicData
//}
//where SDDocumentPartner.Personnel is not initial
// and SDDocumentPartner.SDDocumentItem is not initial
// --and BusinessUser.UserID = $session.user
/*+[internal] {
"BASEINFO":
{
"FROM ":
[
"I_SALESORDERITEM",
"I_SDDOCUMENTCOMPLETEPARTNERS",
"I_WORKFORCEPERSONMAPPINGS"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/
Depth:
1
2
3
4
5
All
Reload
I_MyProjectBillingElements view