I_BPContactFaxNmbrTP

DDL: I_BPCONTACTFAXNMBRTP SQL: IBPCPFAXNMBRTP Type: view TRANSACTIONAL

BO view for BP contact Fax number

I_BPContactFaxNmbrTP is a Transactional CDS View that provides data about "BO view for BP contact Fax number" in SAP S/4HANA. It reads from 2 data sources (I_BpContactToAddress, I_AddressFaxNumber_2) and exposes 24 fields with key fields BusinessPartner1, BusinessPartner2, RelationshipNumber, ValidityEndDate, AddressID. It has 3 associations to related views.

Data Sources (2)

SourceAliasJoin Type
I_BpContactToAddress ContactPerson from
I_AddressFaxNumber_2 FaxNumber inner

Associations (3)

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
[0..1] I_BusPartTelCountryPrefix _CountryPrefix $projection.FaxCountry = _CountryPrefix.Country

Annotations (14)

NameValueLevelField
AbapCatalog.sqlViewName IBPCPFAXNMBRTP 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 Fax number view
Search.searchable true view
VDM.viewType #TRANSACTIONAL view
ObjectModel.writeEnabled true view
ObjectModel.writeDraftPersistence BPCP_FAX_D view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XXL view
ObjectModel.usageType.dataClass #MASTER view

Fields (24)

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_AddressFaxNumber_2 CommMediumSequenceNumber
BusinessPartner1ForEdit I_BpContactToAddress BusinessPartnerCompany
BusinessPartner2ForEdit I_BpContactToAddress BusinessPartnerPerson
ValidityEndDateForEdit I_BpContactToAddress ValidityEndDate
AddressIDForEdit I_BpContactToAddress AddressID
OrdinalNumberForEdit I_AddressFaxNumber_2 CommMediumSequenceNumber
RelationshipNumberForEdit I_BpContactToAddress RelationshipNumber
FaxCountry I_AddressFaxNumber_2 FaxNumberCountry
CountryDialingCode _CountryPrefix TelephoneCountryPrefix
IsDefaultFaxNumber I_AddressFaxNumber_2 FaxNumberIsCurrentDefault
CommNumberIsNotUsed I_AddressFaxNumber_2 CommLineNotForUnsolicitedCntct
FaxNumber I_AddressFaxNumber_2 FaxAreaCodeSubscriberNumber
FaxNumberExtension I_AddressFaxNumber_2 FaxExtensionNumber
AddressCommunicationRemarkText
_BusinessPartner1 _BusinessPartnerCompany
_BusinessPartner2 _BusinessPartnerPerson
_CountryPrefix _CountryPrefix
_BusinessPartner _BusinessPartner
_BPContactAddress _BPContactAddress
@AbapCatalog.sqlViewName: 'IBPCPFAXNMBRTP'
@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 Fax number'
@Search.searchable: true
@VDM.viewType: #TRANSACTIONAL

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

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

@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #XXL
@ObjectModel.usageType.dataClass: #MASTER
define view I_BPContactFaxNmbrTP  as select from I_BpContactToAddress as ContactPerson
    inner join I_AddressFaxNumber_2 as FaxNumber on  ContactPerson.AddressID = FaxNumber.AddressID
                                               and ContactPerson.PersonNumber = FaxNumber.AddressPersonID

 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                             

  association [0..1] to I_BusPartTelCountryPrefix as _CountryPrefix on  $projection.FaxCountry = _CountryPrefix.Country

{
      @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 FaxNumber.CommMediumSequenceNumber as OrdinalNumber,
  
    
   ContactPerson.BusinessPartnerCompany  as BusinessPartner1ForEdit,
   ContactPerson.BusinessPartnerPerson   as BusinessPartner2ForEdit,  
   ContactPerson.ValidityEndDate as ValidityEndDateForEdit,
   ContactPerson.AddressID as AddressIDForEdit,
   FaxNumber.CommMediumSequenceNumber as OrdinalNumberForEdit,
   ContactPerson.RelationshipNumber as RelationshipNumberForEdit,
   
      FaxNumber.FaxNumberCountry as FaxCountry,
      @ObjectModel.readOnly: true
      _CountryPrefix.TelephoneCountryPrefix    as CountryDialingCode,
      FaxNumber.FaxNumberIsCurrentDefault      as IsDefaultFaxNumber,
      FaxNumber.CommLineNotForUnsolicitedCntct as CommNumberIsNotUsed,
      FaxNumber.FaxAreaCodeSubscriberNumber    as FaxNumber,
      FaxNumber.FaxExtensionNumber             as FaxNumberExtension,
      FaxNumber._AddressCommunicationRemark.CommunicationRemarkText as AddressCommunicationRemarkText,

      /* Associations */ 
      _BusinessPartnerCompany   as _BusinessPartner1,
      _BusinessPartnerPerson    as _BusinessPartner2,
      _CountryPrefix,
      @ObjectModel.association.type: [ #TO_COMPOSITION_ROOT ]
      _BusinessPartner,
      @ObjectModel.association.type: [ #TO_COMPOSITION_PARENT ]
      _BPContactAddress
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_ADDRESSCOMMUNICATIONREMARK_2",
"I_ADDRESSFAXNUMBER_2",
"I_BPCONTACTTOADDRESS",
"I_BUSPARTTELCOUNTRYPREFIX"
],
"ASSOCIATED":
[
"I_BPCONTACTADDRESSTP",
"I_BUSINESSPARTNER",
"I_BUSINESSPARTNERTP",
"I_BUSPARTTELCOUNTRYPREFIX"
],
"BASE":
[
"I_BPCONTACTTOADDRESS"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/