A_CustomerMaterial
Customer Materials
A_CustomerMaterial is a Composite CDS View that provides data about "Customer Materials" in SAP S/4HANA. It reads from 1 data source (I_CustomerMaterial_2) and exposes 23 fields with key fields SalesOrganization, DistributionChannel, Customer, Material. It has 1 association to related views. Part of development package ODATA_SD_CUSTOMER_MATERIAL.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| I_CustomerMaterial_2 | I_CustomerMaterial_2 | from |
Associations (1)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [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 (15)
| Name | Value | Level | Field |
|---|---|---|---|
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| EndUserText.label | Customer Materials | view | |
| VDM.viewType | #COMPOSITE | view | |
| VDM.lifecycle.contract.type | #PUBLIC_REMOTE_API | view | |
| AbapCatalog.sqlViewName | ACUSTMATINFORECD | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| AccessControl.personalData.blocking | #REQUIRED | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.sizeCategory | #XL | view | |
| ObjectModel.createEnabled | true | view | |
| ObjectModel.updateEnabled | true | view | |
| ObjectModel.deleteEnabled | true | view | |
| Metadata.ignorePropagatedAnnotations | true | view |
Fields (23)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | SalesOrganization | SalesOrganization | ||
| KEY | DistributionChannel | DistributionChannel | ||
| KEY | Customer | Customer | ||
| KEY | Material | Product | ||
| MaterialByCustomer | MaterialByCustomer | |||
| MaterialDescriptionByCustomer | MaterialDescriptionByCustomer | |||
| RoundingProfile | RoundingProfile | |||
| Plant | Plant | |||
| DeliveryPriority | DeliveryPriority | |||
| MinDeliveryQtyInBaseUnit | MinDeliveryQtyInBaseUnit | |||
| BaseUnit | BaseUnit | |||
| PartialDeliveryIsAllowed | PartialDeliveryIsAllowed | |||
| MaxNmbrOfPartialDelivery | MaxNmbrOfPartialDelivery | |||
| UnderdelivTolrtdLmtRatioInPct | UnderdelivTolrtdLmtRatioInPct | |||
| OverdelivTolrtdLmtRatioInPct | OverdelivTolrtdLmtRatioInPct | |||
| UnlimitedOverdeliveryIsAllowed | UnlimitedOverdeliveryIsAllowed | |||
| CustomerMaterialItemUsage | CustomerMaterialItemUsage | |||
| SalesUnit | SalesUnit | |||
| SalesQtyToBaseQtyDnmntr | SalesQtyToBaseQtyDnmntr | |||
| SalesQtyToBaseQtyNmrtr | SalesQtyToBaseQtyNmrtr | |||
| CustomerMaterialSearchTerm | CustomerMaterialSearchTerm | |||
| LastChangeDateTime | LastChangeDateTime | |||
| ETag |
@ClientHandling.algorithm:#SESSION_VARIABLE
@EndUserText.label: 'Customer Materials'
@VDM: {
viewType: #COMPOSITE,
lifecycle.contract.type: #PUBLIC_REMOTE_API
}
@AbapCatalog: {
sqlViewName: 'ACUSTMATINFORECD',
compiler.compareFilter: true
}
@AccessControl: {
authorizationCheck: #CHECK,
personalData.blocking: #REQUIRED
}
@ObjectModel: {
usageType: {
dataClass: #TRANSACTIONAL,
serviceQuality: #C,
sizeCategory: #XL
},
createEnabled: true,
updateEnabled: true,
deleteEnabled: true
}
@Metadata.ignorePropagatedAnnotations: true
define view A_CustomerMaterial
as select from I_CustomerMaterial_2
//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
{
key SalesOrganization,
key DistributionChannel,
key Customer,
key Product as Material,
MaterialByCustomer,
MaterialDescriptionByCustomer,
RoundingProfile,
Plant,
DeliveryPriority,
@Semantics.quantity.unitOfMeasure: 'BaseUnit'
MinDeliveryQtyInBaseUnit,
@Semantics.unitOfMeasure: true
BaseUnit,
PartialDeliveryIsAllowed,
MaxNmbrOfPartialDelivery,
UnderdelivTolrtdLmtRatioInPct,
OverdelivTolrtdLmtRatioInPct,
UnlimitedOverdeliveryIsAllowed,
@ObjectModel.sapObjectNodeTypeReference: 'CustomerMaterialItemUsage'
CustomerMaterialItemUsage,
SalesUnit,
SalesQtyToBaseQtyDnmntr,
SalesQtyToBaseQtyNmrtr,
CustomerMaterialSearchTerm,
LastChangeDateTime,
cast(LastChangeDateTime as customer_material_etag ) as ETag
}
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