P_ShopFloorItemComponents

DDL: P_SHOPFLOORITEMCOMPONENTS SQL: PMPESFICMPS Type: view COMPOSITE Package: MPE_EXEC_SFI

SFI componenets per SFI and batch

P_ShopFloorItemComponents is a Composite CDS View that provides data about "SFI componenets per SFI and batch" in SAP S/4HANA. It reads from 2 data sources (I_MfgOrderComponentAssembly, I_MatlPlntCompAssembleControl) and exposes 68 fields with key fields Reservation, ReservationItem, RecordType, OpActyNtwkInstance, OpActyNtwkElement. It has 6 associations to related views. Part of development package MPE_EXEC_SFI.

Data Sources (2)

SourceAliasJoin Type
I_MfgOrderComponentAssembly MfgOrderComponentAssembly from
I_MatlPlntCompAssembleControl MfgOrderProductPlant inner

Associations (6)

CardinalityTargetAliasCondition
[0..1] I_Plant _Plant $projection.Plant = _Plant.Plant
[0..1] I_ProductPlant _ProductPlant $projection.Material = _ProductPlant.Product and $projection.Plant = _ProductPlant.Plant
[1..1] I_OpActyNtwkInstance _OpActyNtwkInstance $projection.OpActyNtwkInstance = _OpActyNtwkInstance.OpActyNtwkInstance
[1..1] I_OperationActivityInstance _OperationActivityInstance $projection.OpActyNtwkInstance = _OperationActivityInstance.OpActyNtwkInstance and $projection.OpActyNtwkElement = _OperationActivityInstance.OpActyNtwkElement
[1..1] I_MatlCompAssembleControl _MatlCompAssembleControl $projection.MatlCompAssembleControl = _MatlCompAssembleControl.MatlCompAssembleControl
[0..1] I_OrderComponent _OrderComponent $projection.Reservation = _OrderComponent.Reservation and $projection.ReservationItem = _OrderComponent.ReservationItem and $projection.RecordType = _OrderComponent.RecordType

Annotations (9)

NameValueLevelField
AbapCatalog.sqlViewName PMPESFICMPS view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #NOT_REQUIRED view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #MIXED view
VDM.viewType #COMPOSITE view
VDM.private true view

Fields (68)

