I_BPTelephoneNumber
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)
| Source | Alias | Join Type |
|---|---|---|
| but020 | but020 | inner |
| I_AddressPhoneNumber_2 | I_AddressPhoneNumber_2 | from |
Associations (2)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [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)
| Name | Value | Level | Field |
|---|---|---|---|
| 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)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| 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":""
}
}*/
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