C_ProdnRtgVersAssignableBOM
Routing Version Assignable BOM
C_ProdnRtgVersAssignableBOM is a Consumption CDS View that provides data about "Routing Version Assignable BOM" in SAP S/4HANA. It reads from 4 data sources (I_MaterialBOM, I_Material, I_MaterialTypeToBOOType, I_MfgBOMUsages) and exposes 27 fields with key fields BillOfMaterialVariantUsage, BillOfMaterial, BillOfMaterialVariant, BillOfMaterialCategory, BillOfMaterialVersion. It has 4 associations to related views. Part of development package MPE_PLAN_RTG_VERS.
Data Sources (4)
| Source | Alias | Join Type |
|---|---|---|
| I_MaterialBOM | AssignableBOM | from |
| I_Material | Material | inner |
| I_MaterialTypeToBOOType | MaterialTypeToBOOType | inner |
| I_MfgBOMUsages | MfgBOMUsage | inner |
Associations (4)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | I_Material | _Material | $projection.Material = _Material.Material |
| [0..1] | I_Plant | _Plant | $projection.Plant = _Plant.Plant |
| [1..1] | C_MngProdnRtgPlantMaterialVH | _MngProdnRtgPlantMaterialVH | $projection.Plant = _MngProdnRtgPlantMaterialVH.MRPPlant and $projection.Material = _MngProdnRtgPlantMaterialVH.Material |
| [0..*] | I_ProductionVersion | _ProductionVersion | $projection.Material = _ProductionVersion.Material and $projection.Plant = _ProductionVersion.Plant |
Annotations (10)
| Name | Value | Level | Field |
|---|---|---|---|
| AccessControl.authorizationCheck | #CHECK | view | |
| VDM.viewType | #CONSUMPTION | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| ObjectModel.usageType.dataClass | #MASTER | view | |
| Search.searchable | true | view | |
| UI.headerInfo.typeName | Manage Routing Assignable BOM List | view | |
| UI.headerInfo.title.type | #STANDARD | view | |
| UI.headerInfo.title.value | BillOfMaterial | view | |
| EndUserText.label | Routing Version Assignable BOM | view |
Fields (27)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | BillOfMaterialVariantUsage | I_MaterialBOM | BillOfMaterialVariantUsage | |
| KEY | BillOfMaterial | I_MaterialBOM | BillOfMaterial | |
| KEY | BillOfMaterialVariant | I_MaterialBOM | BillOfMaterialVariant | |
| KEY | BillOfMaterialCategory | I_MaterialBOM | BillOfMaterialCategory | |
| KEY | BillOfMaterialVersion | I_MaterialBOM | BillOfMaterialVersion | |
| BOMHeaderText | I_MaterialBOM | BOMHeaderText | ||
| BOMAlternativeText | I_MaterialBOM | BOMAlternativeText | ||
| Material | I_MaterialBOM | Material | ||
| Plant | I_MaterialBOM | Plant | ||
| BOMHeaderBaseUnit | I_MaterialBOM | BOMHeaderBaseUnit | ||
| EngineeringChangeDocument | I_MaterialBOM | EngineeringChangeDocument | ||
| IsVersionBillOfMaterial | I_MaterialBOM | IsVersionBillOfMaterial | ||
| IsLatestBOMVersion | I_MaterialBOM | IsLatestBOMVersion | ||
| BOMVersionStatus | I_MaterialBOM | BOMVersionStatus | ||
| ValidityStartDate | ||||
| ValidityEndDate | ||||
| RecordCreationDate | I_MaterialBOM | RecordCreationDate | ||
| CreatedByUser | ||||
| LastChangeDate | I_MaterialBOM | LastChangeDate | ||
| LastChangedByUser | ||||
| LastChangeDateTime | I_MaterialBOM | LastChangeDateTime | ||
| _BillOfMaterialVariantUsage | ||||
| _BOMChangeNumbers | I_MaterialBOM | _BOMChangeNumbers | ||
| _Material | _Material | |||
| _Plant | _Plant | |||
| _MngProdnRtgPlantMaterialVH | _MngProdnRtgPlantMaterialVH | |||
| _ProductionVersion | _ProductionVersion |
@AccessControl.authorizationCheck: #CHECK
@VDM.viewType: #CONSUMPTION
@ObjectModel.usageType:
{
serviceQuality: #C,
sizeCategory: #L,
dataClass: #MASTER
}
@Search.searchable: true
@UI.headerInfo: {
typeName: 'Manage Routing Assignable BOM List',
title: {
type: #STANDARD,
value: 'BillOfMaterial'
}
}
@EndUserText.label: 'Routing Version Assignable BOM'
define view entity C_ProdnRtgVersAssignableBOM
as select from I_MaterialBOM as AssignableBOM
inner join I_MfgBOMUsages as MfgBOMUsage on AssignableBOM.BillOfMaterialVariantUsage = MfgBOMUsage.BillOfMaterialVariantUsage
inner join I_Material as Material on AssignableBOM.Material = Material.Material
inner join I_MaterialTypeToBOOType as MaterialTypeToBOOType on Material.MaterialType = MaterialTypeToBOOType.MaterialType
and MaterialTypeToBOOType.BillOfOperationsType = 'V'
association [0..1] to I_Material as _Material on $projection.Material = _Material.Material
association [0..1] to I_Plant as _Plant on $projection.Plant = _Plant.Plant
association [1..1] to C_MngProdnRtgPlantMaterialVH as _MngProdnRtgPlantMaterialVH on $projection.Plant = _MngProdnRtgPlantMaterialVH.MRPPlant
and $projection.Material = _MngProdnRtgPlantMaterialVH.Material
// association [0..1] to C_MaterialBOMVH as _MngProdnRtgBOMVH on $projection.Material = _MngProdnRtgBOMVH.Material
// and $projection.Plant = _MngProdnRtgBOMVH.Plant
// and $projection.BillOfMaterialVariantUsage = _MngProdnRtgBOMVH.BillOfMaterialVariantUsage
// and $projection.BillOfMaterialVariant = _MngProdnRtgBOMVH.BillOfMaterialVariant
association [0..*] to I_ProductionVersion as _ProductionVersion on $projection.Material = _ProductionVersion.Material
and $projection.Plant = _ProductionVersion.Plant
{
// @ObjectModel.foreignKey.association: '_BillOfMaterialVariantUsage'
@ObjectModel.foreignKey.association: null
key AssignableBOM.BillOfMaterialVariantUsage,
@ObjectModel.readOnly: true
// @UI.selectionField.position: 10
// @Consumption.valueHelp: '_MngProdnRtgBOMVH'
@Search: { defaultSearchElement: true, fuzzinessThreshold: 0.8, ranking: #MEDIUM }
key AssignableBOM.BillOfMaterial,
@ObjectModel.readOnly: true
key AssignableBOM.BillOfMaterialVariant,
key AssignableBOM.BillOfMaterialCategory,
// @ObjectModel.foreignKey.association: '_BOMVersion'
key AssignableBOM.BillOfMaterialVersion,
@ObjectModel.readOnly: true
AssignableBOM.BOMHeaderText,
@ObjectModel.readOnly: true
AssignableBOM.BOMAlternativeText,
@ObjectModel.readOnly: true
// @UI.selectionField.position: 50
@Consumption.valueHelp: '_MngProdnRtgPlantMaterialVH'
@ObjectModel.foreignKey.association: '_Material'
@Search: { defaultSearchElement: true, fuzzinessThreshold: 0.8, ranking: #MEDIUM }
AssignableBOM.Material,
@ObjectModel.readOnly: true
// @UI.selectionField.position: 50
@Consumption.valueHelp: '_MngProdnRtgPlantMaterialVH'
@ObjectModel.foreignKey.association: '_Plant'
@Search: { defaultSearchElement: true, fuzzinessThreshold: 0.8, ranking: #MEDIUM }
AssignableBOM.Plant,
AssignableBOM.BOMHeaderBaseUnit,
@ObjectModel.readOnly: true
AssignableBOM.EngineeringChangeDocument,
AssignableBOM.IsVersionBillOfMaterial,
AssignableBOM.IsLatestBOMVersion,
AssignableBOM.BOMVersionStatus,
@ObjectModel.readOnly: true
@Semantics.businessDate.from: true
cast(AssignableBOM.HeaderValidityStartDate as pph_begda preserving type) as ValidityStartDate,
@ObjectModel.readOnly: true
@Semantics.businessDate.to: true
cast(AssignableBOM.HeaderValidityEndDate as pph_endda preserving type) as ValidityEndDate,
AssignableBOM.RecordCreationDate,
@Semantics.user.createdBy: true
cast(AssignableBOM.CreatedByUser as vdm_createdbyuserid preserving type) as CreatedByUser,
AssignableBOM.LastChangeDate,
@Semantics.user.lastChangedBy: true
cast(AssignableBOM.LastChangedByUser as vdm_lastchangedbyuserid preserving type) as LastChangedByUser,
AssignableBOM.LastChangeDateTime as LastChangeDateTime,
-- associations
AssignableBOM._BillOfMaterialVariantUsage,
AssignableBOM._BOMChangeNumbers,
_Material,
_Plant,
_MngProdnRtgPlantMaterialVH,
// _BOMVersion,
// _MngProdnRtgBOMVH,
_ProductionVersion
}
where
AssignableBOM.BillOfMaterialCategory = 'M'
// and AssignableBOM.HeaderValidityStartDate <= $session.system_date
// and AssignableBOM.HeaderValidityEndDate >= $session.system_date
and AssignableBOM.IsVersionBillOfMaterial = 'X'
and AssignableBOM.IsMarkedForDeletion = ' '
and(
AssignableBOM.IsLatestBOMVersion = 'X'
or AssignableBOM.BOMVersionStatus = '01' --> Also not released BOMs are assignable now. Overall check happens before release of routing.
)
and AssignableBOM.BillOfMaterialVersion <> ' '
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