I_EmployeeHomeAddress

DDL: I_EMPLOYEEHOMEADDRESS SQL: IEMPLHOMEADDRSS Type: view BASIC

Employee Home Address

I_EmployeeHomeAddress is a Basic CDS View that provides data about "Employee Home Address" in SAP S/4HANA. It reads from 3 data sources (I_Address, but020, adcp) and exposes 32 fields with key fields PersonnelNumber, ValidityStartDate. It has 3 associations to related views.

Data Sources (3)

SourceAliasJoin Type
I_Address Address inner
but020 AddressAdmin inner
adcp AddrPointer from

Associations (3)

CardinalityTargetAliasCondition
[0..1] P_EmplPrivCommData commdata Address.AddressID = commdata.AddressID and AddrPointer.persnumber = commdata.Person
[0..1] I_Region _Region $projection.Region = _Region.Region and $projection.Country = _Region.Country
[0..1] I_Country _Country $projection.Country = _Country.Country association[0..1] to I_Employee as _Employee on $projection.Person = _Employee.Person association[0..1] to I_BusinessPartner as _BusinessPartner on AddressAdmin.partner = _BusinessPartner.BusinessPartner

Annotations (9)

NameValueLevelField
AbapCatalog.sqlViewName IEMPLHOMEADDRSS view
EndUserText.label Employee Home Address view
VDM.viewType #BASIC view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.dataClass #MASTER view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XXL view
AccessControl.personalData.blocking #REQUIRED view
AccessControl.authorizationCheck #CHECK view

Fields (32)

KeyFieldSource TableSource FieldDescription
KEY PersonnelNumber _Employee PersonnelNumber
KEY ValidityStartDate but020 addr_valid_from
EmployeeInternalID _Employee EmployeeInternalID
BusinessPartner but020 partner
Employee _Employee Employee
FullName _Employee FullName
ValidityEndDate but020 addr_valid_to
Country I_Address Country
Region I_Address Region
CityName I_Address CityName
HomeCityName I_Address HomeCityName
District I_Address District
PostalCode I_Address PostalCode
StreetName I_Address StreetName
StreetPrefixName I_Address StreetPrefixName
StreetSuffixName I_Address StreetSuffixName
AdditionalStreetPrefixName I_Address AdditionalStreetPrefixName
AdditionalStreetSuffixName I_Address AdditionalStreetSuffixName
HouseNumber I_Address HouseNumber
HouseNumberSupplementText I_Address HouseNumberSupplementText
CareOfName I_Address CareOfName
Person adcp persnumber
DestinationLocationCountry commdata DestinationLocationCountry
PhoneNumber commdata PhoneNumber
PhoneNumberExtension commdata PhoneNumberExtension
MblPhoneDestinationLocCountry commdata MblPhoneDestinationLocCountry
MobilePhoneNumber commdata MobilePhoneNumber
DefaultEmailAddress commdata DefaultEmailAddress
_Region _Region
_Country _Country
AuthorizationGroup
_BusinessPartner _BusinessPartner
@AbapCatalog.sqlViewName: 'IEMPLHOMEADDRSS' 
@EndUserText.label: 'Employee Home Address'
@VDM.viewType: #BASIC

@ClientHandling.algorithm: #SESSION_VARIABLE 
@ObjectModel.usageType.dataClass: #MASTER 
@ObjectModel.usageType.serviceQuality: #C 
@ObjectModel.usageType.sizeCategory: #XXL
@AccessControl.personalData.blocking: #REQUIRED
@AccessControl.authorizationCheck: #CHECK

//.....................................................................................................................

// This CDS view is OBSOLETE and should not be used anymore. This CDS view shall not return any records.

// Hence this View shall be deprecated.

//......................................................................................................................


define view I_EmployeeHomeAddress  

as select from adcp as AddrPointer
  
//    inner join adcp as AddrPointer on Employee.Person = AddrPointer.persnumber   

    inner join I_Address as Address on AddrPointer.addrnumber =  Address.AddressID   
    inner join but020 as AddressAdmin on Address.AddressID = AddressAdmin.addrnumber      

    association [0..1] to P_EmplPrivCommData as commdata on  Address.AddressID = commdata.AddressID and 
                                                             AddrPointer.persnumber   = commdata.Person
    association [0..1] to I_Region as _Region on $projection.Region = _Region.Region and 
                                                             $projection.Country = _Region.Country     
    association [0..1] to I_Country as _Country on $projection.Country = _Country.Country 
    association[0..1] to I_Employee as _Employee
                                        on $projection.Person = _Employee.Person    

    association[0..1] to I_BusinessPartner as _BusinessPartner on AddressAdmin.partner = _BusinessPartner.BusinessPartner                                        
    { 
    key  _Employee.PersonnelNumber, //Internal Stable ID

    key  AddressAdmin.addr_valid_from   as ValidityStartDate,       
         _Employee.EmployeeInternalID             as EmployeeInternalID,    // Bu Partner

         AddressAdmin.partner as BusinessPartner,
                                         
         _Employee.Employee,                                        //Ext Pernr

         _Employee.FullName,
         
              
         AddressAdmin.addr_valid_to     as ValidityEndDate,    
         Address.Country,
         Address.Region,
         Address.CityName,
         Address.HomeCityName,
         Address.District,
         Address.PostalCode,
         Address.StreetName,
         Address.StreetPrefixName,
         Address.StreetSuffixName,
         Address.AdditionalStreetPrefixName,
         Address.AdditionalStreetSuffixName,
         Address.HouseNumber,
         Address.HouseNumberSupplementText,
         Address.CareOfName,
         
         AddrPointer.persnumber as Person,
//         commdata.Person as Person,

         commdata.DestinationLocationCountry,     
         commdata.PhoneNumber,
         commdata.PhoneNumberExtension,
         commdata.MblPhoneDestinationLocCountry,
         commdata.MobilePhoneNumber,
         commdata.DefaultEmailAddress,
 
         _Region,
         _Country,
         '0060' as AuthorizationGroup ,
         _BusinessPartner         
  }                                      
  
  where _Employee.PersonnelNumber is initial and _Employee.PersonnelNumber is not initial