I_ChmlComposition
Chemical Composition
I_ChmlComposition is a Basic CDS View that provides data about "Chemical Composition" in SAP S/4HANA. It reads from 1 data source (ehfndv_ccmps) and exposes 24 fields. It has 11 associations to related views. Part of development package EHFND_BO_CCI.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| ehfndv_ccmps | ChemicalComposition | from |
Associations (11)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..*] | I_ChmlComponent | _ChmlComponent | $projection.ChmlCompositionUUID = _ChmlComponent.ChmlCompositionUUID --Link to chemical compliance information |
| [0..1] | I_ChmlCmplncInfo | _ChmlCmplncInfo | $projection.ChmlCmplncInfoUUID = _ChmlCmplncInfo.ChmlCmplncInfoUUID |
| [0..1] | I_Substance | _Substance | $projection.SubstanceUUID = _Substance.SubstanceUUID --Link to user data |
| [0..1] | I_User | _CreatedByUser | $projection.CreatedByUser = _CreatedByUser.UserID |
| [0..1] | I_User | _LastChangedByUser | $projection.LastChangedByUser = _LastChangedByUser.UserID |
| [0..1] | I_User | _ReleasedByUser | $projection.ReleasedByUser = _ReleasedByUser.UserID --Link to customizing data |
| [0..1] | I_ChmlCompositionType | _CompositionType | $projection.ChmlCompositionType = _CompositionType.ChmlCompositionType |
| [0..1] | I_ProdCmplncLegalArea | _LegalArea | $projection.ProdCmplncLegalArea = _LegalArea.ProdCmplncLegalArea |
| [0..1] | I_ChmlCompositionType | _LegalAreaRef | $projection.ProdCmplncLegalAreaRef = _LegalAreaRef.ChmlCompositionType --Link to domain values |
| [0..1] | I_ChmlCompositionStatus | _CompositionStatus | $projection.ChmlCompositionStatus = _CompositionStatus.ChmlCompositionStatus |
| [0..1] | I_ProdCmplncPhrs | _ChmlCmplncProdCatztnPhrs | $projection.ChmlCmplncProdCatztnPhrsUUID = _ChmlCmplncProdCatztnPhrs.ProdCmplncPhrsUUID |
Annotations (10)
| Name | Value | Level | Field |
|---|---|---|---|
| EndUserText.label | Chemical Composition | view | |
| AbapCatalog.sqlViewName | ICCOMPOSITION | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| VDM.viewType | #BASIC | view | |
| ObjectModel.usageType.dataClass | #MASTER | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| ObjectModel.usageType.serviceQuality | #B | view | |
| ObjectModel.representativeKey | ChmlCompositionUUID | view |
Fields (24)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| chmlcompositionuuidasChmlCompositionUUID | ||||
| CreationUTCDateTime | ||||
| CreatedByUser | ||||
| LastChangeUTCDateTime | ||||
| LastChangedByUser | ||||
| chmlcmplncinfouuidasChmlCmplncInfoUUID | ||||
| chmlsuplrmatluuidasChmlSuplrMatlUUID | ||||
| substanceuuidasSubstanceUUID | ||||
| chmlcompositiontypeasChmlCompositionType | ||||
| releasedatetimeasReleaseDateTime | ||||
| releasedbyuserasReleasedByUser | ||||
| ValidityStartDateTime | ehfndv_ccmps | validitystartdatetime | ||
| ValidityEndDateTime | ehfndv_ccmps | validityenddatetime | ||
| _ChmlComponent | _ChmlComponent | |||
| _ChmlCmplncInfo | _ChmlCmplncInfo | |||
| _Substance | _Substance | |||
| _CreatedByUser | _CreatedByUser | |||
| _LastChangedByUser | _LastChangedByUser | |||
| _ReleasedByUser | _ReleasedByUser | |||
| _CompositionType | _CompositionType | |||
| _CompositionStatus | _CompositionStatus | |||
| _LegalArea | _LegalArea | |||
| _LegalAreaRef | _LegalAreaRef | |||
| _ChmlCmplncProdCatztnPhrs | _ChmlCmplncProdCatztnPhrs |
--Label of view
@EndUserText.label: 'Chemical Composition'
@AbapCatalog:
{
-- SQL view name (16 characters)
sqlViewName: 'ICCOMPOSITION',
--If it's true, the filter conditions are compared and, if they match, the associated join expression is evaluated only once
compiler.compareFilter: true
}
--Access Control: Authorizations Checks
@AccessControl:
{
authorizationCheck: #CHECK,
privilegedAssociations: [ '_CreatedByUser', '_LastChangedByUser', '_ReleasedByUser' ]
}
--Client Handling of the view
@ClientHandling.algorithm: #SESSION_VARIABLE
--VDM view type
@VDM.viewType: #BASIC
@ObjectModel:
{
--Performance Annotations
usageType:
{
dataClass: #MASTER,
sizeCategory: #L,
serviceQuality: #B
},
representativeKey: 'ChmlCompositionUUID'
}
define view I_ChmlComposition
--Select data from master table of 'Chemical composition'
as select from ehfndv_ccmps as ChemicalComposition
--Link to detail data 'Components/substances'
association [0..*] to I_ChmlComponent as _ChmlComponent on $projection.ChmlCompositionUUID = _ChmlComponent.ChmlCompositionUUID
--Link to chemical compliance information
association [0..1] to I_ChmlCmplncInfo as _ChmlCmplncInfo on $projection.ChmlCmplncInfoUUID = _ChmlCmplncInfo.ChmlCmplncInfoUUID
association [0..1] to I_Substance as _Substance on $projection.SubstanceUUID = _Substance.SubstanceUUID
--Link to user data
association [0..1] to I_User as _CreatedByUser on $projection.CreatedByUser = _CreatedByUser.UserID
association [0..1] to I_User as _LastChangedByUser on $projection.LastChangedByUser = _LastChangedByUser.UserID
association [0..1] to I_User as _ReleasedByUser on $projection.ReleasedByUser = _ReleasedByUser.UserID
--Link to customizing data
association [0..1] to I_ChmlCompositionType as _CompositionType on $projection.ChmlCompositionType = _CompositionType.ChmlCompositionType
association [0..1] to I_ProdCmplncLegalArea as _LegalArea on $projection.ProdCmplncLegalArea = _LegalArea.ProdCmplncLegalArea
association [0..1] to I_ChmlCompositionType as _LegalAreaRef on $projection.ProdCmplncLegalAreaRef = _LegalAreaRef.ChmlCompositionType
--Link to domain values
association [0..1] to I_ChmlCompositionStatus as _CompositionStatus on $projection.ChmlCompositionStatus = _CompositionStatus.ChmlCompositionStatus
association [0..1] to I_ProdCmplncPhrs as _ChmlCmplncProdCatztnPhrs on $projection.ChmlCmplncProdCatztnPhrsUUID = _ChmlCmplncProdCatztnPhrs.ProdCmplncPhrsUUID
{
--UUID of composition
key ChemicalComposition.chmlcompositionuuid as ChmlCompositionUUID,
@Semantics.systemDateTime.createdAt: true
cast(creationutcdatetime as ehfnd_bo_crea_date_time preserving type ) as CreationUTCDateTime,
@ObjectModel.readOnly: true
@Semantics.user.createdBy: true
cast(createdbyuser as ehfnd_bo_crea_uname preserving type ) as CreatedByUser,
@Semantics.systemDateTime.lastChangedAt: true
cast(lastchangeutcdatetime as ehfnd_bo_lchg_date_time preserving type ) as LastChangeUTCDateTime,
@ObjectModel.readOnly: true
@Semantics.user.lastChangedBy: true
cast(lastchangedbyuser as ehfnd_bo_lchg_uname preserving type ) as LastChangedByUser,
--UUID of chemical compliance info
@ObjectModel.foreignKey.association: '_ChmlCmplncInfo'
ChemicalComposition.chmlcmplncinfouuid as ChmlCmplncInfoUUID,
--UUID of referenced supplier material
ChemicalComposition.chmlsuplrmatluuid as ChmlSuplrMatlUUID,
--UUID of referenced substance
ChemicalComposition.substanceuuid as SubstanceUUID,
--Composition Type
@ObjectModel.foreignKey.association: '_CompositionType'
ChemicalComposition.chmlcompositiontype as ChmlCompositionType,
-- Legal Area
prodcmplnclegalarea as ProdCmplncLegalArea,
--Release Status
@ObjectModel.foreignKey.association: '_CompositionStatus'
ChemicalComposition.chmlcompositionstatus as ChmlCompositionStatus,
--Release date/time
ChemicalComposition.releasedatetime as ReleaseDateTime,
--Released by user
@Semantics.user.responsible: true
ChemicalComposition.releasedbyuser as ReleasedByUser,
ChemicalComposition.validitystartdatetime as ValidityStartDateTime,
ChemicalComposition.validityenddatetime as ValidityEndDateTime,
--Common: ProdCmplncLegalAreaRef
ChemicalComposition.prodcmplnclegalarearef as ProdCmplncLegalAreaRef,
--Analytical+Legal Composition: Product Categorization (substance or mixture)
ChemicalComposition.chmlcmplncprodcatztnphrsuuid as ChmlCmplncProdCatztnPhrsUUID,
--Trade Secret: PCTrdScrtCalculationSetting
ChemicalComposition.pctrdscrtcalculationsetting as PCTrdScrtCalculationSetting,
--Polymer Composition: PolymerCompositionIntIDRef
ChemicalComposition.polymercompositionintid as PolymerCompositionIntID,
--Polymer Composition: PolymerCompositionName
ChemicalComposition.polymercompositionname as PolymerCompositionName,
/*Association*/
_ChmlComponent,
_ChmlCmplncInfo,
_Substance,
_CreatedByUser,
_LastChangedByUser,
_ReleasedByUser,
_CompositionType,
_CompositionStatus,
_LegalArea,
_LegalAreaRef,
_ChmlCmplncProdCatztnPhrs
}
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