P_VERSENGBILLOFMATERIAL
Version Controlled Engineering Bill Of Material
P_VERSENGBILLOFMATERIAL is a CDS View in S/4HANA. Version Controlled Engineering Bill Of Material. It contains 44 fields. 2 CDS views read from this table.
CDS Views using this table (2)
| View | Type | Join | VDM | Description |
|---|---|---|---|---|
| P_VersEngBOMAcrossAllProdnPlnt | view | from | COMPOSITE | Version Controlled Eng BOM Across All Production Plants |
| P_VersEngBOMWithCRAssignment | view | from | COMPOSITE | Version Controlled Eng BOM With Their Change Records |
Fields (44)
| Key | Field | CDS Fields | Used in Views |
|---|---|---|---|
| KEY | BillOfMaterial | BillOfMaterial | 2 |
| KEY | BillOfMaterialCategory | BillOfMaterialCategory | 2 |
| KEY | BillOfMaterialVariant | BillOfMaterialVariant | 2 |
| KEY | BillOfMaterialVersion | BillOfMaterialVersion | 2 |
| KEY | Material | Material | 2 |
| KEY | Plant | Plant | 2 |
| _BillOfMaterialItem | _BillOfMaterialItem | 1 | |
| _BillOfMaterialVariantUsage | _BillOfMaterialVariantUsage | 1 | |
| _UnitOfMeasure | _UnitOfMeasure | 1 | |
| BillOfMaterialAuthsnGrp | BillOfMaterialAuthsnGrp | 1 | |
| BillOfMaterialHeaderUUID | BillOfMaterialHeaderUUID | 1 | |
| BillOfMaterialStatus | BillOfMaterialStatus | 1 | |
| BillOfMaterialUUID | BillOfMaterialUUID | 1 | |
| BillOfMaterialVariantUsage | BillOfMaterialVariantUsage | 1 | |
| BOMAlternativeText | BOMAlternativeText | 1 | |
| BOMGroup | BOMGroup | 1 | |
| BOMHeaderBaseUnit | BOMHeaderBaseUnit | 1 | |
| BOMHeaderInternalChangeCount | BOMHeaderInternalChangeCount | 1 | |
| BOMHeaderQuantityInBaseUnit | BOMHeaderQuantityInBaseUnit | 1 | |
| BOMHeaderText | BOMHeaderText | 1 | |
| BOMIsToBeDeleted | BOMIsToBeDeleted | 1 | |
| BOMPrioritizedVersion | BOMPrioritizedVersion | 1 | |
| BOMTechnicalType | BOMTechnicalType | 1 | |
| BOMUsagePriority | BOMUsagePriority | 1 | |
| BOMVersionStatus | BOMVersionStatus | 1 | |
| ChgToEngineeringChgDocument | ChgToEngineeringChgDocument | 1 | |
| CreatedByUser | CreatedByUser | 1 | |
| DocumentIsCreatedByCAD | DocumentIsCreatedByCAD | 1 | |
| EBOMType | EBOMType | 1 | |
| EngineeringChangeDocument | EngineeringChangeDocument | 1 | |
| HeaderValidityEndDate | HeaderValidityEndDate | 1 | |
| HeaderValidityStartDate | HeaderValidityStartDate | 1 | |
| IsALE | IsALE | 1 | |
| IsConfiguredMaterial | IsConfiguredMaterial | 1 | |
| IsLatestBOMVersion | IsLatestBOMVersion | 1 | |
| IsMarkedForDeletion | IsMarkedForDeletion | 1 | |
| IsMaterialUnitized | IsMaterialUnitized | 1 | |
| IsMultipleBOMAlt | IsMultipleBOMAlt | 1 | |
| IsVersionBillOfMaterial | IsVersionBillOfMaterial | 1 | |
| LaboratoryOrDesignOffice | LaboratoryOrDesignOffice | 1 | |
| LastChangedByUser | LastChangedByUser | 1 | |
| MaterialToLotSizeQuantity | MaterialToLotSizeQuantity | 1 | |
| MatFromLotSizeQuantity | MatFromLotSizeQuantity | 1 | |
| RecordCreationDate | RecordCreationDate | 1 |
//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'