I_PersonWorkAgrmtForKeyDate
Person WorkAgreement Details for key date
I_PersonWorkAgrmtForKeyDate is a Composite CDS View that provides data about "Person WorkAgreement Details for key date" in SAP S/4HANA. It reads from 4 data sources (I_PersonWorkAgrmtOrglDetails, I_PersonWorkAgrmtSrvcCostLevel, I_PersonWorkAgrmtStatus, I_PersonWorkAgrmtPlndWrkgTime) and exposes 17 fields with key field PersonWorkAgreement. It has 5 associations to related views. Part of development package VDM_SHCM_EMPLOYEE_V2.
Data Sources (4)
| Source | Alias | Join Type |
|---|---|---|
| I_PersonWorkAgrmtOrglDetails | OrgDetails | from |
| I_PersonWorkAgrmtSrvcCostLevel | ServiceCostLevel | left_outer |
| I_PersonWorkAgrmtStatus | StatusDetails | inner |
| I_PersonWorkAgrmtPlndWrkgTime | WSDetails | left_outer |
Parameters (1)
| Name | Type | Default |
|---|---|---|
| P_KeyDate | sydate |
Associations (5)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1] | I_CompanyCode | _CompanyCode | $projection.CompanyCode = _CompanyCode.CompanyCode |
| [1] | I_CostCenter | _CostCenter | $projection.CostCenter = _CostCenter.CostCenter and $projection.CompanyCode = _CostCenter.CompanyCode and _CostCenter.ValidityStartDate <= $parameters.P_KeyDate and _CostCenter.ValidityEndDate >= $parameters.P_KeyDate |
| [0..*] | I_PersonWorkAgrmtJobText | _PersonWorkAgrmtJobText | $projection.Job = _PersonWorkAgrmtJobText.Job and _PersonWorkAgrmtJobText.StartDate <= $parameters.P_KeyDate and _PersonWorkAgrmtJobText.EndDate >= $parameters.P_KeyDate |
| [0..*] | I_OrganizationalUnitText | _OrganizationalUnitName | $projection.OrganizationalUnit = _OrganizationalUnitName.OrganizationalUnit and _OrganizationalUnitName.StartDate <= $parameters.P_KeyDate and _OrganizationalUnitName.EndDate >= $parameters.P_KeyDate |
| [0..*] | I_PersonWorkAgrmtStatusText | _PersonWorkAgrmtStatusText | _PersonWorkAgrmtStatusText.WorkAgreementStatus = $projection.WorkAgreementStatus |
Annotations (11)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | IPERWKAGRKEYDATE | view | |
| VDM.viewType | #COMPOSITE | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| ObjectModel.usageType.dataClass | #MASTER | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| EndUserText.label | Person WorkAgreement Details for key date | view | |
| ObjectModel.representativeKey | PersonWorkAgreement | view | |
| Metadata.ignorePropagatedAnnotations | true | view |
Fields (17)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | PersonWorkAgreement | I_PersonWorkAgrmtOrglDetails | PersonWorkAgreement | |
| KeyDate | ||||
| CompanyCode | I_PersonWorkAgrmtOrglDetails | CompanyCode | ||
| CostCenter | I_PersonWorkAgrmtOrglDetails | CostCenter | ||
| Job | I_PersonWorkAgrmtOrglDetails | Job | ||
| PersonWorkAgrmtAuthznGrpg | I_PersonWorkAgrmtOrglDetails | PersonWorkAgrmtAuthznGrpg | ||
| OrganizationalUnit | I_PersonWorkAgrmtOrglDetails | OrganizationalUnit | ||
| WorkAgreementStatus | I_PersonWorkAgrmtStatus | WorkAgreementStatus | ||
| WorkingTimePercentage | I_PersonWorkAgrmtPlndWrkgTime | WorkingTimePercentage | ||
| WeeklyWorkdays | I_PersonWorkAgrmtPlndWrkgTime | WeeklyWorkdays | ||
| WeeklyWorkingHours | I_PersonWorkAgrmtPlndWrkgTime | WeeklyWorkingHours | ||
| ServiceCostLevel | I_PersonWorkAgrmtSrvcCostLevel | ServiceCostLevel | ||
| _CompanyCode | _CompanyCode | |||
| _CostCenter | _CostCenter | |||
| _PersonWorkAgrmtJobText | _PersonWorkAgrmtJobText | |||
| _OrganizationalUnitName | _OrganizationalUnitName | |||
| _PersonWorkAgrmtStatusText | _PersonWorkAgrmtStatusText |
@AbapCatalog.sqlViewName: 'IPERWKAGRKEYDATE'
@VDM.viewType: #COMPOSITE
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType.dataClass: #MASTER
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #L
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Person WorkAgreement Details for key date'
@ObjectModel.representativeKey: 'PersonWorkAgreement'
@AccessControl.privilegedAssociations: [ '_PersonWorkAgrmtJobText', '_OrganizationalUnitName' , '_PersonWorkAgrmtStatusText' ]
@Metadata.ignorePropagatedAnnotations:true
@ObjectModel.supportedCapabilities: [#SQL_DATA_SOURCE,
#ANALYTICAL_DIMENSION,
#CDS_MODELING_DATA_SOURCE,
#CDS_MODELING_ASSOCIATION_TARGET]
define view I_PersonWorkAgrmtForKeyDate
with parameters
@Consumption.hidden : true
@Environment.systemField: #SYSTEM_DATE
P_KeyDate : sydate
as select from I_PersonWorkAgrmtOrglDetails as OrgDetails
inner join I_PersonWorkAgrmtStatus as StatusDetails on OrgDetails.PersonWorkAgreement = StatusDetails.PersonWorkAgreement
and StatusDetails.StartDate <= $parameters.P_KeyDate
and StatusDetails.EndDate >= $parameters.P_KeyDate
left outer join I_PersonWorkAgrmtPlndWrkgTime as WSDetails on OrgDetails.PersonWorkAgreement = WSDetails.PersonWorkAgreement
and WSDetails.StartDate <= $parameters.P_KeyDate
and WSDetails.EndDate >= $parameters.P_KeyDate
left outer join I_PersonWorkAgrmtSrvcCostLevel as ServiceCostLevel on OrgDetails.PersonWorkAgreement = ServiceCostLevel.PersonWorkAgreement
and ServiceCostLevel.StartDate <= $parameters.P_KeyDate
and ServiceCostLevel.EndDate >= $parameters.P_KeyDate
association [1] to I_CompanyCode as _CompanyCode on $projection.CompanyCode = _CompanyCode.CompanyCode
association [1] to I_CostCenter as _CostCenter on $projection.CostCenter = _CostCenter.CostCenter
and $projection.CompanyCode = _CostCenter.CompanyCode
and _CostCenter.ValidityStartDate <= $parameters.P_KeyDate
and _CostCenter.ValidityEndDate >= $parameters.P_KeyDate
association [0..*] to I_PersonWorkAgrmtJobText as _PersonWorkAgrmtJobText on $projection.Job = _PersonWorkAgrmtJobText.Job
and _PersonWorkAgrmtJobText.StartDate <= $parameters.P_KeyDate
and _PersonWorkAgrmtJobText.EndDate >= $parameters.P_KeyDate
association [0..*] to I_OrganizationalUnitText as _OrganizationalUnitName on $projection.OrganizationalUnit = _OrganizationalUnitName.OrganizationalUnit
and _OrganizationalUnitName.StartDate <= $parameters.P_KeyDate
and _OrganizationalUnitName.EndDate >= $parameters.P_KeyDate
association [0..*] to I_PersonWorkAgrmtStatusText as _PersonWorkAgrmtStatusText on _PersonWorkAgrmtStatusText.WorkAgreementStatus = $projection.WorkAgreementStatus
{
key OrgDetails.PersonWorkAgreement,
$parameters.P_KeyDate as KeyDate,
OrgDetails.CompanyCode,
OrgDetails.CostCenter,
OrgDetails.Job,
OrgDetails.PersonWorkAgrmtAuthznGrpg,
OrgDetails.OrganizationalUnit,
StatusDetails.WorkAgreementStatus,
WSDetails.WorkingTimePercentage,
WSDetails.WeeklyWorkdays,
WSDetails.WeeklyWorkingHours,
ServiceCostLevel.ServiceCostLevel,
_CompanyCode,
_CostCenter,
_PersonWorkAgrmtJobText,
_OrganizationalUnitName,
_PersonWorkAgrmtStatusText
}
where
OrgDetails.StartDate <= $parameters.P_KeyDate
and OrgDetails.EndDate >= $parameters.P_KeyDate
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