R_WorkforcePersonPrvtAddress

DDL: R_WORKFORCEPERSONPRVTADDRESS Type: view_entity COMPOSITE Package: WFD_WORKER_FACTSHEET_BL

Private Address of Workforce Person

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

Data Sources (2)

SourceAliasJoin Type
I_BusPartAddress _BPAddress inner
I_Businesspartneraddressusage _BPAddressUsage from

Associations (3)

CardinalityTargetAliasCondition
[1..1] I_BusinessPartner _BP _BP.BusinessPartner = _BPAddressUsage.BusinessPartner
[0..1] I_CountryText _CountryText $projection.CountryOrRegion = _CountryText.Country and _CountryText.Language = $session.system_language
[0..1] I_RegionText _RegionText $projection.AddressRegion = _RegionText.Region and $projection.CountryOrRegion = _RegionText.Country and _RegionText.Language = $session.system_language

Annotations (8)

NameValueLevelField
AccessControl.authorizationCheck #MANDATORY view
EndUserText.label Private Address of Workforce Person view
VDM.viewType #COMPOSITE view
VDM.lifecycle.contract.type #SAP_INTERNAL_API view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #MIXED view

Fields (34)

KeyFieldSource TableSource FieldDescription
KEY PersonUUID _BP BusinessPartnerUUID
KEY AddressNumber I_Businesspartneraddressusage AddressNumber
BusinessPartner I_Businesspartneraddressusage BusinessPartner
clientNULLasvdm_v_start_dateasStartDate
clientNULLasvdm_v_end_dateasEndDate
HouseNumber
HouseNumberSupplementText
AddressRegion
AddressPostalCode
PostOfficeBoxPostalCode
DistrictName
POBox
Street
StreetName
CityName
Floor
CountryOrRegion
RoomNumber
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
_CountryText _CountryText
_RegionText _RegionText
_WorkforcePerson _WorkforcePerson
@AbapCatalog.viewEnhancementCategory: [#NONE]
@AccessControl.authorizationCheck: #MANDATORY
@EndUserText.label: 'Private Address of Workforce Person'
@VDM: {
  viewType: #COMPOSITE,
  lifecycle.contract.type: #SAP_INTERNAL_API
}
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.usageType:{
    serviceQuality: #C,
    sizeCategory: #L,
    dataClass: #MIXED
}
@Consumption.dbHints:[ 'USE_HEX_PLAN' ]
define view entity R_WorkforcePersonPrvtAddress
  as select from I_Businesspartneraddressusage as _BPAddressUsage
    inner join   I_BusPartAddress              as _BPAddress on  _BPAddressUsage.BusinessPartner = _BPAddress.BusinessPartner
                                                             and _BPAddressUsage.AddressNumber   = _BPAddress.AddressID
  association [1..1] to I_BusinessPartner                 as _BP              on  _BP.BusinessPartner = _BPAddressUsage.BusinessPartner
  association [0..1] to I_CountryText                     as _CountryText     on  $projection.CountryOrRegion = _CountryText.Country
                                                                              and _CountryText.Language       = $session.system_language
  association [0..1] to I_RegionText as _RegionText on  $projection.AddressRegion  = _RegionText.Region
                                                    and $projection.CountryOrRegion = _RegionText.Country
                                                    and _RegionText.Language       = $session.system_language                                                                            
  association        to parent R_WorkforcePersonFactSheet as _WorkforcePerson on  $projection.PersonUUID = _WorkforcePerson.PersonUUID
{
  key _BP.BusinessPartnerUUID                                                                        as PersonUUID,
  key _BPAddressUsage.AddressNumber                                                                  as AddressNumber,
      _BPAddressUsage.BusinessPartner                                                                as BusinessPartner,
      cast (tstmp_to_dats( _BPAddressUsage.ValidityStartDate,
      abap_system_timezone( $session.client,'NULL' ), $session.client, 'NULL' ) as vdm_v_start_date) as StartDate,
      cast (tstmp_to_dats( _BPAddressUsage.ValidityEndDate,
        abap_system_timezone( $session.client,'NULL' ), $session.client, 'NULL' ) as vdm_v_end_date) as EndDate,
      //bt.valid_to as EndDate,

      _BPAddress._AddressDefaultRepresentation.HouseNumber                                           as HouseNumber,
      _BPAddress._AddressDefaultRepresentation.HouseNumberSupplementText                             as HouseNumberSupplementText, //HouseSupplement,

      _BPAddress._AddressDefaultRepresentation.Region                                                as AddressRegion, //Region,

      _BPAddress._AddressDefaultRepresentation.PostalCode                                            as AddressPostalCode, //PostalCode,

      _BPAddress._AddressDefaultRepresentation.POBoxPostalCode                                       as PostOfficeBoxPostalCode, //POpostalcode,

      _BPAddress._AddressDefaultRepresentation.DistrictName                                          as DistrictName,
      _BPAddress._AddressDefaultRepresentation.POBox                                                 as POBox,
      _BPAddress._AddressDefaultRepresentation.Street                                                as Street,
      _BPAddress._AddressDefaultRepresentation.StreetName                                            as StreetName,
      _BPAddress._AddressDefaultRepresentation.CityName                                              as CityName, //City,

      _BPAddress._AddressDefaultRepresentation.Floor                                                 as Floor,
      _BPAddress._AddressDefaultRepresentation.Country                                               as CountryOrRegion,
      //      _BPAddress._Address._Country.Country                                                                  as CountryOrRegion,

      _BPAddress._AddressDefaultRepresentation.RoomNumber                                            as RoomNumber,
      //      _BPAddress._Address._Country._Text[1:Language = $session.system_language].CountryName,

       @Semantics.booleanIndicator: true
      _BP.IsBusinessPurposeCompleted,
      _BP.DataControllerSet,
      _BP.DataController1,
      _BP.DataController2,
      _BP.DataController3,
      _BP.DataController4,
      _BP.DataController5,
      _BP.DataController6,
      _BP.DataController7,
      _BP.DataController8,
      _BP.DataController9,
      _BP.DataController10,
      _BP.AuthorizationGroup,
      _CountryText,
      _RegionText,
      _WorkforcePerson


}
where
  _BPAddressUsage.AddressUsage = 'XXDEFAULT'