@ClientHandling.algorithm: #SESSION_VARIABLE@AbapCatalog.sqlViewName: 'PCRTITMRFND'
@AbapCatalog.compiler.compareFilter: true@AbapCatalog.preserveKey: true@VDM.private: true@VDM.viewType: #CONSUMPTION@AccessControl.authorizationCheck: #NOT_REQUIREDdefineview P_ReturnsDocumentItemRefund
asselectfrom P_CustomerReturnItemEnhanced as Refund
innerjoin I_AdvncdRetsMgmtMatlInspection as AdvncdRetsMgmtMatlInspection on Refund.CustomerReturn = AdvncdRetsMgmtMatlInspection.ReferenceDocument
and Refund.CustomerReturnItem = AdvncdRetsMgmtMatlInspection.ReferenceDocumentItem
and AdvncdRetsMgmtMatlInspection.ReturnsInspectionPublishStatus = 'P'
leftouter to one join I_AdvncdRetsMgmtCompnStatus as AdvncdRetsMgmtCompnStatus on AdvncdRetsMgmtCompnStatus.RetsMgmtProcess = Refund.RetsMgmtProcess
and AdvncdRetsMgmtCompnStatus.RetsMgmtProcItmQtySplit = Refund.RetsMgmtProcItmQtySplit
and AdvncdRetsMgmtCompnStatus.RetsMgmtProcessItem = Refund.CustomerReturnItem
and AdvncdRetsMgmtCompnStatus.ReturnsReferenceDocument = Refund.CustomerReturn
{
key Refund.CustomerReturn,
key Refund.CustomerReturnItem,
key AdvncdRetsMgmtMatlInspection.InspectionDocument as InspectionDocument,
// Refund.RetsMgmtItmCompnProcgStatus,
Refund.CustomerReturnItemCategory,
cast(Refund.OrderQuantity as returned_quantity) as OrderQuantity,
Refund.OrderQuantityUnit,
Refund.ReturnsRefundExtent,
Refund.ReturnsRefundType,
Refund.HigherLevelItem,
AdvncdRetsMgmtCompnStatus.RetsMgmtProcessStep,
Refund.RetsMgmtProcess,
Refund.RetsMgmtProcessItem,
Refund.ReturnsRefundProcgMode,
cast(Refund.Product as productnumber preserving type) as Material,
Refund.ReturnsRefundRjcnReason,
Refund.NetAmount,
Refund.TransactionCurrency,
cast(AdvncdRetsMgmtMatlInspection.RetMatlInspResultCode as msr_inspection_code) as RetMatlInspResultCode,
Refund._CustomerReturn.SalesOrganization,
Refund._CustomerReturn.DistributionChannel,
Refund._CustomerReturn.OrganizationDivision,
Refund._CustomerReturn.CustomerReturnType,
Refund.Plant,
Refund.Batch,
cast(casewhen Refund.ReplacementMaterial is initial
then Refund.Product
else Refund.ReplacementMaterial
endas return_replace_product) as ReplacementMaterial,
casewhen Refund.ReplacementMaterialQtyUnit is initial
then OrderQuantityUnit
else Refund.ReplacementMaterialQtyUnit
endas ReplacementMaterialQtyUnit,
casewhen Refund.ReplacementMatlSupplyingPlant is initial
then Refund.Plant
else Refund.ReplacementMatlSupplyingPlant
endas ReplacementMatlSupplyingPlant,
Refund.BillOfMaterial,
casewhen AdvncdRetsMgmtMatlInspection.CustRetItmFollowUpActivity <> ''
then AdvncdRetsMgmtMatlInspection.CustRetItmFollowUpActivity
else Refund.CustRetItmFollowUpActivity
endas CustRetItmFollowUpActivity,
AdvncdRetsMgmtMatlInspection.ReturnsDelivery,
AdvncdRetsMgmtMatlInspection.ReturnsDeliveryItem,
AdvncdRetsMgmtMatlInspection.InspectedProductQtyInBaseUnit,
AdvncdRetsMgmtMatlInspection.BaseUnit
}
where
Refund.RetsMgmtProcessingBlock != 'R'
and Refund.ItemGeneralIncompletionStatus = 'C'
and Refund.SDDocumentRejectionStatus = 'A'
and Refund.CustRetItmFollowUpActivity != '0008'
unionallselectfrom P_CustomerReturnItemEnhanced as Refund
leftouter to one join I_AdvncdRetsMgmtCompnStatus as AdvncdRetsMgmtCompnStatus on AdvncdRetsMgmtCompnStatus.RetsMgmtProcess = Refund.RetsMgmtProcess
and AdvncdRetsMgmtCompnStatus.RetsMgmtProcItmQtySplit = Refund.RetsMgmtProcItmQtySplit
and AdvncdRetsMgmtCompnStatus.RetsMgmtProcessItem = Refund.CustomerReturnItem
and AdvncdRetsMgmtCompnStatus.ReturnsReferenceDocument = Refund.CustomerReturn
{
key Refund.CustomerReturn,
key Refund.CustomerReturnItem,
key '-' as InspectionDocument,
// Refund.RetsMgmtItmCompnProcgStatus,
Refund.CustomerReturnItemCategory,
cast(Refund.OrderQuantity as returned_quantity) as OrderQuantity,
Refund.OrderQuantityUnit,
Refund.ReturnsRefundExtent,
Refund.ReturnsRefundType,
Refund.HigherLevelItem,
AdvncdRetsMgmtCompnStatus.RetsMgmtProcessStep,
Refund.RetsMgmtProcess,
Refund.RetsMgmtProcessItem,
Refund.ReturnsRefundProcgMode,
cast(Refund.Product as productnumber preserving type) as Material,
Refund.ReturnsRefundRjcnReason,
Refund.NetAmount,
Refund.TransactionCurrency,
cast('' as msr_inspection_code) as RetMatlInspResultCode,
Refund._CustomerReturn.SalesOrganization,
Refund._CustomerReturn.DistributionChannel,
Refund._CustomerReturn.OrganizationDivision,
Refund._CustomerReturn.CustomerReturnType,
Refund.Plant,
Refund.Batch,
cast(casewhen Refund.ReplacementMaterial is initial
then Refund.Product
else Refund.ReplacementMaterial
endas return_replace_product) as ReplacementMaterial,
casewhen Refund.ReplacementMaterialQtyUnit is initial
then OrderQuantityUnit
else Refund.ReplacementMaterialQtyUnit
endas ReplacementMaterialQtyUnit,
casewhen Refund.ReplacementMatlSupplyingPlant is initial
then Refund.Plant
else Refund.ReplacementMatlSupplyingPlant
endas ReplacementMatlSupplyingPlant,
Refund.BillOfMaterial,
Refund.CustRetItmFollowUpActivity as CustRetItmFollowUpActivity,
cast('' as vbeln_vl) as ReturnsDelivery,
cast('000000' as posnr_vl) as ReturnsDeliveryItem,
cast(0 as /spe/inspqty) as InspectedProductQtyInBaseUnit,
cast('' as meins) as BaseUnit
}
where
Refund.RetsMgmtProcessingBlock != 'R'
and Refund.ItemGeneralIncompletionStatus = 'C'
and Refund.SDDocumentRejectionStatus = 'A'
and Refund.CustRetItmFollowUpActivity != '0008'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_ADVNCDRETSMGMTCOMPNSTATUS",
"I_ADVNCDRETSMGMTMATLINSPECTION",
"I_CUSTOMERRETURNENHANCED",
"P_CUSTOMERRETURNITEMENHANCED"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/