I_BPContactWbsteURLTP

DDL: I_BPCONTACTWBSTEURLTP SQL: IBPCPWBSTEURLTP Type: view TRANSACTIONAL Package: VDM_MD_BP

BO view for BP contact Website URL

I_BPContactWbsteURLTP is a Transactional CDS View that provides data about "BO view for BP contact Website URL" in SAP S/4HANA. It reads from 2 data sources (I_BpContactToAddress, I_AddressHomepageURL) and exposes 22 fields with key fields BusinessPartner1, BusinessPartner2, RelationshipNumber, ValidityEndDate, AddressID. It has 2 associations to related views. Part of development package VDM_MD_BP.

Data Sources (2)

SourceAliasJoin Type
I_BpContactToAddress ContactPerson from
I_AddressHomepageURL Website inner

Associations (2)

CardinalityTargetAliasCondition
[1..1] I_BusinessPartnerTP _BusinessPartner $projection.BusinessPartner1 = _BusinessPartner.BusinessPartner
[1..1] I_BPContactAddressTP _BPContactAddress $projection.BusinessPartner1 = _BPContactAddress.BusinessPartner1 and $projection.BusinessPartner2 = _BPContactAddress.BusinessPartner2 and $projection.RelationshipNumber = _BPContactAddress.RelationshipNumber and $projection.ValidityEndDate = _BPContactAddress.ValidityEndDate and $projection.AddressID = _BPContactAddress.AddressID

Annotations (14)

NameValueLevelField
AbapCatalog.sqlViewName IBPCPWBSTEURLTP view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #REQUIRED view
ClientHandling.algorithm #SESSION_VARIABLE view
EndUserText.label BO view for BP contact Website URL view
Search.searchable true view
VDM.viewType #TRANSACTIONAL view
ObjectModel.writeEnabled true view
ObjectModel.writeDraftPersistence BPCP_WBSTE_D view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XXL view
ObjectModel.usageType.dataClass #MASTER view

Fields (22)

KeyFieldSource TableSource FieldDescription
KEY BusinessPartner1 I_BpContactToAddress BusinessPartnerCompany
KEY BusinessPartner2 I_BpContactToAddress BusinessPartnerPerson
KEY RelationshipNumber I_BpContactToAddress RelationshipNumber
KEY ValidityEndDate I_BpContactToAddress ValidityEndDate
KEY AddressID I_BpContactToAddress AddressID
KEY OrdinalNumber I_AddressHomepageURL OrdinalNumber
BusinessPartner1ForEdit I_BpContactToAddress BusinessPartnerCompany
BusinessPartner2ForEdit I_BpContactToAddress BusinessPartnerPerson
ValidityEndDateForEdit I_BpContactToAddress ValidityEndDate
AddressIDForEdit I_BpContactToAddress AddressID
OrdinalNumberForEdit I_AddressHomepageURL OrdinalNumber
RelationshipNumberForEdit I_BpContactToAddress RelationshipNumber
IsDefaultURLAddress I_AddressHomepageURL IsDefaultURLAddress
CommNumberIsNotUsed I_AddressHomepageURL CommNumberIsNotUsed
AddressCommunicationRemarkText
UniformResourceIdentifierType I_AddressHomepageURL UniformResourceIdentifierType
URLFieldLength
CorporateWebsiteURL I_AddressHomepageURL WebsiteURL
_BusinessPartner1 _BusinessPartnerCompany
_BusinessPartner2 _BusinessPartnerPerson
_BusinessPartner _BusinessPartner
_BPContactAddress _BPContactAddress
@AbapCatalog.sqlViewName: 'IBPCPWBSTEURLTP'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #REQUIRED
@ClientHandling.algorithm : #SESSION_VARIABLE
@EndUserText.label: 'BO view for BP contact Website URL'

@Search.searchable: true
@VDM.viewType: #TRANSACTIONAL

@ObjectModel.writeEnabled: true
@ObjectModel.writeDraftPersistence: 'BPCP_WBSTE_D'

@ObjectModel.createEnabled
@ObjectModel.deleteEnabled
@ObjectModel.updateEnabled

@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #XXL
@ObjectModel.usageType.dataClass: #MASTER
@Consumption.dbHints: [ 'USE_HEX_PLAN' ]
define view I_BPContactWbsteURLTP as select from I_BpContactToAddress as ContactPerson
    inner join I_AddressHomepageURL as Website on  ContactPerson.AddressID    = Website.AddressID
                                               and ContactPerson.PersonNumber = Website.Person
                                                     
   association [1..1] to I_BusinessPartnerTP as _BusinessPartner on  $projection.BusinessPartner1 = _BusinessPartner.BusinessPartner
 
   association [1..1] to I_BPContactAddressTP as _BPContactAddress on  $projection.BusinessPartner1     = _BPContactAddress.BusinessPartner1
                                                                   and $projection.BusinessPartner2     = _BPContactAddress.BusinessPartner2
                                                                   and $projection.RelationshipNumber   = _BPContactAddress.RelationshipNumber
                                                                   and $projection.ValidityEndDate      = _BPContactAddress.ValidityEndDate
                                                                   and $projection.AddressID            = _BPContactAddress.AddressID                                                    
{
      @Search.defaultSearchElement: true
  key ContactPerson.BusinessPartnerCompany    as BusinessPartner1,
      @Search.defaultSearchElement: true
  key ContactPerson.BusinessPartnerPerson     as BusinessPartner2,
//  key _BusPartRelationship.RelationshipCategory,

  key ContactPerson.RelationshipNumber,
  key ContactPerson.ValidityEndDate,
  key ContactPerson.AddressID,
  key Website.OrdinalNumber,
  
   ContactPerson.BusinessPartnerCompany  as BusinessPartner1ForEdit,
   ContactPerson.BusinessPartnerPerson   as BusinessPartner2ForEdit,  
   ContactPerson.ValidityEndDate as ValidityEndDateForEdit,
   ContactPerson.AddressID as AddressIDForEdit,
   Website.OrdinalNumber as OrdinalNumberForEdit,
   ContactPerson.RelationshipNumber as RelationshipNumberForEdit,  
      
      Website.IsDefaultURLAddress,
      Website.CommNumberIsNotUsed,
      Website._AddressCommunicationRemark.AddressCommunicationRemarkText,
      Website.UniformResourceIdentifierType,
      cast(Website.URLFieldLength as abap.int4) as URLFieldLength,
      Website.WebsiteURL as CorporateWebsiteURL,

      /* Associations */
      _BusinessPartnerCompany   as _BusinessPartner1,
      _BusinessPartnerPerson    as _BusinessPartner2,
      @ObjectModel.association.type: [ #TO_COMPOSITION_ROOT ]
      _BusinessPartner,
      @ObjectModel.association.type: [ #TO_COMPOSITION_PARENT ]
      _BPContactAddress
}