@AbapCatalog: {
sqlViewName: 'PEPROJTIMESHEET',
preserveKey: true,
compiler.compareFilter: true
}
@AccessControl: {
authorizationCheck: #NOT_REQUIRED,
personalData.blocking: #BLOCKED_DATA_EXCLUDED
}
@ClientHandling.algorithm: #SESSION_VARIABLE
//@EndUserText.label: 'Engagement Project - Staffing Analysis Union'
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.usageType: {
serviceQuality: #C,
sizeCategory: #XL,
dataClass: #MIXED
}
@VDM: {
private: true,
lifecycle.contract.type: #NONE,
viewType: #COMPOSITE
}
define view P_EngagementProjTimeShtAnlys as select from P_EngmntProjPlndAndStaffedHrs {
EngagementProject,
WorkPackage,
WorkItem,
EngagementProjectResource,
EngagementProjectResourceType,
EmploymentInternalID as PersonnelNumber,
$session.system_date as CurrentDate,
//FiscalYearPeriod,
FiscalYear,
FiscalPeriod,
BillableControl,
UnitOfMeasure,
PlndEffortQty,
EngmntProjStaffedEffort,
cast(0 as abap.quan( 15, 3 )) as RecordedHours,
cast(0 as abap.quan( 15, 3 )) as UnapprovedHours,
cast(0 as abap.quan( 15, 3 )) as ApprovedHours,
cast(0 as abap.quan( 15, 3 )) as ActlEffortQty
} union all select from P_TimeShtHrsAnlysForProjects {
Project as EngagementProject,
WBSElement as WorkPackage,
WorkItem,
ActivityType as EngagementProjectResource,
'0ACT' as EngagementProjectResourceType,
PersonWorkAgreement as PersonnelNumber,
$session.system_date as CurrentDate,
//FiscalYearPeriod,
FiscalYear,
FiscalPeriod,
AccountingIndicatorCode as BillableControl,
HoursUnitOfMeasure as UnitOfMeasure,
0 as PlndEffortQty,
0 as EngmntProjStaffedEffort,
RecordedHours,
UnapprovedHours,
ApprovedHours,
0 as ActlEffortQty
} union all select from P_ActlHrsInLdgrForProjects as A
inner join I_EngmntProjActyRsceType as B
on B.EngagementProjectResourceType = '0ACT'
and A.EngagementProjectResource = B.EngagementProjectResource {
A.Project as EngagementProject,
A.WorkPackage,
A.WorkItem,
A.EngagementProjectResource,
B.EngagementProjectResourceType,
A.PersonnelNumber,
$session.system_date as CurrentDate,
left(A.PostingDate, 4) as FiscalYear,
concat('0', substring(A.PostingDate, 5, 2)) as FiscalPeriod,
A.BillableControl,
A.UnitOfMeasure,
0 as PlndEffortQty,
0 as EngmntProjStaffedEffort,
0 as RecordedHours,
0 as UnapprovedHours,
0 as ApprovedHours,
A.ActlEffortQty
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_ENGMNTPROJACTYRSCETYPE",
"P_ACTLHRSINLDGRFORPROJECTS",
"P_ENGMNTPROJPLNDANDSTAFFEDHRS",
"P_TIMESHTHRSANLYSFORPROJECTS"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/