P_REFUNDEDQUANTITY

CDS View

Refunded Quantity

P_REFUNDEDQUANTITY is a CDS View in S/4HANA. Refunded Quantity. It contains 2 fields. 1 CDS views read from this table.

CDS Views using this table (1)

ViewTypeJoinVDMDescription
P_RefundedQuantitySum view from CONSUMPTION Refunded Quantity Sum

Fields (2)

KeyField CDS FieldsUsed in Views
KEY CustomerReturn CustomerReturn 1
KEY CustomerReturnItem CustomerReturnItem 1
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog.sqlViewName: 'PRFNDEDQTY'
@AbapCatalog.compiler.compareFilter: true
@VDM.private: true
@VDM.viewType: #CONSUMPTION
@AccessControl.authorizationCheck: #NOT_REQUIRED

// This private view is used to calculate the refunded quantity

// SalesDocumentItemBasic needs to be used to reduce complexity

// ARM SDF is different from Lean Customer's sales order without charge


define view P_RefundedQuantity
  // Collect data of refunding with CMR

  as select from I_AdvncdRetsMgmtProcExecuted as AdvncdRetsMgmtProcExecuted
    inner join   I_SalesDocumentBasic         as CustomerReturn     on  AdvncdRetsMgmtProcExecuted.RetsMgmtProcess = CustomerReturn.RetsMgmtProcess
                                                                    and CustomerReturn.SDDocumentCategory          = 'H'
    inner join   I_SalesDocumentItemBasic     as CustomerReturnItem on  CustomerReturnItem.SalesDocument     = CustomerReturn.SalesDocument
                                                                    and CustomerReturnItem.SalesDocumentItem = AdvncdRetsMgmtProcExecuted.RetsMgmtProcessItem

{
  key CustomerReturnItem.SalesDocument                         as CustomerReturn,
  key CustomerReturnItem.SalesDocumentItem                     as CustomerReturnItem,
  key AdvncdRetsMgmtProcExecuted.ReturnsDocument               as SalesDocument,
  key right(AdvncdRetsMgmtProcExecuted.ReturnsDocumentItem, 6) as SalesDocumentItem,

      CustomerReturnItem.OrderQuantity                         as ReturnQuantity,
      CustomerReturnItem.OrderQuantityUnit                     as ReturnQuantityUnit,
      CustomerReturnItem.BaseUnit                              as ReturnBaseUnit,

      AdvncdRetsMgmtProcExecuted.QuantityInBaseUnit            as CustReturnItmRefundedQty,
      AdvncdRetsMgmtProcExecuted.BaseUnit                      as RefundedQuantityUnit,

      AdvncdRetsMgmtProcExecuted.QuantityInBaseUnit            as RefundedQuantityInBaseUnit,
      AdvncdRetsMgmtProcExecuted.BaseUnit                      as BaseUnit

}
where
      AdvncdRetsMgmtProcExecuted.RetsMgmtProcessStep          = '1011' -- Credit Memo Requests
  and AdvncdRetsMgmtProcExecuted.ReturnsDocumentType          = '09' -- Credit Memo Requests
//  and AdvncdRetsMgmtProcExecuted.ReturnsDocumentStatus        = ''   -- Document is Active

  and AdvncdRetsMgmtProcExecuted.ReturnsReferenceDocumentType = '00' -- Return Order
  and AdvncdRetsMgmtProcExecuted.ReturnsReferenceDocument     = CustomerReturnItem.SalesDocument


union all
// Collect data of refunding with SDF

