I_PersonWorkAgreement_2

DDL: I_PERSONWORKAGREEMENT_2 SQL: IPERSWKAGRMT2 Type: view COMPOSITE Package: WFD_BL_CDS_DEF

Person Work Agreement Details

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.

Data Sources (3)

SourceAliasJoin Type
I_BusinessPartner BusinessPartner inner
I_HrPersWrkAgrmt HrPersonWorkAgreement from
I_PersWrkAgrmtToPartner PersonWrkAgrmtToPartner inner

Associations (10)

CardinalityTargetAliasCondition
[1] I_BusinessPartner _BusinessPartner $projection.Person = _BusinessPartner.BusinessPartner
[1] I_PersonWorkAgrmtForKeyDate _PersonWrkAgrmtForKeyDate $projection.PersonWorkAgreement = _PersonWrkAgrmtForKeyDate.PersonWorkAgreement
[1] I_WorkforcePerson _WorkforcePerson $projection.Person = _WorkforcePerson.Person
[1..*] I_PersonWorkAgrmtToExternalID _PersonWorkAgrmtToExternalID $projection.PersonWorkAgreement = _PersonWorkAgrmtToExternalID.PersonWorkAgreement
[1..*] I_PersonWorkAgrmtOrglDetails _PersonWorkAgrmtOrglDetails _PersonWorkAgrmtOrglDetails.PersonWorkAgreement = $projection.PersonWorkAgreement
[1..*] I_PersonWorkAgrmtStatus _PersonWorkAgrmtStatus _PersonWorkAgrmtStatus.PersonWorkAgreement = $projection.PersonWorkAgreement
[0..*] I_PersonWorkAgrmtPlndWrkgTime _PersonWorkAgrmtPlndWrkgTime _PersonWorkAgrmtPlndWrkgTime.PersonWorkAgreement = $projection.PersonWorkAgreement
[0..*] I_PersonWorkAgrmtSrvcCostLevel _PersonWorkAgrmtSrvcCostLevel _PersonWorkAgrmtSrvcCostLevel.PersonWorkAgreement = $projection.PersonWorkAgreement
[0..*] I_PersWrkAgrmtManagerForKeyDte _PersWrkAgrmtManagerForKeyDte $projection.PersonWorkAgreement = _PersWrkAgrmtManagerForKeyDte.PersonWorkAgreement
[1] I_PersonWorkAgreementType _PersonWorkAgreementType $projection.PersonWorkAgreement = _PersonWorkAgreementType.PersonWorkAgreement

Annotations (17)

NameValueLevelField
AbapCatalog.sqlViewName IPERSWKAGRMT2 view
VDM.viewType #COMPOSITE view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.dataClass #MASTER view
ObjectModel.usageType.serviceQuality #B view
ObjectModel.usageType.sizeCategory #L view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #BLOCKED_DATA_EXCLUDED view
Analytics.dataExtraction.enabled true view
Analytics.dataCategory #DIMENSION view
AbapCatalog.preserveKey true view
Metadata.allowExtensions true view
Analytics.internalName #LOCAL view
ObjectModel.representativeKey PersonWorkAgreement view
Metadata.ignorePropagatedAnnotations true view
EndUserText.label Person Work Agreement Details view

Fields (14)

KeyFieldSource TableSource FieldDescription
KEY PersonWorkAgreement I_HrPersWrkAgrmt PersonWorkAgreement
Person I_BusinessPartner BusinessPartner
AuthorizationGroup I_BusinessPartner AuthorizationGroup
PersonFullName I_BusinessPartner PersonFullName
_PersonWrkAgrmtForKeyDate _PersonWrkAgrmtForKeyDate
_PersonWorkAgrmtToExternalID _PersonWorkAgrmtToExternalID
_BusinessPartner _BusinessPartner
_WorkforcePerson _WorkforcePerson
_PersonWorkAgrmtOrglDetails _PersonWorkAgrmtOrglDetails
_PersonWorkAgrmtStatus _PersonWorkAgrmtStatus
_PersonWorkAgrmtPlndWrkgTime _PersonWorkAgrmtPlndWrkgTime
_PersonWorkAgrmtSrvcCostLevel _PersonWorkAgrmtSrvcCostLevel
_PersWrkAgrmtManagerForKeyDte _PersWrkAgrmtManagerForKeyDte
_PersonWorkAgreementType _PersonWorkAgreementType
@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'
define view I_PersonWorkAgreement_2
  ////  as select from P_U_PersonWorkAgreement_1

  as select from I_HrPersWrkAgrmt        as HrPersonWorkAgreement
    inner join   I_PersWrkAgrmtToPartner as PersonWrkAgrmtToPartner on PersonWrkAgrmtToPartner.PersonWorkAgreement = HrPersonWorkAgreement.PersonWorkAgreement

    inner join   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
}

//define view I_PersonWorkAgreement_1

//  as select from 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

//}


//  as select from I_HrPersWrkAgrmt        as HrPersonWorkAgreement

//    inner join   I_PersWrkAgrmtToPartner as PersonWrkAgrmtToPartner on PersonWrkAgrmtToPartner.PersonWorkAgreement = HrPersonWorkAgreement.PersonWorkAgreement

//

//    inner join   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

//}