I_PersonWorkAgrmtForKeyDate

DDL: I_PERSONWORKAGRMTFORKEYDATE SQL: IPERWKAGRKEYDATE Type: view COMPOSITE

Person WorkAgreement Details for key date

I_PersonWorkAgrmtForKeyDate (Composite)

Package: Explore, extend and adapt the SAP S/4HANA Cloud Private Edition with built-in and side-by-side extension capabilities.

Human Resources

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.

SAP API Hub

StateC1
Line of BusinessHuman Resources
Application ComponentCA-WFD
CapabilitiesData Source in SQL Select, Analytical Dimension, Data Source for Defining CDS Entities, Association Target for Defining CDS Entities
PackageHuman Resources for SAP S/4HANA Cloud Private Edition
Description <p>This view provides the prerequisites for answering the following business questions:</p> <ul> <li><p>What is the details of a work agreement? (For example, Organizational Details, Status details, Planned working hours, Service cost level)</p></li> </ul>

Documentation

Data Sources (4)

SourceAliasJoin Type
I_PersonWorkAgrmtOrglDetails OrgDetails from
I_PersonWorkAgrmtSrvcCostLevel ServiceCostLevel left_outer
I_PersonWorkAgrmtStatus StatusDetails inner
I_PersonWorkAgrmtPlndWrkgTime WSDetails left_outer

Parameters (1)

NameTypeDefault
P_KeyDate sydate

Associations (5)

CardinalityTargetAliasCondition
[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)

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

KeyFieldSource TableSource FieldDescription
KEY PersonWorkAgreement I_PersonWorkAgrmtOrglDetails PersonWorkAgreement Personnel Number
KeyDate
CompanyCode I_PersonWorkAgrmtOrglDetails CompanyCode Receiver Company Code
CostCenter I_PersonWorkAgrmtOrglDetails CostCenter Cost Center
Job I_PersonWorkAgrmtOrglDetails Job Undefined range (can be used for patch levels)
PersonWorkAgrmtAuthznGrpg I_PersonWorkAgrmtOrglDetails PersonWorkAgrmtAuthznGrpg Organizational Key
OrganizationalUnit I_PersonWorkAgrmtOrglDetails OrganizationalUnit Organizational Unit
WorkAgreementStatus I_PersonWorkAgrmtStatus WorkAgreementStatus Model S: Employment Status
WorkingTimePercentage I_PersonWorkAgrmtPlndWrkgTime WorkingTimePercentage Employment percentage
WeeklyWorkdays I_PersonWorkAgrmtPlndWrkgTime WeeklyWorkdays Weekly Workdays
WeeklyWorkingHours I_PersonWorkAgrmtPlndWrkgTime WeeklyWorkingHours Hours per week
ServiceCostLevel I_PersonWorkAgrmtSrvcCostLevel ServiceCostLevel Service Cost Level
_CompanyCode _CompanyCode
_CostCenter _CostCenter
_PersonWorkAgrmtJobText _PersonWorkAgrmtJobText
_OrganizationalUnitName _OrganizationalUnitName
_PersonWorkAgrmtStatusText _PersonWorkAgrmtStatusText

Derived SQL interpretation, reconstructed from the parsed view metadata (data sources, associations, and field mappings). SAP annotations are omitted and the structure is reformulated as SQL — this is a functional approximation, not the verbatim SAP source.

-- Derived SQL interpretation of CDS view I_PersonWorkAgrmtForKeyDate.
-- Reconstructed from parsed metadata (data sources, associations, fields).
-- SAP annotations are omitted and the structure is reformulated as SQL;
-- this is a functional approximation, not the verbatim SAP source. Some join
-- conditions may be unavailable and a few CDS constructs are kept as-is.
-- SQL view name: IPERWKAGRKEYDATE
-- Parameters: P_KeyDate : sydate

CREATE VIEW I_PersonWorkAgrmtForKeyDate AS
SELECT
  OrgDetails.PersonWorkAgreement AS PersonWorkAgreement,
  $parameters.P_KeyDate AS KeyDate,
  OrgDetails.CompanyCode AS CompanyCode,
  OrgDetails.CostCenter AS CostCenter,
  OrgDetails.Job AS Job,
  OrgDetails.PersonWorkAgrmtAuthznGrpg AS PersonWorkAgrmtAuthznGrpg,
  OrgDetails.OrganizationalUnit AS OrganizationalUnit,
  StatusDetails.WorkAgreementStatus AS WorkAgreementStatus,
  WSDetails.WorkingTimePercentage AS WorkingTimePercentage,
  WSDetails.WeeklyWorkdays AS WeeklyWorkdays,
  WSDetails.WeeklyWorkingHours AS WeeklyWorkingHours,
  ServiceCostLevel.ServiceCostLevel AS ServiceCostLevel
FROM I_PersonWorkAgrmtOrglDetails AS OrgDetails
INNER JOIN I_PersonWorkAgrmtStatus AS StatusDetails ON /* join condition not captured in parsed metadata */
LEFT OUTER JOIN I_PersonWorkAgrmtPlndWrkgTime AS WSDetails ON /* join condition not captured in parsed metadata */
LEFT OUTER JOIN I_PersonWorkAgrmtSrvcCostLevel AS ServiceCostLevel ON /* join condition not captured in parsed metadata */
LEFT OUTER JOIN I_CompanyCode AS _CompanyCode ON CompanyCode = _CompanyCode.CompanyCode  -- association [1]
LEFT OUTER JOIN I_CostCenter AS _CostCenter ON CostCenter = _CostCenter.CostCenter AND CompanyCode = _CostCenter.CompanyCode AND _CostCenter.ValidityStartDate <= $parameters.P_KeyDate AND _CostCenter.ValidityEndDate >= $parameters.P_KeyDate  -- association [1]
LEFT OUTER JOIN I_PersonWorkAgrmtJobText AS _PersonWorkAgrmtJobText ON Job = _PersonWorkAgrmtJobText.Job AND _PersonWorkAgrmtJobText.StartDate <= $parameters.P_KeyDate AND _PersonWorkAgrmtJobText.EndDate >= $parameters.P_KeyDate  -- association [0..*]
LEFT OUTER JOIN I_OrganizationalUnitText AS _OrganizationalUnitName ON OrganizationalUnit = _OrganizationalUnitName.OrganizationalUnit AND _OrganizationalUnitName.StartDate <= $parameters.P_KeyDate AND _OrganizationalUnitName.EndDate >= $parameters.P_KeyDate  -- association [0..*]
LEFT OUTER JOIN I_PersonWorkAgrmtStatusText AS _PersonWorkAgrmtStatusText ON _PersonWorkAgrmtStatusText.WorkAgreementStatus = WorkAgreementStatus  -- association [0..*]
;