P_VERSENGBILLOFMATERIAL

CDS View

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)

ViewTypeJoinVDMDescription
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)

KeyField CDS FieldsUsed 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'