P_SFONonTraceableComponent

DDL: P_SFONONTRACEABLECOMPONENT Type: view_entity CONSUMPTION Package: MPE_EXEC_COMMON

Shop Floor Order non traceable Component

P_SFONonTraceableComponent is a Consumption CDS View that provides data about "Shop Floor Order non traceable Component" in SAP S/4HANA. It reads from 4 data sources (P_OpActyConfirmationAgg, I_OpActyInstanceComponent, I_OpActyNtwkInstance, I_OperationActivityInstance) and exposes 50 fields with key fields Reservation, ReservationItem, RecordType, OpActyNtwkInstance, OpActyNtwkElement. It has 4 associations to related views. Part of development package MPE_EXEC_COMMON.

Data Sources (4)

SourceAliasJoin Type
P_OpActyConfirmationAgg OpActyConfirmationAgg inner
I_OpActyInstanceComponent OpActyInstanceComponent inner
I_OpActyNtwkInstance OpActyNtwkInstance inner
I_OperationActivityInstance OperationActivityInstance from

Associations (4)

CardinalityTargetAliasCondition
[1..1] I_OpActyNtwkInstance _OpActyNtwkInstance $projection.OpActyNtwkInstance = _OpActyNtwkInstance.OpActyNtwkInstance
[1..1] I_OperationActivityInstance _OperationActivityInstance $projection.OpActyNtwkInstance = _OperationActivityInstance.OpActyNtwkInstance and $projection.OpActyNtwkElement = _OperationActivityInstance.OpActyNtwkElement
[0..1] I_ProductPlantBasic _ProductPlantBasic $projection.Material = _ProductPlantBasic.Product and $projection.Plant = _ProductPlantBasic.Plant
[1..1] I_MatlCompAssembleControl _MatlCompAssembleControl $projection.MatlCompAssembleControl = _MatlCompAssembleControl.MatlCompAssembleControl

Annotations (6)

NameValueLevelField
AccessControl.authorizationCheck #NOT_REQUIRED view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #MIXED view
VDM.viewType #CONSUMPTION view
VDM.private true view

Fields (50)

