I_CustSalesPartnerFunc

DDL: I_CUSTSALESPARTNERFUNC SQL: ICUSTPARTNERFUNC Type: view BASIC

Customer Sales Area Partner Function

I_CustSalesPartnerFunc is a Basic CDS View (Dimension) that provides data about "Customer Sales Area Partner Function" in SAP S/4HANA. It reads from 2 data sources (knvp, tpar) and exposes 20 fields with key fields Customer, SalesOrganization, DistributionChannel, Division, PartnerCounter. It has 4 associations to related views.

Data Sources (2)

SourceAliasJoin Type
knvp knvp from
tpar tpar inner

Associations (4)

CardinalityTargetAliasCondition
[0..1] I_SalesOrganization _SalesOrganization $projection.SalesOrganization = _SalesOrganization.SalesOrganization
[0..1] I_DistributionChannel _DistributionChannel $projection.DistributionChannel = _DistributionChannel.DistributionChannel
[0..1] I_Division _Division $projection.Division = _Division.Division
[0..1] I_CustSalesPartnerCounter _CustSalesPartnerCounter $projection.PartnerCounter = _CustSalesPartnerCounter.PartnerCounter

Annotations (18)

NameValueLevelField
AbapCatalog.sqlViewName ICUSTPARTNERFUNC view
VDM.viewType #BASIC view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
Analytics.dataCategory #DIMENSION view
Analytics.dataExtraction.enabled true view
Analytics.dataExtraction.delta.changeDataCapture.automatic true view
ObjectModel.representativeKey PartnerFunction view
Metadata.allowExtensions true view
AccessControl.personalData.blocking #REQUIRED view
AccessControl.personalData.blockingIndicator _Customer.IsBusinessPurposeCompleted view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.modelingPattern #NONE view
ObjectModel.usageType.serviceQuality #A view
ObjectModel.usageType.sizeCategory #XXL view
ObjectModel.usageType.dataClass #MASTER view
EndUserText.label Customer Sales Area Partner Function view
Metadata.ignorePropagatedAnnotations true view

Fields (20)

