I_BpContactToAddress

DDL: I_BPCONTACTTOADDRESS SQL: IBPCNTCTADDRESS Type: view BASIC Package: VDM_MD_BP_BASE

Business Partner Contact To Address

I_BpContactToAddress is a Basic CDS View (Dimension) that provides data about "Business Partner Contact To Address" in SAP S/4HANA. It reads from 2 data sources (but000, but052) and exposes 41 fields with key fields RelationshipNumber, BusinessPartnerCompany, BusinessPartnerPerson, ValidityEndDate, AddressID. It has 14 associations to related views. Part of development package VDM_MD_BP_BASE.

Data Sources (2)

SourceAliasJoin Type
but000 but000 inner
but052 but052 from

Associations (14)

CardinalityTargetAliasCondition
[1..1] I_BusinessPartner _BusinessPartnerCompany $projection.BusinessPartnerCompany = _BusinessPartnerCompany.BusinessPartner
[1..1] I_BusinessPartner _BusinessPartnerPerson $projection.BusinessPartnerPerson = _BusinessPartnerPerson.BusinessPartner
[1..*] adcp _AddressDetails $projection.AddressID = _AddressDetails.addrnumber and $projection.PersonNumber = _AddressDetails.persnumber
[1..*] adrp _PersonDetails $projection.PersonNumber = _PersonDetails.persnumber
[1] I_BusinessPartnerAddress _BPCompanyPostalAddress $projection.AddressID = _BPCompanyPostalAddress.AddressNumber and $projection.BusinessPartnerCompany = _BPCompanyPostalAddress.BusinessPartner
[1] I_BusinessPartAddress_2 _BPCompanyPostalAddress_2 $projection.AddressID = _BPCompanyPostalAddress_2.AddressNumber and $projection.BusinessPartnerCompany = _BPCompanyPostalAddress_2.BusinessPartner
[0..1] I_AddressPhoneNumber _Telephone $projection.AddressID = _Telephone.AddressID and $projection.PersonNumber = _Telephone.Person and _Telephone.PhoneNumberType = '1'
[0..1] I_AddressPhoneNumber _MobilePhone $projection.AddressID = _MobilePhone.AddressID and $projection.PersonNumber = _MobilePhone.Person and _MobilePhone.PhoneNumberType = '3'
[0..1] I_AddressFaxNumber _FaxNumber $projection.AddressID = _FaxNumber.AddressID and $projection.PersonNumber = _FaxNumber.Person and _FaxNumber.IsDefaultFaxNumber = 'X'
[0..1] I_AddressPhoneNumber_2 _Telephone_2 $projection.AddressID = _Telephone_2.AddressID and $projection.PersonNumber = _Telephone_2.AddressPersonID and _Telephone_2.PhoneNumberType = '1'
[0..1] I_AddressPhoneNumber_2 _MobilePhone_2 $projection.AddressID = _MobilePhone_2.AddressID and $projection.PersonNumber = _MobilePhone_2.AddressPersonID and _MobilePhone_2.PhoneNumberType = '3'
[0..1] I_AddressFaxNumber_2 _FaxNumber_2 $projection.AddressID = _FaxNumber_2.AddressID and $projection.PersonNumber = _FaxNumber_2.AddressPersonID and _FaxNumber_2.FaxNumberIsCurrentDefault = 'X'
[0..1] I_Address_2 _AddressDefaultRepresentation $projection.AddressID = _AddressDefaultRepresentation.AddressID and $projection.PersonNumber = _AddressDefaultRepresentation.AddressPersonID and _AddressDefaultRepresentation.AddressRepresentationCode is initial
[0..*] I_Address_2 _AddressInternationalVersions $projection.AddressID = _AddressInternationalVersions.AddressID and $projection.PersonNumber = _AddressInternationalVersions.AddressPersonID and _AddressInternationalVersions.AddressRepresentationCode is not initial

Annotations (14)

NameValueLevelField
AbapCatalog.sqlViewName IBPCNTCTADDRESS view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #REQUIRED view
VDM.viewType #BASIC view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XXL view
ObjectModel.usageType.dataClass #MASTER view
ObjectModel.representativeKey RelationshipNumber view
ClientHandling.algorithm #SESSION_VARIABLE view
EndUserText.label Business Partner Contact To Address view
Analytics.dataCategory #DIMENSION view
Analytics.dataExtraction.enabled true view
ObjectModel.sapObjectNodeType.name BPRelationshipAddress view

Fields (41)

