I_SalesDocItmReturnableQty

DDL: I_SALESDOCITMRETURNABLEQTY SQL: ISOITEMRETBLQTY Type: view COMPOSITE

Returnable Quantity of Sales

I_SalesDocItmReturnableQty is a Composite CDS View that provides data about "Returnable Quantity of Sales" in SAP S/4HANA. It reads from 1 data source (I_SalesDocumentItemBasic) and exposes 2 fields with key fields SalesDocument, SalesDocumentItem.

Data Sources (1)

SourceAliasJoin Type
I_SalesDocumentItemBasic SalesDocumentItem from

Annotations (9)

NameValueLevelField
AbapCatalog.sqlViewName ISOITEMRETBLQTY view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #NOT_REQUIRED view
VDM.viewType #COMPOSITE view
ClientHandling.algorithm #SESSION_VARIABLE view
EndUserText.label Returnable Quantity of Sales view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XL view

Fields (2)

KeyFieldSource TableSource FieldDescription
KEY SalesDocument I_SalesDocumentItemBasic SalesDocument
KEY SalesDocumentItem I_SalesDocumentItemBasic SalesDocumentItem
@AbapCatalog.sqlViewName: 'ISOITEMRETBLQTY'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@VDM.viewType: #COMPOSITE
@ClientHandling.algorithm:#SESSION_VARIABLE
@EndUserText.label: 'Returnable Quantity of Sales'
@ObjectModel.usageType.dataClass: #MIXED
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #XL

define view I_SalesDocItmReturnableQty
  // Use I_SalesDocumentItem to avoid the analytical search which cannot do filter pushdown

  as select from           I_SalesDocumentItemBasic       as SalesDocumentItem
    left outer to one join I_SalesDocumentBasic           as SalesDocument    on SalesDocumentItem.SalesDocument = SalesDocument.SalesDocument

    left outer to one join I_SalesDocItemReturnedQuantity as ReturnedQuantity on  SalesDocumentItem.SalesDocument     = ReturnedQuantity.SalesDocument
                                                                              and SalesDocumentItem.SalesDocumentItem = ReturnedQuantity.SalesDocumentItem
{
  key SalesDocumentItem.SalesDocument,
  key SalesDocumentItem.SalesDocumentItem,

      case
      when ReturnedQuantity.SalesDocument is null
      then
        case
        when SalesDocumentItem.OrderToBaseQuantityNmrtr = 0 
          then SalesDocumentItem.RequestedQuantity
          else DIVISION (SalesDocumentItem.RequestedQuantityInBaseUnit * SalesDocumentItem.OrderToBaseQuantityDnmntr, SalesDocumentItem.OrderToBaseQuantityNmrtr, 3)
        end
      
      else
        case
        when SalesDocumentItem.OrderToBaseQuantityNmrtr = 0 
          then SalesDocumentItem.RequestedQuantity - ReturnedQuantity.ReturnedQuantity 
          else DIVISION (SalesDocumentItem.RequestedQuantityInBaseUnit * SalesDocumentItem.OrderToBaseQuantityDnmntr, SalesDocumentItem.OrderToBaseQuantityNmrtr, 3) - ReturnedQuantity.ReturnedQuantity
        end
 
      end as ReturnableQuantity
}
where
      SalesDocument.SDDocumentCategory           =  'C' //Enable the sales order

  or  SalesDocument.SDDocumentCategory           =  'I' //Enable sales order without charge

  and SalesDocumentItem.OrderToBaseQuantityNmrtr <> 0
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_SALESDOCITEMRETURNEDQUANTITY",
"I_SALESDOCUMENTBASIC",
"I_SALESDOCUMENTITEMBASIC"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/