I_CustomerMaterial
Customer Material Information
I_CustomerMaterial is a Basic CDS View (Dimension) that provides data about "Customer Material Information" in SAP S/4HANA. It reads from 1 data source (knmt) and exposes 33 fields with key fields SalesOrganization, DistributionChannel, Customer, Material. It has 12 associations to related views.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| knmt | knmt | from |
Associations (12)
| 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_Customer | _Customer | $projection.Customer = _Customer.Customer |
| [0..1] | I_Material | _Material | $projection.Material = _Material.Material |
| [0..1] | I_Product | _Product | $projection.Product = _Product.Product |
| [0..1] | I_Plant | _Plant | $projection.Plant = _Plant.Plant |
| [0..1] | I_DeliveryPriority | _DeliveryPriority | $projection.DeliveryPriority = _DeliveryPriority.DeliveryPriority |
| [0..1] | I_UnitOfMeasure | _BaseUnit | $projection.BaseUnit = _BaseUnit.UnitOfMeasure |
| [0..1] | I_PartialDeliveryItem | _PartialDeliveryIsAllowed | $projection.PartialDeliveryIsAllowed = _PartialDeliveryIsAllowed.PartialDeliveryIsAllowed |
| [0..1] | I_CustomerMaterialItemUsage | _CustomerMaterialItemUsage | $projection.CustomerMaterialItemUsage = _CustomerMaterialItemUsage.CustomerMaterialItemUsage |
| [0..*] | I_AdditionalCustomerMaterial | _AdditionalCustomerMaterial | $projection.SalesOrganization = _AdditionalCustomerMaterial.SalesOrganization and $projection.DistributionChannel = _AdditionalCustomerMaterial.DistributionChannel and $projection.Customer = _AdditionalCustomerMaterial.Customer and $projection.Material = _AdditionalCustomerMaterial.Material |
| [0..1] | E_CustomerMaterial | _Extension | $projection.Material = _Extension.Material and $projection.Customer = _Extension.Customer and $projection.SalesOrganization = _Extension.SalesOrganization and $projection.DistributionChannel = _Extension.DistributionChannel |
Annotations (19)
| Name | Value | Level | Field |
|---|---|---|---|
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| ObjectModel.usageType.dataClass | #MASTER | view | |
| ObjectModel.usageType.serviceQuality | #A | view | |
| ObjectModel.usageType.sizeCategory | #M | view | |
| ObjectModel.representativeKey | Customer | view | |
| EndUserText.label | Customer Material Information | view | |
| VDM.viewType | #BASIC | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| AccessControl.personalData.blocking | #REQUIRED | view | |
| AbapCatalog.sqlViewName | ISDCUSTMATLINFO | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AbapCatalog.preserveKey | true | view | |
| Metadata.ignorePropagatedAnnotations | true | view | |
| Metadata.allowExtensions | true | view | |
| Analytics.dataCategory | #DIMENSION | view | |
| Analytics.dataExtraction.enabled | true | view | |
| ObjectModel.modelingPattern | #ANALYTICAL_DIMENSION | view | |
| VDM.lifecycle.status | #DEPRECATED | view | |
| VDM.lifecycle.successor | I_CUSTOMERMATERIAL_2 | view |
Fields (33)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | SalesOrganization | vkorg | ||
| KEY | DistributionChannel | vtweg | ||
| KEY | Customer | kunnr | ||
| KEY | Material | matnr | ||
| Product | ||||
| SortField | sortl | |||
| ETag | sortl | |||
| MaterialByCustomer | kdmat | |||
| MaterialDescriptionByCustomer | postx | |||
| Plant | werks | |||
| DeliveryPriority | lprio | |||
| MinDeliveryQtyInBaseUnit | minlf | |||
| BaseUnit | meins | |||
| PartialDeliveryIsAllowed | kztlf | |||
| MaxNmbrOfPartialDelivery | antlf | |||
| UnderdelivTolrtdLmtRatioInPct | untto | |||
| OverdelivTolrtdLmtRatioInPct | uebto | |||
| UnlimitedOverdeliveryIsAllowed | uebtk | |||
| CustomerMaterialItemUsage | vwpos | |||
| SalesUnit | vrkme_t | |||
| SalesQtyToBaseQtyDnmntr | umvkn_t | |||
| SalesQtyToBaseQtyNmrtr | umvkz_t | |||
| _SalesOrganization | _SalesOrganization | |||
| _DistributionChannel | _DistributionChannel | |||
| _Customer | _Customer | |||
| _Material | _Material | |||
| _Product | _Product | |||
| _Plant | _Plant | |||
| _DeliveryPriority | _DeliveryPriority | |||
| _BaseUnit | _BaseUnit | |||
| _PartialDeliveryIsAllowed | _PartialDeliveryIsAllowed | |||
| _CustomerMaterialItemUsage | _CustomerMaterialItemUsage | |||
| _AdditionalCustomerMaterial | _AdditionalCustomerMaterial |
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType.dataClass: #MASTER
@ObjectModel.usageType.serviceQuality: #A
@ObjectModel.usageType.sizeCategory: #M
@ObjectModel.representativeKey: 'Customer'
@EndUserText.label: 'Customer Material Information'
@VDM.viewType: #BASIC
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #REQUIRED
@AccessControl.personalData.blockingIndicator: [ 'Customer' ]
@AbapCatalog.sqlViewName: 'ISDCUSTMATLINFO'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@Metadata.ignorePropagatedAnnotations: true
@Metadata.allowExtensions: true
@Analytics: {
dataCategory: #DIMENSION,
dataExtraction: {
enabled: true
}
}
@ObjectModel.modelingPattern: #ANALYTICAL_DIMENSION
@ObjectModel.supportedCapabilities: [ #SQL_DATA_SOURCE,
#CDS_MODELING_DATA_SOURCE,
#CDS_MODELING_ASSOCIATION_TARGET,
#ANALYTICAL_DIMENSION,
#EXTRACTION_DATA_SOURCE ]
@VDM.lifecycle.status: #DEPRECATED
@VDM.lifecycle.successor: 'I_CUSTOMERMATERIAL_2'
/*+[hideWarning] { "IDS" : [ "CALCULATED_FIELD_CHECK" ] } */
define view I_CustomerMaterial
as select from knmt
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_Customer as _Customer on $projection.Customer = _Customer.Customer
association [0..1] to I_Material as _Material on $projection.Material = _Material.Material
association [0..1] to I_Product as _Product on $projection.Product = _Product.Product
association [0..1] to I_Plant as _Plant on $projection.Plant = _Plant.Plant
association [0..1] to I_DeliveryPriority as _DeliveryPriority on $projection.DeliveryPriority = _DeliveryPriority.DeliveryPriority
association [0..1] to I_UnitOfMeasure as _BaseUnit on $projection.BaseUnit = _BaseUnit.UnitOfMeasure
association [0..1] to I_PartialDeliveryItem as _PartialDeliveryIsAllowed on $projection.PartialDeliveryIsAllowed = _PartialDeliveryIsAllowed.PartialDeliveryIsAllowed
association [0..1] to I_CustomerMaterialItemUsage as _CustomerMaterialItemUsage on $projection.CustomerMaterialItemUsage = _CustomerMaterialItemUsage.CustomerMaterialItemUsage
association [0..*] to I_AdditionalCustomerMaterial as _AdditionalCustomerMaterial
on $projection.SalesOrganization = _AdditionalCustomerMaterial.SalesOrganization
and $projection.DistributionChannel = _AdditionalCustomerMaterial.DistributionChannel
and $projection.Customer = _AdditionalCustomerMaterial.Customer
and $projection.Material = _AdditionalCustomerMaterial.Material
//Extensibility
association [0..1] to E_CustomerMaterial as _Extension on $projection.Material = _Extension.Material
and $projection.Customer = _Extension.Customer
and $projection.SalesOrganization = _Extension.SalesOrganization
and $projection.DistributionChannel = _Extension.DistributionChannel
{
@ObjectModel.foreignKey.association: '_SalesOrganization'
key vkorg as SalesOrganization,
@ObjectModel.foreignKey.association: '_DistributionChannel'
key vtweg as DistributionChannel,
@Consumption.valueHelpDefinition: [ { entity: { name: 'I_Customer_VH', element: 'Customer' } } ]
key kunnr as Customer,
@Consumption.valueHelpDefinition: [ { entity: { name: 'I_MaterialStdVH', element: 'Material' } } ]
@ObjectModel.foreignKey.association: '_Material'
key matnr as Material,
@Consumption.valueHelpDefinition: [ { entity: { name: 'I_ProductStdVH', element: 'Product' } } ]
@ObjectModel.foreignKey.association: '_Product'
cast(matnr as productnumber preserving type ) as Product,
sortl as SortField,
sortl as ETag,
// Customer Material
kdmat as MaterialByCustomer,
@Semantics.text: true
postx as MaterialDescriptionByCustomer,
// Shipping
@ObjectModel.foreignKey.association: '_Plant'
werks as Plant,
@ObjectModel.foreignKey.association: '_DeliveryPriority'
lprio as DeliveryPriority,
@Semantics.quantity.unitOfMeasure: 'BaseUnit'
minlf as MinDeliveryQtyInBaseUnit,
@Semantics.unitOfMeasure: true
@ObjectModel.foreignKey.association: '_BaseUnit'
meins as BaseUnit,
// Partial Delivery
@ObjectModel.foreignKey.association: '_PartialDeliveryIsAllowed'
kztlf as PartialDeliveryIsAllowed,
antlf as MaxNmbrOfPartialDelivery,
untto as UnderdelivTolrtdLmtRatioInPct,
uebto as OverdelivTolrtdLmtRatioInPct,
uebtk as UnlimitedOverdeliveryIsAllowed,
// Control Data
@ObjectModel.foreignKey.association: '_CustomerMaterialItemUsage'
vwpos as CustomerMaterialItemUsage,
// Units of Measure
vrkme_t as SalesUnit,
umvkn_t as SalesQtyToBaseQtyDnmntr,
umvkz_t as SalesQtyToBaseQtyNmrtr,
_SalesOrganization,
_DistributionChannel,
_Customer,
_Material,
_Product,
_Plant,
_DeliveryPriority,
_BaseUnit,
_PartialDeliveryIsAllowed,
_CustomerMaterialItemUsage,
_AdditionalCustomerMaterial
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"KNMT"
],
"ASSOCIATED":
[
"E_CUSTOMERMATERIAL",
"I_ADDITIONALCUSTOMERMATERIAL",
"I_CUSTOMER",
"I_CUSTOMERMATERIALITEMUSAGE",
"I_DELIVERYPRIORITY",
"I_DISTRIBUTIONCHANNEL",
"I_MATERIAL",
"I_PARTIALDELIVERYITEM",
"I_PLANT",
"I_PRODUCT",
"I_SALESORGANIZATION",
"I_UNITOFMEASURE"
],
"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