@AbapCatalog.sqlViewName: 'PMPECOMPASMAGG2'
@AbapCatalog.preserveKey:true
@AbapCatalog.compiler.compareFilter:true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType: {serviceQuality: #B, sizeCategory: #XL, dataClass: #TRANSACTIONAL}
@VDM.viewType: #CONSUMPTION
@VDM.private: true
define view P_MfgOrderCompAssemblyAggrgn2
as select from I_MfgOrderCompAssemblyAggrgn as MfgOrderCompAssemblyAggrgn
left outer to one join I_OpActyComponentAssignment as OpActyComponentAssignment on OpActyComponentAssignment.OpActyNtwkInstance = MfgOrderCompAssemblyAggrgn.OpActyNtwkInstance
and OpActyComponentAssignment.OpActyNtwkElement = MfgOrderCompAssemblyAggrgn.OpActyNtwkElement
and OpActyComponentAssignment.Reservation = MfgOrderCompAssemblyAggrgn.Reservation
and OpActyComponentAssignment.ReservationItem = MfgOrderCompAssemblyAggrgn.ReservationItem
and OpActyComponentAssignment.RecordType = MfgOrderCompAssemblyAggrgn.RecordType
left outer to one join I_OpActyCompInstceAssignment as OpActyCompInstceAssignment on OpActyCompInstceAssignment.OpActyNtwkInstance = MfgOrderCompAssemblyAggrgn.OpActyNtwkInstance
and OpActyCompInstceAssignment.OpActyNtwkElement = MfgOrderCompAssemblyAggrgn.OpActyNtwkElement
and OpActyCompInstceAssignment.Reservation = MfgOrderCompAssemblyAggrgn.Reservation
and OpActyCompInstceAssignment.ReservationItem = MfgOrderCompAssemblyAggrgn.ReservationItem
and OpActyCompInstceAssignment.RecordType = MfgOrderCompAssemblyAggrgn.RecordType
and OpActyCompInstceAssignment.OriglDgtlMockUpCharcsUUID = MfgOrderCompAssemblyAggrgn.OriglDgtlMockUpCharcsUUID
left outer to one join I_OrderComponent as OrderComponent on OrderComponent.Reservation = OpActyComponentAssignment.Reservation
and OrderComponent.ReservationItem = OpActyComponentAssignment.ReservationItem
and OrderComponent.RecordType = OpActyComponentAssignment.RecordType
{
@ObjectModel.foreignKey.association: '_Reservation'
key MfgOrderCompAssemblyAggrgn.Reservation,
key MfgOrderCompAssemblyAggrgn.ReservationItem,
key MfgOrderCompAssemblyAggrgn.RecordType,
@ObjectModel.foreignKey.association: '_OpActyNtwkInstance'
@Consumption.valueHelpDefinition: [ { entity: { name: 'I_OpActyNtwkInstanceStdVH', element: 'OpActyNtwkInstance' } } ]
key MfgOrderCompAssemblyAggrgn.OpActyNtwkInstance,
@ObjectModel.foreignKey.association: '_OperationActivityInstance'
@Consumption.valueHelpDefinition: [ { entity: { name: 'I_OpActyInstceStdVH', element: 'OpActyNtwkElement' } } ]
key MfgOrderCompAssemblyAggrgn.OpActyNtwkElement,
@ObjectModel.foreignKey.association: '_ParentShopFloorItem'
@Consumption.valueHelpDefinition: [ { entity: { name: 'I_ShopFloorItemStdVH', element: 'ShopFloorItem' } } ]
key MfgOrderCompAssemblyAggrgn.AssemblyShopFloorItem,
@ObjectModel.foreignKey.association: '_ShopFloorItem'
@Consumption.valueHelpDefinition: [ { entity: { name: 'I_ShopFloorItemStdVH', element: 'ShopFloorItem' } } ]
key MfgOrderCompAssemblyAggrgn.ShopFloorItem,
key MfgOrderCompAssemblyAggrgn.Batch,
@ObjectModel.foreignKey.association: '_Material'
@Consumption.valueHelpDefinition: [ { entity: { name: 'I_MaterialStdVH', element: 'Material' } } ]
key MfgOrderCompAssemblyAggrgn.Material,
@ObjectModel.foreignKey.association: '_Plant'
key MfgOrderCompAssemblyAggrgn.Plant,
key MfgOrderCompAssemblyAggrgn.OriglDgtlMockUpCharcsUUID,
cast( case
when OpActyCompInstceAssignment.MfgRefStrucBOMLeafAssgmtUUID is null then OpActyComponentAssignment.MfgRefStrucBOMLeafAssgmtUUID
else OpActyCompInstceAssignment.MfgRefStrucBOMLeafAssgmtUUID
end as mpe_mrs_leaf_assignment_uuid preserving type) as MfgRefStrucBOMLeafAssgmtUUID,
cast( case
when OpActyCompInstceAssignment.MfgRefStructureItemDetailUUID is null then OpActyComponentAssignment.MfgRefStructureItemDetailUUID
else OpActyCompInstceAssignment.MfgRefStructureItemDetailUUID
end as mpe_mrs_item_uuid preserving type) as MfgRefStructureItemDetailUUID,
cast(coalesce(OpActyCompInstceAssignment.MfgRefStrucItmDetIsContextual, OpActyComponentAssignment.MfgRefStrucItmDetIsContextual) as xfeld preserving type ) as MfgRefStrucItmDetIsContextual,
MfgOrderCompAssemblyAggrgn.DgtlMockUpCharcsUUID,
MfgOrderCompAssemblyAggrgn.ReferenceDesignatorValue,
@Semantics.quantity.unitOfMeasure: 'MaterialBaseUnit'
MfgOrderCompAssemblyAggrgn.MaterialComponentQuantity,
@Semantics.quantity.unitOfMeasure: 'MaterialBaseUnit'
case MfgOrderCompAssemblyAggrgn.AssemblyShopFloorItem
when 0 then OrderComponent.RequiredQuantity
else fltp_to_dec(OrderComponent.MaterialComponentUsageQuantity as abap.dec(13,4) )
end as ResvnItmRequiredQtyInBaseUnit,
OpActyComponentAssignment.MfgOrderComponentUsageNetQty / OrderComponent.MaterialComponentUsageQuantity as RequiredQuantityFactor,
@Semantics.quantity.unitOfMeasure: 'MaterialBaseUnit'
OpActyComponentAssignment.MfgOrderComponentUsageNetQty as MfgOrderComponentUsageNetQty,
@Semantics.unitOfMeasure: true
MfgOrderCompAssemblyAggrgn.MaterialBaseUnit,
@Semantics.quantity.unitOfMeasure: 'EntryUnit'
case OrderComponent.MaterialCompIsVariableSized when 'X' then MfgOrderCompAssemblyAggrgn.QuantityInEntryUnit else MfgOrderCompAssemblyAggrgn.MaterialComponentQuantity end as QuantityInEntryUnit,
@Semantics.unitOfMeasure: true
case OrderComponent.MaterialCompIsVariableSized when 'X' then MfgOrderCompAssemblyAggrgn.EntryUnit else MfgOrderCompAssemblyAggrgn.MaterialBaseUnit end as EntryUnit,
MfgOrderCompAssemblyAggrgn.DebitCreditCode,
-- Fields consumend from the UI
MfgOrderCompAssemblyAggrgn._ShopFloorItem.SerialNumber as AssembledSerialNumber,
MfgOrderCompAssemblyAggrgn.ManufacturerSerialNumber as ManufacturerSerialNumber,
MfgOrderCompAssemblyAggrgn.BatchBySupplier as BatchBySupplier,
@ObjectModel.text.element: 'MfgRefStrucItmRefDsgntrDesc'
cast( case coalesce(OpActyCompInstceAssignment.MfgRefStrucItmDetIsContextual, OpActyComponentAssignment.MfgRefStrucItmDetIsContextual)
when 'X' then coalesce(OpActyComponentAssignment._MfgRefHierItemWithDetails.MfgRefStrucItmRefDesignator, OpActyCompInstceAssignment._MfgRefHierItemWithDetails.MfgRefStrucItmRefDesignator)
else coalesce(OpActyComponentAssignment._MfgRefStrucItemWithDetails.MfgRefStrucItmRefDesignator,OpActyCompInstceAssignment._MfgRefStrucItemWithDetails.MfgRefStrucItmRefDesignator)
end as mpe_mrs_designator preserving type ) as MfgRefStrucItmRefDesignator,
cast( case
coalesce(OpActyCompInstceAssignment.MfgRefStrucItmDetIsContextual, OpActyComponentAssignment.MfgRefStrucItmDetIsContextual)
when 'X' then coalesce(OpActyComponentAssignment._MfgRefHierItemWithDetails._MfgReferenceHierarchyItmTxt[1: Language=$session.system_language].HierMfgRefDesignatorDesc,
OpActyCompInstceAssignment._MfgRefHierItemWithDetails._MfgReferenceHierarchyItmTxt[1: Language=$session.system_language].HierMfgRefDesignatorDesc)
else coalesce(OpActyComponentAssignment._MfgRefStrucItemWithDetails._MfgReferenceStructureItmTxt[1: Language=$session.system_language].MfgRefStrucItmRefDsgntrDesc,
OpActyCompInstceAssignment._MfgRefStrucItemWithDetails._MfgReferenceStructureItmTxt[1: Language=$session.system_language].MfgRefStrucItmRefDsgntrDesc)
end as mpe_mrs_designator_description preserving type ) as MfgRefStrucItmRefDsgntrDesc,
cast( case
coalesce(OpActyCompInstceAssignment.MfgRefStrucItmDetIsContextual, OpActyComponentAssignment.MfgRefStrucItmDetIsContextual)
when 'X' then coalesce(OpActyCompInstceAssignment._MfgRefHierItemWithDetails.HierMfgReferenceDesignatorName,
OpActyComponentAssignment._MfgRefHierItemWithDetails.HierMfgReferenceDesignatorName)
else coalesce(OpActyCompInstceAssignment._MfgRefStrucItemWithDetails.MfgRefStrucItmRefDsgntrName,
OpActyComponentAssignment._MfgRefStrucItemWithDetails.MfgRefStrucItmRefDsgntrName)
end as mpe_mrs_designator_name preserving type ) as MfgRefStrucItmRefDsgntrName,
-- Variable-Size Item Fields
OrderComponent.MaterialCompIsVariableSized,
OrderComponent.FormulaKey,
@Semantics.quantity.unitOfMeasure: 'VariableSizeDimensionUnit'
@DefaultAggregation: #MAX
OrderComponent.VariableSizeDimension1,
@Semantics.quantity.unitOfMeasure: 'VariableSizeDimensionUnit'
@DefaultAggregation: #MAX
OrderComponent.VariableSizeDimension2,
@Semantics.quantity.unitOfMeasure: 'VariableSizeDimensionUnit'
@DefaultAggregation: #MAX
OrderComponent.VariableSizeDimension3,
@Semantics.unitOfMeasure: true
OrderComponent.VariableSizeDimensionUnit,
@Semantics.quantity.unitOfMeasure: 'VariableSizeComponentUnit'
@DefaultAggregation: #SUM
OrderComponent.VariableSizeComponentQuantity,
OrderComponent.VariableSizeComponentUnit,
MfgOrderCompAssemblyAggrgn._OpActyNtwkInstance,
MfgOrderCompAssemblyAggrgn._OperationActivityInstance,
MfgOrderCompAssemblyAggrgn._ShopFloorItem,
MfgOrderCompAssemblyAggrgn._ParentShopFloorItem,
MfgOrderCompAssemblyAggrgn._Material,
MfgOrderCompAssemblyAggrgn._Plant,
MfgOrderCompAssemblyAggrgn._Reservation,
_ReservationItem,
MfgOrderCompAssemblyAggrgn._MaterialBaseUnit
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_MFGORDERCOMPASSEMBLYAGGRGN",
"I_MFGREFERENCEHIERARCHYITMTXT",
"I_MFGREFERENCESTRUCTUREITMTXT",
"I_MFGREFHIERITEMWITHDETAILS",
"I_MFGREFSTRUCITEMWITHDETAILS",
"I_OPACTYCOMPINSTCEASSIGNMENT",
"I_OPACTYCOMPONENTASSIGNMENT",
"I_ORDERCOMPONENT",
"I_SHOPFLOORITEM"
],
"ASSOCIATED":
[
"I_MATERIAL",
"I_OPACTYNTWKINSTANCE",
"I_OPERATIONACTIVITYINSTANCE",
"I_PLANT",
"I_RESERVATIONDOCUMENTHEADER",
"I_RESERVATIONITEM",
"I_SHOPFLOORITEM",
"I_UNITOFMEASURE"
],
"BASE":
[
"I_MFGORDERCOMPASSEMBLYAGGRGN"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/