P_SFIAssembledComponent2
P_SFIAssembledComponent2 is a Consumption CDS View in SAP S/4HANA. It reads from 2 data sources (I_MatlPlntCompAssembleControl, P_SFIAssembledComponent) and exposes 59 fields with key fields Reservation, ReservationItem, RecordType, OpActyNtwkInstance, OpActyNtwkElement. It has 8 associations to related views.
Data Sources (2)
| Source | Alias | Join Type |
|---|---|---|
| I_MatlPlntCompAssembleControl | MfgOrderProductPlant | inner |
| P_SFIAssembledComponent | SFIAssembledComponent | from |
Associations (8)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1..1] | I_MatlCompAssembleControl | _MatlCompAssembleControl | $projection.MatlCompAssembleControl = _MatlCompAssembleControl.MatlCompAssembleControl |
| [0..1] | I_ShopFloorItem | _AssemblyShopFloorItem | $projection.AssemblyShopFloorItem = _AssemblyShopFloorItem.ShopFloorItem |
| [1..1] | I_ReservationDocumentHeader | _Reservation | $projection.Reservation = _Reservation.Reservation |
| [0..1] | I_StorageLocation | _StorageLocation | $projection.Plant = _StorageLocation.Plant and $projection.StorageLocation = _StorageLocation.StorageLocation |
| [0..1] | I_OrderComponent | _OrderComponent | $projection.Reservation = _OrderComponent.Reservation and $projection.ReservationItem = _OrderComponent.ReservationItem and $projection.RecordType = _OrderComponent.RecordType |
| [0..1] | I_BOMItmMfgRefStrucItmAssgmt | _BOMItmMfgRefStrucItmAssgmt | $projection.MfgRefStrucBOMLeafAssgmtUUID = _BOMItmMfgRefStrucItmAssgmt.MfgRefStrucBOMLeafAssgmtUUID |
| [0..1] | I_MfgRefStrucItemWithDetails | _MfgRefStrucItemWithDetails | $projection.MfgRefStructureItemDetailUUID = _MfgRefStrucItemWithDetails.MfgRefStructureItemUUID and $projection.MfgRefStrucItmDetIsContextual = '' |
| [0..1] | I_MfgRefHierItemWithDetails | _MfgRefHierItemWithDetails | $projection.MfgRefStructureItemDetailUUID = _MfgRefHierItemWithDetails.MfgRefHierarchyItemUUID and $projection.MfgRefStrucItmDetIsContextual = 'X' |
Annotations (10)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | PMPESFIACMP2 | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AbapCatalog.preserveKey | 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 | #CONSUMPTION | view | |
| VDM.private | true | view |
Fields (59)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | Reservation | P_SFIAssembledComponent | Reservation | |
| KEY | ReservationItem | P_SFIAssembledComponent | ReservationItem | |
| KEY | RecordType | P_SFIAssembledComponent | RecordType | |
| KEY | OpActyNtwkInstance | P_SFIAssembledComponent | OpActyNtwkInstance | |
| KEY | OpActyNtwkElement | P_SFIAssembledComponent | OpActyNtwkElement | |
| KEY | AssemblyShopFloorItem | P_SFIAssembledComponent | AssemblyShopFloorItem | |
| KEY | Material | P_SFIAssembledComponent | Material | |
| KEY | Plant | P_SFIAssembledComponent | Plant | |
| RequiredQuantity | ||||
| MaterialBaseUnit | P_SFIAssembledComponent | MaterialBaseUnit | ||
| QuantityInEntryUnit | P_SFIAssembledComponent | QuantityInEntryUnit | ||
| EntryUnit | P_SFIAssembledComponent | EntryUnit | ||
| OrderInternalID | P_SFIAssembledComponent | OrderInternalID | ||
| OrderOperationInternalID | P_SFIAssembledComponent | OrderOperationInternalID | ||
| OperationActivityNetwork | P_SFIAssembledComponent | OperationActivityNetwork | ||
| OpActyNtwkVersionCounter | P_SFIAssembledComponent | OpActyNtwkVersionCounter | ||
| MatlCompIsMarkedForBackflush | P_SFIAssembledComponent | MatlCompIsMarkedForBackflush | ||
| SerialNumberProfile | I_MatlPlntCompAssembleControl | SerialNumberProfile | ||
| SerialNumberIsRqdForAssembly | I_MatlPlntCompAssembleControl | SerialNumberIsRqdForAssembly | ||
| StockCheckMessageType | I_MatlPlntCompAssembleControl | StockCheckMessageType | ||
| IsBatchManagementRequired | I_MatlPlntCompAssembleControl | IsBatchManagementRequired | ||
| GoodsMovementIsAllowed | P_SFIAssembledComponent | GoodsMovementIsAllowed | ||
| MatlCompInstceAssyIsRequired | P_SFIAssembledComponent | MatlCompInstceAssyIsRequired | ||
| BillOfMaterialCategory | _OrderComponent | BillOfMaterialCategory | ||
| BillOfMaterialVariant | _OrderComponent | BillOfMaterialVariant | ||
| BillOfMaterialVersion | _OrderComponent | BillOfMaterialVersion | ||
| InheritedBOMItemNode | _OrderComponent | InheritedBOMItemNode | ||
| BOMItemCategory | P_SFIAssembledComponent | BOMItemCategory | ||
| BillOfMaterialInternalID | ||||
| BOMItem | P_SFIAssembledComponent | BOMItem | ||
| BOMItemInternalChangeCount | P_SFIAssembledComponent | BOMItemInternalChangeCount | ||
| MaterialCompIsVariableSized | ||||
| FormulaKey | P_SFIAssembledComponent | FormulaKey | ||
| VariableSizeDimension1 | P_SFIAssembledComponent | VariableSizeDimension1 | ||
| VariableSizeDimension2 | P_SFIAssembledComponent | VariableSizeDimension2 | ||
| VariableSizeDimension3 | P_SFIAssembledComponent | VariableSizeDimension3 | ||
| VariableSizeDimensionUnit | P_SFIAssembledComponent | VariableSizeDimensionUnit | ||
| VariableSizeComponentQuantity | P_SFIAssembledComponent | VariableSizeComponentQuantity | ||
| VariableSizeComponentUnit | P_SFIAssembledComponent | VariableSizeComponentUnit | ||
| MfgRefStrucBOMLeafAssgmtUUID | P_SFIAssembledComponent | MfgRefStrucBOMLeafAssgmtUUID | ||
| MfgRefStructureItemDetailUUID | P_SFIAssembledComponent | MfgRefStructureItemDetailUUID | ||
| MfgRefStrucItmDetIsContextual | P_SFIAssembledComponent | MfgRefStrucItmDetIsContextual | ||
| BOOOpBOMItemInternalID | P_SFIAssembledComponent | BOOOpBOMItemInternalID | ||
| LogicalComponent | P_SFIAssembledComponent | LogicalComponent | ||
| MfgOrderComponentUsageNetQty | P_SFIAssembledComponent | MfgOrderComponentUsageNetQty | ||
| _Reservation | _Reservation | |||
| _AssemblyShopFloorItem | _AssemblyShopFloorItem | |||
| _Material | P_SFIAssembledComponent | _Material | ||
| _Plant | P_SFIAssembledComponent | _Plant | ||
| _StorageLocation | _StorageLocation | |||
| _ProductPlant | P_SFIAssembledComponent | _ProductPlant | ||
| _OpActyNtwkInstance | P_SFIAssembledComponent | _OpActyNtwkInstance | ||
| _OperationActivityInstance | P_SFIAssembledComponent | _OperationActivityInstance | ||
| _MatlCompAssembleControl | _MatlCompAssembleControl | |||
| _OrderComponent | _OrderComponent | |||
| _BOMItemCategory | P_SFIAssembledComponent | _BOMItemCategory | ||
| _BOMItmMfgRefStrucItmAssgmt | _BOMItmMfgRefStrucItmAssgmt | |||
| _MfgRefStrucItemWithDetails | _MfgRefStrucItemWithDetails | |||
| _MfgRefHierItemWithDetails | _MfgRefHierItemWithDetails |
@AbapCatalog.sqlViewName: 'PMPESFIACMP2'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType: {serviceQuality: #D, sizeCategory: #XL, dataClass: #MIXED}
@VDM.viewType: #CONSUMPTION
@VDM.private: true
define view P_SFIAssembledComponent2
as select from P_SFIAssembledComponent as SFIAssembledComponent
inner join I_MatlPlntCompAssembleControl as MfgOrderProductPlant on SFIAssembledComponent.Material = MfgOrderProductPlant.Product
and SFIAssembledComponent.Plant = MfgOrderProductPlant.Plant
association [1..1] to I_MatlCompAssembleControl as _MatlCompAssembleControl on $projection.MatlCompAssembleControl = _MatlCompAssembleControl.MatlCompAssembleControl
association [0..1] to I_ShopFloorItem as _AssemblyShopFloorItem on $projection.AssemblyShopFloorItem = _AssemblyShopFloorItem.ShopFloorItem
association [1..1] to I_ReservationDocumentHeader as _Reservation on $projection.Reservation = _Reservation.Reservation
association [0..1] to I_StorageLocation as _StorageLocation on $projection.Plant = _StorageLocation.Plant
and $projection.StorageLocation = _StorageLocation.StorageLocation
association [0..1] to I_OrderComponent as _OrderComponent on $projection.Reservation = _OrderComponent.Reservation
and $projection.ReservationItem = _OrderComponent.ReservationItem
and $projection.RecordType = _OrderComponent.RecordType
association [0..1] to I_BOMItmMfgRefStrucItmAssgmt as _BOMItmMfgRefStrucItmAssgmt on $projection.MfgRefStrucBOMLeafAssgmtUUID = _BOMItmMfgRefStrucItmAssgmt.MfgRefStrucBOMLeafAssgmtUUID
association [0..1] to I_MfgRefStrucItemWithDetails as _MfgRefStrucItemWithDetails on $projection.MfgRefStructureItemDetailUUID = _MfgRefStrucItemWithDetails.MfgRefStructureItemUUID
and $projection.MfgRefStrucItmDetIsContextual = ''
association [0..1] to I_MfgRefHierItemWithDetails as _MfgRefHierItemWithDetails on $projection.MfgRefStructureItemDetailUUID = _MfgRefHierItemWithDetails.MfgRefHierarchyItemUUID
and $projection.MfgRefStrucItmDetIsContextual = 'X'
{
@ObjectModel.foreignKey.association: '_Reservation'
key SFIAssembledComponent.Reservation,
key SFIAssembledComponent.ReservationItem,
key SFIAssembledComponent.RecordType,
key SFIAssembledComponent.OpActyNtwkInstance,
key SFIAssembledComponent.OpActyNtwkElement,
@ObjectModel.foreignKey.association: '_AssemblyShopFloorItem'
key SFIAssembledComponent.AssemblyShopFloorItem,
key SFIAssembledComponent.Material,
key SFIAssembledComponent.Plant,
cast(case
when SFIAssembledComponent.StorageLocation is null then ' '
else SFIAssembledComponent.StorageLocation
end as pph_lgort preserving type) as StorageLocation, --Display Storage Location if defined in Component
@Semantics.quantity.unitOfMeasure: 'EntryUnit'
SFIAssembledComponent.RequiredQuantity,
@Semantics.quantity.unitOfMeasure: 'MaterialBaseUnit'
cast(case _OrderComponent.MaterialCompIsVariableSized
when 'X' then SFIAssembledComponent.RequiredQuantity * SFIAssembledComponent.VariableSizeComponentQuantity
else SFIAssembledComponent.RequiredQuantity
end as mpe_planned_qty_in_base_unit) as RequiredQuantityInBaseUnit,
@Semantics.quantity.unitOfMeasure: 'EntryUnit'
cast(case SFIAssembledComponent.MaterialCompIsVariableSized
-- Variable-size item: Assembly typically has to be done in PC, but base unit e.g. is square meter
when 'X' then SFIAssembledComponent.QuantityInEntryUnit
else SFIAssembledComponent.MaterialComponentQuantity
end as mpe_consumed_qty preserving type) as MaterialComponentQuantity, --Consumed Quantity
@Semantics.quantity.unitOfMeasure: 'MaterialBaseUnit'
cast(SFIAssembledComponent.MaterialComponentQuantity as mpe_consumed_qty_in_base_unit preserving type) as ResvnItmWithdrawnQtyInBaseUnit,
@Semantics.unitOfMeasure: true
SFIAssembledComponent.MaterialBaseUnit,
@Semantics.quantity.unitOfMeasure: 'EntryUnit'
SFIAssembledComponent.QuantityInEntryUnit,
@Semantics.unitOfMeasure: true
SFIAssembledComponent.EntryUnit,
SFIAssembledComponent.OrderInternalID,
SFIAssembledComponent.OrderOperationInternalID,
SFIAssembledComponent.OperationActivityNetwork,
SFIAssembledComponent.OpActyNtwkVersionCounter,
SFIAssembledComponent.MatlCompIsMarkedForBackflush,
MfgOrderProductPlant.SerialNumberProfile,
MfgOrderProductPlant.SerialNumberIsRqdForAssembly,
MfgOrderProductPlant.StockCheckMessageType,
MfgOrderProductPlant.IsBatchManagementRequired,
cast(case SFIAssembledComponent.MatlCompIsMarkedForBackflush
when 'X' then 4
else MfgOrderProductPlant.MatlCompAssembleControl
end as mpe_comp_assemble_control preserving type ) as MatlCompAssembleControl,
SFIAssembledComponent.GoodsMovementIsAllowed,
SFIAssembledComponent.MatlCompInstceAssyIsRequired,
_OrderComponent.BillOfMaterialCategory as BillOfMaterialCategory,
_OrderComponent.BillOfMaterialVariant as BillOfMaterialVariant,
_OrderComponent.BillOfMaterialVersion as BillOfMaterialVersion,
_OrderComponent.InheritedBOMItemNode as InheritedBOMItemNode,
SFIAssembledComponent.BOMItemCategory as BOMItemCategory,
cast( SFIAssembledComponent.BillOfMaterialInternalID as mpe_exec_stnum preserving type ) as BillOfMaterialInternalID,
SFIAssembledComponent.BOMItem as BOMItem,
SFIAssembledComponent.BOMItemInternalChangeCount as BOMItemInternalChangeCount,
-- Variable-Size Item Fields
SFIAssembledComponent.MaterialCompIsVariableSized,
SFIAssembledComponent.FormulaKey,
@Semantics.quantity.unitOfMeasure: 'VariableSizeDimensionUnit'
SFIAssembledComponent.VariableSizeDimension1,
@Semantics.quantity.unitOfMeasure: 'VariableSizeDimensionUnit'
SFIAssembledComponent.VariableSizeDimension2,
@Semantics.quantity.unitOfMeasure: 'VariableSizeDimensionUnit'
SFIAssembledComponent.VariableSizeDimension3,
@Semantics.unitOfMeasure: true
SFIAssembledComponent.VariableSizeDimensionUnit,
@Semantics.quantity.unitOfMeasure: 'VariableSizeComponentUnit'
SFIAssembledComponent.VariableSizeComponentQuantity,
@Semantics.unitOfMeasure: true
SFIAssembledComponent.VariableSizeComponentUnit,
SFIAssembledComponent.MfgRefStrucBOMLeafAssgmtUUID,
SFIAssembledComponent.MfgRefStructureItemDetailUUID,
SFIAssembledComponent.MfgRefStrucItmDetIsContextual,
SFIAssembledComponent.BOOOpBOMItemInternalID,
SFIAssembledComponent.LogicalComponent,
SFIAssembledComponent.MfgOrderComponentUsageNetQty,
_Reservation,
_AssemblyShopFloorItem,
SFIAssembledComponent._Material,
SFIAssembledComponent._Plant,
_StorageLocation,
SFIAssembledComponent._ProductPlant,
SFIAssembledComponent._OpActyNtwkInstance,
SFIAssembledComponent._OperationActivityInstance,
_MatlCompAssembleControl,
_OrderComponent,
SFIAssembledComponent._BOMItemCategory,
_BOMItmMfgRefStrucItmAssgmt,
_MfgRefStrucItemWithDetails,
_MfgRefHierItemWithDetails
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_MATLPLNTCOMPASSEMBLECONTROL",
"I_ORDERCOMPONENT",
"P_SFIASSEMBLEDCOMPONENT"
],
"ASSOCIATED":
[
"I_BILLOFMATERIALITEMCATEGORY",
"I_BOMITMMFGREFSTRUCITMASSGMT",
"I_MATERIAL",
"I_MATLCOMPASSEMBLECONTROL",
"I_MFGREFHIERITEMWITHDETAILS",
"I_MFGREFSTRUCITEMWITHDETAILS",
"I_OPACTYNTWKINSTANCE",
"I_OPERATIONACTIVITYINSTANCE",
"I_ORDERCOMPONENT",
"I_PLANT",
"I_PRODUCTPLANT",
"I_RESERVATIONDOCUMENTHEADER",
"I_SHOPFLOORITEM",
"I_STORAGELOCATION"
],
"BASE":
[
"P_SFIASSEMBLEDCOMPONENT"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/
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