I_WorkplaceAddress
Employee Workplace Address
I_WorkplaceAddress is a Basic CDS View (Dimension) that provides data about "Employee Workplace Address" in SAP S/4HANA. It reads from 3 data sources (but000, mom052, adcp) and exposes 30 fields with key field BusinessPartnerUUID. It has 6 associations to related views. Part of development package S_BUPA_EEWA_API.
Associations (6)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | adr6 | _mail | root.addrnumber = _mail.addrnumber and root.persnumber = _mail.persnumber |
| [0..1] | adr2 | _phone | root.addrnumber = _phone.addrnumber and root.persnumber = _phone.persnumber |
| [0..1] | adr3 | _CurrentDefaultFaxNumber | root.addrnumber = _CurrentDefaultFaxNumber.addrnumber and root.persnumber = _CurrentDefaultFaxNumber.persnumber and _CurrentDefaultFaxNumber.flgdefault = 'X' |
| [0..1] | I_Country | _DestinationLocationCountry | $projection.DestinationLocationCountry = _DestinationLocationCountry.Country |
| [0..1] | I_Country | _MblPhoneDestinationLocCountry | $projection.MblPhoneDestinationLocCountry = _MblPhoneDestinationLocCountry.Country |
| [0..1] | I_Country | _FaxNumberCountry | $projection.FaxNumberCountry = _FaxNumberCountry.Country |
Annotations (12)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | IEMPWPADDR | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| AccessControl.personalData.blocking | #REQUIRED | view | |
| Analytics.dataCategory | #DIMENSION | view | |
| Analytics.dataExtraction.enabled | true | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| EndUserText.label | Employee Workplace Address | view | |
| VDM.viewType | #BASIC | view | |
| ObjectModel.usageType.dataClass | #MASTER | view | |
| ObjectModel.usageType.serviceQuality | #B | view | |
| ObjectModel.usageType.sizeCategory | #XXL | view |
Fields (30)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | BusinessPartnerUUID | mom052 | partner_guid | |
| AddressID | adcp | addrnumber | ||
| BusinessPartner | but000 | partner | ||
| DestinationLocationCountry | ||||
| PhoneNumber | ||||
| PhoneNumberExtension | ||||
| NormalizedPhoneNumber | ||||
| MblPhoneDestinationLocCountry | ||||
| MobilePhoneNumber | ||||
| MblNormalizedPhoneNumber | ||||
| FaxNumberCountry | _CurrentDefaultFaxNumber | country | ||
| FaxAreaCodeSubscriberNumber | _CurrentDefaultFaxNumber | fax_number | ||
| FaxExtensionNumber | _CurrentDefaultFaxNumber | fax_extens | ||
| InternationalFaxNumber | _CurrentDefaultFaxNumber | faxnr_long | ||
| DefaultEmailAddress | ||||
| ValidityStartDate | ||||
| ValidityEndDate | ||||
| Building | adcp | building | ||
| RoomNumber | adcp | roomnumber | ||
| Floor | adcp | floor | ||
| FunctionalTitlename | adcp | function | ||
| Department | adcp | department | ||
| CommunicationMediumType | adcp | deflt_comm | ||
| PersonNumber | adcp | persnumber | ||
| AddressPersonID | adcp | persnumber | ||
| IsBusinessPurposeCompleted | but000 | xpcpt | ||
| AuthorizationGroup | but000 | augrp | ||
| _DestinationLocationCountry | _DestinationLocationCountry | |||
| _MblPhoneDestinationLocCountry | _MblPhoneDestinationLocCountry | |||
| _FaxNumberCountry | _FaxNumberCountry |
@AbapCatalog.sqlViewName: 'IEMPWPADDR'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #REQUIRED
@Analytics : {dataCategory: #DIMENSION, dataExtraction.enabled : true}
@ClientHandling.algorithm: #SESSION_VARIABLE
@EndUserText.label: 'Employee Workplace Address'
@VDM.viewType: #BASIC
@ObjectModel.usageType.dataClass: #MASTER
@ObjectModel.usageType.serviceQuality: #B
@ObjectModel.usageType.sizeCategory: #XXL
define view I_WorkplaceAddress
as select from mom052 as Mom
inner join but000 as bp on bp.partner_guid = Mom.partner_guid
inner join adcp as root on root.addrnumber = Mom.org_addr_number
//and root.persnumber = bp.persnumber //Commented because of Internal Incident: 2280158276, Performance Issue with I_WorkplaceAddress due to Cyclic join
association [0..1] to adr6 as _mail on root.addrnumber = _mail.addrnumber
and root.persnumber = _mail.persnumber
association [0..1] to adr2 as _phone on root.addrnumber = _phone.addrnumber
and root.persnumber = _phone.persnumber
association [0..1] to adr3 as _CurrentDefaultFaxNumber on root.addrnumber = _CurrentDefaultFaxNumber.addrnumber
and root.persnumber = _CurrentDefaultFaxNumber.persnumber
and _CurrentDefaultFaxNumber.flgdefault = 'X'
association [0..1] to I_Country as _DestinationLocationCountry on $projection.DestinationLocationCountry = _DestinationLocationCountry.Country
association [0..1] to I_Country as _MblPhoneDestinationLocCountry on $projection.MblPhoneDestinationLocCountry = _MblPhoneDestinationLocCountry.Country
association [0..1] to I_Country as _FaxNumberCountry on $projection.FaxNumberCountry = _FaxNumberCountry.Country
{
key Mom.partner_guid as BusinessPartnerUUID,
root.addrnumber as AddressID,
bp.partner as BusinessPartner,
@ObjectModel.foreignKey.association: '_DestinationLocationCountry'
_phone[1: r3_user = '1' ].country as DestinationLocationCountry,
_phone[1: r3_user = '1' ].tel_number as PhoneNumber,
_phone[1: r3_user = '1' ].tel_extens as PhoneNumberExtension,
_phone[1: r3_user = '1' ].telnr_long as NormalizedPhoneNumber,
@ObjectModel.foreignKey.association: '_MblPhoneDestinationLocCountry'
_phone[1: r3_user = '3' ].country as MblPhoneDestinationLocCountry,
_phone[1: r3_user = '3' ].tel_number as MobilePhoneNumber,
_phone[1: r3_user = '3' ].telnr_long as MblNormalizedPhoneNumber,
@ObjectModel.foreignKey.association: '_FaxNumberCountry'
_CurrentDefaultFaxNumber.country as FaxNumberCountry,
_CurrentDefaultFaxNumber.fax_number as FaxAreaCodeSubscriberNumber,
_CurrentDefaultFaxNumber.fax_extens as FaxExtensionNumber,
_CurrentDefaultFaxNumber.faxnr_long as InternationalFaxNumber,
_mail[1: flgdefault = 'X'].smtp_addr as DefaultEmailAddress,
tstmp_to_dats(Mom.from_timestamp,'UTC', $session.client, 'NULL') as ValidityStartDate,
tstmp_to_dats(Mom.to_timestamp,'UTC', $session.client, 'NULL') as ValidityEndDate,
//Addition of Building Code and Room Number
root.building as Building,
root.roomnumber as RoomNumber,
root.floor as Floor,
//Adding Function and Department fields
root.function as FunctionalTitlename,
root.department as Department,
root.deflt_comm as CommunicationMediumType,
//root.persnumber as AddressPersonID,//Internal Incident: 2280158276, Performance Issue with I_WorkplaceAddress due to Cyclic join
@API.element.releaseState: #DEPRECATED
@API.element.successor: 'AddressPersonID'
root.persnumber as PersonNumber,
root.persnumber as AddressPersonID,
bp.xpcpt as IsBusinessPurposeCompleted,
bp.augrp as AuthorizationGroup,
_DestinationLocationCountry,
_MblPhoneDestinationLocCountry,
_FaxNumberCountry
}
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA