I_BPTelephoneNumber

DDL: I_BPTELEPHONENUMBER SQL: IBPTELEPHONENO Type: view BASIC

BusinessPartner Telephone Number

I_BPTelephoneNumber is a Basic CDS View (Dimension) that provides data about "BusinessPartner Telephone Number" in SAP S/4HANA. It reads from 2 data sources (but020, I_AddressPhoneNumber_2) and exposes 18 fields with key fields BusinessPartner, AddressID, Person, OrdinalNumber. It has 2 associations to related views.

Data Sources (2)

SourceAliasJoin Type
but020 but020 inner
I_AddressPhoneNumber_2 I_AddressPhoneNumber_2 from

Associations (2)

CardinalityTargetAliasCondition
[1..1] I_BusinessPartner _BusinessPartner $projection.BusinessPartner = _BusinessPartner.BusinessPartner
[0..1] I_BPProtectedAddress _BPProtectedAddress $projection.BusinessPartner = _BPProtectedAddress.BusinessPartner and $projection.AddressID = _BPProtectedAddress.AddressID

Annotations (13)

NameValueLevelField
AbapCatalog.sqlViewName IBPTELEPHONENO view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #REQUIRED view
Analytics.dataCategory #DIMENSION view
EndUserText.label BusinessPartner Telephone Number view
VDM.viewType #BASIC view
ObjectModel.representativeKey AddressID view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XXL view
ObjectModel.usageType.dataClass #MASTER view
ClientHandling.algorithm #SESSION_VARIABLE view
Metadata.allowExtensions true view

Fields (18)

KeyFieldSource TableSource FieldDescription
KEY BusinessPartner but020 partner
KEY AddressID I_AddressPhoneNumber_2 AddressID
KEY Person I_AddressPhoneNumber_2 AddressPersonID
KEY OrdinalNumber I_AddressPhoneNumber_2 CommMediumSequenceNumber
DestinationLocationCountry I_AddressPhoneNumber_2 PhoneNumberCountry
PhoneNumber I_AddressPhoneNumber_2 PhoneAreaCodeSubscriberNumber
PhoneNumberExtension I_AddressPhoneNumber_2 PhoneExtensionNumber
InternationalPhoneNumber I_AddressPhoneNumber_2 InternationalPhoneNumber
PhoneNumberType I_AddressPhoneNumber_2 PhoneNumberType
PhoneIsSMSEnabled
CommNumberIsNotUsed
ValidityStartDateTime
ValidityEndDateTime
_BusinessPartner _BusinessPartner
_BPProtectedAddress _BPProtectedAddress
_AddressCommunicationRemark I_AddressPhoneNumber_2 _AddressCommunicationRemark
_PhoneNumberCountry I_AddressPhoneNumber_2 _PhoneNumberCountry
_PhoneNumberType I_AddressPhoneNumber_2 _PhoneNumberType
@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: #C
@ObjectModel.usageType.sizeCategory: #XXL
@ObjectModel.usageType.dataClass: #MASTER
@ClientHandling.algorithm: #SESSION_VARIABLE
@Metadata.allowExtensions: true

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

/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_ADDRESSPHONENUMBER_2",
"I_BUSINESSPARTNER",
"BUT020"
],
"ASSOCIATED":
[
"I_ADDRESSCOMMUNICATIONREMARK_2",
"I_BPPROTECTEDADDRESS",
"I_BUSINESSPARTNER",
"I_COUNTRY",
"I_PHONENUMBERTYPE"
],
"BASE":
[
"I_ADDRESSPHONENUMBER_2"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/