C_CmbndChmlAnlytlCmpstn
Substance based Analytical Composition
C_CmbndChmlAnlytlCmpstn is a Consumption CDS View that provides data about "Substance based Analytical Composition" in SAP S/4HANA. It reads from 4 data sources (P_CmbndChmlAssocdAnlytlCmpstn, I_ChmlCmplncInfo, I_ChmlComponent, I_ChmlComposition) and exposes 10 fields with key fields ChmlCmplncInfoUUID, ChmlCompositionUUID, ChmlCompUUID. It has 1 association to related views. Part of development package EHFND_CNS_CCI.
Data Sources (4)
| Source | Alias | Join Type |
|---|---|---|
| P_CmbndChmlAssocdAnlytlCmpstn | ActiveComposition | inner |
| I_ChmlCmplncInfo | ChmlCmplncInfo | from |
| I_ChmlComponent | Component | inner |
| I_ChmlComposition | Composition | inner |
Associations (1)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | P_SubstanceNameText | _Substance | Component.SubstanceUUID = _Substance.SubstanceUUID |
Annotations (11)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | CCMBCHLANLCMPTN | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AbapCatalog.preserveKey | true | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| EndUserText.label | Substance based Analytical Composition | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| VDM.viewType | #CONSUMPTION | view | |
| Metadata.allowExtensions | true | view | |
| ObjectModel.usageType.dataClass | #MIXED | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| ObjectModel.usageType.serviceQuality | #C | view |
Fields (10)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | ChmlCmplncInfoUUID | I_ChmlComposition | ChmlCmplncInfoUUID | |
| KEY | ChmlCompositionUUID | I_ChmlComposition | ChmlCompositionUUID | |
| KEY | ChmlCompUUID | I_ChmlComponent | ChmlCompUUID | |
| SubstanceUUID | I_ChmlComponent | SubstanceUUID | ||
| SubstanceName | _Substance | SubstanceName | ||
| CASNumber | _Substance | CASNumber | ||
| ChmlCompQty | I_ChmlComponent | ChmlCompQty | ||
| ChmlCompQtyUnitasChmlCompQtyUnit | ||||
| ChmlCompositionStatusName | ||||
| _ChmlCmplncInfo | _ChmlCmplncInfo |
@AbapCatalog.sqlViewName: 'CCMBCHLANLCMPTN'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Substance based Analytical Composition'
@ClientHandling.algorithm: #SESSION_VARIABLE
@VDM.viewType: #CONSUMPTION
@Metadata.allowExtensions: true
@ObjectModel:
{
semanticKey: [ 'SubstanceName' ],
usageType:
{
dataClass: #MIXED,
sizeCategory: #L,
serviceQuality: #C
}
}
define view C_CmbndChmlAnlytlCmpstn
as select from I_ChmlCmplncInfo as ChmlCmplncInfo
inner join I_ChmlComposition as Composition on ChmlCmplncInfo.ChmlCmplncInfoUUID = Composition.ChmlCmplncInfoUUID
inner join P_CmbndChmlAssocdAnlytlCmpstn as ActiveComposition on ChmlCmplncInfo.ChmlCmplncInfoUUID = ActiveComposition.ChmlCmplncInfoUUID
and ActiveComposition.ChmlCompositionUUID = Composition.ChmlCompositionUUID
inner join I_ChmlComponent as Component on Composition.ChmlCompositionUUID = Component.ChmlCompositionUUID
association [0..1] to P_SubstanceNameText as _Substance on Component.SubstanceUUID = _Substance.SubstanceUUID
{
key Composition.ChmlCmplncInfoUUID,
key Composition.ChmlCompositionUUID,
key Component.ChmlCompUUID,
Component.SubstanceUUID,
_Substance.SubstanceName as SubstanceName,
_Substance.CASNumber as CASNumber,
@Semantics.quantity.unitOfMeasure: 'ChmlCompQtyUnit'
Component.ChmlCompQty,
-- UoM Code (e.g. PPM)
@Semantics.unitOfMeasure: true
Component.ChmlCompQtyUnit as ChmlCompQtyUnit,
case
when Component.ChmlCompQtyLowerLimitAsText is not initial and Component.ChmlCompQtyUpperLimitAsText is not initial then
concat_with_space( concat_with_space(concat('>=',Component.ChmlCompQtyLowerLimitAsText),'-',1), concat('<=',Component.ChmlCompQtyUpperLimitAsText), 1)
else ''
end as CmbndChmlCompConcnRangeText,
-- Product Categorization
Composition.ChmlCmplncProdCatztnPhrsUUID as ChmlCmplncProdCatztnPhrsUUID,
Composition._CompositionStatus._Text[1: Language = $session.system_language ].ChmlCompositionStatusName,
_ChmlCmplncInfo
}
where
-- Only for analytical composition
Composition.ChmlCompositionType = 'ANALYTIC1'
-- Only in process or resolved
and(
Composition.ChmlCompositionStatus = 'IP'
or
Composition.ChmlCompositionStatus = 'RE'
)
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