I_RSHProjectAssignmentTP
Project Assignment TP
I_RSHProjectAssignmentTP is a Transactional CDS View that provides data about "Project Assignment TP" in SAP S/4HANA. It reads from 1 data source (I_RSHProjectAssignment) and exposes 35 fields with key field ProjAssignmentUUID. It has 5 associations to related views.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| I_RSHProjectAssignment | I_RSHProjectAssignment | from |
Associations (5)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..*] | I_RSHProjectAssignmentPerDayTP | _ProjectAssignmentPerDay | _ProjectAssignmentPerDay.ProjAssignmentUUID = $projection.ProjAssignmentUUID |
| [0..*] | I_RSHProjectAssignmentKPITP | _ProjectAssignmentKPI | _ProjectAssignmentKPI.ProjAssignmentUUID = $projection.ProjAssignmentUUID |
| [0..*] | I_RSHProjectAssignmentCapKPITP | _ProjectAssignmentCapKPI | _ProjectAssignmentCapKPI.ProjAssignmentUUID = $projection.ProjAssignmentUUID |
| [0..*] | I_RSHProjectAssgmtPerWeekTP | _ProjectAssignmentPerWeek | _ProjectAssignmentPerWeek.ProjAssignmentUUID = $projection.ProjAssignmentUUID |
| [0..*] | I_RSHProjectAssgmtPerMonthTP | _ProjectAssignmentPerMonth | _ProjectAssignmentPerMonth.ProjAssignmentUUID = $projection.ProjAssignmentUUID |
Annotations (26)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | IRSHPROJASGTP | view | |
| AccessControl.authorizationCheck | #NOT_REQUIRED | view | |
| EndUserText.label | Project Assignment TP | view | |
| Metadata.allowExtensions | true | view | |
| Search.searchable | false | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| ObjectModel.transactionalProcessingEnabled | true | view | |
| ObjectModel.writeActivePersistence | RSH_D_PROJASG | view | |
| ObjectModel.writeDraftPersistence | RSH_D_PROJASG_D | view | |
| ObjectModel.lifecycle.enqueue.expiryBehavior | #RELATIVE_TO_LAST_CHANGE | view | |
| ObjectModel.lifecycle.enqueue.expiryInterval | PT1M | view | |
| ObjectModel.lifecycle.processing.expiryBehavior | #RELATIVE_TO_LAST_CHANGE | view | |
| ObjectModel.lifecycle.processing.expiryInterval | PT1M | view | |
| ObjectModel.lifecycle.draft.expiryInterval | P1D | view | |
| ObjectModel.entityChangeStateId | ProjAssignmentLastChangedAt | view | |
| ObjectModel.draftEnabled | true | view | |
| ObjectModel.compositionRoot | true | view | |
| ObjectModel.createEnabled | true | view | |
| ObjectModel.updateEnabled | true | view | |
| ObjectModel.deleteEnabled | true | view | |
| ObjectModel.semanticKey | ProjAssignmentUUID | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| ObjectModel.usageType.serviceQuality | #D | view | |
| ObjectModel.usageType.sizeCategory | #XL | view | |
| VDM.viewType | #TRANSACTIONAL | view | |
| VDM.lifecycle.contract.type | #SAP_INTERNAL_API | view |
Fields (35)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | ProjAssignmentUUID | ProjAssignmentUUID | ||
| EmploymentInternalID | EmploymentInternalID | |||
| ResourceDemandUUID | ResourceDemandUUID | |||
| SourceOfSupply | SourceOfSupply | |||
| SourceOfDraftCreationInRSH | SourceOfDraftCreationInRSH | |||
| ProjAssignmentDistributionRule | ProjAssignmentDistributionRule | |||
| ProjAssignmentStartDate | ProjAssignmentStartDate | |||
| ProjAssignmentEndDate | ProjAssignmentEndDate | |||
| ProjAssignmentTotalHours | ProjAssignmentTotalHours | |||
| ProjAssignmentHoursPerDay | ProjAssignmentHoursPerDay | |||
| ProjAssignmentUtilization | ProjAssignmentUtilization | |||
| ProjAssignDayCapacityStartDate | ||||
| ProjAssignDayCapacityEndDate | ||||
| ProjAssignIsDistrToSpecifDays | ProjAssignIsDistrToSpecifDays | |||
| ProjAssignIsDistrToMonday | ProjAssignIsDistrToMonday | |||
| ProjAssignIsDistrToTuesday | ProjAssignIsDistrToTuesday | |||
| ProjAssignIsDistrToWednesday | ProjAssignIsDistrToWednesday | |||
| ProjAssignIsDistrToThursday | ProjAssignIsDistrToThursday | |||
| ProjAssignIsDistrToFriday | ProjAssignIsDistrToFriday | |||
| ProjAssignIsDistrToSaturday | ProjAssignIsDistrToSaturday | |||
| ProjAssignIsDistrToSunday | ProjAssignIsDistrToSunday | |||
| ProjAssignmentCreatedBy | ProjAssignmentCreatedBy | |||
| ProjAssignmentCreatedAt | ProjAssignmentCreatedAt | |||
| ProjAssignmentLastChangedBy | ProjAssignmentLastChangedBy | |||
| ProjAssignmentLastChangedAt | ProjAssignmentLastChangedAt | |||
| ProjAssignmentLifeCycle | ProjAssignmentLifeCycle | |||
| EmployeeRequestOpenDuration | EmployeeRequestOpenDuration | |||
| ProjectLastChangedDateTime | ProjectLastChangedDateTime | |||
| EmployeeUtilLvlOverbooked | ||||
| EmployeeUtilLvlFreeCapacity | ||||
| _ProjectAssignmentPerDay | _ProjectAssignmentPerDay | |||
| _ProjectAssignmentKPI | _ProjectAssignmentKPI | |||
| _ProjectAssignmentCapKPI | _ProjectAssignmentCapKPI | |||
| _ProjectAssignmentPerWeek | _ProjectAssignmentPerWeek | |||
| _ProjectAssignmentPerMonth | _ProjectAssignmentPerMonth |
@AbapCatalog.sqlViewName: 'IRSHPROJASGTP'
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Project Assignment TP'
@Metadata.allowExtensions: true
@Search.searchable: false
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel: {
transactionalProcessingEnabled: true,
writeActivePersistence: 'RSH_D_PROJASG',
writeDraftPersistence: 'RSH_D_PROJASG_D',
lifecycle.enqueue.expiryBehavior: #RELATIVE_TO_LAST_CHANGE,
lifecycle.enqueue.expiryInterval: 'PT1M', //Lock shall expire between 1 to 5 minutes! The draft lifecycle handler runs every 5 minutes!
lifecycle.processing.expiryBehavior: #RELATIVE_TO_LAST_CHANGE,
lifecycle.processing.expiryInterval: 'PT1M', //Draft shall expire between 1 to 5 minutes too!
lifecycle.draft.expiryInterval: 'P1D', // Any unused draft shall be deleted after 1 day!
entityChangeStateId: 'ProjAssignmentLastChangedAt',
draftEnabled: true,
compositionRoot: true,
createEnabled: true, updateEnabled: true, deleteEnabled: true,
semanticKey: 'ProjAssignmentUUID',
usageType: { dataClass: #TRANSACTIONAL, serviceQuality: #D, sizeCategory: #XL }
}
@VDM.viewType: #TRANSACTIONAL
@VDM.lifecycle.contract.type: #SAP_INTERNAL_API
/*
CONTRACT**********************************************************************************************************************
Name: Assignment transaction processing
Specification: The view creates the draft enabled BO.
Requires: NA
Ensures: The draft enabled business object is created.
Owners: PSP
Contributors: CF, PSP, RY
Unit Test required Y/N: Y
Additional comments None
END OF CONTRACT***************************************************************************************************************
*/
define view I_RSHProjectAssignmentTP
as select from I_RSHProjectAssignment
association [0..*] to I_RSHProjectAssignmentPerDayTP as _ProjectAssignmentPerDay on _ProjectAssignmentPerDay.ProjAssignmentUUID = $projection.ProjAssignmentUUID
association [0..*] to I_RSHProjectAssignmentKPITP as _ProjectAssignmentKPI on _ProjectAssignmentKPI.ProjAssignmentUUID = $projection.ProjAssignmentUUID
association [0..*] to I_RSHProjectAssignmentCapKPITP as _ProjectAssignmentCapKPI on _ProjectAssignmentCapKPI.ProjAssignmentUUID = $projection.ProjAssignmentUUID
association [0..*] to I_RSHProjectAssgmtPerWeekTP as _ProjectAssignmentPerWeek on _ProjectAssignmentPerWeek.ProjAssignmentUUID = $projection.ProjAssignmentUUID
association [0..*] to I_RSHProjectAssgmtPerMonthTP as _ProjectAssignmentPerMonth on _ProjectAssignmentPerMonth.ProjAssignmentUUID = $projection.ProjAssignmentUUID
{
key ProjAssignmentUUID,
EmploymentInternalID,
ResourceDemandUUID,
SourceOfSupply,
SourceOfDraftCreationInRSH,
ProjAssignmentDistributionRule,
ProjAssignmentStartDate,
ProjAssignmentEndDate,
ProjAssignmentTotalHours,
ProjAssignmentHoursPerDay,
ProjAssignmentUtilization,
dats_add_days(cast( concat( left(ProjAssignmentStartDate, 6 ), '01') as dats), -36, 'FAIL') as ProjAssignDayCapacityStartDate,
dats_add_days(cast( concat( left(ProjAssignmentStartDate, 6 ), '01') as dats), 67, 'FAIL') as ProjAssignDayCapacityEndDate,
ProjAssignIsDistrToSpecifDays,
ProjAssignIsDistrToMonday,
ProjAssignIsDistrToTuesday,
ProjAssignIsDistrToWednesday,
ProjAssignIsDistrToThursday,
ProjAssignIsDistrToFriday,
ProjAssignIsDistrToSaturday,
ProjAssignIsDistrToSunday,
@Semantics.user.createdBy: true
ProjAssignmentCreatedBy,
@Semantics.systemDateTime.createdAt: true
ProjAssignmentCreatedAt,
@Semantics.user.lastChangedBy: true
ProjAssignmentLastChangedBy,
@Semantics.systemDateTime.lastChangedAt: true
ProjAssignmentLastChangedAt,
ProjAssignmentLifeCycle,
//Passback the field to be used in the assignemnt structure
EmployeeRequestOpenDuration,
ProjectLastChangedDateTime,
cast( EmployeeUtilLvlOverbooked as rsh_ps_overbooked_threshold ) as EmployeeUtilLvlOverbooked,
cast( EmployeeUtilLvlFreeCapacity as rsh_ps_free_capacity_threshold ) as EmployeeUtilLvlFreeCapacity,
/* Associations */
//_Employment,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_ProjectAssignmentPerDay,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_ProjectAssignmentKPI,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_ProjectAssignmentCapKPI,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_ProjectAssignmentPerWeek,
@ObjectModel.association.type: #TO_COMPOSITION_CHILD
_ProjectAssignmentPerMonth
}
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA