P_AssldReltdComponentInstance is a Composite CDS View that provides data about "Assembled Related Component Instance" in SAP S/4HANA. It reads from 5 data sources (of, I_OpActyCompInstceAssignment, I_OpActyComponentAssignment, I_MfgOrderCompAssemblyInstce, to) and exposes 24 fields with key fields Reservation, ReservationItem, RecordType, OpActyNtwkInstance, OpActyNtwkElement. Part of development package MPE_EXEC_SFO.
@AbapCatalog.sqlViewName: 'PMPEASSRLTDINST'
@AbapCatalog.compiler.compareFilter:true@AbapCatalog.preserveKey: true@AccessControl.authorizationCheck: #NOT_REQUIRED@ClientHandling.algorithm: #SESSION_VARIABLE@ObjectModel.usageType: {serviceQuality: #C, sizeCategory: #L, dataClass: #TRANSACTIONAL}@VDM.viewType: #COMPOSITE@VDM.private: truedefineview P_AssldReltdComponentInstance
-- Fetch the current reservation instance
asselectfrom I_OpActyComponentAssignment as OpActyComponentAssignment
innerjoin I_OpActyCompInstceAssignment as OpActyCompInstceAssignment on OpActyCompInstceAssignment.Reservation = OpActyComponentAssignment.Reservation
and OpActyCompInstceAssignment.ReservationItem = OpActyComponentAssignment.ReservationItem
and OpActyCompInstceAssignment.RecordType = OpActyComponentAssignment.RecordType
and OpActyCompInstceAssignment.OpActyNtwkInstance = OpActyComponentAssignment.OpActyNtwkInstance
and OpActyCompInstceAssignment.OpActyNtwkElement = OpActyComponentAssignment.OpActyNtwkElement
-- Innerjoin of referenced reservation instances which have been assembled
innerjoin I_MfgOrderCompAssemblyInstce as ReltdMfgOrderCompAssyInstce on ReltdMfgOrderCompAssyInstce.Reservation = OpActyComponentAssignment.RelatedReservation
and ReltdMfgOrderCompAssyInstce.ReservationItem = OpActyComponentAssignment.RelatedReservationItem
and ReltdMfgOrderCompAssyInstce.RecordType = OpActyComponentAssignment.RelatedRecordType
and ReltdMfgOrderCompAssyInstce.OpActyNtwkInstance = OpActyComponentAssignment.RelatedOpActyNtwkInstance
and ReltdMfgOrderCompAssyInstce.OpActyNtwkElement = OpActyComponentAssignment.RelatedOpActyNtwkElement
and ReltdMfgOrderCompAssyInstce.OriglDgtlMockUpCharcsUUID = OpActyCompInstceAssignment.ReltdOriglDgtlMockUpCharcsUUID
and ReltdMfgOrderCompAssyInstce.IsReversed = ''
and ReltdMfgOrderCompAssyInstce.IsReversal = ''
-- Leftouterjoin to reservation instances required for for where-statement
leftouter to one join I_MfgOrderCompAssemblyInstce as MfgOrderCompAssemblyInstce on MfgOrderCompAssemblyInstce.Reservation = OpActyComponentAssignment.Reservation
and MfgOrderCompAssemblyInstce.ReservationItem = OpActyComponentAssignment.ReservationItem
and MfgOrderCompAssemblyInstce.RecordType = OpActyComponentAssignment.RecordType
and MfgOrderCompAssemblyInstce.OpActyNtwkInstance = OpActyComponentAssignment.OpActyNtwkInstance
and MfgOrderCompAssemblyInstce.OpActyNtwkElement = OpActyComponentAssignment.OpActyNtwkElement
and MfgOrderCompAssemblyInstce.AssemblyShopFloorItem = ReltdMfgOrderCompAssyInstce.AssemblyShopFloorItem
and MfgOrderCompAssemblyInstce.OriglDgtlMockUpCharcsUUID = OpActyCompInstceAssignment.OriglDgtlMockUpCharcsUUID
and MfgOrderCompAssemblyInstce.IsReversed = ''
and MfgOrderCompAssemblyInstce.IsReversal = ''
leftouter to one join I_InstanceReferenceDesignator as InstanceReferenceDesignator on InstanceReferenceDesignator.DgtlMockUpCharcsUUID = OpActyCompInstceAssignment.DgtlMockUpCharcsUUID
{
key OpActyComponentAssignment.Reservation,
key OpActyComponentAssignment.ReservationItem,
key OpActyComponentAssignment.RecordType,
key OpActyComponentAssignment.OpActyNtwkInstance,
key OpActyComponentAssignment.OpActyNtwkElement,
key ReltdMfgOrderCompAssyInstce.AssemblyShopFloorItem,
key OpActyCompInstceAssignment.OriglDgtlMockUpCharcsUUID,
OpActyCompInstceAssignment.ReltdOriglDgtlMockUpCharcsUUID,
ReltdMfgOrderCompAssyInstce.Material,
ReltdMfgOrderCompAssyInstce.Plant,
cast(casewhen OpActyCompInstceAssignment.MfgRefStrucItmDetIsContextual = 'X'
and OpActyCompInstceAssignment._MfgRefHierItemWithDetails.HierMfgReferenceDesignatorName isnotnulland OpActyCompInstceAssignment._MfgRefHierItemWithDetails.HierMfgReferenceDesignatorName <> ''
then OpActyCompInstceAssignment._MfgRefHierItemWithDetails.HierMfgReferenceDesignatorName
when OpActyCompInstceAssignment.MfgRefStrucItmDetIsContextual = ''
and OpActyCompInstceAssignment._MfgRefStrucItemWithDetails.MfgRefStrucItmRefDsgntrName isnotnulland OpActyCompInstceAssignment._MfgRefStrucItemWithDetails.MfgRefStrucItmRefDsgntrName <> ''
then OpActyCompInstceAssignment._MfgRefStrucItemWithDetails.MfgRefStrucItmRefDsgntrName
when OpActyCompInstceAssignment._InstanceReferenceDesignator.ReferenceDesignatorValue isnotnullor OpActyCompInstceAssignment._InstanceReferenceDesignator.ReferenceDesignatorValue <> ''
then OpActyCompInstceAssignment._InstanceReferenceDesignator.ReferenceDesignatorValue
-- If no RefDes exists, use GUID as Fallback (instead of having empty RefDes)
else bintohex( OpActyCompInstceAssignment.OriglDgtlMockUpCharcsUUID )
endas vmp_ref_des) as ReferenceDesignatorName,
InstanceReferenceDesignator.ReferenceDesignatorValue,
ReltdMfgOrderCompAssyInstce.Batch,
ReltdMfgOrderCompAssyInstce.ShopFloorItem,
OpActyComponentAssignment.RelatedReservation,
OpActyComponentAssignment.RelatedReservationItem,
OpActyComponentAssignment.RelatedRecordType,
OpActyComponentAssignment.RelatedOpActyNtwkInstance,
OpActyComponentAssignment.RelatedOpActyNtwkElement,
OpActyComponentAssignment._ReservationHeader,
OpActyComponentAssignment._OpActyNtwkInstance,
OpActyComponentAssignment._OperationActivityInstance,
ReltdMfgOrderCompAssyInstce._ParentShopFloorItem,
ReltdMfgOrderCompAssyInstce._ShopFloorItem,
ReltdMfgOrderCompAssyInstce._BatchDistinct
}
where
OpActyComponentAssignment.MatlCompInstceAssyIsRequired = 'X' --Only components with assemblies on instance-level
and MfgOrderCompAssemblyInstce.OriglDgtlMockUpCharcsUUID isnull --Only those referenced reservation instances that have not yet been "reprocessed"