KeyFieldSource TableSource FieldDescription
KEY Reservation I_OpActyInstanceComponent Reservation
KEY ReservationItem I_OpActyInstanceComponent ReservationItem
KEY RecordType I_OpActyInstanceComponent RecordType
KEY OpActyNtwkInstance I_OpActyInstanceComponent OpActyNtwkInstance
KEY OpActyNtwkElement I_OpActyInstanceComponent OpActyNtwkElement
Material I_OpActyInstanceComponent Material
Plant I_OpActyInstanceComponent Plant
StorageLocation I_OpActyInstanceComponent StorageLocation
IsBulkMaterialComponent I_OpActyInstanceComponent IsBulkMaterialComponent
ManufacturingOrderasManufacturingOrder
OrderInternalID I_OpActyNtwkInstance OrderInternalID
OrderOperationInternalID I_OpActyNtwkInstance OrderOperationInternalID
OperationActivityNetwork I_OpActyNtwkInstance OperationActivityNetwork
OpActyNtwkVersionCounter I_OpActyNtwkInstance OpActyNtwkVersionCounter
BillOfMaterialInternalID
BOMItem I_OpActyInstanceComponent BOMItem
BOMItemInternalChangeCount I_OpActyInstanceComponent BOMItemInternalChangeCount
BillOfMaterialVariant I_OpActyInstanceComponent BillOfMaterialVariant
BillOfMaterialVersion I_OpActyInstanceComponent BillOfMaterialVersion
BOMItemCategory I_OpActyInstanceComponent BOMItemCategory
InheritedBOMItemNode I_OpActyInstanceComponent InheritedBOMItemNode
EffectivityParameterVariant I_OpActyInstanceComponent EffectivityParameterVariant
FormulaKey I_OpActyInstanceComponent FormulaKey
VariableSizeDimension1 I_OpActyInstanceComponent VariableSizeDimension1
VariableSizeDimension2 I_OpActyInstanceComponent VariableSizeDimension2
VariableSizeDimension3 I_OpActyInstanceComponent VariableSizeDimension3
VariableSizeDimensionUnit I_OpActyInstanceComponent VariableSizeDimensionUnit
VariableSizeComponentQuantity I_OpActyInstanceComponent VariableSizeComponentQuantity
VariableSizeComponentUnit I_OpActyInstanceComponent VariableSizeComponentUnit
VariableSizeItemUnit I_OpActyInstanceComponent VariableSizeItemUnit
ProductionUnit I_OperationActivityInstance ProductionUnit
MaterialBaseUnit I_OpActyInstanceComponent BaseUnit
BatchasBatch
DebitCreditCode I_OpActyInstanceComponent DebitCreditCode
ComponentAssemblyType I_OpActyInstanceComponent ComponentAssemblyType
LeadingReservation I_OpActyInstanceComponent LeadingReservation
LeadingReservationItem I_OpActyInstanceComponent LeadingReservationItem
LeadingReservationRecordType I_OpActyInstanceComponent LeadingReservationRecordType
LeadingOpActyNtwkInstance I_OpActyInstanceComponent LeadingOpActyNtwkInstance
LeadingOpActyNtwkElement I_OpActyInstanceComponent LeadingOpActyNtwkElement
_ManufacturingOrder I_OpActyNtwkInstance _ManufacturingOrder
_Batch I_OpActyInstanceComponent _Batch
_Material I_OpActyInstanceComponent _Material
_Plant I_OpActyInstanceComponent _Plant
_StorageLocation I_OpActyInstanceComponent _StorageLocation
_BOMItemCategory I_OpActyInstanceComponent _BOMItemCategory
_OpActyNtwkInstance _OpActyNtwkInstance
_OperationActivityInstance _OperationActivityInstance
_ProductPlantBasic _ProductPlantBasic
_MatlCompAssembleControl _MatlCompAssembleControl
@AccessControl.authorizationCheck: #NOT_REQUIRED
@ObjectModel.usageType: {serviceQuality: #D, sizeCategory: #XL, dataClass: #MIXED}
@VDM.viewType: #CONSUMPTION
@VDM.private: true
define view entity P_SFONonTraceableComponent
  as select from I_OperationActivityInstance as OperationActivityInstance
    inner join   I_OpActyNtwkInstance        as OpActyNtwkInstance      on OpActyNtwkInstance.OpActyNtwkInstance = OperationActivityInstance.OpActyNtwkInstance
    inner join   I_OpActyInstanceComponent   as OpActyInstanceComponent on  OpActyInstanceComponent.OpActyNtwkInstance = OperationActivityInstance.OpActyNtwkInstance
                                                                        and OpActyInstanceComponent.OpActyNtwkElement  = OperationActivityInstance.OpActyNtwkElement
    inner join   P_OpActyConfirmationAgg     as OpActyConfirmationAgg   on  OpActyConfirmationAgg.OpActyNtwkInstance = OperationActivityInstance.OpActyNtwkInstance
                                                                        and OpActyConfirmationAgg.OpActyNtwkElement  = OperationActivityInstance.OpActyNtwkElement
  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 [0..1] to I_ProductPlantBasic         as _ProductPlantBasic         on  $projection.Material = _ProductPlantBasic.Product
                                                                                  and $projection.Plant    = _ProductPlantBasic.Plant
  association [1..1] to I_MatlCompAssembleControl   as _MatlCompAssembleControl   on  $projection.MatlCompAssembleControl = _MatlCompAssembleControl.MatlCompAssembleControl
{
      @UI.hidden:true
  key OpActyInstanceComponent.Reservation                                                               as Reservation,
  key OpActyInstanceComponent.ReservationItem                                                           as ReservationItem,
  key OpActyInstanceComponent.RecordType                                                                as RecordType,
      @ObjectModel.foreignKey.association: '_OpActyNtwkInstance'
  key OpActyInstanceComponent.OpActyNtwkInstance                                                        as OpActyNtwkInstance,
      @ObjectModel.foreignKey.association: '_OperationActivityInstance'
  key OpActyInstanceComponent.OpActyNtwkElement                                                         as OpActyNtwkElement,
      OpActyInstanceComponent.Material                                                                  as Material,
      @ObjectModel.foreignKey.association: '_Plant'
      OpActyInstanceComponent.Plant                                                                     as Plant,
      OpActyInstanceComponent.StorageLocation                                                           as StorageLocation,

      --Assembly Type
      OpActyInstanceComponent.MatlCompIsMarkedForBackflush                                              as MatlCompIsMarkedForBackflush,
      OpActyInstanceComponent.IsBulkMaterialComponent                                                   as IsBulkMaterialComponent,
      cast(case
        when OpActyInstanceComponent.MatlCompIsMarkedForBackflush = 'X' then 4
        when OpActyInstanceComponent.IsBulkMaterialComponent = 'X' then 5
        end as mpe_comp_assemble_control preserving type)                                               as MatlCompAssembleControl,

      -- Operation Activity Information
      OpActyNtwkInstance.ManufacturingOrder                                                             as ManufacturingOrder,
      OpActyNtwkInstance.OrderInternalID                                                                as OrderInternalID,
      OpActyNtwkInstance.OrderOperationInternalID                                                       as OrderOperationInternalID,
      OpActyNtwkInstance.OperationActivityNetwork                                                       as OperationActivityNetwork,
      OpActyNtwkInstance.OpActyNtwkVersionCounter                                                       as OpActyNtwkVersionCounter,

      -- BOM Information
      OpActyInstanceComponent.BillOfMaterialCategory                                                    as BillOfMaterialCategory,
      cast( OpActyInstanceComponent.BillOfMaterialInternalID as mpe_exec_stnum preserving type )        as BillOfMaterialInternalID,
      OpActyInstanceComponent.BOMItem                                                                   as BOMItem,
      OpActyInstanceComponent.BOMItemInternalChangeCount                                                as BOMItemInternalChangeCount,
      OpActyInstanceComponent.BillOfMaterialVariant                                                     as BillOfMaterialVariant,
      OpActyInstanceComponent.BillOfMaterialVersion                                                     as BillOfMaterialVersion,
      OpActyInstanceComponent.BOMItemCategory                                                           as BOMItemCategory,
      OpActyInstanceComponent.InheritedBOMItemNode                                                      as InheritedBOMItemNode,
      OpActyInstanceComponent.EffectivityParameterVariant                                               as EffectivityParameterVariant,

      -- Variable-Size Item Fields
      OpActyInstanceComponent.MaterialCompIsVariableSized                                               as MaterialCompIsVariableSized,
      OpActyInstanceComponent.FormulaKey                                                                as FormulaKey,
      @Semantics.quantity.unitOfMeasure: 'VariableSizeDimensionUnit'
      OpActyInstanceComponent.VariableSizeDimension1                                                    as VariableSizeDimension1,
      @Semantics.quantity.unitOfMeasure: 'VariableSizeDimensionUnit'
      OpActyInstanceComponent.VariableSizeDimension2                                                    as VariableSizeDimension2,
      @Semantics.quantity.unitOfMeasure: 'VariableSizeDimensionUnit'
      OpActyInstanceComponent.VariableSizeDimension3                                                    as VariableSizeDimension3,
      OpActyInstanceComponent.VariableSizeDimensionUnit                                                 as VariableSizeDimensionUnit,
      @Semantics.quantity.unitOfMeasure: 'VariableSizeComponentUnit'
      OpActyInstanceComponent.VariableSizeComponentQuantity                                             as VariableSizeComponentQuantity,
      OpActyInstanceComponent.VariableSizeComponentUnit                                                 as VariableSizeComponentUnit,
      OpActyInstanceComponent.VariableSizeItemUnit                                                      as VariableSizeItemUnit,

      -- Quantities
      @Semantics.quantity.unitOfMeasure: 'ProductionUnit'
      OpActyConfirmationAgg.ConfirmationYieldQuantity + OpActyConfirmationAgg.ConfirmationScrapQuantity as OpActyProcessedQuantity,
      OperationActivityInstance.ProductionUnit                                                          as ProductionUnit,
      @Semantics.quantity.unitOfMeasure: 'MaterialBaseUnit'
      cast(round(fltp_to_dec(OpActyInstanceComponent.MfgOrderComponentUsageNetQty   as abap.dec(13,4) ), 3)
        as mpe_usage_qty )                                                                              as MfgOrderComponentUsageNetQty,
      @Semantics.quantity.unitOfMeasure: 'MaterialBaseUnit'
      cast(round(fltp_to_dec(OpActyInstanceComponent.MfgOrderComponentUsageQuantity   as abap.dec(13,4) ), 3)
        as mpe_usage_qty )                                                                              as MfgOrderComponentUsageQuantity,
      OpActyInstanceComponent.BaseUnit                                                                  as MaterialBaseUnit,

      -- Component Information
      OpActyInstanceComponent.Batch                                                                     as Batch,
      OpActyInstanceComponent.DebitCreditCode                                                           as DebitCreditCode,
      OpActyInstanceComponent.ComponentAssemblyType                                                     as ComponentAssemblyType,
      OpActyInstanceComponent.LeadingReservation                                                        as LeadingReservation,
      OpActyInstanceComponent.LeadingReservationItem                                                    as LeadingReservationItem,
      OpActyInstanceComponent.LeadingReservationRecordType                                              as LeadingReservationRecordType,
      OpActyInstanceComponent.LeadingOpActyNtwkInstance                                                 as LeadingOpActyNtwkInstance,
      OpActyInstanceComponent.LeadingOpActyNtwkElement                                                  as LeadingOpActyNtwkElement,

      OpActyNtwkInstance._ManufacturingOrder,
      OpActyInstanceComponent._Batch,
      OpActyInstanceComponent._Material,
      OpActyInstanceComponent._Plant,
      OpActyInstanceComponent._StorageLocation,
      OpActyInstanceComponent._BOMItemCategory,
      _OpActyNtwkInstance,
      _OperationActivityInstance,
      _ProductPlantBasic,
      _MatlCompAssembleControl
}
where
       OpActyNtwkInstance.OpActyNtwkSegmentType             = '2' --Component assignment is always on Produce Segment
  and(
       OpActyInstanceComponent.MatlCompIsMarkedForBackflush = 'X' --backflushed
    or OpActyInstanceComponent.IsBulkMaterialComponent      = 'X' --bulk
  )