I_BILLOFMATERIALCOMPONENT
Bill of Material Components
I_BILLOFMATERIALCOMPONENT is a CDS View in S/4HANA. Bill of Material Components. It contains 115 fields. 4 CDS views read from this table.
CDS Views using this table (4)
| View | Type | Join | VDM | Description |
|---|---|---|---|---|
| I_BOMItemHdrChangeState | view | from | COMPOSITE | BOM Item with Header Changes |
| I_BOMItemHdrChangeState | view | union_all | COMPOSITE | BOM Item with Header Changes |
| I_MaintBOMItemHdrChangeState | view | from | COMPOSITE | Maintenance BOM Item with Header Changes |
| I_SalesBOMItemHdrChangeState | view | from | COMPOSITE | Sales Order BOM Item change state |
Fields (115)
| Key | Field | CDS Fields | Used in Views |
|---|---|---|---|
| KEY | BillOfMaterial | BillOfMaterial | 1 |
| KEY | BillOfMaterialCategory | BillOfMaterialCategory | 3 |
| KEY | BillOfMaterialItemNodeNumber | BillOfMaterialItemNodeNumber | 3 |
| KEY | BillOfMaterialItemUUID | BillOfMaterialItemUUID | 3 |
| KEY | BillOfMaterialVariant | BillOfMaterialVariant | 3 |
| KEY | BillOfMaterialVersion | BillOfMaterialVersion | 3 |
| _BOMItemCategory | _BOMItemCategory | 2 | |
| _Currency | _Currency | 1 | |
| _Dost | _Dost | 1 | |
| _Eqst | _Eqst | 1 | |
| _Kdst | _Kdst | 1 | |
| _Mast | _Mast | 1 | |
| _Prst | _Prst | 1 | |
| _Stst | _Stst | 1 | |
| _Tpst | _Tpst | 1 | |
| _UnitOfMeasure | _UnitOfMeasure | 3 | |
| AlternativeItemGroup | AlternativeItemGroup | 3 | |
| AlternativeItemPriority | AlternativeItemPriority | 3 | |
| AlternativeItemStrategy | AlternativeItemStrategy | 3 | |
| BillOfMaterialComponent | BillOfMaterialComponent | 3 | |
| BillOfMaterialItemCategory | BillOfMaterialItemCategory | 3 | |
| BillOfMaterialItemCategoryDesc | BillOfMaterialItemCategoryDesc | 3 | |
| BillOfMaterialItemNumber | BillOfMaterialItemNumber | 1 | |
| BillOfMaterialItemQuantity | BillOfMaterialItemQuantity | 1 | |
| BillOfMaterialItemUnit | BillOfMaterialItemUnit | 3 | |
| BOMIsRecursive | BOMIsRecursive | 3 | |
| BOMItemCreatedByUser | BOMItemCreatedByUser | 3 | |
| BOMItemDescription | BOMItemDescription | 1 | |
| BOMItemHasFixedQuantity | BOMItemHasFixedQuantity | 3 | |
| BOMItemInternalChangeCount | BOMItemInternalChangeCount | 1 | |
| BOMItemIsCostingRelevant | BOMItemIsCostingRelevant | 3 | |
| BOMItemIsPlantMaintRelevant | BOMItemIsPlantMaintRelevant | 3 | |
| BOMItemIsSalesRelevant | BOMItemIsSalesRelevant | 3 | |
| BOMItemIsSparePart | BOMItemIsSparePart | 3 | |
| BOMItemLastChangeDate | BOMItemLastChangeDate | 3 | |
| BOMItemLastChangedByUser | BOMItemLastChangedByUser | 3 | |
| BOMItemRecordCreationDate | BOMItemRecordCreationDate | 1 | |
| BOMItemSorter | BOMItemSorter | 3 | |
| BOMItemText2 | BOMItemText2 | 1 | |
| ChgToEngineeringChgDocument | ChgToEngineeringChgDocument | 3 | |
| ClassNumber | ClassNumber | 3 | |
| ClassType | ClassType | 3 | |
| ComponentDescription | ComponentDescription | 3 | |
| ComponentScrapInPercent | ComponentScrapInPercent | 1 | |
| CostElement | CostElement | 3 | |
| Creditor | Creditor | 3 | |
| Currency | Currency | 3 | |
| DeliveryDurationInDays | DeliveryDurationInDays | 3 | |
| DependencyObjectNumber | DependencyObjectNumber | 3 | |
| DiscontinuationGroup | DiscontinuationGroup | 3 | |
| DistrKeyCompConsumption | DistrKeyCompConsumption | 3 | |
| DocNumber | DocNumber | 1 | |
| DocumentIsCreatedByCAD | DocumentIsCreatedByCAD | 3 | |
| DocumentPart | DocumentPart | 1 | |
| DocumentType | DocumentType | 1 | |
| DocumentVersion | DocumentVersion | 1 | |
| EngineeringChangeDocument | EngineeringChangeDocument | 3 | |
| ExplosionType | ExplosionType | 3 | |
| FixedQuantity | FixedQuantity | 1 | |
| FollowUpGroup | FollowUpGroup | 3 | |
| FormulaKey | FormulaKey | 1 | |
| GoodsReceiptDuration | GoodsReceiptDuration | 3 | |
| IdentifierBOMItem | IdentifierBOMItem | 3 | |
| InheritedNodeNumberForBOMItem | InheritedNodeNumberForBOMItem | 3 | |
| InheritedNodeNumberVersionBOM | InheritedNodeNumberVersionBOM | 3 | |
| IsALE | IsALE | 3 | |
| IsBOMRecursiveAllowed | IsBOMRecursiveAllowed | 3 | |
| IsBulkMaterial | IsBulkMaterial | 3 | |
| IsClassificationRelevant | IsClassificationRelevant | 3 | |
| IsConfigurableBOM | IsConfigurableBOM | 3 | |
| IsDeleted | IsDeleted | 3 | |
| IsEngineeringRelevant | IsEngineeringRelevant | 3 | |
| IsMaterialProvision | IsMaterialProvision | 3 | |
| IsNetScrap | IsNetScrap | 1 | |
| IsPhantomItem | IsPhantomItem | 3 | |
| IsPMAssemblyRelevant | IsPMAssemblyRelevant | 3 | |
| IsProductionRelevant | IsProductionRelevant | 3 | |
| IsSoftwareComponent | IsSoftwareComponent | 3 | |
| IsSubItem | IsSubItem | 3 | |
| LastChangeDateTime | LastChangeDateTime | 3 | |
| LeadTimeOffset | LeadTimeOffset | 3 | |
| LongTextLanguage | LongTextLanguage | 3 | |
| MaterialComponentIsPhantomItem | MaterialComponentIsPhantomItem | 3 | |
| MaterialComponentPrice | MaterialComponentPrice | 1 | |
| MaterialGroup | MaterialGroup | 3 | |
| MaterialIsCoProduct | MaterialIsCoProduct | 3 | |
| MaterialPriceUnitQty | MaterialPriceUnitQty | 1 | |
| MultipleSelectionAllowed | MultipleSelectionAllowed | 3 | |
| ObjectType | BillOfMaterialObjectType,ObjectType | 3 | |
| OperationLeadTimeOffset | OperationLeadTimeOffset | 3 | |
| OperationScrapInPercent | OperationScrapInPercent | 1 | |
| OpsLeadTimeOffsetUnit | OpsLeadTimeOffsetUnit | 3 | |
| OrigSalesOrderBOM | OrigSalesOrderBOM | 1 | |
| OrigSalesOrderBOMItmCategory | OrigSalesOrderBOMItmCategory | 3 | |
| OrigSalesOrderBOMItmNodeNumber | OrigSalesOrderBOMItmNodeNumber | 3 | |
| OrigSalesOrderBOMItmNumber | OrigSalesOrderBOMItmNumber | 3 | |
| PreliminaryMaterial | PreliminaryMaterial | 2 | |
| ProdOrderIssueLocation | ProdOrderIssueLocation | 3 | |
| ProductionSupplyArea | ProductionSupplyArea | 3 | |
| PurchasingGroup | PurchasingGroup | 3 | |
| PurchasingOrganization | PurchasingOrganization | 3 | |
| QuantityVariableSizeItem | QuantityVariableSizeItem | 1 | |
| ReferencePoint | ReferencePoint | 3 | |
| RequiredComponent | RequiredComponent | 3 | |
| ResultingItemCategory | ResultingItemCategory | 3 | |
| Size1 | Size1 | 3 | |
| Size2 | Size2 | 3 | |
| Size3 | Size3 | 3 | |
| SpecialProcurementType | SpecialProcurementType | 3 | |
| UnitOfMeasureForSize1To3 | UnitOfMeasureForSize1To3 | 3 | |
| UnitOfMeasureForVarSizeItem | UnitOfMeasureForVarSizeItem | 1 | |
| UsageProbabilityPercent | UsageProbabilityPercent | 3 | |
| ValidityEndDate | ValidityEndDate | 3 | |
| ValidityStartDate | ValidityStartDate | 3 | |
| VariableSizeCompUnitOfMeasure | VariableSizeCompUnitOfMeasure | 3 |
@AbapCatalog.sqlViewName: 'IBOMCOMPS'
@ClientHandling.type : #INHERITED
@ClientHandling.algorithm : #SESSION_VARIABLE
@VDM.viewType: #COMPOSITE
@ObjectModel.usageType: {serviceQuality: #D, sizeCategory: #L, dataClass: #TRANSACTIONAL}
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #NOT_REQUIRED
@EndUserText.label: 'Bill of Material Components'
@ObjectModel.createEnabled: true
@Search.searchable: false
@AbapCatalog.preserveKey:true
define view I_BillOfMaterialComponent
as select from P_BOMItems as valid_items
association [1..1] to I_BillOfMaterialItemCategory as _BOMItemCategory on $projection.BillOfMaterialItemCategory = _BOMItemCategory.BillOfMaterialItemCategory
association [0..1] to I_BomItemCategoryText as _BOMItemCategoryText on $projection.BillOfMaterialItemCategory = _BOMItemCategoryText.BillOfMaterialItemCategory
and _BOMItemCategoryText.Language = $session.system_language
//association [0..1] to I_Material as _Material on $projection.BillOfMaterialComponent = _Material.Material
association [1..1] to I_UnitOfMeasure as _UnitOfMeasure on $projection.BillOfMaterialItemUnit = _UnitOfMeasure.UnitOfMeasure
//association [1..1] to I_BillOfMaterialUsage as _BillOfMaterialVariantUsage on $projection.billofmaterialvariantusage = _BillOfMaterialVariantUsage.BillOfMaterialVariantUsage
association [1..1] to I_Currency as _Currency on $projection.Currency = _Currency.Currency
association [0..*] to I_MaterialBOMLink as _Mast on $projection.BillOfMaterialCategory = _Mast.BillOfMaterialCategory
and $projection.BillOfMaterial = _Mast.BillOfMaterial
and $projection.BillOfMaterialVariant = _Mast.BillOfMaterialVariant
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.BillOfMaterialComponent = _Material.Material
association [0..1] to I_MaterialText as _MaterialText on $projection.BillOfMaterialComponent = _MaterialText.Material
and _MaterialText.Language = $session.system_language
association [0..1] to I_MaterialText as _MaterialTextEN on $projection.BillOfMaterialComponent = _MaterialTextEN.Material
and _MaterialTextEN.Language = 'E'
association [0..1] to I_DocumentInfoRecordDesc as _DocumentText on $projection.DocumentType = _DocumentText.DocumentInfoRecordDocType
and $projection.DocNumber = _DocumentText.DocumentInfoRecordDocNumber
and $projection.DocumentPart = _DocumentText.DocumentInfoRecordDocPart
and $projection.DocumentVersion = _DocumentText.DocumentInfoRecordDocVersion
and _DocumentText.Language = $session.system_language
association [0..1] to I_DocumentInfoRecordDesc as _DocumentTextEN on $projection.DocumentType = _DocumentTextEN.DocumentInfoRecordDocType
and $projection.DocNumber = _DocumentTextEN.DocumentInfoRecordDocNumber
and $projection.DocumentPart = _DocumentTextEN.DocumentInfoRecordDocPart
and $projection.DocumentVersion = _DocumentTextEN.DocumentInfoRecordDocVersion
and _DocumentTextEN.Language = 'E'
association [0..1] to I_ClfnClassVH as _Class on $projection.ClassNumber = _Class.Class
and $projection.ClassType = _Class.ClassType
{
key valid_items.BillOfMaterialCategory,
//@ObjectModel.readOnly: true
key valid_items.BillOfMaterial,
//@ObjectModel.readOnly: true
key valid_items.BillOfMaterialVariant,
//@ObjectModel.readOnly: true
key valid_items.BillOfMaterialItemNodeNumber,
//@ObjectModel.readOnly: true
key valid_items.BillOfMaterialItemUUID,
valid_items.BillOfMaterialVersion,
//@ObjectModel.readOnly: true
--@EndUserText.label: ''
valid_items.BOMItemInternalChangeCount,
//@ObjectModel.readOnly: true
@Semantics.businessDate.from: true
valid_items.ValidityStartDate,
//@ObjectModel.readOnly: true
@Semantics.businessDate.to: true
/* case when valid_items.BillOfMaterialVersion = '' or valid_items.ValidityStartDate = '00000000'
then
cast( valid_items.ValidityEndDate as datub preserving type )
else cast('99991231' as datub )
end as ValidityEndDate, */
valid_items.ValidityEndDate,
//@ObjectModel.readOnly: true
valid_items.ChangeNumberFrom as EngineeringChangeDocument,
//@ObjectModel.readOnly: true
cast( valid_items.ChangeNumberTo as aenra preserving type ) as ChgToEngineeringChgDocument,
//@ObjectModel.readOnly: true
valid_items.InheritedNodeNumberForBOMItem,
@ObjectModel.readOnly: true
valid_items.InheritedNodeNumberVersionBOM,
--@ObjectModel.readOnly: true
//valid_items.BOMItemNodeCount,
// @ObjectModel.readOnly: true
valid_items.BOMItemRecordCreationDate,
//@ObjectModel.readOnly: true
valid_items.BOMItemCreatedByUser,
valid_items.BOMItemLastChangeDate,
valid_items.BOMItemLastChangedByUser,
@Search: {defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8}
valid_items.BillOfMaterialComponent,
' ' as MaterialName, // To be removed
@ObjectModel.foreignKey.association: '_BOMItemCategory'
valid_items.BillOfMaterialItemCategory,
valid_items.BillOfMaterialItemNumber,
@Semantics.unitOfMeasure: true
@ObjectModel.foreignKey.association: '_UnitOfMeasure'
case when _BOMItemCategory.FixedItemCategory = 'R'
then UnitOfMeasureForVarSizeItem
else valid_items.BillOfMaterialItemUnit
end as BillOfMaterialItemUnit,
@Semantics.quantity.unitOfMeasure: 'BillOfMaterialItemUnit'
@DefaultAggregation :#NONE
case when _BOMItemCategory.FixedItemCategory = 'R'
then NumberOfVariableSizeItem
else valid_items.BillOfMaterialItemQuantity
end as BillOfMaterialItemQuantity,
cast( valid_items.IsAssembly as stlkz preserving type ) as IsAssembly,
//'' as AssemblyIndicator,
valid_items.IsSubItem,
valid_items.BOMItemSorter,
valid_items.FixedQuantity,
valid_items.BOMItemHasFixedQuantity,
valid_items.PurchasingGroup,
@Semantics.currencyCode: true
@ObjectModel.foreignKey.association: '_Currency'
valid_items.Currency,
@Semantics.amount.currencyCode : 'Currency'
@DefaultAggregation :#NONE
valid_items.MaterialComponentPrice,
valid_items.IdentifierBOMItem,
valid_items.MaterialPriceUnitQty,
valid_items.ComponentScrapInPercent,
valid_items.OperationScrapInPercent,
valid_items.IsNetScrap,
valid_items.NumberOfVariableSizeItem,
case when _BOMItemCategory.FixedItemCategory = 'R'
then BillOfMaterialItemUnit
else valid_items.UnitOfMeasureForVarSizeItem
end as VariableSizeCompUnitOfMeasure,
valid_items.QuantityVariableSizeItem,
valid_items.UnitOfMeasureForVarSizeItem,
valid_items.FormulaKey,
//valid_items.BOMItemDescription,
cast ( case
when _BOMItemCategory.FixedItemCategory = 'L' or _BOMItemCategory.FixedItemCategory = 'C' or _BOMItemCategory.FixedItemCategory = 'I'
then
case when _MaterialText.MaterialName is not null or _MaterialText.MaterialName <> ''
then _MaterialText.MaterialName
else _MaterialTextEN.MaterialName
end
when _BOMItemCategory.FixedItemCategory = 'T'
then valid_items.BOMItemDescription
when _BOMItemCategory.FixedItemCategory = 'R' and (valid_items.BillOfMaterialComponent is not null)
then
case when _MaterialText.MaterialName is not null or _MaterialText.MaterialName <> ''
then _MaterialText.MaterialName
else _MaterialTextEN.MaterialName
end
when _BOMItemCategory.FixedItemCategory = 'R' and (valid_items.BillOfMaterialComponent = '')
then valid_items.BOMItemDescription
when _BOMItemCategory.FixedItemCategory = 'D'
then
case when _DocumentText.DocumentDescription is not null or _DocumentText.DocumentDescription <> ''
then _DocumentText.DocumentDescription
else _DocumentTextEN.DocumentDescription
end
when _BOMItemCategory.FixedItemCategory = 'K'
then
case when _Class._ClassDescription[1:Language = $session.system_language].ClassDescription is not null
or _Class._ClassDescription[1:Language = $session.system_language].ClassDescription <> ''
then _Class._ClassDescription[1:Language = $session.system_language].ClassDescription
else _Class._ClassDescription[1:Language = 'E'].ClassDescription
end
when _BOMItemCategory.FixedItemCategory = 'N' and (valid_items.BillOfMaterialComponent <> '')
then
case when _MaterialText.MaterialName is not null or _MaterialText.MaterialName <> ''
then _MaterialText.MaterialName
else _MaterialTextEN.MaterialName
end
when _BOMItemCategory.FixedItemCategory = 'N' and (valid_items.BillOfMaterialComponent = '')
then valid_items.BOMItemDescription
when _BOMItemCategory.FixedItemCategory = 'P' and (valid_items.BillOfMaterialComponent <> '')
then
case when _MaterialText.MaterialName is not null or _MaterialText.MaterialName <> ''
then _MaterialText.MaterialName
else _MaterialTextEN.MaterialName
end
when _BOMItemCategory.FixedItemCategory = 'P' and (valid_items.BillOfMaterialComponent = '')
then valid_items.BOMItemDescription
when _BOMItemCategory.FixedItemCategory = 'S' and (valid_items.BillOfMaterialComponent <> '')
then
case when _MaterialText.MaterialName is not null or _MaterialText.MaterialName <> ''
then _MaterialText.MaterialName
else _MaterialTextEN.MaterialName
end
end as ojtxp ) as ComponentDescription ,
valid_items.BOMItemDescription,
valid_items.BOMItemText2,
valid_items.LongTextLanguage,
valid_items.MaterialGroup,
valid_items.DocumentType,
valid_items.DocNumber,
valid_items.DocumentVersion,
valid_items.DocumentPart,
valid_items.ClassNumber,
valid_items.ClassType,
valid_items.ResultingItemCategory,
valid_items.DependencyObjectNumber,
valid_items.ObjectType,
valid_items.IsClassificationRelevant,
valid_items.IsBulkMaterial,
valid_items.BOMItemIsSparePart ,
valid_items.BOMItemIsSalesRelevant,
valid_items.IsProductionRelevant,
valid_items.BOMItemIsPlantMaintRelevant,
valid_items.BOMItemIsCostingRelevant,
valid_items.IsEngineeringRelevant,
valid_items.SpecialProcurementType,
valid_items.IsBOMRecursiveAllowed,
valid_items.OperationLeadTimeOffset,
valid_items.OpsLeadTimeOffsetUnit,
valid_items.IsMaterialProvision,
valid_items.BOMIsRecursive,
valid_items.DocumentIsCreatedByCAD,
valid_items.DistrKeyCompConsumption,
valid_items.DeliveryDurationInDays,
valid_items.Creditor,
valid_items.CostElement,
valid_items.Size1,
valid_items.Size2,
valid_items.Size3,
valid_items.UnitOfMeasureForSize1To3,
valid_items.GoodsReceiptDuration,
valid_items.PurchasingOrganization,
valid_items.RequiredComponent,
valid_items.MultipleSelectionAllowed,
valid_items.ProdOrderIssueLocation,
valid_items.MaterialIsCoProduct,
valid_items.ExplosionType,
valid_items.FollowUpGroup,
valid_items.DiscontinuationGroup,
valid_items.IsConfigurableBOM,
valid_items.ReferencePoint,
valid_items.LeadTimeOffset,
valid_items.IsSoftwareComponent,
valid_items.ProductionSupplyArea,
valid_items.IsDeleted,
valid_items.IsALE,
//Alternative Item Fields
valid_items.AlternativeItemGroup,
valid_items.AlternativeItemPriority,
valid_items.AlternativeItemStrategy,
valid_items.UsageProbabilityPercent,
_BOMItemCategoryText.BillOfMaterialItemCategoryDesc as BillOfMaterialItemCategoryDesc,
cast ( valid_items.IsPhantomItem as dumps preserving type ) as MaterialComponentIsPhantomItem,
cast ( valid_items.IsPhantomItem as dumps preserving type ) as IsPhantomItem,
valid_items.LastChangeDateTime as LastChangeDateTime,
valid_items.IsPMAssemblyRelevant,
valid_items.OrigSalesOrderBOMItmCategory,
valid_items.OrigSalesOrderBOM,
valid_items.OrigSalesOrderBOMItmNodeNumber,
valid_items.OrigSalesOrderBOMItmNumber,
valid_items.PreliminaryMaterial,
// valid_items.BOMItemGroup,
_BOMItemCategory,
//_Material,
_UnitOfMeasure,
_Currency,
//_BillOfMaterialVariantUsage,
_Mast,
_Dost,
_Prst,
_Kdst,
_Eqst,
_Tpst,
_Stst
}