I_BILLOFMATERIAL

CDS View

Bill of Material

I_BILLOFMATERIAL is a CDS View in S/4HANA. Bill of Material. It contains 44 fields. 22 CDS views read from this table.

CDS Views using this table (22)

ViewTypeJoinVDMDescription
C_BOMItemForCustomerReturn view from CONSUMPTION BOM Items for Customer Return
C_ChangeRecordETOVersBOMVH view from CONSUMPTION ETO Version BOM
I_BillOfMaterialSubItemsHeader view inner COMPOSITE Composite for sub items
I_BOMItemHdrChangeState view inner COMPOSITE BOM Item with Header Changes
I_ChangeRecordBillOfMaterial view from COMPOSITE Change Record Bill Of Material
I_ChangeRecordOrderBOM view from COMPOSITE Change Record Order Bill of Material
I_ChangeRecordStdBOM view from COMPOSITE Change Record Order Bill of Material
I_ChangeRecordWBSElmntBOM view from COMPOSITE Change Record WBS Bill of Material
I_ChgImpactBOMLtstChgState view from COMPOSITE BOM Header Latest Change States
I_ChgRecdEquipBOM view from COMPOSITE Change Record EQUIP BOM
I_ChgRecdFuncLocBOM view from COMPOSITE Chg Recd Funloc BOM
I_DocInfoRecdStructure view from COMPOSITE Document Structure Header Details
I_MaintBOMItemHdrChangeState view inner COMPOSITE Maintenance BOM Item with Header Changes
I_MaintenanceBillOfMaterial view from COMPOSITE Maintenance Bill of Material Header
I_MaterialBOM view from BASIC Interface view to expose material and plant with header data
I_MfgBOMItemWithPhantomHier view_entity inner COMPOSITE MBOM items with phantom hierarchy
I_SalesBOMItemHdrChangeState view inner COMPOSITE Sales Order BOM Item change state
P_BillOfMaterialHeader view from COMPOSITE
P_BillOfMaterialHeader view union_all COMPOSITE
P_Billofmaterialwd view union_all COMPOSITE
P_Bomchangehistory view inner COMPOSITE
P_SalesOrderBOMHeader view from BASIC Private view for Sales order BoM header

Fields (44)

KeyField CDS FieldsUsed in Views
KEY BillOfMaterial BillOfMaterial 6
KEY BillOfMaterialCategory BillOfMaterialCategory 8
KEY BillOfMaterialHeaderUUID BillOfMaterialHeaderUUID 15
KEY BillOfMaterialVariant AlternativeBillOfMaterial,BillOfMaterialVariant 9
KEY BillOfMaterialVariantUsage BillOfMaterialVariantUsage 10
KEY BillOfMaterialVersion BillOfMaterialVersion 6
KEY BOMHeaderInternalChangeCount BillOfMaterialItemNodeNumber,BOMHeaderInternalChangeCount 7
KEY EngineeringChangeDocument EngineeringChangeDocument,HeaderChangeDocument 10
BillOfMaterialAuthsnGrp BillOfMaterialAuthsnGrp 6
BillOfMaterialStatus BillOfMaterialStatus 6
BillOfMaterialUUID BillOfMaterialUUID 3
BOMAlternativeText BOMAlternativeText 6
BOMAssetNtwkHndovrIsRelevant BOMAssetNtwkHndovrIsRelevant 3
BOMExplosionApplication BOMExplosionApplication 4
BOMGroup BOMGroup 6
BOMHeaderBaseUnit BOMHeaderBaseUnit 6
BOMHeaderQuantityInBaseUnit BOMHeaderQuantityInBaseUnit 6
BOMHeaderText BOMHeaderText 6
BOMIsArchivedForDeletion BOMIsArchivedForDeletion 3
BOMIsToBeDeleted BOMIsToBeDeleted 6
BOMPredecessorVersion BOMPredecessorVersion 3
BOMPrioritizedVersion BOMPrioritizedVersion 4
BOMTechnicalType BOMTechnicalType 4
BOMUsagePriority BOMUsagePriority 5
BOMVersionStatus BOMVersionStatus 5
ChgToEngineeringChgDocument ChgToEngineeringChgDocument 6
CreatedByUser CreatedByUser 6
DocumentIsCreatedByCAD DocumentIsCreatedByCAD 6
HeaderValidityEndDate HeaderValidityEndDate 6
HeaderValidityStartDate HeaderValidityStartDate 6
IndicatorIsBOMChangedWithHist IndicatorIsBOMChangedWithHist 2
IndicatorIsBOMWithDateHistory IndicatorIsBOMWithDateHistory 2
IsALE IsALE 3
IsConfiguredMaterial IsConfiguredMaterial 5
IsLatestBOMVersion IsLatestBOMVersion 5
IsMarkedForDeletion DocInfoRecdIsMarkedForDeletion,IsMarkedForDeletion 6
IsMultipleBOMAlt IsMultipleBOMAlt 5
IsVersionBillOfMaterial IsVersionBillOfMaterial 8
LaboratoryOrDesignOffice LaboratoryOrDesignOffice 6
LastChangeDate LastChangeDate 6
LastChangeDateTime LastChangeDateTime 4
LastChangedByUser LastChangedByUser 6
LongTextLanguage LongTextLanguage 2
RecordCreationDate RecordCreationDate 5
// Interface view for Bill of Material maintenance