KeyFieldSource TableSource FieldDescription
KEY Reservation I_MfgOrderComponentAssembly Reservation
KEY ReservationItem I_MfgOrderComponentAssembly ReservationItem
KEY RecordType I_MfgOrderComponentAssembly RecordType
KEY OpActyNtwkInstance I_MfgOrderComponentAssembly OpActyNtwkInstance
KEY OpActyNtwkElement I_MfgOrderComponentAssembly OpActyNtwkElement
KEY AssemblyShopFloorItem I_MfgOrderComponentAssembly AssemblyShopFloorItem
KEY ShopFloorItem I_MfgOrderComponentAssembly ShopFloorItem
KEY Batch I_MfgOrderComponentAssembly Batch
KEY Material I_MfgOrderComponentAssembly Material
KEY Plant I_MfgOrderComponentAssembly Plant
KEY OriglDgtlMockUpCharcsUUID MfgOrderCompInstceAssembly OriglDgtlMockUpCharcsUUID
KEY CreationDateTime I_MfgOrderComponentAssembly CreationDateTime
MaterialName
StorageLocation I_MfgOrderComponentAssembly StorageLocation
DgtlMockUpCharcsUUID OpActyCompInstceAssignment DgtlMockUpCharcsUUID
dec1343asco_mengeasRequiredQuantity
MaterialBaseUnit I_MfgOrderComponentAssembly MaterialBaseUnit
EntryUnit I_MfgOrderComponentAssembly EntryUnit
OrderInternalID _OrderComponent OrderInternalID
OrderOperationInternalID _OrderComponent OrderOperationInternalID
OperationActivityNetwork OpActyNtwkInstance OperationActivityNetwork
OpActyNtwkVersionCounter OpActyNtwkInstance OpActyNtwkVersionCounter
SerialNumber
Equipment Equipment Equipment
ManufacturerSerialNumber Equipment ManufacturerSerialNumber
BatchBySupplier BatchDistinct BatchBySupplier
MatlCompIsMarkedForBackflush
IsBulkMaterialComponent
DebitCreditCode I_MfgOrderComponentAssembly DebitCreditCode
MatlCompAssembleControl I_MatlPlntCompAssembleControl MatlCompAssembleControl
MatlCompAssembleControlName
RelatedOpActyNtwkElement OpActyComponentAssignment RelatedOpActyNtwkElement
RelatedOpActyNtwkInstance OpActyComponentAssignment RelatedOpActyNtwkInstance
RelatedRecordType OpActyComponentAssignment RelatedRecordType
RelatedReservation OpActyComponentAssignment RelatedReservation
RelatedReservationItem OpActyComponentAssignment RelatedReservationItem
LeadingOpActyNtwkElement OpActyComponentAssignment LeadingOpActyNtwkElement
LeadingOpActyNtwkInstance OpActyComponentAssignment LeadingOpActyNtwkInstance
LeadingReservationRecordType OpActyComponentAssignment LeadingReservationRecordType
LeadingReservation OpActyComponentAssignment LeadingReservation
LeadingReservationItem OpActyComponentAssignment LeadingReservationItem
BillOfMaterialCategory _OrderComponent BillOfMaterialCategory
BillOfMaterialInternalID
BOMItem _OrderComponent BOMItem
BOMItemInternalChangeCount _OrderComponent BOMItemInternalChangeCount
BillOfMaterialVariant _OrderComponent BillOfMaterialVariant
BillOfMaterialVersion _OrderComponent BillOfMaterialVersion
BillOfMaterialVariantUsage
BOMItemCategory _OrderComponent BOMItemCategory
BillOfMaterialItemCategoryDesc
InheritedBOMItemNode _OrderComponent InheritedBOMItemNode
MaterialCompIsVariableSized
FormulaKey _OrderComponent FormulaKey
VariableSizeDimension1 _OrderComponent VariableSizeDimension1
VariableSizeDimension2 _OrderComponent VariableSizeDimension2
VariableSizeDimension3 _OrderComponent VariableSizeDimension3
VariableSizeDimensionUnit _OrderComponent VariableSizeDimensionUnit
VariableSizeComponentQuantity _OrderComponent VariableSizeComponentQuantity
VariableSizeComponentUnit _OrderComponent VariableSizeComponentUnit
ResvnItmWithdrawnQtyInBaseUnit
_Material I_MfgOrderComponentAssembly _Material
_Plant _Plant
_ProductPlant _ProductPlant
_OpActyNtwkInstance _OpActyNtwkInstance
_OperationActivityInstance _OperationActivityInstance
_MatlCompAssembleControl _MatlCompAssembleControl
_OrderOperation _OrderComponent _OrderOperation
_OrderInternalID _OrderComponent _OrderInternalID
@AbapCatalog.sqlViewName: 'PMPESFICMPS'
@AbapCatalog.compiler.compareFilter:true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType: {serviceQuality: #D, sizeCategory: #XL, dataClass: #MIXED}
@VDM.viewType: #COMPOSITE
@VDM.private: true
define view P_ShopFloorItemComponents
  as select from            I_MfgOrderComponentAssembly   as MfgOrderComponentAssembly
    inner join              I_MatlPlntCompAssembleControl as MfgOrderProductPlant        on  MfgOrderProductPlant.Product = MfgOrderComponentAssembly.Material
                                                                                         and MfgOrderProductPlant.Plant   = MfgOrderComponentAssembly.Plant
    left outer to one join  I_OpActyNtwkInstanceBasic     as OpActyNtwkInstance          on OpActyNtwkInstance.OpActyNtwkInstance = MfgOrderComponentAssembly.OpActyNtwkInstance
    left outer to one join  I_OpActyComponentAssignment   as OpActyComponentAssignment   on  OpActyComponentAssignment.OpActyNtwkInstance = MfgOrderComponentAssembly.OpActyNtwkInstance
                                                                                         and OpActyComponentAssignment.OpActyNtwkElement  = MfgOrderComponentAssembly.OpActyNtwkElement
                                                                                         and OpActyComponentAssignment.Reservation        = MfgOrderComponentAssembly.Reservation
                                                                                         and OpActyComponentAssignment.ReservationItem    = MfgOrderComponentAssembly.ReservationItem
                                                                                         and OpActyComponentAssignment.RecordType         = MfgOrderComponentAssembly.RecordType
    left outer to many join I_MfgOrderCompInstceAssembly  as MfgOrderCompInstceAssembly  on  MfgOrderCompInstceAssembly.AssemblyDocument     = MfgOrderComponentAssembly.AssemblyDocument
                                                                                         and MfgOrderCompInstceAssembly.AssemblyDocumentItem = MfgOrderComponentAssembly.AssemblyDocumentItem
                                                                                         and MfgOrderCompInstceAssembly.IsReversed           = ''
                                                                                         and MfgOrderCompInstceAssembly.IsReversal           = ''
    left outer to one join  I_OpActyCompInstceAssignment  as OpActyCompInstceAssignment  on  OpActyCompInstceAssignment.Reservation               = MfgOrderComponentAssembly.Reservation
                                                                                         and OpActyCompInstceAssignment.ReservationItem           = MfgOrderComponentAssembly.ReservationItem
                                                                                         and OpActyCompInstceAssignment.RecordType                = MfgOrderComponentAssembly.RecordType
                                                                                         and OpActyCompInstceAssignment.OpActyNtwkInstance        = MfgOrderComponentAssembly.OpActyNtwkInstance
                                                                                         and OpActyCompInstceAssignment.OpActyNtwkElement         = MfgOrderComponentAssembly.OpActyNtwkElement
                                                                                         and OpActyCompInstceAssignment.OriglDgtlMockUpCharcsUUID = MfgOrderCompInstceAssembly.OriglDgtlMockUpCharcsUUID
    left outer to one join  I_InstanceReferenceDesignator as InstanceReferenceDesignator on InstanceReferenceDesignator.DgtlMockUpCharcsUUID = OpActyCompInstceAssignment.DgtlMockUpCharcsUUID
    left outer to one join  I_ShopFloorItem               as ShopFloorItem               on ShopFloorItem.ShopFloorItem = MfgOrderComponentAssembly.ShopFloorItem
    left outer to one join  I_Equipment                   as Equipment                   on  Equipment.Material     = MfgOrderComponentAssembly.Material
                                                                                         and Equipment.SerialNumber = ShopFloorItem.SerialNumber
    left outer to one join  I_BatchDistinct               as BatchDistinct               on  (
                      MfgOrderComponentAssembly.Plant                                                                           = BatchDistinct.Plant
                      or BatchDistinct.Plant                                                                                    = '    '
                    )
                                                                                         and MfgOrderComponentAssembly.Material = BatchDistinct.Material
                                                                                         and MfgOrderComponentAssembly.Batch    = BatchDistinct.Batch
  association [0..1] to I_Plant                     as _Plant                     on  $projection.Plant = _Plant.Plant
  association [0..1] to I_ProductPlant              as _ProductPlant              on  $projection.Material = _ProductPlant.Product
                                                                                  and $projection.Plant    = _ProductPlant.Plant
  association [1..1] to I_OpActyNtwkInstance        as _OpActyNtwkInstance        on  $projection.OpActyNtwkInstance = _OpActyNtwkInstance.OpActyNtwkInstance
  association [1..1] to I_OperationActivityInstance as _OperationActivityInstance on  $projection.OpActyNtwkInstance = _OperationActivityInstance.OpActyNtwkInstance
                                                                                  and $projection.OpActyNtwkElement  = _OperationActivityInstance.OpActyNtwkElement
  association [1..1] to I_MatlCompAssembleControl   as _MatlCompAssembleControl   on  $projection.MatlCompAssembleControl = _MatlCompAssembleControl.MatlCompAssembleControl

  association [0..1] to I_OrderComponent            as _OrderComponent            on  $projection.Reservation     = _OrderComponent.Reservation
                                                                                  and $projection.ReservationItem = _OrderComponent.ReservationItem
                                                                                  and $projection.RecordType      = _OrderComponent.RecordType
{
  key MfgOrderComponentAssembly.Reservation,
  key MfgOrderComponentAssembly.ReservationItem,
  key MfgOrderComponentAssembly.RecordType,
      @ObjectModel.foreignKey.association: '_OpActyNtwkInstance'
  key MfgOrderComponentAssembly.OpActyNtwkInstance,
      @ObjectModel.foreignKey.association: '_OperationActivityInstance'
  key MfgOrderComponentAssembly.OpActyNtwkElement,
  key MfgOrderComponentAssembly.AssemblyShopFloorItem,
  key MfgOrderComponentAssembly.ShopFloorItem,
  key MfgOrderComponentAssembly.Batch,
  key MfgOrderComponentAssembly.Material,
      @ObjectModel.foreignKey.association: '_Plant'
  key MfgOrderComponentAssembly.Plant,
  key MfgOrderCompInstceAssembly.OriglDgtlMockUpCharcsUUID,
  key MfgOrderComponentAssembly.CreationDateTime,
      MfgOrderComponentAssembly._Material._Text[1: Language=$session.system_language].MaterialName,
      MfgOrderComponentAssembly.StorageLocation,
      OpActyCompInstceAssignment.DgtlMockUpCharcsUUID,
      @Semantics.quantity.unitOfMeasure: 'MaterialBaseUnit'
      cast(round(fltp_to_dec( OpActyComponentAssignment.MfgOrderComponentUsageNetQty as abap.dec(13,4) ), 3)
        as co_menge )                                                                                                      as RequiredQuantity,
      @Semantics.quantity.unitOfMeasure: 'EntryUnit'
      cast(case _OrderComponent.MaterialCompIsVariableSized
        when 'X' then MfgOrderComponentAssembly.QuantityInEntryUnit
        else MfgOrderComponentAssembly.MaterialComponentQuantity
      end as kmpmg preserving type)                                                                                        as MaterialComponentQuantity,
      @Semantics.unitOfMeasure: true
      MfgOrderComponentAssembly.MaterialBaseUnit,
      @Semantics.unitOfMeasure: true
      MfgOrderComponentAssembly.EntryUnit,
      cast(coalesce(OpActyNtwkInstance.ManufacturingOrder,ShopFloorItem.ManufacturingOrder)
      as co_aufnr preserving type )                                                                                        as ManufacturingOrder,
      cast(coalesce(OpActyNtwkInstance._MfgOrder.EffectivityParameterVariant,_OrderComponent.EffectivityParameterVariant)
      as techs preserving type )                                                                                           as EffectivityParameterVariant,
      _OrderComponent.OrderInternalID,
      _OrderComponent.OrderOperationInternalID,
      OpActyNtwkInstance.OperationActivityNetwork,
      OpActyNtwkInstance.OpActyNtwkVersionCounter,
      MfgOrderComponentAssembly._ShopFloorItem.SerialNumber,
      Equipment.Equipment,
      Equipment.ManufacturerSerialNumber,
      BatchDistinct.BatchBySupplier,
      //      InstanceReferenceDesignator.ReferenceDesignatorValue,

      cast(case when InstanceReferenceDesignator.ReferenceDesignatorValue is not null or  InstanceReferenceDesignator.ReferenceDesignatorValue <> ''
            then InstanceReferenceDesignator.ReferenceDesignatorValue
            else bintohex( OpActyCompInstceAssignment.OriglDgtlMockUpCharcsUUID )
           end as vmp_ref_des)                                                                                             as ReferenceDesignatorValue,
      cast('' as mpe_comp_is_for_backflush preserving type)                                                                as MatlCompIsMarkedForBackflush,
      cast('' as schgt preserving type )                                                                                   as IsBulkMaterialComponent,
      MfgOrderComponentAssembly.DebitCreditCode                                                                            as DebitCreditCode,
      MfgOrderProductPlant.MatlCompAssembleControl                                                                         as MatlCompAssembleControl,
      _MatlCompAssembleControl._Text[1: Language=$session.system_language].MatlCompAssembleControlName,
      OpActyComponentAssignment.RelatedOpActyNtwkElement,
      OpActyComponentAssignment.RelatedOpActyNtwkInstance,
      OpActyComponentAssignment.RelatedRecordType,
      OpActyComponentAssignment.RelatedReservation,
      OpActyComponentAssignment.RelatedReservationItem,
      OpActyComponentAssignment.LeadingOpActyNtwkElement,
      OpActyComponentAssignment.LeadingOpActyNtwkInstance,
      OpActyComponentAssignment.LeadingReservationRecordType,
      OpActyComponentAssignment.LeadingReservation,
      OpActyComponentAssignment.LeadingReservationItem,
      _OrderComponent.BillOfMaterialCategory                                                                               as BillOfMaterialCategory,
      cast( _OrderComponent.BillOfMaterialInternalID as mpe_exec_stnum preserving type )                                   as BillOfMaterialInternalID,
      _OrderComponent.BOMItem                                                                                              as BOMItem,
      _OrderComponent.BOMItemInternalChangeCount                                                                           as BOMItemInternalChangeCount,
      _OrderComponent.BillOfMaterialVariant                                                                                as BillOfMaterialVariant,
      _OrderComponent.BillOfMaterialVersion                                                                                as BillOfMaterialVersion,
      cast('' as stlan preserving type )                                                                                   as BillOfMaterialVariantUsage,
      _OrderComponent.BOMItemCategory                                                                                      as BOMItemCategory,
      _OrderComponent._BOMItemCategory._ItemCategoryT[1: Language=$session.system_language].BillOfMaterialItemCategoryDesc as BillOfMaterialItemCategoryDesc,
      _OrderComponent.InheritedBOMItemNode                                                                                 as InheritedBOMItemNode,

      -- Variable-Size Item Fields
      _OrderComponent.MaterialCompIsVariableSized,
      _OrderComponent.FormulaKey,
      @Semantics.quantity.unitOfMeasure: 'VariableSizeDimensionUnit'
      _OrderComponent.VariableSizeDimension1,
      @Semantics.quantity.unitOfMeasure: 'VariableSizeDimensionUnit'
      _OrderComponent.VariableSizeDimension2,
      @Semantics.quantity.unitOfMeasure: 'VariableSizeDimensionUnit'
      _OrderComponent.VariableSizeDimension3,
      @Semantics.unitOfMeasure: true
      _OrderComponent.VariableSizeDimensionUnit,
      @Semantics.quantity.unitOfMeasure: 'VariableSizeComponentUnit'
      _OrderComponent.VariableSizeComponentQuantity,
      @Semantics.unitOfMeasure: true
      _OrderComponent.VariableSizeComponentUnit,
      @Semantics.quantity.unitOfMeasure: 'MaterialBaseUnit'
      cast(case _OrderComponent.MaterialCompIsVariableSized
        when 'X' then cast(round(fltp_to_dec( OpActyComponentAssignment.MfgOrderComponentUsageNetQty as abap.dec(13,4) ), 3)
        as co_menge ) * _OrderComponent.VariableSizeComponentQuantity
        else cast(round(fltp_to_dec( OpActyComponentAssignment.MfgOrderComponentUsageNetQty as abap.dec(13,4) ), 3)
        as co_menge )
      end as mpe_planned_qty_in_base_unit)                                                                                 as RequiredQuantityInBaseUnit,
      @Semantics.quantity.unitOfMeasure: 'MaterialBaseUnit'
      cast(MfgOrderComponentAssembly.MaterialComponentQuantity as mpe_consumed_qty_in_base_unit preserving type)           as ResvnItmWithdrawnQtyInBaseUnit,

      MfgOrderComponentAssembly._Material,
      _Plant,
      _ProductPlant,
      _OpActyNtwkInstance,
      _OperationActivityInstance,
      _MatlCompAssembleControl,
      _OrderComponent._OrderOperation,
      _OrderComponent._OrderInternalID

}