I_PersonWorkAgrmtForKeyDate

DDL: I_PERSONWORKAGRMTFORKEYDATE SQL: IPERWKAGRKEYDATE Type: view COMPOSITE Package: VDM_SHCM_EMPLOYEE_V2

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)

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