KeyFieldSource TableSource FieldDescription
KEY Customer knvp kunnr
KEY SalesOrganization knvp vkorg
KEY DistributionChannel knvp vtweg
KEY Division knvp spart
KEY PartnerCounter knvp parza
KEY PartnerFunction knvp parvw
PartnerFunctionType tpar nrart
pernrelseendasBPCustomerNumber
CustomerPartnerDescription knvp knref
DefaultPartner knvp defpa
Supplier knvp lifnr
PersonnelNumber knvp pernr
ContactPerson knvp parnr
AddressID knvp adrnr
_CustomerSalesArea _CustomerSalesArea
_Customer _Customer
_SalesOrganization _SalesOrganization
_DistributionChannel _DistributionChannel
_Division _Division
_CustSalesPartnerCounter _CustSalesPartnerCounter
@AbapCatalog.sqlViewName: 'ICUSTPARTNERFUNC'
@VDM.viewType: #BASIC
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@Analytics: {
  dataCategory: #DIMENSION,
  dataExtraction: {
    enabled: true,
    delta.changeDataCapture: {
      automatic: true
    }
  }
}
@ObjectModel.representativeKey:'PartnerFunction'
@AccessControl.privilegedAssociations:  [ '_CustSalesPartnerCounter' ]
@Metadata.allowExtensions:true
@AccessControl.personalData.blocking: #REQUIRED
@AccessControl.personalData.blockingIndicator: '_Customer.IsBusinessPurposeCompleted'
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.supportedCapabilities: [#SQL_DATA_SOURCE,
                                     #CDS_MODELING_DATA_SOURCE,
                                     #CDS_MODELING_ASSOCIATION_TARGET,
                                     #EXTRACTION_DATA_SOURCE]
@ObjectModel.modelingPattern: #NONE                                     
@ObjectModel.usageType.serviceQuality: #A
@ObjectModel.usageType.sizeCategory: #XXL
@ObjectModel.usageType.dataClass: #MASTER
@EndUserText.label: 'Customer Sales Area Partner Function'
@Metadata.ignorePropagatedAnnotations: true

//@VDM.lifecycle.status: #DEPRECATED

//@VDM.lifecycle.successor: 'I_CustSalesPartnerFunc_2' 


define view I_CustSalesPartnerFunc as select from knvp
inner join tpar on knvp.parvw = tpar.parvw
association[1..1] to I_CustomerSalesArea as _CustomerSalesArea on $projection.Customer =  _CustomerSalesArea.Customer 
                                                               and $projection.SalesOrganization =  _CustomerSalesArea.SalesOrganization 
                                                               and $projection.DistributionChannel =  _CustomerSalesArea.DistributionChannel
                                                               and $projection.Division =  _CustomerSalesArea.Division 

association[1..1] to I_Customer as _Customer on $projection.Customer =  _Customer.Customer
association [0..1] to I_SalesOrganization    as _SalesOrganization   on  $projection.SalesOrganization = _SalesOrganization.SalesOrganization  
association [0..1] to I_DistributionChannel  as _DistributionChannel on  $projection.DistributionChannel = _DistributionChannel.DistributionChannel
association [0..1] to I_Division             as _Division            on  $projection.Division = _Division.Division
//association [0..1] to I_PartnerFunction      as _PartnerFunction     on $projection.PartnerFunction = _PartnerFunction.PartnerFunction 

association [0..1] to I_CustSalesPartnerCounter     as _CustSalesPartnerCounter     on $projection.PartnerCounter = _CustSalesPartnerCounter.PartnerCounter  
{
  @ObjectModel.foreignKey.association: '_Customer'
  key knvp.kunnr                                                      as Customer,
  @ObjectModel.foreignKey.association: '_SalesOrganization'
  key knvp.vkorg                                                      as SalesOrganization,
  @ObjectModel.foreignKey.association: '_DistributionChannel'
  key knvp.vtweg                                                      as DistributionChannel,
  @ObjectModel.foreignKey.association: '_Division'
  key knvp.spart                                                      as Division,
  @ObjectModel.foreignKey.association: '_CustSalesPartnerCounter'
  key knvp.parza                                                      as PartnerCounter,
  //@ObjectModel.foreignKey.association: '_PartnerFunction'

  key knvp.parvw                                                      as PartnerFunction, //partner role

       tpar.nrart                                                      as PartnerFunctionType,
      case
        when tpar.nrart = 'KU'
          then knvp.kunn2
        when tpar.nrart = 'LI'
          then knvp.lifnr
        when tpar.nrart = 'AP'
          then knvp.parnr
        when tpar.nrart = 'PE'
          then knvp.pernr
        else ''
      end as BPCustomerNumber,
      //knvp.kunn2                                                      as BPCustomerNumber,

      knvp.knref                                                      as CustomerPartnerDescription,
      knvp.defpa                                                      as DefaultPartner,
      knvp.lifnr                                                      as Supplier,
      knvp.pernr                                                      as PersonnelNumber,
      knvp.parnr                                                      as ContactPerson,
      knvp.adrnr                                                      as AddressID,

      //_CustomerSalesArea._Customer.AuthorizationGroup, *Field removed to reduce complexity, use from association instead*

      _CustomerSalesArea,
      _Customer,
      _SalesOrganization,
      _DistributionChannel,
      _Division,
    //  _PartnerFunction,

     _CustSalesPartnerCounter 
    
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"KNVP",
"TPAR"
],
"ASSOCIATED":
[
"I_CUSTOMER",
"I_CUSTOMERSALESAREA",
"I_CUSTSALESPARTNERCOUNTER",
"I_DISTRIBUTIONCHANNEL",
"I_DIVISION",
"I_SALESORGANIZATION"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/