I_PersonWorkplaceAddress

DDL: I_PERSONWORKPLACEADDRESS Type: view_entity COMPOSITE

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)

SourceAliasJoin Type
I_AddressWorkplaceDetails I_AddressWorkplaceDetails from

Associations (16)

CardinalityTargetAliasCondition
[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)

NameValueLevelField
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)

KeyFieldSource TableSource FieldDescription
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":""
}
}*/