I_BPRelshpCntctPersnAddrVersTP
RAP BO Contact Person Address Versions
I_BPRelshpCntctPersnAddrVersTP is a Transactional CDS View that provides data about "RAP BO Contact Person Address Versions" in SAP S/4HANA. It reads from 3 data sources (adcp, P_BPContactToAddress, adrp) and exposes 44 fields with key fields BusinessPartner1, BusinessPartner2, ValidityEndDate, RelationshipCategory, AddressID. It has 4 associations to related views.
Data Sources (3)
| Source | Alias | Join Type |
|---|---|---|
| adcp | AddressDetails | inner |
| P_BPContactToAddress | P_BPContactToAddress | from |
| adrp | PersonDetails | left_outer |
Associations (4)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1] | I_BusPartRelationshipTP | _BusPartRelationship | $projection.BusinessPartner1 = _BusPartRelationship.BusinessPartner1 and $projection.BusinessPartner2 = _BusPartRelationship.BusinessPartner2 and $projection.ValidityEndDate = _BusPartRelationship.ValidityEndDate and $projection.RelationshipCategory = _BusPartRelationship.RelationshipCategory and $projection.BPRelshpCatIsInFwdDirection = _BusPartRelationship.BPRelshpCatIsInFwdDirection |
| [0..1] | I_BPRelshpContactPersonTP | _BPRelshpContactPerson | $projection.BusinessPartner1 = _BPRelshpContactPerson.BusinessPartner1 and $projection.BusinessPartner2 = _BPRelshpContactPerson.BusinessPartner2 and $projection.ValidityEndDate = _BPRelshpContactPerson.ValidityEndDate and $projection.RelationshipCategory = _BPRelshpContactPerson.RelationshipCategory |
| [0..*] | I_AddressRepresentationText | _AddressRepresentationText | $projection.AddressRepresentationCode = _AddressRepresentationText.AddressRepresentationCode |
| [0..*] | I_BusinessPartnerFormOfAddrTxt | _BusinessPartnerFormOfAddrTxt | $projection.FormOfAddress = _BusinessPartnerFormOfAddrTxt.FormOfAddress |
Annotations (8)
| Name | Value | Level | Field |
|---|---|---|---|
| AccessControl.authorizationCheck | #CHECK | view | |
| AccessControl.personalData.blocking | #REQUIRED | view | |
| EndUserText.label | RAP BO Contact Person Address Versions | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.sizeCategory | #XXL | view | |
| ObjectModel.usageType.dataClass | #MASTER | view | |
| Search.searchable | true | view | |
| VDM.viewType | #TRANSACTIONAL | view |
Fields (44)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | BusinessPartner1 | P_BPContactToAddress | BusinessPartnerCompany | |
| KEY | BusinessPartner2 | P_BPContactToAddress | BusinessPartnerPerson | |
| KEY | ValidityEndDate | |||
| KEY | RelationshipCategory | P_BPContactToAddress | RelationshipCategory | |
| KEY | AddressID | P_BPContactToAddress | AddressID | |
| KEY | AddressRepresentationCode | adcp | nation | |
| KEY | BPRelshpCatIsInFwdDirection | P_BPContactToAddress | BPRelshpCatIsInFwdDirection | |
| AddrRepCodeForEdit | adcp | nation | ||
| RelationshipNumber | P_BPContactToAddress | RelationshipNumber | ||
| FormOfAddress | adrp | title | ||
| FirstName | adrp | name_first | ||
| LastName | adrp | name_last | ||
| BirthName | adrp | name2 | ||
| MiddleName | adrp | namemiddle | ||
| AdditionalFamilyName | adrp | name_last2 | ||
| FullName | adrp | name_text | ||
| PersonFullNameMaintStatus | adrp | converted | ||
| AcademicTitle | adrp | title_aca1 | ||
| AcademicTitle2 | adrp | title_aca2 | ||
| LastNamePrefix | adrp | prefix1 | ||
| LastNameSecondPrefix | adrp | prefix2 | ||
| NameSupplement | adrp | title_sppl | ||
| BusinessPartnerNicknameLabel | adrp | nickname | ||
| Initials | adrp | initials | ||
| NameFormat | adrp | nameformat | ||
| NameCountry | adrp | namcountry | ||
| PersonProfessionName | adrp | profession | ||
| GenderCode | adrp | sex | ||
| AddressSearchText1 | adrp | sort1 | ||
| AddressSearchText2 | adrp | sort2 | ||
| ContactRelationshipFunction | adcp | function | ||
| ContactRelationshipDepartment | adcp | department | ||
| Floor | adcp | floor | ||
| Building | adcp | building | ||
| RoomNumber | adcp | roomnumber | ||
| CorrespondenceShortName | adcp | id_code | ||
| InhouseMail | adcp | ih_mail | ||
| _BusinessPartner1 | P_BPContactToAddress | _BusinessPartnerCompany | ||
| _BusinessPartner2 | P_BPContactToAddress | _BusinessPartnerPerson | ||
| _BPRelshpCntctPersnAddress | _BPRelshpCntctPersnAddress | |||
| _BPRelshpContactPerson | _BPRelshpContactPerson | |||
| _BusPartRelationship | _BusPartRelationship | |||
| _AddressRepresentationText | _AddressRepresentationText | |||
| _BusinessPartnerFormOfAddrTxt | _BusinessPartnerFormOfAddrTxt |
//@AbapCatalog.sqlViewName: 'IBPRELCPADVERTP'
//@AbapCatalog.compiler.compareFilter: true
//@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #REQUIRED
//@ClientHandling.algorithm : #SESSION_VARIABLE
@EndUserText.label: 'RAP BO Contact Person Address Versions'
//@AccessControl.privilegedAssociations: [ '_BPDataControllerUsage1','_BPDataControllerUsage2' ]
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #XXL
@ObjectModel.usageType.dataClass: #MASTER
@Search.searchable: true
@VDM.viewType: #TRANSACTIONAL
define view entity I_BPRelshpCntctPersnAddrVersTP
as select from P_BPContactToAddress
inner join adcp as AddressDetails on P_BPContactToAddress.AddressID = AddressDetails.addrnumber
and P_BPContactToAddress.PersonNumber = AddressDetails.persnumber
and AddressDetails.nation != ' '
and AddressDetails.comp_pers = 'C'
left outer join adrp as PersonDetails on AddressDetails.persnumber = PersonDetails.persnumber
and AddressDetails.nation = PersonDetails.nation
association [1] to I_BusPartRelationshipTP as _BusPartRelationship
// on $projection.BPDrftUUID = _BusPartRelationship.BPDrftUUID
// and $projection.BPRelshpUUID = _BusPartRelationship.BPRelshpUUID
on $projection.BusinessPartner1 = _BusPartRelationship.BusinessPartner1
and $projection.BusinessPartner2 = _BusPartRelationship.BusinessPartner2
and $projection.ValidityEndDate = _BusPartRelationship.ValidityEndDate
and $projection.RelationshipCategory = _BusPartRelationship.RelationshipCategory
and $projection.BPRelshpCatIsInFwdDirection = _BusPartRelationship.BPRelshpCatIsInFwdDirection
// association [1] to I_BusPartRelationshipTP as _BusPartRelshp on $projection.BusinessPartner1 = _BusPartRelshp.BusinessPartner1
// and $projection.BusinessPartner2 = _BusPartRelshp.BusinessPartner2
// and $projection.ValidityEndDate = _BusPartRelshp.ValidityEndDate
// and $projection.RelationshipCategory = _BusPartRelshp.RelationshipCategory
association [0..1] to I_BPRelshpContactPersonTP as _BPRelshpContactPerson
// on $projection.BPDrftUUID = _BPRelshpContactPerson.BPDrftUUID
// and $projection.BPRelshpUUID = _BPRelshpContactPerson.BPRelshpUUID
on $projection.BusinessPartner1 = _BPRelshpContactPerson.BusinessPartner1
and $projection.BusinessPartner2 = _BPRelshpContactPerson.BusinessPartner2
and $projection.ValidityEndDate = _BPRelshpContactPerson.ValidityEndDate
and $projection.RelationshipCategory = _BPRelshpContactPerson.RelationshipCategory
association to parent I_BPRelshpCntctPersnAddressTP as _BPRelshpCntctPersnAddress
// on $projection.BPDrftUUID = _BPRelshpCntctPersnAddress.BPDrftUUID
// and $projection.BPRelshpUUID = _BPRelshpCntctPersnAddress.BPRelshpUUID
// and $projection.BPRelshpCntctPersnAddrUUID = _BPRelshpCntctPersnAddress.BPRelshpCntctPersnAddrUUID
on $projection.BusinessPartner1 = _BPRelshpCntctPersnAddress.BusinessPartner1
and $projection.BusinessPartner2 = _BPRelshpCntctPersnAddress.BusinessPartner2
and $projection.ValidityEndDate = _BPRelshpCntctPersnAddress.ValidityEndDate
and $projection.RelationshipCategory = _BPRelshpCntctPersnAddress.RelationshipCategory
and $projection.AddressID = _BPRelshpCntctPersnAddress.AddressID
and $projection.BPRelshpCatIsInFwdDirection = _BPRelshpCntctPersnAddress.BPRelshpCatIsInFwdDirection
association [0..*] to I_AddressRepresentationText as _AddressRepresentationText on $projection.AddressRepresentationCode = _AddressRepresentationText.AddressRepresentationCode
association [0..*] to I_BusinessPartnerFormOfAddrTxt as _BusinessPartnerFormOfAddrTxt on $projection.FormOfAddress = _BusinessPartnerFormOfAddrTxt.FormOfAddress
// association [0..*] to I_BPDataControllerUsage as _BPDataControllerUsage1 on $projection.BusinessPartner1 = _BPDataControllerUsage1.BusinessPartner
// association [0..*] to I_BPDataControllerUsage as _BPDataControllerUsage2 on $projection.BusinessPartner2 = _BPDataControllerUsage2.BusinessPartner
{
// key cast ( hextobin('00000000000000000000000000000000') as sysuuid_x ) as BPDrftUUID,
// key cast ( hextobin('00000000000000000000000000000000') as sysuuid_x ) as BPRelshpUUID,
// key cast ( hextobin('00000000000000000000000000000000') as sysuuid_x ) as BPRelshpCntctPersnAddrUUID,
// key cast ( hextobin('00000000000000000000000000000000') as sysuuid_x ) as BPRelshpCntctPersnAddrVersUUID,
@Search.defaultSearchElement: true
key P_BPContactToAddress.BusinessPartnerCompany as BusinessPartner1,
@Search.defaultSearchElement: true
key P_BPContactToAddress.BusinessPartnerPerson as BusinessPartner2,
// key I_BpContactToAddress.ValidityEndDate,
key cast( P_BPContactToAddress.ValidityEndDate as abap.char( 17 )) as ValidityEndDate,
key P_BPContactToAddress.RelationshipCategory as RelationshipCategory,
key P_BPContactToAddress.AddressID,
key AddressDetails.nation as AddressRepresentationCode,
key P_BPContactToAddress.BPRelshpCatIsInFwdDirection,
AddressDetails.nation as AddrRepCodeForEdit,
@Search.defaultSearchElement: true
P_BPContactToAddress.RelationshipNumber,
PersonDetails.title as FormOfAddress,
PersonDetails.name_first as FirstName,
PersonDetails.name_last as LastName,
PersonDetails.name2 as BirthName,
PersonDetails.namemiddle as MiddleName,
PersonDetails.name_last2 as AdditionalFamilyName,
PersonDetails.name_text as FullName,
PersonDetails.converted as PersonFullNameMaintStatus,
PersonDetails.title_aca1 as AcademicTitle,
PersonDetails.title_aca2 as AcademicTitle2,
PersonDetails.prefix1 as LastNamePrefix,
PersonDetails.prefix2 as LastNameSecondPrefix,
PersonDetails.title_sppl as NameSupplement,
PersonDetails.nickname as BusinessPartnerNicknameLabel,
PersonDetails.initials as Initials,
PersonDetails.nameformat as NameFormat,
PersonDetails.namcountry as NameCountry,
// PersonDetails.namctryiso as Country2DigitISOCode,
PersonDetails.profession as PersonProfessionName,
PersonDetails.sex as GenderCode,
PersonDetails.sort1 as AddressSearchText1,
PersonDetails.sort2 as AddressSearchText2,
AddressDetails.function as ContactRelationshipFunction,
AddressDetails.department as ContactRelationshipDepartment,
AddressDetails.floor as Floor,
AddressDetails.building as Building,
AddressDetails.roomnumber as RoomNumber,
AddressDetails.id_code as CorrespondenceShortName,
AddressDetails.ih_mail as InhouseMail,
/* Associations */
P_BPContactToAddress._BusinessPartnerCompany as _BusinessPartner1,
P_BPContactToAddress._BusinessPartnerPerson as _BusinessPartner2,
_BPRelshpCntctPersnAddress,
_BPRelshpContactPerson,
_BusPartRelationship,
_AddressRepresentationText,
_BusinessPartnerFormOfAddrTxt
// _BPDataControllerUsage1,
// _BPDataControllerUsage2
}
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