I_BPRelshpCntctPersnWbsteURLTP
BO view for Contact Person Website
I_BPRelshpCntctPersnWbsteURLTP is a Transactional CDS View that provides data about "BO view for Contact Person Website" in SAP S/4HANA. It reads from 2 data sources (P_BPContactToAddress, I_AddressURI) and exposes 20 fields with key fields BusinessPartner1, BusinessPartner2, ValidityEndDate, RelationshipCategory, AddressID. It has 2 associations to related views.
Data Sources (2)
| Source | Alias | Join Type |
|---|---|---|
| P_BPContactToAddress | ContactPerson | from |
| I_AddressURI | Website | inner |
Associations (2)
| 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 |
Annotations (8)
| Name | Value | Level | Field |
|---|---|---|---|
| AccessControl.authorizationCheck | #CHECK | view | |
| AccessControl.personalData.blocking | #REQUIRED | view | |
| EndUserText.label | BO view for Contact Person Website | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.sizeCategory | #XXL | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| Search.searchable | true | view | |
| VDM.viewType | #TRANSACTIONAL | view |
Fields (20)
| 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 | OrdinalNumber | I_AddressURI | CommMediumSequenceNumber | |
| KEY | BPRelshpCatIsInFwdDirection | P_BPContactToAddress | BPRelshpCatIsInFwdDirection | |
| OrdinalNumberForEdit | I_AddressURI | CommMediumSequenceNumber | ||
| RelationshipNumber | P_BPContactToAddress | RelationshipNumber | ||
| IsDefaultURLAddress | I_AddressURI | URLIsCurrentDefault | ||
| CommNumberIsNotUsed | ||||
| AddressCommunicationRemarkText | ||||
| UniformResourceIdentifier | ||||
| URLFieldLength | ||||
| WebsiteURL | I_AddressURI | UniformResourceIdentifier | ||
| _BusinessPartner1 | P_BPContactToAddress | _BusinessPartnerCompany | ||
| _BusinessPartner2 | P_BPContactToAddress | _BusinessPartnerPerson | ||
| _BPRelshpCntctPersnAddress | _BPRelshpCntctPersnAddress | |||
| _BPRelshpContactPerson | _BPRelshpContactPerson | |||
| _BusPartRelationship | _BusPartRelationship |
//@AbapCatalog.sqlViewName: 'IBPRELCPWEBTP'
//@AbapCatalog.compiler.compareFilter: true
//@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #REQUIRED
@AbapCatalog.viewEnhancementCategory: [#NONE]
//@AccessControl.privilegedAssociations: [ 'Website' ]
//@ClientHandling.algorithm : #SESSION_VARIABLE
@EndUserText.label: 'BO view for Contact Person Website'
//@AccessControl.privilegedAssociations: [ '_BPDataControllerUsage1','_BPDataControllerUsage2' ]
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #XXL
@ObjectModel.usageType.dataClass: #TRANSACTIONAL
@Search.searchable: true
@VDM.viewType: #TRANSACTIONAL
define view entity I_BPRelshpCntctPersnWbsteURLTP
as select from P_BPContactToAddress as ContactPerson
inner join I_AddressURI as Website on ContactPerson.AddressID = Website.AddressID
and ContactPerson.PersonNumber = Website.AddressPersonID
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_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 BPRelshpCntctPersnWbsteURLUUID,
@Search.defaultSearchElement: true
key ContactPerson.BusinessPartnerCompany as BusinessPartner1,
@Search.defaultSearchElement: true
key ContactPerson.BusinessPartnerPerson as BusinessPartner2,
key cast( ContactPerson.ValidityEndDate as abap.char( 17 )) as ValidityEndDate,
key ContactPerson.RelationshipCategory,
key ContactPerson.AddressID,
key Website.CommMediumSequenceNumber as OrdinalNumber,
key ContactPerson.BPRelshpCatIsInFwdDirection,
Website.CommMediumSequenceNumber as OrdinalNumberForEdit,
ContactPerson.RelationshipNumber,
Website.URLIsCurrentDefault as IsDefaultURLAddress,
// Website.CommNumberIsNotUsed, ---Obsolete field
cast ('' as ad_flnouse ) as CommNumberIsNotUsed,
Website._AddressCommunicationRemark.CommunicationRemarkText as AddressCommunicationRemarkText,
// cast(Website.URLFieldLength as abap.int4) as URLFieldLength,
// @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_BP_REL_TP_CALC_EXIT'
cast ('' as ad_uriscr) as UniformResourceIdentifier,
// cast ('00' as abap.char( 17 )) as UniformResourceIdentifier1,
// Website.URLFieldLength, ---Obsolete field
cast('0' as abap.int4) as URLFieldLength,
Website.UniformResourceIdentifier as WebsiteURL,
/* Associations */
ContactPerson._BusinessPartnerCompany as _BusinessPartner1,
ContactPerson._BusinessPartnerPerson as _BusinessPartner2,
_BPRelshpCntctPersnAddress,
_BPRelshpContactPerson,
_BusPartRelationship
// _BPDataControllerUsage1,
// _BPDataControllerUsage2
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_ADDRESSCOMMUNICATIONREMARK_2",
"I_ADDRESSURI",
"P_BPCONTACTTOADDRESS"
],
"ASSOCIATED":
[
"I_BPRELSHPCNTCTPERSNADDRESSTP",
"I_BPRELSHPCONTACTPERSONTP",
"I_BUSINESSPARTNER",
"I_BUSPARTRELATIONSHIPTP"
],
"BASE":
[
"P_BPCONTACTTOADDRESS"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/
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