P_BillOfMaterialHeader
P_BillOfMaterialHeader is a Composite CDS View in SAP S/4HANA. It reads from 3 data sources (I_SalesOrderBOMLink, I_BillOfMaterial, I_BillOfMaterial) and exposes 108 fields with key fields BillOfMaterialHeaderUUID, BillOfMaterialVariantUsage, BillOfMaterialCategory, BillOfMaterial, BillOfMaterialVariant.
Data Sources (3)
| Source | Alias | Join Type |
|---|---|---|
| I_SalesOrderBOMLink | _Kdst | left_outer |
| I_BillOfMaterial | materialBOM | from |
| I_BillOfMaterial | orderBOM | union_all |
Annotations (10)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | PBOMHEADER | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AbapCatalog.preserveKey | true | view | |
| AccessControl.authorizationCheck | #NOT_REQUIRED | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| VDM.private | true | view | |
| ObjectModel.usageType.serviceQuality | #B | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| VDM.viewType | #COMPOSITE | view |
Fields (108)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | BillOfMaterialHeaderUUID | I_BillOfMaterial | BillOfMaterialHeaderUUID | |
| KEY | BillOfMaterialVariantUsage | I_BillOfMaterial | BillOfMaterialVariantUsage | |
| KEY | BillOfMaterialCategory | I_BillOfMaterial | BillOfMaterialCategory | |
| KEY | BillOfMaterial | I_BillOfMaterial | BillOfMaterial | |
| KEY | BillOfMaterialVariant | I_BillOfMaterial | BillOfMaterialVariant | |
| KEY | BillOfMaterialVersion | I_BillOfMaterial | BillOfMaterialVersion | |
| KEY | EngineeringChangeDocument | I_BillOfMaterial | EngineeringChangeDocument | |
| KEY | Material | _Mast | Material | |
| KEY | Plant | _Mast | Plant | |
| SalesOrder | I_SalesOrderBOMLink | SalesOrder | ||
| SalesOrderItem | ||||
| BOMCharUUID | ||||
| BillOfMaterialUUID | I_BillOfMaterial | BillOfMaterialUUID | ||
| IsMultipleBOMAlt | I_BillOfMaterial | IsMultipleBOMAlt | ||
| BOMHeaderInternalChangeCount | I_BillOfMaterial | BOMHeaderInternalChangeCount | ||
| BOMPrioritizedVersion | I_BillOfMaterial | BOMPrioritizedVersion | ||
| BOMExplosionApplication | I_BillOfMaterial | BOMExplosionApplication | ||
| BOMUsagePriority | I_BillOfMaterial | BOMUsagePriority | ||
| BillOfMaterialAuthsnGrp | I_BillOfMaterial | BillOfMaterialAuthsnGrp | ||
| BOMVersionStatus | I_BillOfMaterial | BOMVersionStatus | ||
| MaterialToLotSizeQuantity | _Mast | MaterialToLotSizeQuantity | ||
| MatFromLotSizeQuantity | _Mast | MatFromLotSizeQuantity | ||
| IsVersionBillOfMaterial | I_BillOfMaterial | IsVersionBillOfMaterial | ||
| IsLatestBOMVersion | I_BillOfMaterial | IsLatestBOMVersion | ||
| BOMTechnicalType | I_BillOfMaterial | BOMTechnicalType | ||
| BOMGroup | I_BillOfMaterial | BOMGroup | ||
| IndicatorIsBOMWithDateHistory | I_BillOfMaterial | IndicatorIsBOMWithDateHistory | ||
| IndicatorIsBOMChangedWithHist | I_BillOfMaterial | IndicatorIsBOMChangedWithHist | ||
| BOMHeaderText | I_BillOfMaterial | BOMHeaderText | ||
| BOMAlternativeText | I_BillOfMaterial | BOMAlternativeText | ||
| LongTextLanguage | I_BillOfMaterial | LongTextLanguage | ||
| LongTextExists | ||||
| BillOfMaterialStatus | I_BillOfMaterial | BillOfMaterialStatus | ||
| HeaderValidityEndDate | I_BillOfMaterial | HeaderValidityEndDate | ||
| HeaderValidityStartDate | I_BillOfMaterial | HeaderValidityStartDate | ||
| ChgToEngineeringChgDocument | I_BillOfMaterial | ChgToEngineeringChgDocument | ||
| IsMarkedForDeletion | I_BillOfMaterial | IsMarkedForDeletion | ||
| BOMIsArchivedForDeletion | I_BillOfMaterial | BOMIsArchivedForDeletion | ||
| IsConfiguredMaterial | I_BillOfMaterial | IsConfiguredMaterial | ||
| BOMIsConfigurableasBOMIsConfigurable | ||||
| IsALEasIsALE | ||||
| BOMHeaderBaseUnit | I_BillOfMaterial | BOMHeaderBaseUnit | ||
| BOMHeaderQuantityInBaseUnit | I_BillOfMaterial | BOMHeaderQuantityInBaseUnit | ||
| RecordCreationDate | I_BillOfMaterial | RecordCreationDate | ||
| LastChangeDate | I_BillOfMaterial | LastChangeDate | ||
| LastChangedByUser | I_BillOfMaterial | LastChangedByUser | ||
| CreatedByUser | I_BillOfMaterial | CreatedByUser | ||
| BOMIsToBeDeleted | I_BillOfMaterial | BOMIsToBeDeleted | ||
| DocumentIsCreatedByCAD | I_BillOfMaterial | DocumentIsCreatedByCAD | ||
| LaboratoryOrDesignOffice | I_BillOfMaterial | LaboratoryOrDesignOffice | ||
| LastChangeDateTime | I_BillOfMaterial | LastChangeDateTime | ||
| BOMAssetNtwkHndovrIsRelevant | I_BillOfMaterial | BOMAssetNtwkHndovrIsRelevant | ||
| MaterialBOMObjectID | ||||
| BOMPredecessorVersion | ||||
| KEY | BillOfMaterialVariantUsage | I_BillOfMaterial | BillOfMaterialVariantUsage | |
| KEY | BillOfMaterialCategory | I_BillOfMaterial | BillOfMaterialCategory | |
| KEY | BillOfMaterial | I_BillOfMaterial | BillOfMaterial | |
| KEY | BillOfMaterialVariant | I_BillOfMaterial | BillOfMaterialVariant | |
| KEY | BillOfMaterialVersion | I_BillOfMaterial | BillOfMaterialVersion | |
| KEY | EngineeringChangeDocument | I_BillOfMaterial | EngineeringChangeDocument | |
| KEY | Material | I_SalesOrderBOMLink | Material | |
| KEY | Plant | I_SalesOrderBOMLink | Plant | |
| SalesOrder | I_SalesOrderBOMLink | SalesOrder | ||
| SalesOrderItem | I_SalesOrderBOMLink | SalesOrderItem | ||
| BOMCharUUID | ||||
| BillOfMaterialUUID | I_BillOfMaterial | BillOfMaterialUUID | ||
| IsMultipleBOMAlt | I_BillOfMaterial | IsMultipleBOMAlt | ||
| BOMHeaderInternalChangeCount | I_BillOfMaterial | BOMHeaderInternalChangeCount | ||
| BOMPrioritizedVersion | I_BillOfMaterial | BOMPrioritizedVersion | ||
| BOMExplosionApplication | I_BillOfMaterial | BOMExplosionApplication | ||
| BOMUsagePriority | I_BillOfMaterial | BOMUsagePriority | ||
| BillOfMaterialAuthsnGrp | I_BillOfMaterial | BillOfMaterialAuthsnGrp | ||
| BOMVersionStatus | I_BillOfMaterial | BOMVersionStatus | ||
| MaterialToLotSizeQuantity | ||||
| MatFromLotSizeQuantity | ||||
| IsVersionBillOfMaterial | I_BillOfMaterial | IsVersionBillOfMaterial | ||
| IsLatestBOMVersion | I_BillOfMaterial | IsLatestBOMVersion | ||
| BOMTechnicalType | I_BillOfMaterial | BOMTechnicalType | ||
| BOMGroup | I_BillOfMaterial | BOMGroup | ||
| IndicatorIsBOMWithDateHistory | I_BillOfMaterial | IndicatorIsBOMWithDateHistory | ||
| IndicatorIsBOMChangedWithHist | I_BillOfMaterial | IndicatorIsBOMChangedWithHist | ||
| BOMHeaderText | I_BillOfMaterial | BOMHeaderText | ||
| BOMAlternativeText | I_BillOfMaterial | BOMAlternativeText | ||
| LongTextLanguage | I_BillOfMaterial | LongTextLanguage | ||
| LongTextExists | ||||
| BillOfMaterialStatus | I_BillOfMaterial | BillOfMaterialStatus | ||
| HeaderValidityEndDate | I_BillOfMaterial | HeaderValidityEndDate | ||
| HeaderValidityStartDate | I_BillOfMaterial | HeaderValidityStartDate | ||
| ChgToEngineeringChgDocument | I_BillOfMaterial | ChgToEngineeringChgDocument | ||
| IsMarkedForDeletion | I_BillOfMaterial | IsMarkedForDeletion | ||
| BOMIsArchivedForDeletion | I_BillOfMaterial | BOMIsArchivedForDeletion | ||
| IsConfiguredMaterial | I_BillOfMaterial | IsConfiguredMaterial | ||
| BOMIsConfigurableasBOMIsConfigurable | ||||
| IsALEasIsALE | ||||
| BOMHeaderBaseUnit | I_BillOfMaterial | BOMHeaderBaseUnit | ||
| BOMHeaderQuantityInBaseUnit | I_BillOfMaterial | BOMHeaderQuantityInBaseUnit | ||
| RecordCreationDate | I_BillOfMaterial | RecordCreationDate | ||
| LastChangeDate | I_BillOfMaterial | LastChangeDate | ||
| LastChangedByUser | I_BillOfMaterial | LastChangedByUser | ||
| CreatedByUser | I_BillOfMaterial | CreatedByUser | ||
| BOMIsToBeDeleted | I_BillOfMaterial | BOMIsToBeDeleted | ||
| DocumentIsCreatedByCAD | I_BillOfMaterial | DocumentIsCreatedByCAD | ||
| LaboratoryOrDesignOffice | I_BillOfMaterial | LaboratoryOrDesignOffice | ||
| LastChangeDateTime | I_BillOfMaterial | LastChangeDateTime | ||
| BOMAssetNtwkHndovrIsRelevant | I_BillOfMaterial | BOMAssetNtwkHndovrIsRelevant | ||
| MaterialBOMObjectID | ||||
| BOMPredecessorVersion | ||||
| BOMPredecessorVersion | I_BillOfMaterial | BOMPredecessorVersion |
@AbapCatalog.sqlViewName: 'PBOMHEADER'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@ClientHandling.algorithm: #SESSION_VARIABLE
@VDM.private: true
@ObjectModel.usageType: {serviceQuality: #B, sizeCategory: #L, dataClass: #TRANSACTIONAL}
@VDM.viewType: #COMPOSITE
define view P_BillOfMaterialHeader
as select from I_BillOfMaterial as materialBOM
//Left Outer Join will get no data
//Only Done to remove cast from SalesOrder field and use it in default search
left outer join I_SalesOrderBOMLink as _Kdst on materialBOM.BillOfMaterialCategory = 'M'
and materialBOM.BillOfMaterial = _Kdst.BillOfMaterial
and materialBOM.BillOfMaterialVariant = _Kdst.BillOfMaterialVariant
{
key materialBOM.BillOfMaterialHeaderUUID as BillOfMaterialHeaderUUID,
key materialBOM.BillOfMaterialVariantUsage as BillOfMaterialVariantUsage,
key materialBOM.BillOfMaterialCategory as BillOfMaterialCategory,
key materialBOM.BillOfMaterial as BillOfMaterial,
key materialBOM.BillOfMaterialVariant as BillOfMaterialVariant,
key materialBOM.BillOfMaterialVersion as BillOfMaterialVersion,
key materialBOM.EngineeringChangeDocument as EngineeringChangeDocument,
key _Mast.Material as Material,
key _Mast.Plant as Plant,
_Kdst.SalesOrder as SalesOrder,
// cast('' as cs_vbeln ) as SalesOrder,
cast( '000000' as cs_vbpos preserving type ) as SalesOrderItem,
//materialBOM.BillOfMaterialVariantUsage as BillOfMaterialVariantUsage,
// materialBOM.BillOfMaterialHeaderUUID as BillOfMaterialHeaderUUID,
-- bintohex( materialBOM.BillOfMaterialHeaderUUID ) as BOMCharUUID,
materialBOM.BillOfMaterialUUID as BillOfMaterialUUID,
materialBOM.IsMultipleBOMAlt as IsMultipleBOMAlt,
//@ObjectModel.readOnly: true
materialBOM.BOMHeaderInternalChangeCount as BOMHeaderInternalChangeCount,
//@ObjectModel.readOnly: true
materialBOM.BOMPrioritizedVersion as BOMPrioritizedVersion,
@Consumption.hidden: true
//@ObjectModel.readOnly: true
materialBOM.BOMExplosionApplication as BOMExplosionApplication,
//@ObjectModel.readOnly: true
materialBOM.BOMUsagePriority as BOMUsagePriority,
materialBOM.BillOfMaterialAuthsnGrp as BillOfMaterialAuthsnGrp,
materialBOM.BOMVersionStatus as BOMVersionStatus,
_Mast.MaterialToLotSizeQuantity,
_Mast.MatFromLotSizeQuantity,
materialBOM.IsVersionBillOfMaterial as IsVersionBillOfMaterial,
materialBOM.IsLatestBOMVersion as IsLatestBOMVersion,
materialBOM.BOMTechnicalType as BOMTechnicalType,
materialBOM.BOMGroup as BOMGroup,
materialBOM.IndicatorIsBOMWithDateHistory as IndicatorIsBOMWithDateHistory,
materialBOM.IndicatorIsBOMChangedWithHist as IndicatorIsBOMChangedWithHist,
materialBOM.BOMHeaderText as BOMHeaderText,
materialBOM.BOMAlternativeText as BOMAlternativeText,
materialBOM.LongTextLanguage as LongTextLanguage,
cast('' as ltxzu preserving type) as LongTextExists,
materialBOM.BillOfMaterialStatus as BillOfMaterialStatus,
// @ObjectModel.readOnly: true
// @Semantics.businessDate.to: true
materialBOM.HeaderValidityEndDate,
@Semantics.businessDate.from: true
materialBOM.HeaderValidityStartDate,
materialBOM.ChgToEngineeringChgDocument as ChgToEngineeringChgDocument,
materialBOM.IsMarkedForDeletion as IsMarkedForDeletion,
materialBOM.BOMIsArchivedForDeletion,
materialBOM.IsConfiguredMaterial as IsConfiguredMaterial, -- MAST-KZKFG
materialBOM.BOMIsConfigurable as BOMIsConfigurable, -- MAST-KZKFG
//@ObjectModel.readOnly: true
materialBOM.IsALE as IsALE,
@Semantics.unitOfMeasure: true
@ObjectModel.foreignKey.association: '_UnitOfMeasure'
materialBOM.BOMHeaderBaseUnit as BOMHeaderBaseUnit,
@Semantics.quantity.unitOfMeasure: 'BOMHeaderBaseUnit'
@DefaultAggregation :#NONE
materialBOM.BOMHeaderQuantityInBaseUnit as BOMHeaderQuantityInBaseUnit,
materialBOM.RecordCreationDate as RecordCreationDate,
materialBOM.LastChangeDate as LastChangeDate,
materialBOM.LastChangedByUser as LastChangedByUser,
materialBOM.CreatedByUser as CreatedByUser,
materialBOM.BOMIsToBeDeleted as BOMIsToBeDeleted,
materialBOM.DocumentIsCreatedByCAD as DocumentIsCreatedByCAD,
materialBOM.LaboratoryOrDesignOffice as LaboratoryOrDesignOffice,
materialBOM.LastChangeDateTime as LastChangeDateTime,
materialBOM.BOMAssetNtwkHndovrIsRelevant as BOMAssetNtwkHndovrIsRelevant,
materialBOM._Mast.MaterialBOMObjectID as MaterialBOMObjectID,
-- '' as BOMPredecessorVersion,
materialBOM.BOMPredecessorVersion
}
where
materialBOM.BillOfMaterialCategory = 'M'
union all select from I_BillOfMaterial as orderBOM
{
key orderBOM.BillOfMaterialHeaderUUID as BillOfMaterialHeaderUUID,
key orderBOM.BillOfMaterialVariantUsage as BillOfMaterialVariantUsage,
key orderBOM.BillOfMaterialCategory as BillOfMaterialCategory,
key orderBOM.BillOfMaterial as BillOfMaterial,
key orderBOM.BillOfMaterialVariant as BillOfMaterialVariant,
key orderBOM.BillOfMaterialVersion as BillOfMaterialVersion,
key orderBOM.EngineeringChangeDocument as EngineeringChangeDocument,
key _Kdst.Material as Material,
key _Kdst.Plant as Plant,
_Kdst.SalesOrder as SalesOrder,
_Kdst.SalesOrderItem as SalesOrderItem,
//orderBOM.BillOfMaterialVariantUsage as BillOfMaterialVariantUsage,
// orderBOM.BillOfMaterialHeaderUUID as BillOfMaterialHeaderUUID,
-- bintohex( orderBOM.BillOfMaterialHeaderUUID ) as BOMCharUUID,
orderBOM.BillOfMaterialUUID as BillOfMaterialUUID,
orderBOM.IsMultipleBOMAlt as IsMultipleBOMAlt,
//@ObjectModel.readOnly: true
orderBOM.BOMHeaderInternalChangeCount as BOMHeaderInternalChangeCount,
//@ObjectModel.readOnly: true
orderBOM.BOMPrioritizedVersion as BOMPrioritizedVersion,
@Consumption.hidden: true
//@ObjectModel.readOnly: true
orderBOM.BOMExplosionApplication as BOMExplosionApplication,
//@ObjectModel.readOnly: true
orderBOM.BOMUsagePriority as BOMUsagePriority,
orderBOM.BillOfMaterialAuthsnGrp as BillOfMaterialAuthsnGrp,
orderBOM.BOMVersionStatus as BOMVersionStatus,
cast( 0 as losvn ) as MaterialToLotSizeQuantity,
cast( 0 as losbs ) as MatFromLotSizeQuantity,
orderBOM.IsVersionBillOfMaterial as IsVersionBillOfMaterial,
orderBOM.IsLatestBOMVersion as IsLatestBOMVersion,
orderBOM.BOMTechnicalType as BOMTechnicalType,
orderBOM.BOMGroup as BOMGroup,
orderBOM.IndicatorIsBOMWithDateHistory as IndicatorIsBOMWithDateHistory,
orderBOM.IndicatorIsBOMChangedWithHist as IndicatorIsBOMChangedWithHist,
orderBOM.BOMHeaderText as BOMHeaderText,
orderBOM.BOMAlternativeText as BOMAlternativeText,
orderBOM.LongTextLanguage as LongTextLanguage,
cast('' as ltxzu ) as LongTextExists,
orderBOM.BillOfMaterialStatus as BillOfMaterialStatus,
//@ObjectModel.readOnly: true
@Semantics.businessDate.to: true
orderBOM.HeaderValidityEndDate,
@Semantics.businessDate.from: true
orderBOM.HeaderValidityStartDate,
orderBOM.ChgToEngineeringChgDocument as ChgToEngineeringChgDocument,
orderBOM.IsMarkedForDeletion as IsMarkedForDeletion,
orderBOM.BOMIsArchivedForDeletion,
orderBOM.IsConfiguredMaterial as IsConfiguredMaterial, -- MAST-KZKFG
orderBOM.BOMIsConfigurable as BOMIsConfigurable, -- MAST-KZKFG
//@ObjectModel.readOnly: true
orderBOM.IsALE as IsALE,
@Semantics.unitOfMeasure: true
@ObjectModel.foreignKey.association: '_UnitOfMeasure'
orderBOM.BOMHeaderBaseUnit as BOMHeaderBaseUnit,
@Semantics.quantity.unitOfMeasure: 'BOMHeaderBaseUnit'
@DefaultAggregation :#NONE
orderBOM.BOMHeaderQuantityInBaseUnit as BOMHeaderQuantityInBaseUnit,
orderBOM.RecordCreationDate as RecordCreationDate,
orderBOM.LastChangeDate as LastChangeDate,
orderBOM.LastChangedByUser as LastChangedByUser,
orderBOM.CreatedByUser as CreatedByUser,
orderBOM.BOMIsToBeDeleted as BOMIsToBeDeleted,
orderBOM.DocumentIsCreatedByCAD as DocumentIsCreatedByCAD,
orderBOM.LaboratoryOrDesignOffice as LaboratoryOrDesignOffice,
orderBOM.LastChangeDateTime as LastChangeDateTime,
orderBOM.BOMAssetNtwkHndovrIsRelevant as BOMAssetNtwkHndovrIsRelevant,
cast('' as cs_matbom_key ) as MaterialBOMObjectID,
-- '' as BOMPredecessorVersion,
orderBOM.BOMPredecessorVersion
}
where
BillOfMaterialCategory = 'K'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_BILLOFMATERIAL",
"I_MATERIALBOMLINK",
"I_SALESORDERBOMLINK"
],
"ASSOCIATED":
[],
"BASE":
[],
"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