P_VersEngBillOfMaterial
P_VersEngBillOfMaterial is a Composite CDS View in SAP S/4HANA. It reads from 2 data sources (I_EngBOMUsage, I_MaterialBOM) and exposes 43 fields with key fields BillOfMaterialCategory, BillOfMaterial, BillOfMaterialVariant, Material, Plant.
Data Sources (2)
| Source | Alias | Join Type |
|---|---|---|
| I_EngBOMUsage | EngBOMUsage | inner |
| I_MaterialBOM | MaterialBOM | from |
Annotations (9)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | PVERSENGBOM | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AccessControl.authorizationCheck | #NOT_REQUIRED | view | |
| ObjectModel.usageType.serviceQuality | #X | view | |
| ObjectModel.usageType.sizeCategory | #XXL | view | |
| ObjectModel.usageType.dataClass | #MASTER | view | |
| VDM.private | true | view | |
| VDM.viewType | #COMPOSITE | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view |
Fields (43)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | BillOfMaterialCategory | I_MaterialBOM | BillOfMaterialCategory | |
| KEY | BillOfMaterial | I_MaterialBOM | BillOfMaterial | |
| KEY | BillOfMaterialVariant | I_MaterialBOM | BillOfMaterialVariant | |
| KEY | Material | I_MaterialBOM | Material | |
| KEY | Plant | I_MaterialBOM | Plant | |
| KEY | BillOfMaterialVersion | I_MaterialBOM | BillOfMaterialVersion | |
| BillOfMaterialVariantUsage | I_MaterialBOM | BillOfMaterialVariantUsage | ||
| BillOfMaterialUUID | I_MaterialBOM | BillOfMaterialUUID | ||
| IsMultipleBOMAlt | IsMultipleBOMAlt | |||
| BillOfMaterialHeaderUUID | I_MaterialBOM | BillOfMaterialHeaderUUID | ||
| BOMHeaderInternalChangeCount | I_MaterialBOM | BOMHeaderInternalChangeCount | ||
| BOMPrioritizedVersion | BOMPrioritizedVersion | |||
| BOMUsagePriority | BOMUsagePriority | |||
| BillOfMaterialAuthsnGrp | I_MaterialBOM | BillOfMaterialAuthsnGrp | ||
| BOMVersionStatus | I_MaterialBOM | BOMVersionStatus | ||
| BOMAlternativeText | I_MaterialBOM | BOMAlternativeText | ||
| BOMGroup | I_MaterialBOM | BOMGroup | ||
| BOMHeaderBaseUnit | I_MaterialBOM | BOMHeaderBaseUnit | ||
| BOMHeaderQuantityInBaseUnit | I_MaterialBOM | BOMHeaderQuantityInBaseUnit | ||
| BOMHeaderText | I_MaterialBOM | BOMHeaderText | ||
| BOMIsToBeDeleted | I_MaterialBOM | BOMIsToBeDeleted | ||
| BOMTechnicalType | I_MaterialBOM | BOMTechnicalType | ||
| BillOfMaterialStatus | I_MaterialBOM | BillOfMaterialStatus | ||
| ChgToEngineeringChgDocument | I_MaterialBOM | ChgToEngineeringChgDocument | ||
| CreatedByUser | I_MaterialBOM | CreatedByUser | ||
| DocumentIsCreatedByCAD | I_MaterialBOM | DocumentIsCreatedByCAD | ||
| EngineeringChangeDocument | I_MaterialBOM | EngineeringChangeDocument | ||
| HeaderValidityEndDate | I_MaterialBOM | HeaderValidityEndDate | ||
| HeaderValidityStartDate | I_MaterialBOM | HeaderValidityStartDate | ||
| IsALE | I_MaterialBOM | IsALE | ||
| IsConfiguredMaterial | I_MaterialBOM | IsConfiguredMaterial | ||
| IsVersionBillOfMaterial | I_MaterialBOM | IsVersionBillOfMaterial | ||
| IsLatestBOMVersion | I_MaterialBOM | IsLatestBOMVersion | ||
| IsMarkedForDeletion | I_MaterialBOM | IsMarkedForDeletion | ||
| LaboratoryOrDesignOffice | I_MaterialBOM | LaboratoryOrDesignOffice | ||
| RecordCreationDate | I_MaterialBOM | RecordCreationDate | ||
| LastChangeDate | I_MaterialBOM | LastChangeDate | ||
| LastChangedByUser | I_MaterialBOM | LastChangedByUser | ||
| MatFromLotSizeQuantity | I_MaterialBOM | MatFromLotSizeQuantity | ||
| MaterialToLotSizeQuantity | I_MaterialBOM | MaterialToLotSizeQuantity | ||
| _UnitOfMeasure | I_MaterialBOM | _UnitOfMeasure | ||
| _BillOfMaterialVariantUsage | I_MaterialBOM | _BillOfMaterialVariantUsage | ||
| _BillOfMaterialItem | I_MaterialBOM | _BillOfMaterialItem |
//Private View Representing All Version Controlled Engineering Bill Of Materials
@AbapCatalog.sqlViewName: 'PVERSENGBOM'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@ObjectModel.usageType: {serviceQuality:#X, sizeCategory: #XXL, dataClass: #MASTER}
@VDM.private: true
@VDM.viewType: #COMPOSITE
@ClientHandling.algorithm: #SESSION_VARIABLE
define view P_VersEngBillOfMaterial
as select from I_MaterialBOM as MaterialBOM
inner join I_EngBOMUsage as EngBOMUsage on MaterialBOM.BillOfMaterialVariantUsage = EngBOMUsage.BillOfMaterialVariantUsage
// inner join P_BOMItmModifiedDate as BOMItmModifiedDate on MaterialBOM.BillOfMaterial = BOMItmModifiedDate.BillOfMaterial
// and MaterialBOM.BillOfMaterialCategory = BOMItmModifiedDate.BillOfMaterialCategory
// and MaterialBOM.BillOfMaterialVariant = BOMItmModifiedDate.BillOfMaterialVariant
// and MaterialBOM.BillOfMaterialVersion = BOMItmModifiedDate.BillOfMaterialVersion
left outer to one join I_UnitizedMaterial as UnitizedMatl on MaterialBOM.Material = UnitizedMatl.Material
{
key MaterialBOM.BillOfMaterialCategory,
key MaterialBOM.BillOfMaterial,
key MaterialBOM.BillOfMaterialVariant,
key MaterialBOM.Material,
key MaterialBOM.Plant,
key MaterialBOM.BillOfMaterialVersion,
MaterialBOM.BillOfMaterialVariantUsage,
MaterialBOM.BillOfMaterialUUID,
IsMultipleBOMAlt,
MaterialBOM.BillOfMaterialHeaderUUID,
MaterialBOM.BOMHeaderInternalChangeCount,
BOMPrioritizedVersion,
BOMUsagePriority,
MaterialBOM.BillOfMaterialAuthsnGrp,
MaterialBOM.BOMVersionStatus,
MaterialBOM.BOMAlternativeText,
MaterialBOM.BOMGroup,
case when MaterialBOM.Plant = ''
then
cast (2 as mpe_mec_ebom_type preserving type)
else
cast(1 as mpe_mec_ebom_type preserving type)
end as EBOMType,
MaterialBOM.BOMHeaderBaseUnit,
MaterialBOM.BOMHeaderQuantityInBaseUnit,
MaterialBOM.BOMHeaderText,
MaterialBOM.BOMIsToBeDeleted,
MaterialBOM.BOMTechnicalType,
MaterialBOM.BillOfMaterialStatus,
MaterialBOM.ChgToEngineeringChgDocument,
MaterialBOM.CreatedByUser,
MaterialBOM.DocumentIsCreatedByCAD,
MaterialBOM.EngineeringChangeDocument,
MaterialBOM.HeaderValidityEndDate,
MaterialBOM.HeaderValidityStartDate,
MaterialBOM.IsALE,
MaterialBOM.IsConfiguredMaterial,
MaterialBOM.IsVersionBillOfMaterial,
MaterialBOM.IsLatestBOMVersion,
MaterialBOM.IsMarkedForDeletion,
MaterialBOM.LaboratoryOrDesignOffice,
MaterialBOM.RecordCreationDate,
MaterialBOM.LastChangeDate,
MaterialBOM.LastChangedByUser,
MaterialBOM.MatFromLotSizeQuantity,
MaterialBOM.MaterialToLotSizeQuantity,
// case when BOMItmModifiedDate.BOMItemLastChangeDate > BOMItmModifiedDate.BOMItemRecordCreationDate
// then
// BOMItmModifiedDate.BOMItemLastChangeDate
// else
// BOMItmModifiedDate.BOMItemRecordCreationDate
// end as BOMItemLastChangeDate,
// Unitization Flag
case
when EffectivityType is not null
then cast('X' as mpe_cima_untz_matl_ind_type preserving type )
else cast('' as mpe_cima_untz_matl_ind_type preserving type )
end as IsMaterialUnitized,
MaterialBOM._UnitOfMeasure,
MaterialBOM._BillOfMaterialVariantUsage,
MaterialBOM._BillOfMaterialItem
}
where
MaterialBOM.IsVersionBillOfMaterial = 'X'
and
//Select only those Material BOMs which are version controlled and are Material BOMs indicated by Billofmaterialcategory as M
MaterialBOM.BillOfMaterialCategory = 'M'
and
//In the selected version list bring up only those Version BOMs which are released
MaterialBOM.BOMVersionStatus = '99'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_ENGBOMUSAGE",
"I_MATERIALBOM",
"I_UNITIZEDMATERIAL"
],
"ASSOCIATED":
[
"I_BILLOFMATERIALITEM",
"I_BILLOFMATERIALUSAGE",
"I_UNITOFMEASURE"
],
"BASE":
[
"I_MATERIALBOM"
],
"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