P_BPContactToAddress
BP Contact person address
P_BPContactToAddress is a CDS View that provides data about "BP Contact person address" in SAP S/4HANA. It reads from 6 data sources and exposes 57 fields with key fields RelationshipNumber, BusinessPartnerCompany, BusinessPartnerPerson, ValidityEndDate, AddressID. It has 8 associations to related views.
Data Sources (6)
Associations (8)
| 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.BusinessPartnerPerson = _BPCompanyPostalAddress.BusinessPartner or $projection.BusinessPartnerCompany = _BPCompanyPostalAddress.BusinessPartner ) |
| [0..*] | I_AddressPhoneNumber_2 | _Telephone | $projection.AddressID = _Telephone.AddressID and $projection.PersonNumber = _Telephone.AddressPersonID and _Telephone.PhoneNumberType = '1' |
| [0..*] | I_AddressPhoneNumber_2 | _MobilePhone | $projection.AddressID = _MobilePhone.AddressID and $projection.PersonNumber = _MobilePhone.AddressPersonID and _MobilePhone.PhoneNumberType = '3' |
| [0..*] | I_AddressFaxNumber_2 | _FaxNumber | $projection.AddressID = _FaxNumber.AddressID and $projection.PersonNumber = _FaxNumber.AddressPersonID and _FaxNumber.FaxNumberIsCurrentDefault = 'X' |
Annotations (6)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | PBPCNTCTADDRESS | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AbapCatalog.preserveKey | true | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| EndUserText.label | BP Contact person address | view | |
| VDM.private | true | view |
Fields (57)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | RelationshipNumber | but052 | relnr | BP Rel. Number |
| KEY | BusinessPartnerCompany | but052 | partner1 | Busn. Partner |
| KEY | BusinessPartnerPerson | but052 | partner2 | Busn. Partner |
| KEY | ValidityEndDate | but050 | date_to | Validity End Date |
| KEY | AddressID | but052 | addrnumber | Address Number |
| KEY | BPRelshpCatIsInFwdDirection | |||
| PersonNumber | but000 | persnumber | Person Number | |
| IsDefaultAddress | but052 | xdfadr | Stand. address | |
| RelationshipCategory | ||||
| AddressRepresentationCode | ||||
| ContactRelationshipFunction | ||||
| ContactRelationshipDepartment | ||||
| Floor | ||||
| Building | ||||
| RoomNumber | ||||
| PrfrdCommMediumType | ||||
| CorrespondenceShortName | ||||
| InhouseMail | ||||
| AuthorizationGroup | _BusinessPartnerPerson | AuthorizationGroup | AuthorizGroup | |
| IsBusinessPurposeCompleted | _BusinessPartnerPerson | IsBusinessPurposeCompleted | Purpose Completed | |
| RelValidityEndDate | but052 | date_to | Validity End Date | |
| _AddressDetails | _AddressDetails | |||
| _PersonDetails | _PersonDetails | |||
| _BPCompanyPostalAddress | _BPCompanyPostalAddress | |||
| _BusinessPartnerCompany | _BusinessPartnerCompany | |||
| _BusinessPartnerPerson | _BusinessPartnerPerson | |||
| _Telephone | _Telephone | |||
| _MobilePhone | _MobilePhone | |||
| relnrasRelationshipNumber | ||||
| KEY | BusinessPartnerCompany | but052 | partner2 | Busn. Partner |
| KEY | BusinessPartnerPerson | but052 | partner1 | Busn. Partner |
| KEY | ValidityEndDate | but050 | date_to | Validity End Date |
| KEY | AddressID | but052 | addrnumber | Address Number |
| KEY | BPRelshpCatIsInFwdDirection | |||
| PersonNumber | but000 | persnumber | Person Number | |
| IsDefaultAddress | but052 | xdfadr | Stand. address | |
| RelationshipCategory | ||||
| AddressRepresentationCode | ||||
| ContactRelationshipFunction | ||||
| ContactRelationshipDepartment | ||||
| Floor | ||||
| Building | ||||
| RoomNumber | ||||
| PrfrdCommMediumType | ||||
| CorrespondenceShortName | ||||
| InhouseMail | ||||
| AuthorizationGroup | _BusinessPartnerPerson | AuthorizationGroup | AuthorizGroup | |
| IsBusinessPurposeCompleted | _BusinessPartnerPerson | IsBusinessPurposeCompleted | Purpose Completed | |
| RelValidityEndDate | but052 | date_to | Validity End Date | |
| _AddressDetails | _AddressDetails | |||
| _PersonDetails | _PersonDetails | |||
| _BPCompanyPostalAddress | _BPCompanyPostalAddress | |||
| _BusinessPartnerCompany | _BusinessPartnerCompany | |||
| _BusinessPartnerPerson | _BusinessPartnerPerson | |||
| _Telephone | _Telephone | |||
| _MobilePhone | _MobilePhone | |||
| _FaxNumber | _FaxNumber |
Derived SQL interpretation, reconstructed from the parsed view metadata (data sources, associations, and field mappings). SAP annotations are omitted and the structure is reformulated as SQL — this is a functional approximation, not the verbatim SAP source.
-- Derived SQL interpretation of CDS view P_BPContactToAddress.
-- Reconstructed from parsed metadata (data sources, associations, fields).
-- SAP annotations are omitted and the structure is reformulated as SQL;
-- this is a functional approximation, not the verbatim SAP source. Some join
-- conditions may be unavailable and a few CDS constructs are kept as-is.
-- SQL view name: PBPCNTCTADDRESS
CREATE VIEW P_BPContactToAddress AS
SELECT
but052.relnr AS RelationshipNumber,
but052.partner1 AS BusinessPartnerCompany,
but052.partner2 AS BusinessPartnerPerson,
but050.date_to AS ValidityEndDate,
but052.addrnumber AS AddressID,
'X' AS BPRelshpCatIsInFwdDirection,
but000.persnumber AS PersonNumber,
but052.xdfadr AS IsDefaultAddress,
'BUR001' AS RelationshipCategory,
_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,
_BusinessPartnerPerson.AuthorizationGroup AS AuthorizationGroup,
_BusinessPartnerPerson.IsBusinessPurposeCompleted AS IsBusinessPurposeCompleted,
but052.date_to AS RelValidityEndDate
FROM but052
INNER JOIN but000 ON /* join condition not captured in parsed metadata */
INNER JOIN but050 ON /* join condition not captured in parsed metadata */
LEFT OUTER JOIN I_BusinessPartner AS _BusinessPartnerCompany ON BusinessPartnerCompany = _BusinessPartnerCompany.BusinessPartner -- association [1..1]
LEFT OUTER JOIN I_BusinessPartner AS _BusinessPartnerPerson ON BusinessPartnerPerson = _BusinessPartnerPerson.BusinessPartner -- association [1..1]
LEFT OUTER JOIN adcp AS _AddressDetails ON AddressID = _AddressDetails.addrnumber AND PersonNumber = _AddressDetails.persnumber -- association [1..*]
LEFT OUTER JOIN adrp AS _PersonDetails ON PersonNumber = _PersonDetails.persnumber -- association [1..*]
LEFT OUTER JOIN I_BusinessPartnerAddress AS _BPCompanyPostalAddress ON AddressID = _BPCompanyPostalAddress.AddressNumber AND ( BusinessPartnerPerson = _BPCompanyPostalAddress.BusinessPartner OR BusinessPartnerCompany = _BPCompanyPostalAddress.BusinessPartner ) -- association [1..*]
LEFT OUTER JOIN I_AddressPhoneNumber_2 AS _Telephone ON AddressID = _Telephone.AddressID AND PersonNumber = _Telephone.AddressPersonID AND _Telephone.PhoneNumberType = '1' -- association [0..*]
LEFT OUTER JOIN I_AddressPhoneNumber_2 AS _MobilePhone ON AddressID = _MobilePhone.AddressID AND PersonNumber = _MobilePhone.AddressPersonID AND _MobilePhone.PhoneNumberType = '3' -- association [0..*]
LEFT OUTER JOIN I_AddressFaxNumber_2 AS _FaxNumber ON AddressID = _FaxNumber.AddressID AND PersonNumber = _FaxNumber.AddressPersonID AND _FaxNumber.FaxNumberIsCurrentDefault = 'X' -- association [0..*]
-- UNION ALL with additional select branch(es): but052
;
Learn More
- CDS View Annotations — A Complete Guide
- 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 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
- BSEG to ACDOCA: The Universal Journal Migration
- Business Partner Migration: KNA1/LFA1 to BUT000
- Material Document Migration: MSEG/MKPF to MATDOC
- How to Find the Right CDS View for an SAP Table
- BW Extractor to CDS View Migration Guide
- S/4HANA CDS View Deprecation: What You Need to Know
- ABAP CDS View Tutorial — From Basics to Real-World Examples
- RAP and CDS Views — Building Transactional Apps in SAP S/4HANA
- Sales Document Status Migration: VBUP/VBUK Removal in S/4HANA
- CO Tables in S/4HANA: COEP, COBK, COSS, COSP to ACDOCA