I_AddressPersonName

DDL: I_ADDRESSPERSONNAME Type: view_entity BASIC Package: S_ADDRESS_VDM

Person Name

I_AddressPersonName is a Basic CDS View (Dimension) that provides data about "Person Name" in SAP S/4HANA. It reads from 1 data source (adrp) and exposes 29 fields with key fields AddressPersonID, AddressRepresentationCode. It has 7 associations to related views. Part of development package S_ADDRESS_VDM.

Data Sources (1)

SourceAliasJoin Type
adrp adrp from

Associations (7)

CardinalityTargetAliasCondition
[0..1] I_FormOfAddress _FormOfAddress $projection.FormOfAddress = _FormOfAddress.FormOfAddress
[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
[0..1] I_AddressRepresentation _AddressRepresentationCode $projection.AddressRepresentationCode = _AddressRepresentationCode.AddressRepresentationCode

Annotations (12)

NameValueLevelField
AccessControl.authorizationCheck #PRIVILEGED_ONLY view
EndUserText.label Person Name view
Metadata.ignorePropagatedAnnotations true view
Analytics.dataCategory #DIMENSION view
Analytics.dataExtraction.enabled true view
Analytics.dataExtraction.delta.changeDataCapture.automatic true view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XXL view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.representativeKey AddressPersonID view
VDM.viewType #BASIC view
VDM.lifecycle.contract.type #PUBLIC_LOCAL_API view

Fields (29)

KeyFieldSource TableSource FieldDescription
KEY AddressPersonID persnumber
KEY AddressRepresentationCode nation
FormOfAddress title
GivenName name_first
FamilyName name_last
PersonBirthName name2
PersonMiddleName namemiddle
SecondFamilyName name_last2
AcademicTitle title_aca1
AcademicTitle2 title_aca2
FamilyNamePrefix prefix1
FamilyNameSecondPrefix prefix2
PersonNameSupplementCode title_sppl
PersonNickname nickname
NameInitials initials
PersonFullName name_text
CorrespondenceLanguage langu
AddressPersonSearchTerm1 sort1
AddressPersonSearchTerm2 sort2
PersonFullNameFormattingCode nameformat
PersonFullNameFormattingCntry namcountry
converted converted
_FormOfAddress _FormOfAddress
_NameSupplement _NameSupplement
_FamilyNamePrefix _FamilyNamePrefix
_FamilyNameSecondPrefix _FamilyNameSecondPrefix
_AcademicTitle _AcademicTitle
_AcademicTitle2 _AcademicTitle2
_AddressRepresentationCode _AddressRepresentationCode
@AccessControl.authorizationCheck: #PRIVILEGED_ONLY
@EndUserText.label: 'Person Name'
//@Metadata.allowExtensions: true

@Metadata.ignorePropagatedAnnotations: true
@Analytics:{
    dataCategory: #DIMENSION,
    dataExtraction: {
        enabled: true,
        delta.changeDataCapture.automatic: true
    }
}
@ObjectModel.supportedCapabilities: [#CDS_MODELING_ASSOCIATION_TARGET, #CDS_MODELING_DATA_SOURCE, #SQL_DATA_SOURCE]
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #XXL
@ObjectModel.usageType.dataClass: #MIXED
@ObjectModel.representativeKey: 'AddressPersonID'
@VDM: {
  viewType: #BASIC,
  lifecycle.contract.type: #PUBLIC_LOCAL_API
}

define view entity I_AddressPersonName
  as select from adrp
  association [0..1] to I_FormOfAddress    as _FormOfAddress          on $projection.FormOfAddress = _FormOfAddress.FormOfAddress

  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
  
  association [0..1] to I_AddressRepresentation as _AddressRepresentationCode  on  $projection.AddressRepresentationCode = _AddressRepresentationCode.AddressRepresentationCode
{
  key persnumber as AddressPersonID,
  @ObjectModel.foreignKey.association: '_AddressRepresentationCode'
  key nation     as AddressRepresentationCode,

      @ObjectModel.foreignKey.association: '_FormOfAddress'
      title      as FormOfAddress,
      name_first as GivenName,
      name_last  as FamilyName,
      name2      as PersonBirthName,
      namemiddle as PersonMiddleName,
      name_last2 as SecondFamilyName,
      @ObjectModel.foreignKey.association: '_AcademicTitle'
      title_aca1 as AcademicTitle,
      @ObjectModel.foreignKey.association: '_AcademicTitle2'
      title_aca2 as AcademicTitle2,
      @ObjectModel.foreignKey.association: '_FamilyNamePrefix'
      prefix1    as FamilyNamePrefix,
      @ObjectModel.foreignKey.association: '_FamilyNameSecondPrefix'
      prefix2    as FamilyNameSecondPrefix,
      @ObjectModel.foreignKey.association: '_NameSupplement'
      title_sppl as PersonNameSupplementCode,
      nickname   as PersonNickname,
      initials   as NameInitials,
      name_text  as PersonFullName,
      langu      as CorrespondenceLanguage,
      sort1      as AddressPersonSearchTerm1,
      sort2      as AddressPersonSearchTerm2,
      nameformat as PersonFullNameFormattingCode, 
      namcountry as PersonFullNameFormattingCntry,
       @Semantics.user.createdBy: true
      addresscreatedbyuser,
      @Semantics.systemDateTime.createdAt: true
      @Analytics.hidden: true
      addresscreatedondatetime,
      @Semantics.user.lastChangedBy: true
      addresschangedbyuser,
      @Semantics.systemDateTime.lastChangedAt: true
      @Analytics.hidden: true
      addresschangedondatetime,
      converted,
      
      _FormOfAddress,
      _NameSupplement,
      _FamilyNamePrefix,
      _FamilyNameSecondPrefix,
      _AcademicTitle,
      _AcademicTitle2,
      _AddressRepresentationCode
 

}
where
  date_from = '00010101'