C_MatlBsdAfterProdCompSubVH
Substances of Aft Prod Comp of MbC
C_MatlBsdAfterProdCompSubVH is a Consumption CDS View that provides data about "Substances of Aft Prod Comp of MbC" in SAP S/4HANA. It reads from 1 data source (I_ChmlComponent) and exposes 21 fields with key field ChmlCompUUID. It has 2 associations to related views.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| I_ChmlComponent | Component | from |
Parameters (2)
| Name | Type | Default |
|---|---|---|
| P_ChmlCmplncInfoUUID | sysuuid_x | |
| P_MatlBsdCompUUID | sysuuid_x |
Associations (2)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1..1] | I_ChmlComposition | _ChemicalComposition | $projection.ChmlCompositionUUID = _ChemicalComposition.ChmlCompositionUUID --Substance |
| [0..1] | I_SubstanceTP | _Substance | $projection.SubstanceUUID = _Substance.SubstanceUUID |
Annotations (15)
| Name | Value | Level | Field |
|---|---|---|---|
| EndUserText.label | Substances of Aft Prod Comp of MbC | view | |
| AbapCatalog.sqlViewName | AFTPRCOMPSUBVH | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AbapCatalog.preserveKey | true | view | |
| AccessControl.authorizationCheck | #MANDATORY | view | |
| AccessControl.personalData.blocking | #NOT_REQUIRED | view | |
| VDM.viewType | #CONSUMPTION | view | |
| ObjectModel.dataCategory | #VALUE_HELP | view | |
| ObjectModel.usageType.dataClass | #MIXED | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.representativeKey | ChmlCompUUID | view | |
| Metadata.ignorePropagatedAnnotations | true | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| Search.searchable | true | view |
Fields (21)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | ChmlCompUUID | I_ChmlComponent | ChmlCompUUID | |
| ChmlCompositionUUID | I_ChmlComponent | ChmlCompositionUUID | ||
| ChmlCmplncInfoUUID | I_ChmlComponent | ChmlCmplncInfoUUID | ||
| P_MatlBsdCompUUIDasMatlBsdCompUUID | ||||
| SubstanceUUID | ||||
| SubstanceName | ||||
| CASNumber | ||||
| ChmlCompQty | I_ChmlComponent | ChmlCompQty | ||
| ChmlCompQtyAsText | I_ChmlComponent | ChmlCompQtyAsText | ||
| ChmlCompQtyUnit | I_ChmlComponent | ChmlCompQtyUnit | ||
| ChmlCompOperatorLowerLimit | I_ChmlComponent | ChmlCompOperatorLowerLimit | ||
| ChmlCompQtyLowerLimit | I_ChmlComponent | ChmlCompQtyLowerLimit | ||
| ChmlCompQtyLowerLimitAsText | I_ChmlComponent | ChmlCompQtyLowerLimitAsText | ||
| ChmlCompOperatorUpperLimit | I_ChmlComponent | ChmlCompOperatorUpperLimit | ||
| ChmlCompQtyUpperLimit | I_ChmlComponent | ChmlCompQtyUpperLimit | ||
| ChmlCompQtyUpperLimitAsText | I_ChmlComponent | ChmlCompQtyUpperLimitAsText | ||
| ChmlCompIsRemoved | I_ChmlComponent | ChmlCompIsRemoved | ||
| ResponsibleUnit | _Substance | ResponsibleUnit | ||
| _ChmlCmplncInfo | I_ChmlComponent | _ChmlCmplncInfo | ||
| _ChemicalComposition | _ChemicalComposition | |||
| _Substance | _Substance |
@EndUserText.label: 'Substances of Aft Prod Comp of MbC'
@AbapCatalog:
{
sqlViewName: 'AFTPRCOMPSUBVH',
compiler.compareFilter: true,
preserveKey: true
}
@AccessControl:
{
authorizationCheck: #MANDATORY,
// blocking of personal data not required (no personal data fields exposed for material)
personalData.blocking: #NOT_REQUIRED
}
@VDM.viewType: #CONSUMPTION
@ObjectModel:
{
dataCategory: #VALUE_HELP,
usageType:
{
dataClass: #MIXED,
sizeCategory: #L,
serviceQuality: #C
},
representativeKey: 'ChmlCompUUID',
semanticKey: ['SubstanceName']
}
@Metadata.ignorePropagatedAnnotations: true
@ClientHandling.algorithm: #SESSION_VARIABLE
@UI:{
presentationVariant: [{
sortOrder: [{ by: 'SubstanceName', direction: #ASC }],
requestAtLeast: ['SubstanceName',
'CASNumber',
'ChmlCompQtyAsText',
'ChmlCompQtyUnit',
'ChmlCompOperatorLowerLimit',
'ChmlCompQtyLowerLimitAsText',
'ChmlCompOperatorUpperLimit',
'ChmlCompQtyUpperLimitAsText'
]
}]
}
@Search.searchable: true
/*
* This view is used in the object page of the material based composition
* to diplay all CCIs with type = 'Bulk' and role 'Produced' or 'Sourced'
* in a value help
*/
define view C_MatlBsdAfterProdCompSubVH
with parameters
P_ChmlCmplncInfoUUID : sysuuid_x,
P_MatlBsdCompUUID : sysuuid_x
-- select Raw Material
as select from I_ChmlComponent as Component
--------------------------------------------------------------------------------------------------------------------
--Nodes/Detaildata
--------------------------------------------------------------------------------------------------------------------
--Parent Composition
association [1..1] to I_ChmlComposition as _ChemicalComposition on $projection.ChmlCompositionUUID = _ChemicalComposition.ChmlCompositionUUID
--Substance
association [0..1] to I_SubstanceTP as _Substance on $projection.SubstanceUUID = _Substance.SubstanceUUID
{
key Component.ChmlCompUUID,
Component.ChmlCompositionUUID,
Component.ChmlCmplncInfoUUID,
-- MatlBsdComp of Root
$parameters.P_MatlBsdCompUUID as MatlBsdCompUUID,
--UUID of Substance
Component.SubstanceUUID,
-- Combined Component Name: Concat (1. specific substance name 2. listed substance name 3. internal name)
@ObjectModel.readOnly: true
@Search: {
defaultSearchElement: true,
fuzzinessThreshold: 0.8,
ranking: #HIGH
}
_Substance.SubstanceName,
@UI: {
lineItem: [{
position: 20 ,
importance: #MEDIUM
}]
}
_Substance._ListedSubstance.CASNumber,
@Semantics.quantity.unitOfMeasure: 'ChmlCompQtyUnit'
Component.ChmlCompQty,
Component.ChmlCompQtyAsText,
Component.ChmlCompQtyUnit,
Component.ChmlCompOperatorLowerLimit,
@Semantics.quantity.unitOfMeasure: 'ChmlCompQtyUnit'
Component.ChmlCompQtyLowerLimit,
Component.ChmlCompQtyLowerLimitAsText,
Component.ChmlCompOperatorUpperLimit,
@Semantics.quantity.unitOfMeasure: 'ChmlCompQtyUnit'
Component.ChmlCompQtyUpperLimit,
Component.ChmlCompQtyUpperLimitAsText,
Component.ChmlCompIsRemoved,
// @ObjectModel.readOnly: true
// @ObjectModel.virtualElement
// @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EHFND_MCMPS_APC_SUB_AC_EXIT'
// cast( 0 as ehfnd_cci_ccomp_qty_ch ) as ChmlCompAbsQtyAsText,
@UI.hidden: true
_Substance.ResponsibleUnit as ResponsibleUnit,
/* Associations */
Component._ChmlCmplncInfo,
_ChemicalComposition,
_Substance
}
where
Component.ChmlCmplncInfoUUID = $parameters.P_ChmlCmplncInfoUUID
and Component._ChmlCmplncInfo.ChmlCmplncInfoType = 'BU'
and
-- Only for released analytical composition
Component._ChemicalComposition.ChmlCompositionType = 'ANALYTIC1'
and _ChemicalComposition.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