I_BusinessPartnerCustomer
Business Partner Customer
I_BusinessPartnerCustomer is a Basic CDS View (Dimension) that provides data about "Business Partner Customer" in SAP S/4HANA. It reads from 3 data sources (but000, cvi_cust_link, kna1) and exposes 88 fields with key fields Customer, BusinessPartner. It has 12 associations to related views.
Data Sources (3)
| Source | Alias | Join Type |
|---|---|---|
| but000 | but000 | left_outer |
| cvi_cust_link | cvi_cust_link | inner |
| kna1 | kna1 | from |
Associations (12)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1..1] | I_Customer_to_BusinessPartner | _CustomerToBusinessPartner | $projection.Customer = _CustomerToBusinessPartner.Customer |
| [0..1] | E_Customer | _CustomerExt | $projection.Customer = _CustomerExt.Customer |
| [0..1] | I_CustomerAccountGroup | _AccountGroupValueHelp | $projection.CustomerAccountGroup = _AccountGroupValueHelp.CustomerAccountGroup |
| [0..*] | I_CustomerAccountGroupText | _CustomerAccountGroupText | $projection.CustomerAccountGroup = _CustomerAccountGroupText.CustomerAccountGroup |
| [0..1] | I_Customer_VH | _AlternativePayerValueHelp | $projection.AlternativePayerAccount = _AlternativePayerValueHelp.Customer |
| [0..1] | I_BillingBlockReason | _BillingBlockReasonValueHelp | $projection.BillingIsBlockedForCustomer = _BillingBlockReasonValueHelp.BillingBlockReason |
| [0..*] | I_BillingBlockReasonText | _BillingBlockReasonText | $projection.BillingIsBlockedForCustomer = _BillingBlockReasonText.BillingBlockReason |
| [0..1] | I_DeliveryBlockReason | _DelivBlkRsnValueHelp | $projection.DeliveryIsBlocked = _DelivBlkRsnValueHelp.DeliveryBlockReason |
| [0..*] | I_DeliveryBlockReasonText | _DeliveryBlockReasonText | $projection.DeliveryIsBlocked = _DeliveryBlockReasonText.DeliveryBlockReason |
| [0..1] | I_CustomerClassification | _CustomerClassValueHelp | $projection.CustomerClassification = _CustomerClassValueHelp.CustomerClassification |
| [0..*] | I_CustomerClassificationText | _CustomerClassificationText | $projection.CustomerClassification = _CustomerClassificationText.CustomerClassification |
| [1..1] | I_BusinessPartner | _BusinessPartner | $projection.BusinessPartner = _BusinessPartner.BusinessPartner |
Annotations (17)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | IBUPACUSTOMER | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| VDM.viewType | #BASIC | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| AccessControl.personalData.blocking | #REQUIRED | view | |
| AccessControl.personalData.blockingIndicator | IsBusinessPurposeCompleted | view | |
| EndUserText.label | Business Partner Customer | view | |
| ObjectModel.representativeKey | Customer | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| ObjectModel.usageType.serviceQuality | #A | view | |
| ObjectModel.usageType.sizeCategory | #XL | view | |
| ObjectModel.usageType.dataClass | #MASTER | view | |
| Analytics.dataCategory | #DIMENSION | view | |
| Analytics.dataExtraction.enabled | true | view | |
| Analytics.dataExtraction.delta.changeDataCapture.automatic | true | view | |
| Metadata.allowExtensions | true | view | |
| Metadata.ignorePropagatedAnnotations | true | view |
Fields (88)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | Customer | kna1 | kunnr | |
| KEY | BusinessPartner | but000 | partner | |
| BusinessPartnerUUID | cvi_cust_link | partner_guid | ||
| CustomerAccountGroup | kna1 | ktokd | ||
| AlternativePayerAccount | kna1 | knrza | ||
| DataMediumExchangeIndicator | kna1 | dtams | ||
| Supplier | kna1 | lifnr | ||
| CustomerClassification | kna1 | kukla | ||
| VATLiability | kna1 | stkzu | ||
| PostingIsBlocked | kna1 | sperr | ||
| DeliveryIsBlocked | kna1 | lifsd | ||
| BillingIsBlockedForCustomer | kna1 | faksd | ||
| OrderIsBlockedForCustomer | kna1 | aufsd | ||
| IsNaturalPerson | kna1 | stkzn | ||
| BusinessPartnerGrouping | but000 | bu_group | ||
| AuthorizationGroup | kna1 | begru | ||
| DeliveryDateTypeRule | kna1 | delivery_date_rule | ||
| IsActiveEntity | ||||
| ExpressTrainStationName | kna1 | bahne | ||
| TrainStationName | kna1 | bahns | ||
| CityLocationCoordinatesCode | kna1 | locco | ||
| Plant | kna1 | werks | ||
| CustomerCorporateGroup | kna1 | konzs | ||
| DataExchangeInstructionKey | kna1 | dtaws | ||
| IndustryCode1 | kna1 | bran1 | ||
| IndustryCode2 | kna1 | bran2 | ||
| IndustryCode3 | kna1 | bran3 | ||
| IsCompetitor | kna1 | dear1 | ||
| IsSalesPartner | kna1 | dear2 | ||
| IsDefaultSoldToParty | kna1 | dear5 | ||
| IsConsumer | kna1 | dear6 | ||
| FiscalAddress | kna1 | fiskn | ||
| FreeDefinedAttribute03 | kna1 | katr3 | ||
| CustomerConditionGroup1 | kna1 | kdkg1 | ||
| CustomerConditionGroup2 | kna1 | kdkg2 | ||
| CustomerConditionGroup3 | kna1 | kdkg3 | ||
| CustomerConditionGroup4 | kna1 | kdkg4 | ||
| CustomerConditionGroup5 | kna1 | kdkg5 | ||
| AddressID | kna1 | adrnr | ||
| InternationalLocationNumber1 | kna1 | bbbnr | ||
| InternationalLocationNumber2 | kna1 | bbsnr | ||
| InternationalLocationNumber3 | kna1 | bubkz | ||
| CityCode | kna1 | cityc | ||
| County | kna1 | counc | ||
| CustomerHasUnloadingPoint | kna1 | exabl | ||
| CustomerWorkingTimeCalendar | kna1 | knazk | ||
| IsBusinessPurposeCompleted | kna1 | cvp_xblck | ||
| BPIsEqualizationTaxSubject | ||||
| Country | kna1 | land1 | ||
| Region | kna1 | regio | ||
| DeletionIndicator | kna1 | loevm | ||
| Language | kna1 | spras | ||
| SalesIsBlockedForCustomer | ||||
| PaymentReason | kna1 | paytrsn | ||
| CustomerCentralDeletionIsBlock | kna1 | nodel | ||
| AlternativePayerIsAllowed | kna1 | xzemp | ||
| BPPlannedAnnualSalesYear | kna1 | umjah | ||
| BPPlannedAnnualSalesCurrency | kna1 | uwaer | ||
| BPPlannedAnnualSalesAmount | kna1 | umsat | ||
| CustomerTradingPartnerID | kna1 | vbund | ||
| FiscalYearVariant | kna1 | periv | ||
| AccountTaxType | kna1 | stcdt | ||
| IndustryCode4 | kna1 | bran4 | ||
| IndustryCode5 | kna1 | bran5 | ||
| TaxInvoiceRepresentativeName | kna1 | j_1kfrepre | ||
| BusinessType | kna1 | j_1kftbus | ||
| IndustryType | kna1 | j_1kftind | ||
| DataControllerSet | kna1 | xdcset | ||
| DataController1 | kna1 | data_ctrlr1 | ||
| DataController2 | kna1 | data_ctrlr2 | ||
| DataController3 | kna1 | data_ctrlr3 | ||
| DataController4 | kna1 | data_ctrlr4 | ||
| DataController5 | kna1 | data_ctrlr5 | ||
| DataController6 | kna1 | data_ctrlr6 | ||
| DataController7 | kna1 | data_ctrlr7 | ||
| DataController8 | kna1 | data_ctrlr8 | ||
| DataController9 | kna1 | data_ctrlr9 | ||
| DataController10 | kna1 | data_ctrlr10 | ||
| _AccountGroupValueHelp | _AccountGroupValueHelp | |||
| _CustomerAccountGroupText | _CustomerAccountGroupText | |||
| _BillingBlockReasonValueHelp | _BillingBlockReasonValueHelp | |||
| _BillingBlockReasonText | _BillingBlockReasonText | |||
| _DelivBlkRsnValueHelp | _DelivBlkRsnValueHelp | |||
| _DeliveryBlockReasonText | _DeliveryBlockReasonText | |||
| _CustomerClassValueHelp | _CustomerClassValueHelp | |||
| _CustomerClassificationText | _CustomerClassificationText | |||
| _BusinessPartner | _BusinessPartner | |||
| _CustomerToBusinessPartner | _CustomerToBusinessPartner |
@AbapCatalog.sqlViewName: 'IBUPACUSTOMER'
@AbapCatalog.compiler.compareFilter: true
@VDM.viewType: #BASIC
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #REQUIRED
@AccessControl.personalData.blockingIndicator: 'IsBusinessPurposeCompleted'
@EndUserText.label: 'Business Partner Customer'
@ObjectModel.representativeKey: 'Customer'
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType.serviceQuality: #A
@ObjectModel.usageType.sizeCategory: #XL
@ObjectModel.usageType.dataClass: #MASTER
@Analytics: {
dataCategory: #DIMENSION,
dataExtraction: {
enabled: true,
delta.changeDataCapture: {
automatic: true
}
}
}
@Metadata.allowExtensions:true
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.supportedCapabilities: [#SQL_DATA_SOURCE,
#CDS_MODELING_DATA_SOURCE,
#CDS_MODELING_ASSOCIATION_TARGET,
#EXTRACTION_DATA_SOURCE]
define view I_BusinessPartnerCustomer
as select from kna1
inner join cvi_cust_link on kna1.kunnr = cvi_cust_link.customer
left outer join but000 on cvi_cust_link.partner_guid = but000.partner_guid //association required to exposebusinesspartertype for Dynamic fieldcontol
association [1..1] to I_Customer_to_BusinessPartner as _CustomerToBusinessPartner on $projection.Customer = _CustomerToBusinessPartner.Customer
association [0..1] to E_Customer as _CustomerExt on $projection.Customer = _CustomerExt.Customer
// Associations added for Text Annotation Removal
association [0..1] to I_CustomerAccountGroup as _AccountGroupValueHelp on $projection.CustomerAccountGroup = _AccountGroupValueHelp.CustomerAccountGroup
association [0..*] to I_CustomerAccountGroupText as _CustomerAccountGroupText on $projection.CustomerAccountGroup = _CustomerAccountGroupText.CustomerAccountGroup
association [0..1] to I_Customer_VH as _AlternativePayerValueHelp on $projection.AlternativePayerAccount = _AlternativePayerValueHelp.Customer
association [0..1] to I_BillingBlockReason as _BillingBlockReasonValueHelp on $projection.BillingIsBlockedForCustomer = _BillingBlockReasonValueHelp.BillingBlockReason
association [0..*] to I_BillingBlockReasonText as _BillingBlockReasonText on $projection.BillingIsBlockedForCustomer = _BillingBlockReasonText.BillingBlockReason
association [0..1] to I_DeliveryBlockReason as _DelivBlkRsnValueHelp on $projection.DeliveryIsBlocked = _DelivBlkRsnValueHelp.DeliveryBlockReason
association [0..*] to I_DeliveryBlockReasonText as _DeliveryBlockReasonText on $projection.DeliveryIsBlocked = _DeliveryBlockReasonText.DeliveryBlockReason
association [0..1] to I_CustomerClassification as _CustomerClassValueHelp on $projection.CustomerClassification = _CustomerClassValueHelp.CustomerClassification
association [0..*] to I_CustomerClassificationText as _CustomerClassificationText on $projection.CustomerClassification = _CustomerClassificationText.CustomerClassification
association [1..1] to I_BusinessPartner as _BusinessPartner on $projection.BusinessPartner = _BusinessPartner.BusinessPartner
{
key kna1.kunnr as Customer,
@ObjectModel.foreignKey.association: '_BusinessPartner'
key but000.partner as BusinessPartner,
cvi_cust_link.partner_guid as BusinessPartnerUUID,
//@ObjectModel: {
// foreignKey.association: '_AccountGroupValueHelp'
// }
@ObjectModel.text.association: '_CustomerAccountGroupText'
kna1.ktokd as CustomerAccountGroup,
kna1.knrza as AlternativePayerAccount,
kna1.dtams as DataMediumExchangeIndicator,
kna1.lifnr as Supplier,
@ObjectModel: {
foreignKey.association: '_CustomerClassValueHelp'
}
@ObjectModel.text.association: '_CustomerClassificationText'
kna1.kukla as CustomerClassification,
kna1.stkzu as VATLiability,
kna1.sperr as PostingIsBlocked,
@ObjectModel: {
foreignKey.association: '_DelivBlkRsnValueHelp'
}
@ObjectModel.text.association: '_DeliveryBlockReasonText'
kna1.lifsd as DeliveryIsBlocked,
@ObjectModel: {
foreignKey.association: '_BillingBlockReasonValueHelp'
}
@ObjectModel.text.association: '_BillingBlockReasonText'
kna1.faksd as BillingIsBlockedForCustomer,
//Newly added fields
kna1.aufsd as OrderIsBlockedForCustomer,
@Semantics.booleanIndicator: true
kna1.stkzn as IsNaturalPerson,
but000.bu_group as BusinessPartnerGrouping,
//Data protection and privacy Requirement
kna1.begru as AuthorizationGroup,
kna1.delivery_date_rule as DeliveryDateTypeRule,
//For extensibility
cast( 'X' as sdraft_is_active preserving type ) as IsActiveEntity,
kna1.bahne as ExpressTrainStationName,
kna1.bahns as TrainStationName,
kna1.locco as CityLocationCoordinatesCode,
kna1.werks as Plant,
kna1.konzs as CustomerCorporateGroup,
kna1.dtaws as DataExchangeInstructionKey,
kna1.bran1 as IndustryCode1,
kna1.bran2 as IndustryCode2,
kna1.bran3 as IndustryCode3,
kna1.dear1 as IsCompetitor,
kna1.dear2 as IsSalesPartner,
kna1.dear5 as IsDefaultSoldToParty,
kna1.dear6 as IsConsumer,
kna1.fiskn as FiscalAddress,
kna1.katr3 as FreeDefinedAttribute03,
kna1.kdkg1 as CustomerConditionGroup1,
kna1.kdkg2 as CustomerConditionGroup2,
kna1.kdkg3 as CustomerConditionGroup3,
kna1.kdkg4 as CustomerConditionGroup4,
kna1.kdkg5 as CustomerConditionGroup5,
kna1.adrnr as AddressID, //LOB adoption changes - start
kna1.bbbnr as InternationalLocationNumber1,
kna1.bbsnr as InternationalLocationNumber2,
kna1.bubkz as InternationalLocationNumber3,
kna1.cityc as CityCode,
kna1.counc as County,
kna1.exabl as CustomerHasUnloadingPoint,
kna1.knazk as CustomerWorkingTimeCalendar, // LOB adoption changes - end
@Semantics.booleanIndicator: true
kna1.cvp_xblck as IsBusinessPurposeCompleted,
cast (kna1.stkza as xfeld preserving type) as BPIsEqualizationTaxSubject,
// Fields added for exposing keys for city code
kna1.land1 as Country,
kna1.regio as Region,
kna1.loevm as DeletionIndicator,
kna1.spras as Language,
//kna1.cassd as SalesIsBlockedForCustomer,
@Semantics.booleanIndicator: true
cast (kna1.cassd as abap.char(1)) as SalesIsBlockedForCustomer,
kna1.paytrsn as PaymentReason,
kna1.nodel as CustomerCentralDeletionIsBlock,
//Field addition for ODM-MDI mapping
kna1.xzemp as AlternativePayerIsAllowed,
kna1.umjah as BPPlannedAnnualSalesYear,
kna1.uwaer as BPPlannedAnnualSalesCurrency,
@Semantics.amount.currencyCode:'BPPlannedAnnualSalesCurrency'
kna1.umsat as BPPlannedAnnualSalesAmount,
kna1.vbund as CustomerTradingPartnerID,
kna1.periv as FiscalYearVariant,
kna1.stcdt as AccountTaxType,
kna1.bran4 as IndustryCode4,
kna1.bran5 as IndustryCode5,
kna1.j_1kfrepre as TaxInvoiceRepresentativeName,
kna1.j_1kftbus as BusinessType,
kna1.j_1kftind as IndustryType,
@Consumption.hidden:true
@UI.hidden:true
kna1.xdcset as DataControllerSet,
@Consumption.hidden:true
@UI.hidden:true
kna1.data_ctrlr1 as DataController1,
@Consumption.hidden:true
@UI.hidden:true
kna1.data_ctrlr2 as DataController2,
@Consumption.hidden:true
@UI.hidden:true
kna1.data_ctrlr3 as DataController3,
@Consumption.hidden:true
@UI.hidden:true
kna1.data_ctrlr4 as DataController4,
@Consumption.hidden:true
@UI.hidden:true
kna1.data_ctrlr5 as DataController5,
@Consumption.hidden:true
@UI.hidden:true
kna1.data_ctrlr6 as DataController6,
@Consumption.hidden:true
@UI.hidden:true
kna1.data_ctrlr7 as DataController7,
@Consumption.hidden:true
@UI.hidden:true
kna1.data_ctrlr8 as DataController8,
@Consumption.hidden:true
@UI.hidden:true
kna1.data_ctrlr9 as DataController9,
@Consumption.hidden:true
@UI.hidden:true
kna1.data_ctrlr10 as DataController10,
_AccountGroupValueHelp,
_CustomerAccountGroupText,
_BillingBlockReasonValueHelp,
_BillingBlockReasonText,
_DelivBlkRsnValueHelp,
_DeliveryBlockReasonText,
_CustomerClassValueHelp,
_CustomerClassificationText,
_BusinessPartner,
_CustomerToBusinessPartner
}
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