@AbapCatalog.sqlViewName: 'PCHGRECREFMBMBDM'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@ClientHandling.algorithm: #SESSION_VARIABLE
@VDM.private: true
@VDM.viewType: #COMPOSITE
define view P_ChgRecdRefMBMBfrDataMigrtn
as select from I_ChgRecdRefMfgBOMBsc as reference_ebm
// Left outer join is used here to display deleted MBOMs
left outer to one join I_MaterialBOMLink as BOMLink on reference_ebm.ChgRecRefInternalKey1 = BOMLink.BillOfMaterialCategory
and reference_ebm.ChgRecRefInternalKey2 = BOMLink.BillOfMaterial
and reference_ebm.ChgRecRefInternalKey3 = BOMLink.BillOfMaterialVariant
{
key reference_ebm.ChangeRecordReferenceUUID,
BOMLink.Material,
BOMLink.Plant,
BOMLink.BillOfMaterialVariantUsage,
BOMLink.BillOfMaterialVariant,
cast( BOMLink.BillOfMaterial as cs_stlnr preserving type ) as BillOfMaterial,
BOMLink.BillOfMaterialCategory,
cast(reference_ebm.ChgRecRefInternalKey4 as cs_versn) as BillOfMaterialVersion,
reference_ebm.ChangeRecord,
reference_ebm.ChangeRecordUUID,
reference_ebm.ChangeRecordReferenceType,
reference_ebm.ChangeRecordReferenceSubtype,
reference_ebm.ChangeRecordRefObjectUUID,
reference_ebm.ChgRecRefInternalKey1,
reference_ebm.ChgRecRefInternalKey2,
reference_ebm.ChgRecRefInternalKey3,
reference_ebm.ChgRecRefInternalKey4,
reference_ebm.ParentChangeRecordRefUUID,
reference_ebm.IsMainReference,
reference_ebm.ChangeRecordReference,
reference_ebm.CreatedByUser,
reference_ebm.CreationDateTime,
reference_ebm.LastChangedByUser,
reference_ebm.LastChangeDateTime,
reference_ebm.ChangeRecordVirtualRefInd,
reference_ebm.ChangeRecordItemRelevance,
reference_ebm.ChgRecdDataMigrationStatus,
reference_ebm.ChangeRecordItemProcgStatus,
reference_ebm.ChgRecdItmTgtSts,
reference_ebm.ChgRecdItmDSgntr,
reference_ebm.ChgRecdReasonForChange,
reference_ebm.ExpdCompltnDte,
reference_ebm.ChgRecdAuthznGrpText,
reference_ebm.ChgRecdNmbrChgSts,
reference_ebm.ChangeNumber,
@ObjectModel.association.type: [ #TO_COMPOSITION_PARENT, #TO_COMPOSITION_ROOT ]
reference_ebm._ChangeRecordBsc
}
where reference_ebm.ChgRecRefInternalKey1 = 'M' //required as left outer join is used
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_CHGRECDREFMFGBOMBSC",
"I_MATERIALBOMLINK"
],
"ASSOCIATED":
[
"I_CHANGERECORDBSC"
],
"BASE":
[
"I_CHGRECDREFMFGBOMBSC"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/