KeyFieldSource TableSource FieldDescription
KEY RelationshipNumber but052 relnr
KEY BusinessPartnerCompany but052 partner1
KEY BusinessPartnerPerson but052 partner2
KEY ValidityEndDate but052 date_to
KEY AddressID but052 addrnumber
PersonNumber but000 persnumber
IsDefaultAddress but052 xdfadr
AddressRepresentationCode
ContactRelationshipFunction
ContactRelationshipDepartment
Floor
Building
RoomNumber
PrfrdCommMediumType
CorrespondenceShortName
InhouseMail
InternationalPhoneNumber _Telephone_2 InternationalPhoneNumber
PhoneNumberCountry _Telephone_2 PhoneNumberCountry
PhoneNumber _Telephone_2 PhoneAreaCodeSubscriberNumber
InternationalMobilePhoneNumber _MobilePhone_2 InternationalPhoneNumber
MobilePhoneCountry _MobilePhone_2 PhoneNumberCountry
MobilePhoneNumber _MobilePhone_2 PhoneAreaCodeSubscriberNumber
MobilePhoneNumberExtension _MobilePhone_2 PhoneExtensionNumber
InternationalFaxNumber _FaxNumber_2 InternationalFaxNumber
FaxCountry _FaxNumber_2 FaxNumberCountry
AuthorizationGroup _BusinessPartnerPerson AuthorizationGroup
IsBusinessPurposeCompleted _BusinessPartnerPerson IsBusinessPurposeCompleted
_AddressDetails _AddressDetails
_PersonDetails _PersonDetails
_BPCompanyPostalAddress _BPCompanyPostalAddress
_BusinessPartnerCompany _BusinessPartnerCompany
_BusinessPartnerPerson _BusinessPartnerPerson
_Telephone _Telephone
_MobilePhone _MobilePhone
_FaxNumber _FaxNumber
_Telephone_2 _Telephone_2
_MobilePhone_2 _MobilePhone_2
_FaxNumber_2 _FaxNumber_2
_BPCompanyPostalAddress_2 _BPCompanyPostalAddress_2
_AddressDefaultRepresentation _AddressDefaultRepresentation
_AddressInternationalVersions _AddressInternationalVersions
@AbapCatalog.sqlViewName: 'IBPCNTCTADDRESS'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck:  #CHECK //or #CHECK

