I_BpContactToAddress
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.
Associations (14)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [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)
| Name | Value | Level | Field |
|---|---|---|---|
| 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)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| 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
}
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