P_ShopFloorItemComponents
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)
| Source | Alias | Join Type |
|---|---|---|
| I_MfgOrderComponentAssembly | MfgOrderComponentAssembly | from |
| I_MatlPlntCompAssembleControl | MfgOrderProductPlant | inner |
Associations (6)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [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)
| Name | Value | Level | Field |
|---|---|---|---|
| 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)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| 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
}
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