P_BOMItemChanges
BOM Item changes
P_BOMItemChanges is a Basic CDS View that provides data about "BOM Item changes" in SAP S/4HANA. It reads from 11 data sources and exposes 45 fields with key fields BillOfMaterial, BillOfMaterialCategory, BillOfMaterialVariant, EngineeringChangeDocument, BillOfMaterialVersion. Part of development package CS_MODEL.
Data Sources (11)
| Source | Alias | Join Type |
|---|---|---|
| I_ChangeMaster | aenr | inner |
| I_ChangeMaster | aenr | inner |
| I_ChangeMaster | aenr | inner |
| I_ChangeMaster | aenr | inner |
| stko_draft_v2 | HeaderDraftChanges | inner |
| stpo | ItemChanges | inner |
| stpo | ItemChanges | inner |
| stpo | ItemChanges | inner |
| I_SalesOrderBOMLink | kdst | inner |
| I_MaterialBOMLink | mast | inner |
| I_ProjectBOMLink | prst | inner |
Annotations (7)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | PBOMITEMCHANGES | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AbapCatalog.preserveKey | true | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| VDM.private | true | view | |
| VDM.viewType | #BASIC | view | |
| AccessControl.authorizationCheck | #NOT_REQUIRED | view |
Fields (45)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | BillOfMaterial | stpo | stlnr | |
| KEY | BillOfMaterialCategory | stpo | stlty | |
| KEY | BillOfMaterialVariant | ItemHistory | stlal | |
| KEY | EngineeringChangeDocument | ItemHistory | aennr | |
| KEY | BillOfMaterialVersion | ItemHistory | bom_versn | |
| KEY | Material | I_MaterialBOMLink | Material | |
| KEY | Plant | I_MaterialBOMLink | Plant | |
| KEY | BillOfMaterialVariantUsage | I_MaterialBOMLink | BillOfMaterialVariantUsage | |
| ChangeNumberStatus | I_ChangeMaster | ChangeNumberStatus | ||
| ChangeNumberValidFromDate | I_ChangeMaster | ChangeNumberValidFromDate | ||
| ChangeNumberCreatedByUser | I_ChangeMaster | ChangeNumberCreatedByUser | ||
| stlnrasBillOfMaterial | ||||
| KEY | BillOfMaterialCategory | stpo | stlty | |
| KEY | BillOfMaterialVariant | ItemHistory | stlal | |
| KEY | EngineeringChangeDocument | ItemHistory | aennr | |
| KEY | BillOfMaterialVersion | ItemHistory | bom_versn | |
| KEY | Material | I_SalesOrderBOMLink | Material | |
| KEY | Plant | I_SalesOrderBOMLink | Plant | |
| KEY | BillOfMaterialVariantUsage | I_SalesOrderBOMLink | BillOfMaterialVariantUsage | |
| ChangeNumberStatus | I_ChangeMaster | ChangeNumberStatus | ||
| ChangeNumberValidFromDate | I_ChangeMaster | ChangeNumberValidFromDate | ||
| ChangeNumberCreatedByUser | I_ChangeMaster | ChangeNumberCreatedByUser | ||
| stlnrasBillOfMaterial | ||||
| KEY | BillOfMaterialCategory | stpo | stlty | |
| KEY | BillOfMaterialVariant | ItemHistory | stlal | |
| KEY | EngineeringChangeDocument | ItemHistory | aennr | |
| KEY | BillOfMaterialVersion | ItemHistory | bom_versn | |
| KEY | Material | I_ProjectBOMLink | Material | |
| KEY | Plant | I_ProjectBOMLink | Plant | |
| KEY | BillOfMaterialVariantUsage | I_ProjectBOMLink | BillOfMaterialVariantUsage | |
| ChangeNumberStatus | I_ChangeMaster | ChangeNumberStatus | ||
| ChangeNumberValidFromDate | I_ChangeMaster | ChangeNumberValidFromDate | ||
| ChangeNumberCreatedByUser | I_ChangeMaster | ChangeNumberCreatedByUser | ||
| billofmaterialasBillOfMaterial | ||||
| KEY | BillOfMaterialCategory | ItemDraftChanges | billofmaterialcategory | |
| KEY | BillOfMaterialVariant | ItemDraftChanges | billofmaterialvariantforedit | |
| KEY | EngineeringChangeDocument | ItemDraftChanges | engineeringchangedocument | |
| KEY | BillOfMaterialVersion | ItemDraftChanges | billofmaterialversionforedit | |
| KEY | Material | stko_draft_v2 | materialforedit | |
| KEY | Plant | stko_draft_v2 | plantforedit | |
| KEY | BillOfMaterialVariantUsage | stko_draft_v2 | billofmaterialvariantusage | |
| ChangeNumberStatus | I_ChangeMaster | ChangeNumberStatus | ||
| ChangeNumberValidFromDate | I_ChangeMaster | ChangeNumberValidFromDate | ||
| ChangeNumberCreatedByUser | I_ChangeMaster | ChangeNumberCreatedByUser | ||
| ChangeNumberCreationDate | I_ChangeMaster | ChangeNumberCreationDate |
@AbapCatalog.sqlViewName: 'PBOMITEMCHANGES'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@ClientHandling.algorithm: #SESSION_VARIABLE
@VDM.private: true
@VDM.viewType: #BASIC
@AccessControl.authorizationCheck: #NOT_REQUIRED
define view P_BOMItemChanges
as select distinct from stas as ItemHistory
inner join I_MaterialBOMLink as mast on ItemHistory.stlal = mast.BillOfMaterialVariant
and ItemHistory.stlnr = mast.BillOfmaterial
inner join stpo as ItemChanges on ItemChanges.stlnr = ItemHistory.stlnr
and ItemChanges.stlkn = ItemHistory.stlkn
and ItemChanges.stlty = ItemHistory.stlty
inner join I_ChangeMaster as aenr on ItemHistory.aennr = aenr.ChangeNumber
{
key ItemChanges.stlnr as BillOfMaterial,
key ItemChanges.stlty as BillOfMaterialCategory,
key ItemHistory.stlal as BillOfMaterialVariant,
key ItemHistory.aennr as EngineeringChangeDocument,
key ItemHistory.bom_versn as BillOfMaterialVersion,
key mast.Material,
key mast.Plant,
key mast.BillOfMaterialVariantUsage,
aenr.ChangeNumberStatus,
aenr.ChangeNumberValidFromDate,
aenr.ChangeNumberCreatedByUser,
aenr.ChangeNumberCreationDate
}
where
ItemChanges.stlty = 'M'
and ItemHistory.stlty = 'M'
//Code added to support Sales Order BOM
union all select distinct from stas as ItemHistory
inner join I_SalesOrderBOMLink as kdst on ItemHistory.stlal = kdst.BillOfMaterialVariant
and ItemHistory.stlnr = kdst.BillOfmaterial
inner join stpo as ItemChanges on ItemChanges.stlnr = ItemHistory.stlnr
and ItemChanges.stlkn = ItemHistory.stlkn
and ItemChanges.stlty = ItemHistory.stlty
inner join I_ChangeMaster as aenr on ItemHistory.aennr = aenr.ChangeNumber
{
key ItemChanges.stlnr as BillOfMaterial,
key ItemChanges.stlty as BillOfMaterialCategory,
key ItemHistory.stlal as BillOfMaterialVariant,
key ItemHistory.aennr as EngineeringChangeDocument,
key ItemHistory.bom_versn as BillOfMaterialVersion,
key kdst.Material,
key kdst.Plant,
key kdst.BillOfMaterialVariantUsage,
aenr.ChangeNumberStatus,
aenr.ChangeNumberValidFromDate,
aenr.ChangeNumberCreatedByUser,
aenr.ChangeNumberCreationDate
}
where
ItemChanges.stlty = 'K'
and ItemHistory.stlty = 'K'
//Code added to support WBS BOM
union all select distinct from stas as ItemHistory
inner join I_ProjectBOMLink as prst on ItemHistory.stlal = prst.BillOfMaterialVariant
and ItemHistory.stlnr = prst.BillOfMaterial
inner join stpo as ItemChanges on ItemChanges.stlnr = ItemHistory.stlnr
and ItemChanges.stlkn = ItemHistory.stlkn
and ItemChanges.stlty = ItemHistory.stlty
inner join I_ChangeMaster as aenr on ItemHistory.aennr = aenr.ChangeNumber
{
key ItemChanges.stlnr as BillOfMaterial,
key ItemChanges.stlty as BillOfMaterialCategory,
key ItemHistory.stlal as BillOfMaterialVariant,
key ItemHistory.aennr as EngineeringChangeDocument,
key ItemHistory.bom_versn as BillOfMaterialVersion,
key prst.Material,
key prst.Plant,
key prst.BillOfMaterialVariantUsage,
aenr.ChangeNumberStatus,
aenr.ChangeNumberValidFromDate,
aenr.ChangeNumberCreatedByUser,
aenr.ChangeNumberCreationDate
}
where
ItemChanges.stlty = 'P'
and ItemHistory.stlty = 'P'
union all select distinct from stpo_draft_v2 as ItemDraftChanges
inner join I_ChangeMaster as aenr on ItemDraftChanges.engineeringchangedocument = aenr.ChangeNumber
inner join stko_draft_v2 as HeaderDraftChanges on ItemDraftChanges.parentdraftuuid = HeaderDraftChanges.draftuuid
{
key ItemDraftChanges.billofmaterial as BillOfMaterial,
key ItemDraftChanges.billofmaterialcategory as BillOfMaterialCategory,
key ItemDraftChanges.billofmaterialvariantforedit as BillOfMaterialVariant,
key ItemDraftChanges.engineeringchangedocument as EngineeringChangeDocument,
key ItemDraftChanges.billofmaterialversionforedit as BillOfMaterialVersion,
key HeaderDraftChanges.materialforedit as Material,
key HeaderDraftChanges.plantforedit as Plant,
key HeaderDraftChanges.billofmaterialvariantusage as BillOfMaterialVariantUsage,
aenr.ChangeNumberStatus,
aenr.ChangeNumberValidFromDate,
aenr.ChangeNumberCreatedByUser,
aenr.ChangeNumberCreationDate
}
where
HeaderDraftChanges.material <> ''
or HeaderDraftChanges.material is not null
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