select from  I_AdvncdRetsMgmtProcExecuted as AdvncdRetsMgmtProcExecuted
  inner join I_SalesDocumentBasic         as CustomerReturn     on  CustomerReturn.RetsMgmtProcess    = AdvncdRetsMgmtProcExecuted.RetsMgmtProcess
                                                                and CustomerReturn.SDDocumentCategory = 'H'
  inner join I_SalesDocumentItemBasic     as CustomerReturnItem on  CustomerReturnItem.SalesDocument     = CustomerReturn.SalesDocument
                                                                and CustomerReturnItem.SalesDocumentItem = AdvncdRetsMgmtProcExecuted.RetsMgmtProcessItem
{
  key CustomerReturnItem.SalesDocument                                                                                                                               as CustomerReturn,
  key CustomerReturnItem.SalesDocumentItem                                                                                                                           as CustomerReturnItem,
  key AdvncdRetsMgmtProcExecuted.ReturnsDocument                                                                                                                     as SalesDocument,
  key right(AdvncdRetsMgmtProcExecuted.ReturnsDocumentItem, 6)                                                                                                       as SalesDocumentItem,

      CustomerReturnItem.OrderQuantity                                                                                                                               as ReturnQuantity,
      CustomerReturnItem.OrderQuantityUnit                                                                                                                           as ReturnQuantityUnit,
      CustomerReturnItem.BaseUnit                                                                                                                                    as ReturnBaseUnit,

      cast((division (AdvncdRetsMgmtProcExecuted.ReplacedMaterialQuantity * CustomerReturnItem.OrderToBaseQuantityDnmntr, CustomerReturnItem.OrderToBaseQuantityNmrtr,3)) as msr_quantity ) as CustReturnItmRefundedQty,
      CustomerReturnItem.OrderQuantityUnit                                                                                                                           as RefundedQuantityUnit,
      cast(AdvncdRetsMgmtProcExecuted.ReplacedMaterialQuantity as msr_quantity )                                                                     as RefundedQuantityInBaseUnit,
      AdvncdRetsMgmtProcExecuted.ReplacedMaterialQtyUnit                                                                                                             as BaseUnit

}
where
      AdvncdRetsMgmtProcExecuted.RetsMgmtProcessStep          = '1211' -- SDF
  and AdvncdRetsMgmtProcExecuted.ReturnsDocumentType          = '13'   -- SDF
//  and AdvncdRetsMgmtProcExecuted.ReturnsDocumentStatus        = ''     -- Document is Active

  and AdvncdRetsMgmtProcExecuted.ReturnsReferenceDocumentType = '00' -- Return Order
  and AdvncdRetsMgmtProcExecuted.ReturnsReferenceDocument     = CustomerReturnItem.SalesDocument

union all
// Collect data of refunding with Credit Memo directly

select from  I_AdvncdRetsMgmtProcExecuted as AdvncdRetsMgmtProcExecuted
  inner join I_SalesDocumentBasic         as CustomerReturn     on  AdvncdRetsMgmtProcExecuted.RetsMgmtProcess = CustomerReturn.RetsMgmtProcess
                                                                and CustomerReturn.SDDocumentCategory          = 'H'
  inner join I_SalesDocumentItemBasic     as CustomerReturnItem on  CustomerReturnItem.SalesDocument     = CustomerReturn.SalesDocument 
                                                                and CustomerReturnItem.SalesDocumentItem = AdvncdRetsMgmtProcExecuted.RetsMgmtProcessItem

{
  key CustomerReturnItem.SalesDocument                         as CustomerReturn,
  key CustomerReturnItem.SalesDocumentItem                     as CustomerReturnItem,
  key AdvncdRetsMgmtProcExecuted.ReturnsDocument               as SalesDocument,
  key right(AdvncdRetsMgmtProcExecuted.ReturnsDocumentItem, 6) as SalesDocumentItem,

      CustomerReturnItem.OrderQuantity                         as ReturnQuantity,
      CustomerReturnItem.OrderQuantityUnit                     as ReturnQuantityUnit,
      CustomerReturnItem.BaseUnit                              as ReturnBaseUnit,

      cast(CustomerReturnItem.OrderQuantity as msr_quantity )  as CustReturnItmRefundedQty,
      CustomerReturnItem.OrderQuantityUnit                     as RefundedQuantityUnit,
      AdvncdRetsMgmtProcExecuted.QuantityInBaseUnit            as RefundedQuantityInBaseUnit,
      AdvncdRetsMgmtProcExecuted.BaseUnit                      as BaseUnit
}
where
      AdvncdRetsMgmtProcExecuted.RetsMgmtProcessStep          = '1012' -- Credit Memo
  and AdvncdRetsMgmtProcExecuted.ReturnsDocumentType          = '10' -- Credit Memo
  and AdvncdRetsMgmtProcExecuted.ReturnsDocumentStatus        = ''
  and AdvncdRetsMgmtProcExecuted.ReturnsReferenceDocumentType = '00' -- Return Order
  and AdvncdRetsMgmtProcExecuted.ReturnsReferenceDocument     = CustomerReturnItem.SalesDocument