I_BusinessPartnerCustomer

DDL: I_BUSINESSPARTNERCUSTOMER SQL: IBUPACUSTOMER Type: view BASIC

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)

SourceAliasJoin Type
but000 but000 left_outer
cvi_cust_link cvi_cust_link inner
kna1 kna1 from

Associations (12)

CardinalityTargetAliasCondition
[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)

NameValueLevelField
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)

KeyFieldSource TableSource FieldDescription
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
}