@AccessControl.personalData.blocking: #REQUIRED
@VDM.viewType: #BASIC
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #XXL
@ObjectModel.usageType.dataClass: #MASTER
@ObjectModel.representativeKey:'RelationshipNumber'
@ClientHandling.algorithm: #SESSION_VARIABLE
@EndUserText.label: 'Business Partner Contact To Address'
@Consumption.dbHints: [ 'USE_HEX_PLAN' ]
@Analytics: {
 dataCategory: #DIMENSION,
 dataExtraction: {
    enabled: true     
 }
}
@ObjectModel.sapObjectNodeType.name: 'BPRelationshipAddress'
define view I_BpContactToAddress
  as select from but052
    inner join   but000 on but052.partner2 = but000.partner

  association [1..1] to I_BusinessPartner    as _BusinessPartnerCompany on  $projection.BusinessPartnerCompany = _BusinessPartnerCompany.BusinessPartner

  association [1..1] to I_BusinessPartner    as _BusinessPartnerPerson  on  $projection.BusinessPartnerPerson = _BusinessPartnerPerson.BusinessPartner

  association [1..*] to adcp as _AddressDetails on  $projection.AddressID = _AddressDetails.addrnumber
                                                and $projection.PersonNumber = _AddressDetails.persnumber
                                                
  association [1..*] to adrp as _PersonDetails on $projection.PersonNumber = _PersonDetails.persnumber                                              
                                                                        
  association [1] to I_BusinessPartnerAddress as _BPCompanyPostalAddress on $projection.AddressID = _BPCompanyPostalAddress.AddressNumber
                                                                        and $projection.BusinessPartnerCompany = _BPCompanyPostalAddress.BusinessPartner

  association [1] to I_BusinessPartAddress_2 as _BPCompanyPostalAddress_2 on $projection.AddressID = _BPCompanyPostalAddress_2.AddressNumber
                                                                        and $projection.BusinessPartnerCompany = _BPCompanyPostalAddress_2.BusinessPartner
                                                                        
  association [0..1] to I_AddressPhoneNumber as _Telephone              on  $projection.AddressID      = _Telephone.AddressID
                                                                        and $projection.PersonNumber   = _Telephone.Person
                                                                        and _Telephone.PhoneNumberType = '1'

  association [0..1] to I_AddressPhoneNumber as _MobilePhone            on  $projection.AddressID        = _MobilePhone.AddressID
                                                                        and $projection.PersonNumber     = _MobilePhone.Person
                                                                        and _MobilePhone.PhoneNumberType = '3'

  association [0..1] to I_AddressFaxNumber   as _FaxNumber              on  $projection.AddressID         = _FaxNumber.AddressID
                                                                        and $projection.PersonNumber        = _FaxNumber.Person
                                                                        and _FaxNumber.IsDefaultFaxNumber = 'X'
  
  association [0..1] to I_AddressPhoneNumber_2 as _Telephone_2              on  $projection.AddressID      = _Telephone_2.AddressID
                                                                        and $projection.PersonNumber   = _Telephone_2.AddressPersonID
                                                                        and _Telephone_2.PhoneNumberType = '1'

  association [0..1] to I_AddressPhoneNumber_2 as _MobilePhone_2            on  $projection.AddressID        = _MobilePhone_2.AddressID
                                                                        and $projection.PersonNumber     = _MobilePhone_2.AddressPersonID
                                                                        and _MobilePhone_2.PhoneNumberType = '3'

  association [0..1] to I_AddressFaxNumber_2   as _FaxNumber_2              on  $projection.AddressID         = _FaxNumber_2.AddressID
                                                                        and $projection.PersonNumber        = _FaxNumber_2.AddressPersonID
                                                                        and _FaxNumber_2.FaxNumberIsCurrentDefault = 'X'
                                                                        
  association [0..1] to I_Address_2          as _AddressDefaultRepresentation on  $projection.AddressID  = _AddressDefaultRepresentation.AddressID
                                                                              and $projection.PersonNumber =  _AddressDefaultRepresentation.AddressPersonID     
                                                                              and _AddressDefaultRepresentation.AddressRepresentationCode is initial

  association [0..*] to I_Address_2          as _AddressInternationalVersions on  $projection.AddressID  = _AddressInternationalVersions.AddressID
                                                                              and $projection.PersonNumber = _AddressInternationalVersions.AddressPersonID 
                                                                              and _AddressInternationalVersions.AddressRepresentationCode is not initial
{
  key but052.relnr                            as RelationshipNumber,
      //--[ GENERATED:012:GlBfhyJl7kY4i6}7dD1KRG

      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_BusinessPartnerVH',
                     element: 'BusinessPartner' }
        }]
      // ]--GENERATED

      @ObjectModel.foreignKey.association : '_BusinessPartnerCompany'
  key but052.partner1                         as BusinessPartnerCompany,
      //--[ GENERATED:012:GlBfhyJl7kY4i6}7dD1KRG

      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_BusinessPartnerVH',
                     element: 'BusinessPartner' }
        }]
      // ]--GENERATED

      @ObjectModel.foreignKey.association : '_BusinessPartnerPerson'
  key but052.partner2                         as BusinessPartnerPerson,
  key but052.date_to                          as ValidityEndDate,
      @ObjectModel.foreignKey.association: '_AddressDetails'
  key but052.addrnumber                       as AddressID,
      but000.persnumber                       as PersonNumber,
      but052.xdfadr                           as IsDefaultAddress,
      _AddressDetails[1: nation = ' '].nation                  as AddressRepresentationCode,
      _AddressDetails[1: nation = ' '].function                as ContactRelationshipFunction,
      _AddressDetails[1: nation = ' '].department              as ContactRelationshipDepartment,
      _AddressDetails[1: nation = ' '].floor                   as Floor,
      _AddressDetails[1: nation = ' '].building                as Building,
      _AddressDetails[1: nation = ' '].roomnumber              as RoomNumber,
      _AddressDetails[1: nation = ' '].deflt_comm              as PrfrdCommMediumType,
      _AddressDetails[1: nation = ' '].id_code                 as CorrespondenceShortName,
      _AddressDetails[1: nation = ' '].ih_mail                 as InhouseMail,
      _Telephone_2.InternationalPhoneNumber,
      _Telephone_2.PhoneNumberCountry,
      _Telephone_2.PhoneAreaCodeSubscriberNumber   as PhoneNumber,
      _MobilePhone_2.InternationalPhoneNumber      as InternationalMobilePhoneNumber,
      _MobilePhone_2.PhoneNumberCountry            as MobilePhoneCountry,
      _MobilePhone_2.PhoneAreaCodeSubscriberNumber as MobilePhoneNumber,
      _MobilePhone_2.PhoneExtensionNumber          as MobilePhoneNumberExtension,
      _FaxNumber_2.InternationalFaxNumber,
      _FaxNumber_2.FaxNumberCountry                as FaxCountry,
      _BusinessPartnerPerson.AuthorizationGroup,
      _BusinessPartnerPerson.IsBusinessPurposeCompleted,

      _AddressDetails,
      _PersonDetails,
       @API.element.releaseState: #DEPRECATED  
       @API.element.successor: '_BPCompanyPostalAddress_2'        
      _BPCompanyPostalAddress,
      _BusinessPartnerCompany,
      _BusinessPartnerPerson,
       @API.element.releaseState: #DEPRECATED  
       @API.element.successor: '_Telephone_2'        
      _Telephone,
       @API.element.releaseState: #DEPRECATED  
       @API.element.successor: '_MobilePhone_2'        
      _MobilePhone,
       @API.element.releaseState: #DEPRECATED  
       @API.element.successor: '_FaxNumber_2'       
      _FaxNumber,
      _Telephone_2,
      _MobilePhone_2,
      _FaxNumber_2,
      _BPCompanyPostalAddress_2, 
      _AddressDefaultRepresentation,
      _AddressInternationalVersions      
}