I_RSHPROJECTASSIGNMENT

CDS View

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)

ViewTypeJoinVDMDescription
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)

KeyField CDS FieldsUsed 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":""
}
}*/