P_OPACTYINSTANCEASSEMBLEDCOMP
Component assembled at an OA (explicite and backflushed)
P_OPACTYINSTANCEASSEMBLEDCOMP is a CDS View in S/4HANA. Component assembled at an OA (explicite and backflushed). It contains 16 fields. 1 CDS views read from this table.
CDS Views using this table (1)
| View | Type | Join | VDM | Description |
|---|---|---|---|---|
| P_OpActyInstanceAssembledComp2 | view | from | COMPOSITE | Component explicitly assembled or backflushed at an OA |
Fields (16)
| Key | Field | CDS Fields | Used in Views |
|---|---|---|---|
| KEY | Material | Material | 1 |
| KEY | Plant | Plant | 1 |
| KEY | RecordType | RecordType | 1 |
| KEY | Reservation | Reservation | 1 |
| KEY | ReservationItem | ReservationItem | 1 |
| BaseUnit | BaseUnit | 1 | |
| BOOOpBOMItemInternalID | BOOOpBOMItemInternalID | 1 | |
| EntryUnit | EntryUnit | 1 | |
| GoodsMovementIsAllowed | GoodsMovementIsAllowed | 1 | |
| MatlCompInstceAssyIsRequired | MatlCompInstceAssyIsRequired | 1 | |
| MatlCompIsMarkedForBackflush | MatlCompIsMarkedForBackflush | 1 | |
| MfgOrderComponentUsageNetQty | MfgOrderComponentUsageNetQty | 1 | |
| MfgRefStrucBOMLeafAssgmtUUID | MfgRefStrucBOMLeafAssgmtUUID | 1 | |
| MfgRefStrucItmDetIsContextual | MfgRefStrucItmDetIsContextual | 1 | |
| MfgRefStructureItemDetailUUID | MfgRefStructureItemDetailUUID | 1 | |
| StorageLocation | StorageLocation | 1 |
@AbapCatalog.sqlViewName: 'PMPEOAIAMAT'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType: {serviceQuality: #C, sizeCategory: #XL, dataClass: #TRANSACTIONAL}
@VDM.viewType: #COMPOSITE
@VDM.private: true
define view P_OpActyInstanceAssembledComp
-- Directly assembled components
as select from I_MfgOrderComponentAssembly as MfgOrderComponentAssembly
left outer to one join I_OpActyComponentAssignment as OpActyComponentAssignment on MfgOrderComponentAssembly.OpActyNtwkInstance = OpActyComponentAssignment.OpActyNtwkInstance
and MfgOrderComponentAssembly.OpActyNtwkElement = OpActyComponentAssignment.OpActyNtwkElement
and MfgOrderComponentAssembly.Reservation = OpActyComponentAssignment.Reservation
and MfgOrderComponentAssembly.ReservationItem = OpActyComponentAssignment.ReservationItem
and MfgOrderComponentAssembly.RecordType = OpActyComponentAssignment.RecordType
left outer to one join I_ReservationItem as ReservationItem on ReservationItem.Reservation = OpActyComponentAssignment.Reservation
and ReservationItem.ReservationItem = OpActyComponentAssignment.ReservationItem
and ReservationItem.RecordType = OpActyComponentAssignment.RecordType
{
key MfgOrderComponentAssembly.OpActyNtwkInstance,
key MfgOrderComponentAssembly.OpActyNtwkElement,
key MfgOrderComponentAssembly.Reservation,
key MfgOrderComponentAssembly.ReservationItem,
key MfgOrderComponentAssembly.RecordType,
key MfgOrderComponentAssembly.Material,
key MfgOrderComponentAssembly.Plant,
cast(max(ReservationItem.StorageLocation) as lgort_d preserving type ) as StorageLocation,
cast(max(OpActyComponentAssignment.BOOOpBOMItemInternalID) as cim_zuord preserving type ) as BOOOpBOMItemInternalID,
@Semantics.quantity.unitOfMeasure: 'BaseUnit'
cast(max(OpActyComponentAssignment.MfgOrderComponentUsageNetQty) as esmng preserving type ) as MfgOrderComponentUsageNetQty,
@Semantics.quantity.unitOfMeasure: 'BaseUnit'
cast(sum(MfgOrderComponentAssembly.MaterialComponentQuantity) as kmpmg preserving type ) as MaterialComponentQuantity,
@Semantics.unitOfMeasure: true
cast(max(MfgOrderComponentAssembly.MaterialBaseUnit) as meins preserving type ) as BaseUnit,
@Semantics.quantity.unitOfMeasure: 'EntryUnit'
cast(sum(MfgOrderComponentAssembly.QuantityInEntryUnit) as erfmgv preserving type ) as QuantityInEntryUnit,
@Semantics.unitOfMeasure: true
cast(max(MfgOrderComponentAssembly.EntryUnit) as erfme preserving type ) as EntryUnit,
cast('' as mpe_comp_is_for_backflush preserving type) as MatlCompIsMarkedForBackflush,
cast(coalesce(ReservationItem.GoodsMovementIsAllowed, 'X') as xwaok preserving type ) as GoodsMovementIsAllowed,
cast(max(OpActyComponentAssignment.MatlCompInstceAssyIsRequired) as mpe_instce_assembly_rqd preserving type) as MatlCompInstceAssyIsRequired,
OpActyComponentAssignment.MfgRefStrucBOMLeafAssgmtUUID,
OpActyComponentAssignment.MfgRefStructureItemDetailUUID,
OpActyComponentAssignment.MfgRefStrucItmDetIsContextual,
MfgOrderComponentAssembly._OperationActivityInstance
}
group by
MfgOrderComponentAssembly.OpActyNtwkInstance,
MfgOrderComponentAssembly.OpActyNtwkElement,
MfgOrderComponentAssembly.Reservation,
MfgOrderComponentAssembly.ReservationItem,
MfgOrderComponentAssembly.RecordType,
MfgOrderComponentAssembly.Material,
MfgOrderComponentAssembly.Plant,
ReservationItem.GoodsMovementIsAllowed,
OpActyComponentAssignment.MfgRefStrucBOMLeafAssgmtUUID,
OpActyComponentAssignment.MfgRefStructureItemDetailUUID,
OpActyComponentAssignment.MfgRefStrucItmDetIsContextual
union all
-- Backflushed components
select from I_OpActyInstanceStatusBasic as OpActyInstanceStatus
inner join I_OpActyComponentAssignment as OpActyComponentAssignment on OpActyComponentAssignment.OpActyNtwkInstance = OpActyInstanceStatus.OpActyNtwkInstance
and OpActyComponentAssignment.OpActyNtwkElement = OpActyInstanceStatus.OpActyNtwkElement
inner join I_OrderComponent as OrderComponent on OrderComponent.Reservation = OpActyComponentAssignment.Reservation
and OrderComponent.ReservationItem = OpActyComponentAssignment.ReservationItem
and OrderComponent.RecordType = OpActyComponentAssignment.RecordType
inner join I_LogisticsOrderBasic as LogisticsOrderBasic on LogisticsOrderBasic.OrderID = OrderComponent.OrderID
{
key OpActyInstanceStatus.OpActyNtwkInstance,
key OpActyInstanceStatus.OpActyNtwkElement,
key OrderComponent.Reservation,
key OrderComponent.ReservationItem,
key OrderComponent.RecordType,
key OrderComponent.Material,
key OrderComponent.Plant,
OrderComponent.StorageLocation,
OpActyComponentAssignment.BOOOpBOMItemInternalID,
@Semantics.quantity.unitOfMeasure: 'BaseUnit'
OpActyComponentAssignment.MfgOrderComponentUsageNetQty,
@Semantics.quantity.unitOfMeasure: 'BaseUnit'
case OrderComponent.MaterialCompIsVariableSized
when 'X' then cast(round(fltp_to_dec(OpActyComponentAssignment.MfgOrderComponentUsageNetQty as abap.dec(13,4)), 3) as esmng )
* cast(OrderComponent.VariableSizeComponentQuantity as esmng ) * cast( LogisticsOrderBasic.OrderPlannedTotalQty as esmng )
else cast(round(fltp_to_dec(OpActyComponentAssignment.MfgOrderComponentUsageNetQty as abap.dec(13,4)), 3) as esmng )
* cast( LogisticsOrderBasic.OrderPlannedTotalQty as esmng )
end as MaterialComponentQuantity,
@Semantics.unitOfMeasure: true
OrderComponent.BaseUnit,
@Semantics.quantity.unitOfMeasure: 'EntryUnit'
cast( LogisticsOrderBasic.OrderPlannedTotalQty as esmng ) * OpActyComponentAssignment.MfgOrderComponentUsageNetQty as QuantityInEntryUnit,
@Semantics.unitOfMeasure: true
cast(case OrderComponent.MaterialCompIsVariableSized
when 'X' then OrderComponent.VariableSizeComponentUnit
else OrderComponent.BaseUnit
end as erfme preserving type) as EntryUnit,
cast(OrderComponent.MatlCompIsMarkedForBackflush as mpe_comp_is_for_backflush preserving type) as MatlCompIsMarkedForBackflush,
OrderComponent.GoodsMovementIsAllowed,
OpActyComponentAssignment.MatlCompInstceAssyIsRequired,
OpActyComponentAssignment.MfgRefStrucBOMLeafAssgmtUUID,
OpActyComponentAssignment.MfgRefStructureItemDetailUUID,
OpActyComponentAssignment.MfgRefStrucItmDetIsContextual,
OpActyInstanceStatus._OperationActivityInstance
}
where
OpActyInstanceStatus._SASStatus.SASStatusCategory = 3 --Completed
and OrderComponent.MatlCompIsMarkedForBackflush = 'X'