I_WorkforcePersonAddress

DDL: I_WORKFORCEPERSONADDRESS Type: view_entity COMPOSITE Package: VDM_WFD_WORK_FORCE

Workforce Person Address Details

I_WorkforcePersonAddress is a Composite CDS View that provides data about "Workforce Person Address Details" in SAP S/4HANA. It reads from 2 data sources (I_Businesspartneraddressusage, I_BusPartAddress) and exposes 40 fields with key fields WorkforcePersonExternalID, AddressNumber. It has 3 associations to related views. Part of development package VDM_WFD_WORK_FORCE.

Data Sources (2)

SourceAliasJoin Type
I_Businesspartneraddressusage BPAddressUsage inner
I_BusPartAddress EmployeeAddress inner

Associations (3)

CardinalityTargetAliasCondition
[0..1] I_BPProtectedAddress _BPProtectedAddress $projection.BusinessPartner = _BPProtectedAddress.BusinessPartner and $projection.AddressNumber = _BPProtectedAddress.AddressID
[1..1] I_BusinessPartner _BP _BP.BusinessPartner = EmployeeAddress.BusinessPartner
[1] I_WorkforcePerson_1 _WorkforcePerson _WorkforcePerson.WorkforcePersonExternalID = $projection.WorkforcePersonExternalID

Annotations (9)

NameValueLevelField
AccessControl.authorizationCheck #MANDATORY view
AccessControl.personalData.blocking #BLOCKED_DATA_EXCLUDED view
VDM.viewType #COMPOSITE view
EndUserText.label Workforce Person Address Details view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.modelingPattern #NONE view

Fields (40)

KeyFieldSource TableSource FieldDescription
KEY WorkforcePersonExternalID keymap WorkforcePersonExternalID
KEY AddressNumber I_BusPartAddress AddressID
BusinessPartner keymap BusinessPartner
clientNULLasvdm_v_start_dateasStartDate
clientNULLasvdm_v_end_dateasEndDate
Country
PostalCode
Region
SecondaryRegion
SecondaryRegionName
TertiaryRegion
TertiaryRegionName
CityName
DistrictName
StreetPrefixName1
StreetPrefixName2
StreetName
StreetSuffixName1
StreetSuffixName2
HouseNumber
HouseNumberSupplementText
Floor
RoomNumber
CareOfName
POBoxPostalCode
IsBusinessPurposeCompleted _BP IsBusinessPurposeCompleted
DataControllerSet _BP DataControllerSet
DataController1 _BP DataController1
DataController2 _BP DataController2
DataController3 _BP DataController3
DataController4 _BP DataController4
DataController5 _BP DataController5
DataController6 _BP DataController6
DataController7 _BP DataController7
DataController8 _BP DataController8
DataController9 _BP DataController9
DataController10 _BP DataController10
AuthorizationGroup _BP AuthorizationGroup
_BPProtectedAddress _BPProtectedAddress
_WorkforcePerson _WorkforcePerson
@AccessControl.authorizationCheck:#MANDATORY
@AccessControl.personalData.blocking: #BLOCKED_DATA_EXCLUDED

