I_PersonWorkAgreement_2 is a Composite CDS View (Dimension) that provides data about "Person Work Agreement Details" in SAP S/4HANA. It reads from 3 data sources (I_BusinessPartner, I_HrPersWrkAgrmt, I_PersWrkAgrmtToPartner) and exposes 14 fields with key field PersonWorkAgreement. It has 10 associations to related views. Part of development package WFD_BL_CDS_DEF.
@AbapCatalog.sqlViewName: 'IPERSWKAGRMT2'
@VDM.viewType: #COMPOSITE@ClientHandling.algorithm: #SESSION_VARIABLE@ObjectModel.usageType.dataClass: #MASTER@ObjectModel.usageType.serviceQuality: #B@ObjectModel.usageType.sizeCategory: #L@AbapCatalog.compiler.compareFilter: true@AccessControl.authorizationCheck: #CHECK@AccessControl.personalData.blocking: #BLOCKED_DATA_EXCLUDED// @AccessControl.personalData.blockingIndicator: 'IsBusinessPurposeCompleted'
@Analytics.dataExtraction.enabled: true@Analytics.dataCategory: #DIMENSION@AbapCatalog.preserveKey:true@Metadata.allowExtensions: true@Analytics.internalName: #LOCAL@ObjectModel.representativeKey: 'PersonWorkAgreement'
@Metadata.ignorePropagatedAnnotations:true@EndUserText.label: 'Person Work Agreement Details'
defineview I_PersonWorkAgreement_2
//// asselectfrom P_U_PersonWorkAgreement_1
asselectfrom I_HrPersWrkAgrmt as HrPersonWorkAgreement
innerjoin I_PersWrkAgrmtToPartner as PersonWrkAgrmtToPartner on PersonWrkAgrmtToPartner.PersonWorkAgreement = HrPersonWorkAgreement.PersonWorkAgreement
innerjoin I_BusinessPartner as BusinessPartner on BusinessPartner.BusinessPartner = PersonWrkAgrmtToPartner.Person
and BusinessPartner.BusinessPartnerCategory = '1'
association [1] to I_BusinessPartner as _BusinessPartner on $projection.Person = _BusinessPartner.BusinessPartner
association [1] to I_PersonWorkAgrmtForKeyDate as _PersonWrkAgrmtForKeyDate on $projection.PersonWorkAgreement = _PersonWrkAgrmtForKeyDate.PersonWorkAgreement
association [1] to I_WorkforcePerson as _WorkforcePerson on $projection.Person = _WorkforcePerson.Person
association [1..*] to I_PersonWorkAgrmtToExternalID as _PersonWorkAgrmtToExternalID on $projection.PersonWorkAgreement = _PersonWorkAgrmtToExternalID.PersonWorkAgreement
association [1..*] to I_PersonWorkAgrmtOrglDetails as _PersonWorkAgrmtOrglDetails on _PersonWorkAgrmtOrglDetails.PersonWorkAgreement = $projection.PersonWorkAgreement
association [1..*] to I_PersonWorkAgrmtStatus as _PersonWorkAgrmtStatus on _PersonWorkAgrmtStatus.PersonWorkAgreement = $projection.PersonWorkAgreement
association [0..*] to I_PersonWorkAgrmtPlndWrkgTime as _PersonWorkAgrmtPlndWrkgTime on _PersonWorkAgrmtPlndWrkgTime.PersonWorkAgreement = $projection.PersonWorkAgreement
association [0..*] to I_PersonWorkAgrmtSrvcCostLevel as _PersonWorkAgrmtSrvcCostLevel on _PersonWorkAgrmtSrvcCostLevel.PersonWorkAgreement = $projection.PersonWorkAgreement
association [0..*] to I_PersWrkAgrmtManagerForKeyDte as _PersWrkAgrmtManagerForKeyDte on $projection.PersonWorkAgreement = _PersWrkAgrmtManagerForKeyDte.PersonWorkAgreement
association [1] to I_PersonWorkAgreementType as _PersonWorkAgreementType on $projection.PersonWorkAgreement = _PersonWorkAgreementType.PersonWorkAgreement
{
@ObjectModel.text.element: 'PersonFullName'
key HrPersonWorkAgreement.PersonWorkAgreement as PersonWorkAgreement,
BusinessPartner.BusinessPartner as Person,
BusinessPartner.AuthorizationGroup,
@Semantics.text
BusinessPartner.PersonFullName,
_PersonWrkAgrmtForKeyDate,
_PersonWorkAgrmtToExternalID,
_BusinessPartner,
_WorkforcePerson,
_PersonWorkAgrmtOrglDetails,
_PersonWorkAgrmtStatus,
_PersonWorkAgrmtPlndWrkgTime,
_PersonWorkAgrmtSrvcCostLevel,
_PersWrkAgrmtManagerForKeyDte,
_PersonWorkAgreementType
}
//defineview I_PersonWorkAgreement_1
// asselectfrom P_U_PersonWorkAgreement_1
// association [1] to I_BusinessPartner as _BusinessPartner on $projection.Person = _BusinessPartner.BusinessPartner
// association [1] to I_PersonWorkAgrmtForKeyDate as _PersonWrkAgrmtForKeyDate on $projection.PersonWorkAgreement = _PersonWrkAgrmtForKeyDate.PersonWorkAgreement
// association [1] to I_WorkforcePerson as _WorkforcePerson on $projection.Person = _WorkforcePerson.Person
// association [1..1] to I_PersonWorkAgrmtToExternalID as _PersonWorkAgrmtToExternalID on $projection.PersonWorkAgreement = _PersonWorkAgrmtToExternalID.PersonWorkAgreement
// association [1..*] to I_PersonWorkAgrmtOrglDetails as _PersonWorkAgrmtOrglDetails on _PersonWorkAgrmtOrglDetails.PersonWorkAgreement = $projection.PersonWorkAgreement
// association [1..*] to I_PersonWorkAgrmtStatus as _PersonWorkAgrmtStatus on _PersonWorkAgrmtStatus.PersonWorkAgreement = $projection.PersonWorkAgreement
// association [0..*] to I_PersonWorkAgrmtPlndWrkgTime as _PersonWorkAgrmtPlndWrkgTime on _PersonWorkAgrmtPlndWrkgTime.PersonWorkAgreement = $projection.PersonWorkAgreement
// association [0..*] to I_PersonWorkAgrmtSrvcCostLevel as _PersonWorkAgrmtSrvcCostLevel on _PersonWorkAgrmtSrvcCostLevel.PersonWorkAgreement = $projection.PersonWorkAgreement
// association [0..*] to I_PersWrkAgrmtManagerForKeyDte as _PersWrkAgrmtManagerForKeyDte on $projection.PersonWorkAgreement = _PersWrkAgrmtManagerForKeyDte.PersonWorkAgreement
// association [1] to I_PersonWorkAgreementType as _PersonWorkAgreementType on $projection.PersonWorkAgreement = _PersonWorkAgreementType.PersonWorkAgreement
//
//{
// @ObjectModel.text.element: 'PersonFullName'
// key PersonWorkAgreement,
// Person,
// AuthorizationGroup,
// @Semantics.text// PersonFullName,
// _PersonWrkAgrmtForKeyDate,
// _PersonWorkAgrmtToExternalID,
// _BusinessPartner,
// _WorkforcePerson,
// _PersonWorkAgrmtOrglDetails,
// _PersonWorkAgrmtStatus,
// _PersonWorkAgrmtPlndWrkgTime,
// _PersonWorkAgrmtSrvcCostLevel,
// _PersWrkAgrmtManagerForKeyDte,
// _PersonWorkAgreementType
//}
// asselectfrom I_HrPersWrkAgrmt as HrPersonWorkAgreement
// innerjoin I_PersWrkAgrmtToPartner as PersonWrkAgrmtToPartner on PersonWrkAgrmtToPartner.PersonWorkAgreement = HrPersonWorkAgreement.PersonWorkAgreement
//
// innerjoin I_BusinessPartner as BusinessPartner on BusinessPartner.BusinessPartner = PersonWrkAgrmtToPartner.Person
// and BusinessPartner.BusinessPartnerCategory = '1'
//
// association [1] to I_BusinessPartner as _BusinessPartner on $projection.Person = _BusinessPartner.BusinessPartner
// association [1] to I_PersonWorkAgrmtForKeyDate as _PersonWrkAgrmtForKeyDate on $projection.PersonWorkAgreement = _PersonWrkAgrmtForKeyDate.PersonWorkAgreement
// association [1] to I_WorkforcePerson as _WorkforcePerson on $projection.Person = _WorkforcePerson.Person
// association [1..1] to I_PersonWorkAgrmtToExternalID as _PersonWorkAgrmtToExternalID on $projection.PersonWorkAgreement = _PersonWorkAgrmtToExternalID.PersonWorkAgreement
// association [1..*] to I_PersonWorkAgrmtOrglDetails as _PersonWorkAgrmtOrglDetails on _PersonWorkAgrmtOrglDetails.PersonWorkAgreement = $projection.PersonWorkAgreement
// association [1..*] to I_PersonWorkAgrmtStatus as _PersonWorkAgrmtStatus on _PersonWorkAgrmtStatus.PersonWorkAgreement = $projection.PersonWorkAgreement
// association [0..*] to I_PersonWorkAgrmtPlndWrkgTime as _PersonWorkAgrmtPlndWrkgTime on _PersonWorkAgrmtPlndWrkgTime.PersonWorkAgreement = $projection.PersonWorkAgreement
// association [0..*] to I_PersonWorkAgrmtSrvcCostLevel as _PersonWorkAgrmtSrvcCostLevel on _PersonWorkAgrmtSrvcCostLevel.PersonWorkAgreement = $projection.PersonWorkAgreement
// association [0..*] to I_PersWrkAgrmtManagerForKeyDte as _PersWrkAgrmtManagerForKeyDte on $projection.PersonWorkAgreement = _PersWrkAgrmtManagerForKeyDte.PersonWorkAgreement
// association [1] to I_PersonWorkAgreementType as _PersonWorkAgreementType on $projection.PersonWorkAgreement = _PersonWorkAgreementType.PersonWorkAgreement
//
//{
// @ObjectModel.text.element: 'PersonFullName'
// key HrPersonWorkAgreement.PersonWorkAgreement as PersonWorkAgreement,
// BusinessPartner.BusinessPartner as Person,
// BusinessPartner.AuthorizationGroup,
// @Semantics.text// BusinessPartner.PersonFullName,
// _PersonWrkAgrmtForKeyDate,
// _PersonWorkAgrmtToExternalID,
// _BusinessPartner,
// _WorkforcePerson,
// _PersonWorkAgrmtOrglDetails,
// _PersonWorkAgrmtStatus,
// _PersonWorkAgrmtPlndWrkgTime,
// _PersonWorkAgrmtSrvcCostLevel,
// _PersWrkAgrmtManagerForKeyDte,
// _PersonWorkAgreementType
//}