I_MatlBasedCompositionTP
Material Based Composition
I_MatlBasedCompositionTP is a Transactional CDS View that provides data about "Material Based Composition" in SAP S/4HANA. It reads from 1 data source (I_ChmlComposition) and exposes 16 fields. It has 4 associations to related views.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| I_ChmlComposition | MaterialBasedComposition | from |
Associations (4)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..*] | I_MatlBsdBeforeProdnCompTP | _MatlBsdComponentBeforeProd | $projection.ChmlCompositionUUID = _MatlBsdComponentBeforeProd.ChmlCompositionUUID -- After production material-based components |
| [0..*] | I_MatlBsdAfterProdnCompTP | _MatlBsdComponentAfterProd | $projection.ChmlCompositionUUID = _MatlBsdComponentAfterProd.ChmlCompositionUUID --Produced Substances |
| [0..*] | I_MatlBsdProducedSubstTP | _ProducedSubstance | $projection.ChmlCompositionUUID = _ProducedSubstance.ChmlCompositionUUID --legal deviation |
| [0..*] | I_MatlBsdCmpstnLglDeviationTP | _LegalDeviation | $projection.ChmlCompositionUUID = _LegalDeviation.ChmlCompositionUUID |
Annotations (22)
| Name | Value | Level | Field |
|---|---|---|---|
| EndUserText.label | Material Based Composition | view | |
| AbapCatalog.sqlViewName | IMCOMPOSITIONTP | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AccessControl.authorizationCheck | #MANDATORY | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| VDM.viewType | #TRANSACTIONAL | view | |
| VDM.lifecycle.contract.type | #SAP_INTERNAL_API | view | |
| ObjectModel.modelCategory | #BUSINESS_OBJECT | view | |
| ObjectModel.compositionRoot | true | view | |
| ObjectModel.transactionalProcessingEnabled | true | view | |
| ObjectModel.createEnabled | EXTERNAL_CALCULATION | view | |
| ObjectModel.updateEnabled | EXTERNAL_CALCULATION | view | |
| ObjectModel.deleteEnabled | true | view | |
| ObjectModel.draftEnabled | true | view | |
| ObjectModel.writeDraftPersistence | EHFNDW_MCMPS | view | |
| ObjectModel.writeActivePersistence | EHFNDV_CCMPS | view | |
| ObjectModel.entityChangeStateId | LastChangeUTCDateTime | view | |
| ObjectModel.sapObjectNodeType.name | ProductMaterialBsdComposition | view | |
| ObjectModel.representativeKey | ChmlCompositionUUID | view | |
| ObjectModel.usageType.dataClass | #MASTER | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| ObjectModel.usageType.serviceQuality | #C | view |
Fields (16)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| UUIDofcompositionkeyChmlCompositionUUID | ||||
| ChangedbyuserLastChangedByUser | ||||
| CompositionTypeChmlCompositionType | ||||
| ReleaseStatusChmlCompositionStatus | ||||
| ValidfromdateValidityStartDateTime | ||||
| ValidtoDateValidityEndDateTime | ||||
| _MatlBsdComponentBeforeProd | _MatlBsdComponentBeforeProd | |||
| _MatlBsdComponentAfterProd | _MatlBsdComponentAfterProd | |||
| _ProducedSubstance | _ProducedSubstance | |||
| _LegalDeviation | _LegalDeviation | |||
| _CreatedByUser | _CreatedByUser | |||
| _LastChangedByUser | _LastChangedByUser | |||
| _ReleasedByUser | _ReleasedByUser | |||
| _ChmlCmplncInfo | _ChmlCmplncInfo | |||
| _CompositionStatus | _CompositionStatus | |||
| _CompositionType | _CompositionType |
@EndUserText.label: 'Material Based Composition'
@AbapCatalog:
{
sqlViewName: 'IMCOMPOSITIONTP',
compiler.compareFilter: true
}
@AccessControl:
{
--Authority Check for Composition
authorizationCheck: #MANDATORY,
privilegedAssociations: [ '_CreatedByUser', '_LastChangedByUser', '_ReleasedByUser']
}
--Client Handling of the view
@ClientHandling.algorithm: #SESSION_VARIABLE
@VDM.viewType: #TRANSACTIONAL
@VDM.lifecycle.contract.type: #SAP_INTERNAL_API
@ObjectModel:
{
--Transactional Annotations for the generated BO
modelCategory: #BUSINESS_OBJECT,
compositionRoot: true,
transactionalProcessingEnabled: true,
createEnabled: 'EXTERNAL_CALCULATION',
updateEnabled: 'EXTERNAL_CALCULATION',
deleteEnabled: true,
draftEnabled: true,
writeDraftPersistence: 'EHFNDW_MCMPS',
writeActivePersistence: 'EHFNDV_CCMPS',
entityChangeStateId: 'LastChangeUTCDateTime',
sapObjectNodeType.name: 'ProductMaterialBsdComposition',
semanticKey: [ 'ChmlCompositionUUID' ],
representativeKey: 'ChmlCompositionUUID',
usageType:
{
dataClass: #MASTER,
sizeCategory: #L,
serviceQuality: #C
}
}
define view I_MatlBasedCompositionTP
--Select data from basic view 'Composition'
as select from I_ChmlComposition as MaterialBasedComposition
-- Nodes/Detaildata;
-- Before production material-based components
association [0..*] to I_MatlBsdBeforeProdnCompTP as _MatlBsdComponentBeforeProd on $projection.ChmlCompositionUUID = _MatlBsdComponentBeforeProd.ChmlCompositionUUID
-- After production material-based components
association [0..*] to I_MatlBsdAfterProdnCompTP as _MatlBsdComponentAfterProd on $projection.ChmlCompositionUUID = _MatlBsdComponentAfterProd.ChmlCompositionUUID
--Produced Substances
association [0..*] to I_MatlBsdProducedSubstTP as _ProducedSubstance on $projection.ChmlCompositionUUID = _ProducedSubstance.ChmlCompositionUUID
--legal deviation
association [0..*] to I_MatlBsdCmpstnLglDeviationTP as _LegalDeviation on $projection.ChmlCompositionUUID = _LegalDeviation.ChmlCompositionUUID
{
--UUID of composition
@ObjectModel.mandatory: true
key ChmlCompositionUUID,
--Active UUID of composition
@ObjectModel.readOnly: true
ChmlCompositionUUID as ActiveChmlCompositionUUID,
--Create date/time of composition
@ObjectModel.readOnly: true
CreationUTCDateTime,
--Created by user
@ObjectModel.readOnly: true
CreatedByUser,
--Change date/time of composition
@ObjectModel.readOnly: true
LastChangeUTCDateTime,
--Changed by user
@ObjectModel.readOnly: true
LastChangedByUser,
--UUID of chemical compliance info
ChmlCmplncInfoUUID,
--Composition Type
@ObjectModel.mandatory: true
ChmlCompositionType,
--Release Status
@ObjectModel.mandatory: true
ChmlCompositionStatus,
--Released by user
ReleasedByUser,
-- Valid from date
ValidityStartDateTime,
-- Valid to Date
ValidityEndDateTime,
/* Associations */
@ObjectModel.association.type: [ #TO_COMPOSITION_CHILD ]
_MatlBsdComponentBeforeProd,
@ObjectModel.association.type: [ #TO_COMPOSITION_CHILD ]
_MatlBsdComponentAfterProd,
@ObjectModel.association.type: [ #TO_COMPOSITION_CHILD ]
_ProducedSubstance,
@ObjectModel.association.type: [ #TO_COMPOSITION_CHILD ]
_LegalDeviation,
_CreatedByUser,
_LastChangedByUser,
_ReleasedByUser,
_ChmlCmplncInfo,
_CompositionStatus,
_CompositionType
}
where
ChmlCompositionType = 'MATLBSD2'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_CHMLCOMPOSITION"
],
"ASSOCIATED":
[
"I_CHMLCMPLNCINFO",
"I_CHMLCOMPOSITIONSTATUS",
"I_CHMLCOMPOSITIONTYPE",
"I_MATLBSDAFTERPRODNCOMPTP",
"I_MATLBSDBEFOREPRODNCOMPTP",
"I_MATLBSDCMPSTNLGLDEVIATIONTP",
"I_MATLBSDPRODUCEDSUBSTTP",
"I_USER"
],
"BASE":
[
"I_CHMLCOMPOSITION"
],
"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