@VDM.viewType: #COMPOSITE
@EndUserText.label: 'Workforce Person Address Details'
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.usageType:{
  serviceQuality: #C,
  sizeCategory: #XL,
  dataClass: #MIXED
}
@ObjectModel.supportedCapabilities: [#CDS_MODELING_DATA_SOURCE, #CDS_MODELING_ASSOCIATION_TARGET ]
@ObjectModel.modelingPattern:#NONE
@Consumption.dbHints:[ 'USE_HEX_PLAN' ]
define view entity I_WorkforcePersonAddress
  as select distinct from I_WorkAssignmentKeyMapping as keymap    
    inner join   I_BusPartAddress                    as EmployeeAddress on EmployeeAddress.BusinessPartner = keymap.BusinessPartner
    inner join   I_Businesspartneraddressusage       as BPAddressUsage  on BPAddressUsage.BusinessPartner = EmployeeAddress.BusinessPartner
                                                                       and BPAddressUsage.AddressNumber   = EmployeeAddress.AddressID

  association [0..1] to I_BPProtectedAddress as _BPProtectedAddress on  $projection.BusinessPartner = _BPProtectedAddress.BusinessPartner
                                                                    and $projection.AddressNumber   = _BPProtectedAddress.AddressID
  association [1..1] to I_BusinessPartner    as _BP                 on  _BP.BusinessPartner = EmployeeAddress.BusinessPartner

  association [1]    to I_WorkforcePerson_1  as _WorkforcePerson    on  _WorkforcePerson.WorkforcePersonExternalID = $projection.WorkforcePersonExternalID
{
  key     keymap.WorkforcePersonExternalID,
  key     EmployeeAddress.AddressID                                                                      as AddressNumber,
          keymap.BusinessPartner,
          cast (tstmp_to_dats( EmployeeAddress.ValidityStartDate,
          abap_system_timezone( $session.client,'NULL' ), $session.client, 'NULL' ) as vdm_v_start_date) as StartDate,
          cast (tstmp_to_dats( EmployeeAddress.ValidityEndDate,
            abap_system_timezone( $session.client,'NULL' ), $session.client, 'NULL' ) as vdm_v_end_date) as EndDate,
          EmployeeAddress._AddressDefaultRepresentation.Country,
          EmployeeAddress._AddressDefaultRepresentation.PostalCode,
          EmployeeAddress._AddressDefaultRepresentation.Region,
          EmployeeAddress._AddressDefaultRepresentation.SecondaryRegion,
          EmployeeAddress._AddressDefaultRepresentation.SecondaryRegionName,
          EmployeeAddress._AddressDefaultRepresentation.TertiaryRegion,
          EmployeeAddress._AddressDefaultRepresentation.TertiaryRegionName,
          EmployeeAddress._AddressDefaultRepresentation.CityName,
          EmployeeAddress._AddressDefaultRepresentation.DistrictName,
          EmployeeAddress._AddressDefaultRepresentation.StreetPrefixName1,
          EmployeeAddress._AddressDefaultRepresentation.StreetPrefixName2,
          EmployeeAddress._AddressDefaultRepresentation.StreetName,
          EmployeeAddress._AddressDefaultRepresentation.StreetSuffixName1,
          EmployeeAddress._AddressDefaultRepresentation.StreetSuffixName2,
          EmployeeAddress._AddressDefaultRepresentation.HouseNumber,
          EmployeeAddress._AddressDefaultRepresentation.HouseNumberSupplementText,
          EmployeeAddress._AddressDefaultRepresentation.Floor,
          EmployeeAddress._AddressDefaultRepresentation.RoomNumber,
          EmployeeAddress._AddressDefaultRepresentation.CareOfName,
          EmployeeAddress._AddressDefaultRepresentation.POBoxPostalCode,
          @Semantics.booleanIndicator: true
          _BP.IsBusinessPurposeCompleted,
          @Consumption.hidden:true
          @UI.hidden:true          
          _BP.DataControllerSet,
          @Consumption.hidden:true
          @UI.hidden:true          
          _BP.DataController1,
          @Consumption.hidden:true
          @UI.hidden:true                    
          _BP.DataController2,
          @Consumption.hidden:true
          @UI.hidden:true                    
          _BP.DataController3,
          @Consumption.hidden:true
          @UI.hidden:true                    
          _BP.DataController4,
          @Consumption.hidden:true
          @UI.hidden:true                    
          _BP.DataController5,
          @Consumption.hidden:true
          @UI.hidden:true                    
          _BP.DataController6,
          @Consumption.hidden:true
          @UI.hidden:true                    
          _BP.DataController7,
          @Consumption.hidden:true
          @UI.hidden:true                    
          _BP.DataController8,
          @Consumption.hidden:true
          @UI.hidden:true                    
          _BP.DataController9,
          @Consumption.hidden:true
          @UI.hidden:true                    
          _BP.DataController10,         
          _BP.AuthorizationGroup,

          /* Associations */
          _BPProtectedAddress,
          _WorkforcePerson

}
where
  BPAddressUsage.AddressUsage = 'XXDEFAULT'