R_WorkforcePersonPrvtAddress
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)
| Source | Alias | Join Type |
|---|---|---|
| I_BusPartAddress | _BPAddress | inner |
| I_Businesspartneraddressusage | _BPAddressUsage | from |
Associations (3)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [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)
| Name | Value | Level | Field |
|---|---|---|---|
| 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)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| 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'
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