I_PersonWorkplaceAddress
Corporate Workplace Address of a Person
I_PersonWorkplaceAddress is a Composite CDS View (Fact) that provides data about "Corporate Workplace Address of a Person" in SAP S/4HANA. It reads from 1 data source (I_AddressWorkplaceDetails) and exposes 41 fields with key fields AddressID, AddressPersonID, AddressRepresentationCode. It has 16 associations to related views.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| I_AddressWorkplaceDetails | I_AddressWorkplaceDetails | from |
Associations (16)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1] | I_OrganizationAddress | _OrganizationAddress | _OrganizationAddress.AddressID = $projection.AddressID and _OrganizationAddress.AddressRepresentationCode = $projection.AddressRepresentationCode and _OrganizationAddress.AddressPersonID = '' |
| [1] | I_AddressPersonName | _PersonName | _PersonName.AddressPersonID = $projection.AddressPersonID and _PersonName.AddressRepresentationCode = $projection.AddressRepresentationCode |
| [0..*] | I_AddressEmailAddress_2 | _EmailAddress | _EmailAddress.AddressID = $projection.AddressID and _EmailAddress.AddressPersonID = $projection.AddressPersonID |
| [0..1] | I_AddrCurDefaultEmailAddress | _CurrentDfltEmailAddress | _CurrentDfltEmailAddress.AddressID = $projection.AddressID and _CurrentDfltEmailAddress.AddressPersonID = $projection.AddressPersonID |
| [0..*] | I_AddressPhoneNumber_2 | _PhoneNumber | _PhoneNumber.AddressID = $projection.AddressID and _PhoneNumber.AddressPersonID = $projection.AddressPersonID |
| [0..1] | I_AddrCurDfltLandlinePhoneNmbr | _CurrentDfltLandlinePhoneNmbr | _CurrentDfltLandlinePhoneNmbr.AddressID = $projection.AddressID and _CurrentDfltLandlinePhoneNmbr.AddressPersonID = $projection.AddressPersonID |
| [0..1] | I_AddrCurDfltMobilePhoneNumber | _CurrentDfltMobilePhoneNumber | _CurrentDfltMobilePhoneNumber.AddressID = $projection.AddressID and _CurrentDfltMobilePhoneNumber.AddressPersonID = $projection.AddressPersonID |
| [0..*] | I_AddressFaxNumber_2 | _FaxNumber | _FaxNumber.AddressID = $projection.AddressID and _FaxNumber.AddressPersonID = $projection.AddressPersonID |
| [0..1] | I_AddrCurDefaultFaxNumber | _CurrentDfltFaxNumber | _CurrentDfltFaxNumber.AddressID = $projection.AddressID and _CurrentDfltFaxNumber.AddressPersonID = $projection.AddressPersonID |
| [0..*] | I_AddressURI | _UniformResourceIdentifier | _UniformResourceIdentifier.AddressID = $projection.AddressID and _UniformResourceIdentifier.AddressPersonID = $projection.AddressPersonID |
| [0..1] | I_AddressMainWebsiteURL | _MainWebsiteURL | _MainWebsiteURL.AddressID = $projection.AddressID and _MainWebsiteURL.AddressPersonID = $projection.AddressPersonID |
| [0..1] | I_NameSupplement | _NameSupplement | $projection.personnamesupplementcode = _NameSupplement.PersonNameSupplementCode |
| [0..1] | I_FamilyNamePrefix | _FamilyNamePrefix | $projection.familynameprefix = _FamilyNamePrefix.FamilyNamePrefix |
| [0..1] | I_FamilyNamePrefix | _FamilyNameSecondPrefix | $projection.familynamesecondprefix = _FamilyNameSecondPrefix.FamilyNamePrefix |
| [0..1] | I_AcademicTitle | _AcademicTitle | $projection.academictitle = _AcademicTitle.AcademicTitle |
| [0..1] | I_AcademicTitle | _AcademicTitle2 | $projection.academictitle2 = _AcademicTitle2.AcademicTitle |
Annotations (10)
| Name | Value | Level | Field |
|---|---|---|---|
| Analytics.dataCategory | #FACT | view | |
| Analytics.dataExtraction.enabled | true | view | |
| AccessControl.authorizationCheck | #PRIVILEGED_ONLY | view | |
| EndUserText.label | Corporate Workplace Address of a Person | view | |
| Metadata.ignorePropagatedAnnotations | true | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.sizeCategory | #XXL | view | |
| ObjectModel.usageType.dataClass | #MIXED | view | |
| VDM.viewType | #COMPOSITE | view | |
| VDM.lifecycle.contract.type | #PUBLIC_LOCAL_API | view |
Fields (41)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | AddressID | I_AddressWorkplaceDetails | AddressID | |
| KEY | AddressPersonID | I_AddressWorkplaceDetails | AddressPersonID | |
| KEY | AddressRepresentationCode | I_AddressWorkplaceDetails | AddressRepresentationCode | |
| CorrespondenceLanguage | _PersonName | CorrespondenceLanguage | ||
| GivenName | _PersonName | GivenName | ||
| FamilyName | _PersonName | FamilyName | ||
| PersonBirthName | _PersonName | PersonBirthName | ||
| PersonMiddleName | _PersonName | PersonMiddleName | ||
| SecondFamilyName | _PersonName | SecondFamilyName | ||
| AcademicTitle | _PersonName | AcademicTitle | ||
| AcademicTitle2 | _PersonName | AcademicTitle2 | ||
| FamilyNamePrefix | _PersonName | FamilyNamePrefix | ||
| FamilyNameSecondPrefix | _PersonName | FamilyNameSecondPrefix | ||
| PersonNameSupplementCode | _PersonName | PersonNameSupplementCode | ||
| PersonNickname | _PersonName | PersonNickname | ||
| NameInitials | _PersonName | NameInitials | ||
| PersonFullName | _PersonName | PersonFullName | ||
| FormOfAddress | _PersonName | FormOfAddress | ||
| WorkplaceBuilding | I_AddressWorkplaceDetails | WorkplaceBuilding | ||
| WorkplaceFloor | I_AddressWorkplaceDetails | WorkplaceFloor | ||
| WorkplaceRoomNumber | I_AddressWorkplaceDetails | WorkplaceRoomNumber | ||
| WorkplaceFunctionalTitleName | I_AddressWorkplaceDetails | WorkplaceFunctionalTitleName | ||
| WorkplaceDepartmentName | I_AddressWorkplaceDetails | WorkplaceDepartmentName | ||
| WorkplacePrfrdCommMediumType | I_AddressWorkplaceDetails | WorkplacePrfrdCommMediumType | ||
| WorkplaceCorrespncShortName | I_AddressWorkplaceDetails | WorkplaceCorrespncShortName | ||
| WorkplaceInhouseMail | I_AddressWorkplaceDetails | WorkplaceInhouseMail | ||
| _EmailAddress | _EmailAddress | |||
| _PhoneNumber | _PhoneNumber | |||
| _FaxNumber | _FaxNumber | |||
| _UniformResourceIdentifier | _UniformResourceIdentifier | |||
| _CurrentDfltEmailAddress | _CurrentDfltEmailAddress | |||
| _CurrentDfltLandlinePhoneNmbr | _CurrentDfltLandlinePhoneNmbr | |||
| _CurrentDfltMobilePhoneNumber | _CurrentDfltMobilePhoneNumber | |||
| _CurrentDfltFaxNumber | _CurrentDfltFaxNumber | |||
| _MainWebsiteURL | _MainWebsiteURL | |||
| _OrganizationAddress | _OrganizationAddress | |||
| _NameSupplement | _NameSupplement | |||
| _FamilyNamePrefix | _FamilyNamePrefix | |||
| _FamilyNameSecondPrefix | _FamilyNameSecondPrefix | |||
| _AcademicTitle | _AcademicTitle | |||
| _AcademicTitle2 | _AcademicTitle2 |
@Analytics : {
dataCategory: #FACT,
dataExtraction: {
enabled: true }
}
@AccessControl.authorizationCheck: #PRIVILEGED_ONLY
@AccessControl.privilegedAssociations: ['_OrganizationAddress', '_EmailAddress', '_CurrentDfltEmailAddress', '_PhoneNumber', '_CurrentDfltLandlinePhoneNmbr', '_CurrentDfltMobilePhoneNumber', '_FaxNumber', '_CurrentDfltFaxNumber', '_UniformResourceIdentifier', '_MainWebsiteURL']
@EndUserText.label: 'Corporate Workplace Address of a Person'
//@Metadata.allowExtensions: true
@Metadata.ignorePropagatedAnnotations: true
//@ObjectModel.representativeKey: 'AddressID'
@ObjectModel.supportedCapabilities: [#CDS_MODELING_ASSOCIATION_TARGET, #CDS_MODELING_DATA_SOURCE, #SQL_DATA_SOURCE,
#EXTRACTION_DATA_SOURCE ]
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #XXL
@ObjectModel.usageType.dataClass: #MIXED
@VDM: {
viewType: #COMPOSITE,
lifecycle.contract.type: #PUBLIC_LOCAL_API
}
define view entity I_PersonWorkplaceAddress
as select from I_AddressWorkplaceDetails
association [1] to I_OrganizationAddress as _OrganizationAddress on _OrganizationAddress.AddressID = $projection.AddressID
and _OrganizationAddress.AddressRepresentationCode = $projection.AddressRepresentationCode
and _OrganizationAddress.AddressPersonID = ''
association [1] to I_AddressPersonName as _PersonName on _PersonName.AddressPersonID = $projection.AddressPersonID
and _PersonName.AddressRepresentationCode = $projection.AddressRepresentationCode
association [0..*] to I_AddressEmailAddress_2 as _EmailAddress on _EmailAddress.AddressID = $projection.AddressID
and _EmailAddress.AddressPersonID = $projection.AddressPersonID
association [0..1] to I_AddrCurDefaultEmailAddress as _CurrentDfltEmailAddress on _CurrentDfltEmailAddress.AddressID = $projection.AddressID
and _CurrentDfltEmailAddress.AddressPersonID = $projection.AddressPersonID
association [0..*] to I_AddressPhoneNumber_2 as _PhoneNumber on _PhoneNumber.AddressID = $projection.AddressID
and _PhoneNumber.AddressPersonID = $projection.AddressPersonID
association [0..1] to I_AddrCurDfltLandlinePhoneNmbr as _CurrentDfltLandlinePhoneNmbr on _CurrentDfltLandlinePhoneNmbr.AddressID = $projection.AddressID
and _CurrentDfltLandlinePhoneNmbr.AddressPersonID = $projection.AddressPersonID
association [0..1] to I_AddrCurDfltMobilePhoneNumber as _CurrentDfltMobilePhoneNumber on _CurrentDfltMobilePhoneNumber.AddressID = $projection.AddressID
and _CurrentDfltMobilePhoneNumber.AddressPersonID = $projection.AddressPersonID
association [0..*] to I_AddressFaxNumber_2 as _FaxNumber on _FaxNumber.AddressID = $projection.AddressID
and _FaxNumber.AddressPersonID = $projection.AddressPersonID
association [0..1] to I_AddrCurDefaultFaxNumber as _CurrentDfltFaxNumber on _CurrentDfltFaxNumber.AddressID = $projection.AddressID
and _CurrentDfltFaxNumber.AddressPersonID = $projection.AddressPersonID
association [0..*] to I_AddressURI as _UniformResourceIdentifier on _UniformResourceIdentifier.AddressID = $projection.AddressID
and _UniformResourceIdentifier.AddressPersonID = $projection.AddressPersonID
association [0..1] to I_AddressMainWebsiteURL as _MainWebsiteURL on _MainWebsiteURL.AddressID = $projection.AddressID
and _MainWebsiteURL.AddressPersonID = $projection.AddressPersonID
association [0..1] to I_NameSupplement as _NameSupplement on $projection.personnamesupplementcode = _NameSupplement.PersonNameSupplementCode
association [0..1] to I_FamilyNamePrefix as _FamilyNamePrefix on $projection.familynameprefix = _FamilyNamePrefix.FamilyNamePrefix
association [0..1] to I_FamilyNamePrefix as _FamilyNameSecondPrefix on $projection.familynamesecondprefix = _FamilyNameSecondPrefix.FamilyNamePrefix
association [0..1] to I_AcademicTitle as _AcademicTitle on $projection.academictitle = _AcademicTitle.AcademicTitle
association [0..1] to I_AcademicTitle as _AcademicTitle2 on $projection.academictitle2 = _AcademicTitle2.AcademicTitle
{
key I_AddressWorkplaceDetails.AddressID,
key I_AddressWorkplaceDetails.AddressPersonID,
key I_AddressWorkplaceDetails.AddressRepresentationCode,
_PersonName.CorrespondenceLanguage,
_PersonName.GivenName,
_PersonName.FamilyName,
_PersonName.PersonBirthName,
_PersonName.PersonMiddleName,
_PersonName.SecondFamilyName,
@ObjectModel.foreignKey.association: '_AcademicTitle'
@ObjectModel.sapObjectNodeTypeReference: 'AcademicTitle'
_PersonName.AcademicTitle,
@ObjectModel.foreignKey.association: '_AcademicTitle2'
@ObjectModel.sapObjectNodeTypeReference: 'AcademicTitle'
_PersonName.AcademicTitle2,
@ObjectModel.foreignKey.association: '_FamilyNamePrefix'
@ObjectModel.sapObjectNodeTypeReference: 'AcademicTitle'
_PersonName.FamilyNamePrefix,
@ObjectModel.foreignKey.association: '_FamilyNameSecondPrefix'
@ObjectModel.sapObjectNodeTypeReference: 'AcademicTitle'
_PersonName.FamilyNameSecondPrefix,
@ObjectModel.foreignKey.association: '_NameSupplement'
@ObjectModel.sapObjectNodeTypeReference: 'AcademicTitle'
_PersonName.PersonNameSupplementCode,
_PersonName.PersonNickname,
_PersonName.NameInitials,
_PersonName.PersonFullName,
_PersonName.FormOfAddress,
I_AddressWorkplaceDetails.WorkplaceBuilding,
I_AddressWorkplaceDetails.WorkplaceFloor,
I_AddressWorkplaceDetails.WorkplaceRoomNumber,
I_AddressWorkplaceDetails.WorkplaceFunctionalTitleName,
I_AddressWorkplaceDetails.WorkplaceDepartmentName,
I_AddressWorkplaceDetails.WorkplacePrfrdCommMediumType,
I_AddressWorkplaceDetails.WorkplaceCorrespncShortName,
I_AddressWorkplaceDetails.WorkplaceInhouseMail,
_EmailAddress,
_PhoneNumber,
_FaxNumber,
_UniformResourceIdentifier,
_CurrentDfltEmailAddress,
_CurrentDfltLandlinePhoneNmbr,
_CurrentDfltMobilePhoneNumber,
_CurrentDfltFaxNumber,
_MainWebsiteURL,
_OrganizationAddress,
_NameSupplement,
_FamilyNamePrefix,
_FamilyNameSecondPrefix,
_AcademicTitle,
_AcademicTitle2
}
where
PersonAddressObjectType = 'C'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_ADDRESSPERSONNAME",
"I_ADDRESSWORKPLACEDETAILS"
],
"ASSOCIATED":
[
"I_ACADEMICTITLE",
"I_ADDRCURDEFAULTEMAILADDRESS",
"I_ADDRCURDEFAULTFAXNUMBER",
"I_ADDRCURDFLTLANDLINEPHONENMBR",
"I_ADDRCURDFLTMOBILEPHONENUMBER",
"I_ADDRESSEMAILADDRESS_2",
"I_ADDRESSFAXNUMBER_2",
"I_ADDRESSMAINWEBSITEURL",
"I_ADDRESSPHONENUMBER_2",
"I_ADDRESSURI",
"I_FAMILYNAMEPREFIX",
"I_NAMESUPPLEMENT",
"I_ORGANIZATIONADDRESS"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/
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