I_RSHPROJECTASSIGNMENT
Project Assignment
I_RSHPROJECTASSIGNMENT is a CDS View in S/4HANA. Project Assignment. It contains 8 fields. 11 CDS views read from this table.
CDS Views using this table (11)
| View | Type | Join | VDM | Description |
|---|---|---|---|---|
| C_EngmntProjStaffedResource | view | left_outer | CONSUMPTION | Engagement Project Staffed Resource |
| C_RSHTableBasedTreeProperties | view | left_outer | CONSUMPTION | View for additional tree properties |
| I_RSHProjectAssignmentHrs | view | from | COMPOSITE | Resource Assignments |
| I_RSHProjectAssignmentTP | view | from | TRANSACTIONAL | Project Assignment TP |
| P_RSHAsgnSummaryPerRequest | view | from | COMPOSITE | |
| P_RSHAssignment | view | from | COMPOSITE | |
| P_RSHAssignmentWithDraft | view | from | COMPOSITE | |
| P_RSHAssignmentWithDraft | view | union | COMPOSITE | |
| P_RSHResourceSkillsFromAsg | view | from | COMPOSITE | |
| P_RSHRsceAssgmtReqDetails | view | from | COMPOSITE | |
| P_RSHStaffingReqAssgmtHours | view | from | COMPOSITE |
Fields (8)
| Key | Field | CDS Fields | Used in Views |
|---|---|---|---|
| KEY | ProjAssignmentUUID | DraftUUID,ProjAssignmentUUID | 4 |
| EmploymentInternalID | EmploymentInternalID | 4 | |
| ProjAssignmentEndDate | ProjAssignmentEndDate,StaffedResourceEndDate | 4 | |
| ProjAssignmentLastChangedBy | ProjAssignmentLastChangedBy | 1 | |
| ProjAssignmentStartDate | ProjAssignmentStartDate,StaffedResourceStartDate | 4 | |
| ProjAssignmentTotalHours | AssignedHours,ProjAssignmentTotalHours | 3 | |
| ResourceDemandUUID | ResourceDemandUUID | 4 | |
| SourceOfSupply | SourceOfSupply | 1 |
@VDM.lifecycle.contract.type: #PUBLIC_LOCAL_API
@AbapCatalog.preserveKey: true
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.sqlViewName: 'IRSHPROJASG'
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Project Assignment'
@Search.searchable: false
@ObjectModel.compositionRoot: true
@ObjectModel.entityChangeStateId: 'ProjAssignmentLastChangedAt'
@ObjectModel.usageType.dataClass: #TRANSACTIONAL
@ObjectModel.usageType.serviceQuality: #X
@ObjectModel.usageType.sizeCategory: #XL
@VDM.viewType: #BASIC
@ClientHandling.algorithm: #SESSION_VARIABLE
@AccessControl.personalData.blocking: #REQUIRED
/*
CONTRACT**********************************************************************************************************************
Name: Project Assignment
Specification: Additional fields for the project assignment draft are added here.
Requires: NA
Ensures: That the draft table has all the fields that we required
Owners: CF, PSP
Contributors: PSP
Unit Test required Y/N: Y
Additional comments None
END OF CONTRACT***************************************************************************************************************
*/
define view I_RSHProjectAssignment
as select from rsh_d_projasg
association [0..*] to I_RSHProjectAssignmentPerDay as _ProjectAssignmentPerDay on _ProjectAssignmentPerDay.ProjAssignmentUUID = $projection.ProjAssignmentUUID
association [0..*] to I_RSHProjectAssignmentCapKPI as _ProjectAssignmentCapKPI on _ProjectAssignmentCapKPI.ProjAssignmentUUID = $projection.ProjAssignmentUUID
association [0..*] to I_RSHProjectAssignmentKPI as _ProjectAssignmentKPI on _ProjectAssignmentKPI.ProjAssignmentUUID = $projection.ProjAssignmentUUID
{
key projassignmentuuid as ProjAssignmentUUID,
employmentinternalid as EmploymentInternalID,
resourcedemanduuid as ResourceDemandUUID,
projassignmentcreatedby as ProjAssignmentCreatedBy,
@Semantics.systemDate.createdAt
projassignmentcreatedat as ProjAssignmentCreatedAt,
projassignmentlastchangedby as ProjAssignmentLastChangedBy,
@Semantics.systemDate.lastChangedAt
projassignmentlastchangedat as ProjAssignmentLastChangedAt,
sourceofsupply as SourceOfSupply,
'' as ProjAssignmentDistributionRule,
min( _ProjectAssignmentPerDay.ProjAssignmentDate) as ProjAssignmentStartDate,
max( _ProjectAssignmentPerDay.ProjAssignmentDate) as ProjAssignmentEndDate,
cast (sum( _ProjectAssignmentPerDay.ProjAssignmentDurationInHours) as rsh_ps_proj_total_asg_duration) as ProjAssignmentTotalHours,
cast('0' as rsh_ps_proj_asg_duratn_per_day) as ProjAssignmentHoursPerDay,
0 as ProjAssignmentUtilization,
cast( 0 as rsh_ps_overbooked_threshold ) as EmployeeUtilLvlOverbooked,
cast( 0 as rsh_ps_free_capacity_threshold ) as EmployeeUtilLvlFreeCapacity,
'' as ProjAssignIsDistrToSpecifDays,
'' as ProjAssignIsDistrToMonday,
'' as ProjAssignIsDistrToTuesday,
'' as ProjAssignIsDistrToWednesday,
'' as ProjAssignIsDistrToThursday,
'' as ProjAssignIsDistrToFriday,
'' as ProjAssignIsDistrToSaturday,
'' as ProjAssignIsDistrToSunday,
cast('' as rsh_ps_proj_asg_life_cycle) as ProjAssignmentLifeCycle, // Create / Delete scenario
// Empty value. To be populated during create and update draft scenario.
cast(0 as rsh_ps_employeerequestopenhour ) as EmployeeRequestOpenDuration,
cast('' as rsh_ps_proj_asg_draft_source) as SourceOfDraftCreationInRSH,
cast('99991212235959' as tzntstmps) as ProjectLastChangedDateTime,
// Associations
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_ProjectAssignmentPerDay,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_ProjectAssignmentCapKPI,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_ProjectAssignmentKPI
}
group by
projassignmentuuid,
employmentinternalid,
resourcedemanduuid,
projassignmentcreatedby,
projassignmentcreatedat,
projassignmentlastchangedby,
sourceofsupply,
projassignmentlastchangedat
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_RSHPROJECTASSIGNMENTPERDAY",
"RSH_D_PROJASG"
],
"ASSOCIATED":
[
"I_RSHPROJECTASSIGNMENTCAPKPI",
"I_RSHPROJECTASSIGNMENTKPI",
"I_RSHPROJECTASSIGNMENTPERDAY"
],
"BASE":
[],
"ANNO_REF":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/