I_BPTELEPHONENUMBER

CDS View

BusinessPartner Telephone Number

I_BPTELEPHONENUMBER is a CDS View in S/4HANA. BusinessPartner Telephone Number. It contains 10 fields. 5 CDS views read from this table.

CDS Views using this table (5)

ViewTypeJoinVDMDescription
I_BPAddlCustTelNmbrTP view from TRANSACTIONAL BO view for Tel nos of MLTAS Customers
I_BPAddlSuplrTelNmbrTP view from TRANSACTIONAL BO view for Tel nos of MLTAS Suppliers
I_BPTelephoneNumberTP view from TRANSACTIONAL Business Partner Telephone
I_BusPartTelephoneNumberGov view union_all BASIC BP Governance Telephone Number
I_BusPartTelephoneNumberTP_2 view_entity from TRANSACTIONAL Transactional View for I_BusPartTelephoneNumber

Fields (10)

KeyField CDS FieldsUsed in Views
KEY AddressID AddressID 3
KEY BusinessPartner BusinessPartner 1
KEY OrdinalNumber OrdinalNumber 3
KEY Person Person 3
DestinationLocationCountry DestinationLocationCountry 3
InternationalPhoneNumber InternationalPhoneNumber 3
IsDefaultPhoneNumber IsDefaultPhoneNumber 3
PhoneNumber PhoneNumber 3
PhoneNumberExtension PhoneNumberExtension 3
PhoneNumberType PhoneNumberType 3
@AbapCatalog.sqlViewName: 'IBPTELEPHONENO'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #REQUIRED

//@AccessControl.privilegedAssociations: '_AddressCommunicationRemark'

@Analytics : {dataCategory: #DIMENSION}      // Need to check

@EndUserText.label: 'BusinessPartner Telephone Number'
@VDM.viewType: #BASIC
@ObjectModel.representativeKey: 'AddressID' // Need to check


@ObjectModel.usageType.serviceQuality: #A
@ObjectModel.usageType.sizeCategory: #XXL
@ObjectModel.usageType.dataClass: #MASTER
@ClientHandling.algorithm: #SESSION_VARIABLE
@Metadata.allowExtensions: true
@Consumption.dbHints: [ 'USE_HEX_PLAN' ]
define view I_BPTelephoneNumber
  as select from I_AddressPhoneNumber_2
    inner join but020 on AddressID = but020.addrnumber

  association [1..1] to I_BusinessPartner as _BusinessPartner on $projection.BusinessPartner = _BusinessPartner.BusinessPartner
  
  association [0..1] to I_BPProtectedAddress as _BPProtectedAddress on $projection.BusinessPartner = _BPProtectedAddress.BusinessPartner
                                                                   and $projection.AddressID = _BPProtectedAddress.AddressID
 
{
  key but020.partner           as BusinessPartner,
  key I_AddressPhoneNumber_2.AddressID,
  key I_AddressPhoneNumber_2.AddressPersonID as Person,
  key I_AddressPhoneNumber_2.CommMediumSequenceNumber as OrdinalNumber,
      I_AddressPhoneNumber_2.PhoneNumberCountry as DestinationLocationCountry,

      case 
        when I_AddressPhoneNumber_2.PhoneNumberType = '1'
            then cast('X' as boole_d)
        else
            cast(' ' as boole_d) 
      end as IsDefaultPhoneNumber,     
      I_AddressPhoneNumber_2.PhoneAreaCodeSubscriberNumber as PhoneNumber,
      I_AddressPhoneNumber_2.PhoneExtensionNumber as PhoneNumberExtension,
      I_AddressPhoneNumber_2.InternationalPhoneNumber,
      I_AddressPhoneNumber_2.PhoneNumberType,
      cast ('' as ad_flgsms) as PhoneIsSMSEnabled,
      cast ( '' as ad_flnouse ) as CommNumberIsNotUsed,      
      cast ( I_AddressPhoneNumber_2.ValidityStartDate as ad_valfrom ) as ValidityStartDateTime,
      cast ( I_AddressPhoneNumber_2.ValidityEndDate as ad_valto ) as ValidityEndDateTime, 

      _BusinessPartner,
      _BPProtectedAddress,
      I_AddressPhoneNumber_2._AddressCommunicationRemark,
      I_AddressPhoneNumber_2._PhoneNumberCountry as _PhoneNumberCountry,
      I_AddressPhoneNumber_2._PhoneNumberType as _PhoneNumberType
     
}
where
    (PhoneNumberType = '1' or PhoneNumberType = '') //Do not return Mobile numbers

    and
    (AddressPersonID = ' ' or _BusinessPartner.BusinessPartnerCategory = '1') //Do not return Person Workplace Addresses