P_BOMItemChanges

DDL: P_BOMITEMCHANGES SQL: PBOMITEMCHANGES Type: view BASIC Package: CS_MODEL

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)

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

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

KeyFieldSource TableSource FieldDescription
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