P_GrInvQtyInd

DDL: P_GRINVQTYIND SQL: PGRINVQTYIND Type: view CONSUMPTION

P_GrInvQtyInd is a Consumption CDS View in SAP S/4HANA. It reads from 1 data source (I_PurchaseOrderHistory) and exposes 10 fields with key fields PurchaseOrder, PurchaseOrderItem, PurchaseOrderTransactionType, MaterialDocument, MaterialDocumentYear.

Data Sources (1)

SourceAliasJoin Type
I_PurchaseOrderHistory PDHistory from

Annotations (9)

NameValueLevelField
AbapCatalog.sqlViewName PGRINVQTYIND view
VDM.private true view
VDM.viewType #CONSUMPTION view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #PRIVILEGED_ONLY view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.serviceQuality #A view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #TRANSACTIONAL view

Fields (10)

KeyFieldSource TableSource FieldDescription
KEY PurchaseOrder I_PurchaseOrderHistory PurchaseOrder
KEY PurchaseOrderItem I_PurchaseOrderHistory PurchaseOrderItem
KEY PurchaseOrderTransactionType I_PurchaseOrderHistory PurchaseOrderTransactionType
KEY MaterialDocument I_PurchaseOrderHistory MaterialDocument
KEY MaterialDocumentYear I_PurchaseOrderHistory MaterialDocumentYear
KEY MaterialDocumentItem I_PurchaseOrderHistory MaterialDocumentItem
KEY AccountAssignmentNumber I_PurchaseOrderHistory AccountAssignmentNumber
GdsRcptBlkdStkQtyInOrdQtyUnit I_PurchaseOrderHistory GdsRcptBlkdStkQtyInOrdQtyUnit
Quantityendelse0endasGoodsReceiptQty
quan133endasInvoiceReceiptQty
@AbapCatalog.sqlViewName: 'PGRINVQTYIND'
@VDM.private: true
@VDM.viewType: #CONSUMPTION

@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #PRIVILEGED_ONLY
@ClientHandling.algorithm: #SESSION_VARIABLE

@ObjectModel.usageType.serviceQuality: #A
@ObjectModel.usageType.sizeCategory: #L
@ObjectModel.usageType.dataClass: #TRANSACTIONAL

define view P_GrInvQtyInd
  as select from I_PurchaseOrderHistory as PDHistory
{
  key PDHistory.PurchaseOrder                as PurchaseOrder,
  key PDHistory.PurchaseOrderItem            as PurchaseOrderItem,
  key PDHistory.PurchaseOrderTransactionType as PurchaseOrderTransactionType,
  key PDHistory.MaterialDocument             as MaterialDocument,
  key PDHistory.MaterialDocumentYear         as MaterialDocumentYear,
  key PDHistory.MaterialDocumentItem         as MaterialDocumentItem,
  key PDHistory.AccountAssignmentNumber      as AccountAssignmentNumber,

      PDHistory.GdsRcptBlkdStkQtyInOrdQtyUnit,

      /*Goods Receipt Quantity MENGE for Transaction Type - 1*/
      case PurchaseOrderTransactionType
      when '1'     /*Goods Receipt */
      then case PDHistory.DebitCreditCode
           when 'S'
           then PDHistory.Quantity
           else (-1 * PDHistory.Quantity)
           end
       else 0
       end                                   as GoodsReceiptQty,

      /*Invoice Receipt Quantity MENGE for Transaction Type - Invoice Receipt - 2*/
      case PurchaseOrderTransactionType
      when '2'     /*Invoice Receipt */
      then case PDHistory.DebitCreditCode
           when 'S'
           then PDHistory.Quantity
           else (-1 * PDHistory.Quantity)
           end
       else 0
       end                                   as InvoiceReceiptQuantity ,




       //Added the below code for Suplr Conf


      case when PurchaseOrderTransactionType = '2'
      then
        case when DebitCreditCode = 'S'
        then Quantity
        else (-1 * Quantity)
        end
      else cast(0 as abap.quan(13, 3))
      end as InvoiceReceiptQty,


       case when PurchaseOrderTransactionType = '1' and PurchaseOrderAmount is not null
      then
        case when DebitCreditCode = 'S'
        then PurchaseOrderAmount
        else -abs(PurchaseOrderAmount)
        end
      else 0
      end  as PurchaseOrderAmount


//      case when (PurchaseOrderTransactionType = '2' or PurchaseOrderTransactionType = '3')

//      then

//        case when DebitCreditCode = 'S'

//        then

//            cast(currency_conversion(

//            amount => PurchaseOrderAmount,

//            source_currency => Currency,

//            round => 'X',

//            target_currency => $parameters.P_DisplayCurrency,

//            exchange_rate_date => PostingDate,

//            error_handling => 'SET_TO_NULL'

//            ) as abap.curr(15,2))

//        else

//        (-1 * cast(currency_conversion(

//            amount => PurchaseOrderAmount,

//            source_currency => Currency,

//            round => 'X',

//            target_currency => $parameters.P_DisplayCurrency,

//            exchange_rate_date => PostingDate,

//            error_handling => 'SET_TO_NULL'

//            ) as abap.curr(15,2)))

//        end

//      else cast(0 as abap.curr(15,2))

//      end as InvoiceReceiptAmount


}
where
     ( PurchaseOrderTransactionType = '1'
  or PurchaseOrderTransactionType = '2' )
    and _PurchaseOrderItem.PurchaseOrderItemCategory <> '9'       //3074796

/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_PURCHASEORDERHISTORY",
"I_PURCHASEORDERITEM"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/