@AbapCatalog.sqlViewName: 'IBOMDETAILS'
@ClientHandling.type : #INHERITED
@ClientHandling.algorithm : #SESSION_VARIABLE
@AbapCatalog.compiler.compareFilter: true
@VDM.viewType: #BASIC
@ObjectModel.usageType: {serviceQuality: #C, sizeCategory: #L, dataClass: #TRANSACTIONAL}
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Bill of Material'
@AbapCatalog.preserveKey:true  
--@ObjectModel.writeEnabled: true

define view I_BillOfMaterial
  as select from P_Bom_Header_Determine as bom_header
  association [0..*] to I_BillOfMaterialItem  as _BillOfMaterialItem         on  $projection.BillOfMaterialCategory = _BillOfMaterialItem.BillOfMaterialCategory
                                                                             and $projection.BillOfMaterial         = _BillOfMaterialItem.BillOfMaterial
                                                                             and $projection.BillOfMaterialVariant  = _BillOfMaterialItem.BillOfMaterialVariant
  association [0..*] to I_MaterialBOMLink     as _Mast                       on  $projection.BillOfMaterialCategory = _Mast.BillOfMaterialCategory       
                                                                             and $projection.BillOfMaterial         = _Mast.BillOfMaterial
                                                                             and $projection.BillOfMaterialVariant  = _Mast.BillOfMaterialVariant
                                                                             and $projection.BillOfMaterialVariantUsage   = _Mast.BillOfMaterialVariantUsage
                                                                             
  association [0..1] to I_DocumentBOMLink     as _Dost                       on  $projection.BillOfMaterialCategory = _Dost.BillOfMaterialCategory
                                                                             and $projection.BillOfMaterial         = _Dost.BillOfMaterial
                                                                             and $projection.BillOfMaterialVariant  = _Dost.BillOfMaterialVariant
  association [0..1] to I_Prst                as _Prst                       on  $projection.BillOfMaterialCategory = _Prst.BillOfMaterialCategory
                                                                             and $projection.BillOfMaterial         = _Prst.BillOfMaterial
                                                                             and $projection.BillOfMaterialVariant  = _Prst.BillOfMaterialVariant
  association [0..1] to I_SalesOrderBOMLink   as _Kdst                       on  $projection.BillOfMaterialCategory = _Kdst.BillOfMaterialCategory
                                                                             and $projection.BillOfMaterial         = _Kdst.BillOfMaterial
                                                                             and $projection.BillOfMaterialVariant  = _Kdst.BillOfMaterialVariant
  association [0..1] to I_Eqst                as _Eqst                       on  $projection.BillOfMaterialCategory = _Eqst.BillOfMaterialCategory
                                                                             and $projection.BillOfMaterial         = _Eqst.BillOfMaterial
                                                                             and $projection.BillOfMaterialVariant  = _Eqst.BillOfMaterialVariant
  association [0..1] to I_Tpst                as _Tpst                       on  $projection.BillOfMaterialCategory = _Tpst.BillOfMaterialCategory
                                                                             and $projection.BillOfMaterial         = _Tpst.BillOfMaterial
                                                                             and $projection.BillOfMaterialVariant  = _Tpst.BillOfMaterialVariant
  association [0..1] to I_Stst                as _Stst                       on  $projection.BillOfMaterialCategory = _Stst.BillOfMaterialCategory
                                                                             and $projection.BillOfMaterial         = _Stst.BillOfMaterial
                                                                             and $projection.BillOfMaterialVariant  = _Stst.BillOfMaterialVariant
  //association [0..1] to I_Material            as _Material                   on  $projection.Material = _Material.Material

  association [0..1] to I_BillOfMaterialUsage as _BillOfMaterialVariantUsage on  $projection.BillOfMaterialVariantUsage = _BillOfMaterialVariantUsage.BillOfMaterialVariantUsage
                                                                             and _BillOfMaterialVariantUsage.Language = $session.system_language
  //association [0..1] to I_Plant               as _Plant                      on  $projection.Plant = _Plant.Plant

  association [0..1] to I_UnitOfMeasure       as _UnitOfMeasure              on  $projection.BOMHeaderBaseUnit = _UnitOfMeasure.UnitOfMeasure

{


  key bom_header.guidx                                                                                                                                                           as BillOfMaterialHeaderUUID,
  key bom_header.BillOfMaterialCategory as BillOfMaterialCategory,
   --   @ObjectModel.updateEnabled: true
      @ObjectModel.foreignKey.association: '_BillOfMaterialVariantUsage'
 key     bom_header.BillOfMaterialVariantUsage                                                                                                                                      as BillOfMaterialVariantUsage,
    --  @ObjectModel.updateEnabled: true
                                                                                                                                               
     // @ObjectModel.readOnly: true

 key     bom_header.BillOfMaterial                                                                                                                                                  as BillOfMaterial,
  --    @ObjectModel.updateEnabled: true
 key     bom_header.BillOfMaterialVariant                                                                                                                                           as BillOfMaterialVariant,
 key     bom_header.BillOfMaterialVersion                                                                                                                                           as BillOfMaterialVersion,  
      bom_header.mandt as SAPClient, 
      concat(concat(concat(bom_header.BillOfMaterial,bom_header.BillOfMaterialCategory),bom_header.BillOfMaterialVariantUsage),bom_header.BillOfMaterialVariant)                 as BillOfMaterialUUID,
      //bom_header.matfromlotsizequantity                                                                                                                           as MatFromLotSizeQuantity,

      //cast( bom_header.materialtolotsizequantity as losbs )                                                                                                       as MatToLotSizeQuantity,

      //' '                                                                                                                                                         as MatFromLotSizeQuantity, // To be removed

      //' '                                                                                                                                                         as MatToLotSizeQuantity, // To be removed

      --bom_header.MultipleBomAltInd                as MultipleBomAltInd,
      bom_header.IsMultipleBOMAlt                                                                                                                                                as IsMultipleBOMAlt,
      //@ObjectModel.readOnly: true

      bom_header.BOMHeaderInternalChangeCount                                                                                                                                    as BOMHeaderInternalChangeCount,
      //@ObjectModel.readOnly: true

      //bom_header.isconfiguredmaterial

      //' '                                                                                                                                                         as IsConfiguredMaterial, // To be removed                                                                                                                           as IsConfiguredMaterial,

      //BOMHEADERQUANTITYINBASEUNIT@ObjectModel.readOnly: true

      bom_header.BOMPrioritizedVersion                                                                                                                                           as BOMPrioritizedVersion,
      @Consumption.hidden: true
     // @ObjectModel.readOnly: true

      bom_header.BOMExplosionApplication                                                                                                                                         as BOMExplosionApplication,
      //@ObjectModel.readOnly: true

      bom_header.BOMUsagePriority                                                                                                                                                as BOMUsagePriority,
      bom_header.BillOfMaterialAuthsnGrp                                                                                                                                         as BillOfMaterialAuthsnGrp,
      bom_header.BOMVersionStatus                                                                                                                                                as BOMVersionStatus,
      bom_header.IsVersionBillOfMaterial                                                                                                                                         as IsVersionBillOfMaterial,
      bom_header.IsLatestBOMVersion                                                                                                                                              as IsLatestBOMVersion,
      bom_header.BOMIsConfigurable    as BOMIsConfigurable,      -- MAST-KZKFG
      bom_header.IsConfiguredMaterial as  IsConfiguredMaterial,  -- MAST-KZKFG
      cast ( bom_header.BOMTechnicalType as tetyp_d preserving type)                                                                                                             as BOMTechnicalType,
      bom_header.BOMGroup                                                                                                                                                        as BOMGroup,
      bom_header.IndicatorIsBOMWithDateHistory                                                                                                                                   as IndicatorIsBOMWithDateHistory,
      bom_header.IndicatorIsBOMChangedWithHist                                                                                                                                   as IndicatorIsBOMChangedWithHist,
      bom_header.BOMHeaderText                                                                                                                                                   as BOMHeaderText,
      bom_header.BOMAlternativeText                                                                                                                                              as BOMAlternativeText,
      bom_header.LongTextLanguage                                                                                                                                                as LongTextLanguage,   
      bom_header.BillOfMaterialStatus                                                                                                                                            as BillOfMaterialStatus,
      bom_header.HeaderValidityStartDate                                                                                                                                         as HeaderValidityStartDate,
      //@ObjectModel.readOnly: true

      bom_header.HeaderValidityEndDate                                                                                                                                           as HeaderValidityEndDate,
      bom_header.HeaderEngineeringChgNmbrDoc                                                                                                                                     as EngineeringChangeDocument,
      bom_header.ChangeNumberTo                                                                                                                                                  as ChgToEngineeringChgDocument,
      bom_header.DeletionIndicator                                                                                                                                               as IsMarkedForDeletion,
      bom_header.BOMIsArchivedForDeletion,
     // @ObjectModel.readOnly: true

      --bom_header.deletionindicatorbom             as DeletionIndicatorBOM,
      --             ' ' as IndicatorALE, //Space to be deleted

      bom_header.IsALE                                                                                                                                                           as IsALE,
      @Semantics.unitOfMeasure: true
      @ObjectModel.foreignKey.association: '_UnitOfMeasure'
   --   @ObjectModel.updateEnabled: true
      bom_header.BOMHeaderBaseUnit                                                                                                                                               as BOMHeaderBaseUnit,
      @Semantics.quantity.unitOfMeasure: 'BOMHeaderBaseUnit'
      @DefaultAggregation :#NONE
--      @ObjectModel.updateEnabled: true
      bom_header.BOMHeaderQuantityInBaseUnit                                                                                                                                     as BOMHeaderQuantityInBaseUnit,
      bom_header.RecordCreationDate                                                                                                                                              as RecordCreationDate,
      bom_header.LastChangeDate                                                                                                                                                  as LastChangeDate,
      bom_header.CreatedByUser                                                                                                                                                   as CreatedByUser,
      bom_header.LastChangedByUser                                                                                                                                               as LastChangedByUser,
      bom_header.BOMIsToBeDeleted                                                                                                                                                as BOMIsToBeDeleted,
      /*  cast (1 as abap.int4 ) as                  NumberOfBOMHeaderChanges,
        case when bom_header.BOMHeaderInternalChangeCount = '00000001' then cast (1 as abap.int4 )
        else cast (0 as abap.int4)
        end as CountOfBOMByCategory , */
      //bom_header.salesorder                                                                                                                                       as SalesOrder,

      //bom_header.salesorderitem                                                                                                                                   as SalesOrderItem,

      //bom_header.wbselementinternalid                                                                                                                             as WBSElementInternalID,

      bom_header.DocumentIsCreatedByCAD                                                                                                                                          as DocumentIsCreatedByCAD,
      bom_header.LaboratoryOrDesignOffice                                                                                                                                        as LaboratoryOrDesignOffice,
      bom_header.LastChangeDateTime                                                                                                                                              as LastChangeDateTime,
      bom_header.BOMAssetNtwkHndovrIsRelevant                                                                                                                                    as BOMAssetNtwkHndovrIsRelevant,
      bom_header.BOMPredecessorVersion as BOMPredecessorVersion,
     // bom_header.IsBOMVersionInactive as IsBOMVersionInactive,

     // _Mast.MaterialBOMObjectID as MaterialBOMObjectID,

     
      _BillOfMaterialItem,
      _BillOfMaterialVariantUsage,
      _UnitOfMeasure,
      _Mast,
      _Dost,
      _Prst,
      _Kdst, 
      _Eqst,
      _Tpst,
      _Stst
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"P_BOM_HEADER_DETERMINE"
],
"ASSOCIATED":
[
"I_BILLOFMATERIALITEM",
"I_BILLOFMATERIALUSAGE",
"I_DOCUMENTBOMLINK",
"I_EQST",
"I_MATERIALBOMLINK",
"I_PRST",
"I_SALESORDERBOMLINK",
"I_STST",
"I_TPST",
"I_UNITOFMEASURE"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/