I_CustSalesPartnerFunc
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.
Associations (4)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [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)
| Name | Value | Level | Field |
|---|---|---|---|
| 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)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| 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":""
}
}*/
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