C_ContractConsumption

DDL: C_CONTRACTCONSUMPTION SQL: CMMCONTRCNSMPN Type: view CONSUMPTION

Contract Consumption

C_ContractConsumption is a Consumption CDS View that provides data about "Contract Consumption" in SAP S/4HANA. It reads from 5 data sources (I_CalendarDate, I_PurContractClassification, I_PurchaseContract, I_PurchaseContractHistory, I_PurchaseContractItem) and exposes 20 fields with key fields PurchaseContract, PurchaseContractItem, ReleaseOrder, ReleaseOrderItem.

Data Sources (5)

SourceAliasJoin Type
I_CalendarDate CalendarDate inner
I_PurContractClassification ContractClassification inner
I_PurchaseContract PurchaseContract inner
I_PurchaseContractHistory PurchaseContractHistory from
I_PurchaseContractItem PurchaseContractItem inner

Parameters (1)

NameTypeDefault
P_PurchaseContract ebeln

Annotations (10)

NameValueLevelField
AbapCatalog.sqlViewName CMMCONTRCNSMPN view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #MANDATORY view
AccessControl.personalData.blocking #NOT_REQUIRED view
VDM.viewType #CONSUMPTION view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #L view
EndUserText.label Contract Consumption view

Fields (20)

KeyFieldSource TableSource FieldDescription
KEY PurchaseContract I_PurchaseContractHistory PurchaseContract
KEY PurchaseContractItem I_PurchaseContractHistory PurchaseContractItem
KEY ReleaseOrder ReleaseOrder
KEY ReleaseOrderItem ReleaseOrderItem
PurchaseContractClassification I_PurContractClassification PurchaseContractClassification
DocumentCurrency I_PurchaseContract DocumentCurrency
OrderQuantityUnit OrderQuantityUnit
ReleaseOrderDate ReleaseOrderDate
CalendarMonth I_CalendarDate CalendarMonth
CalendarQuarter I_CalendarDate CalendarQuarter
CalendarWeek I_CalendarDate CalendarWeek
CalendarYear I_CalendarDate CalendarYear
PurchaseContractTargetAmount I_PurchaseContract PurchaseContractTargetAmount
TargetQuantity TargetQuantity
quan130asReleaseOrderItemOrderQuantity
NumberOfReleasedOrders
Plant I_PurchaseContractHistory Plant
PurchasingOrganization I_PurchaseContractHistory PurchasingOrganization
CompanyCode I_PurchaseContractHistory CompanyCode
PurchasingGroup I_PurchaseContract PurchasingGroup
@AbapCatalog.sqlViewName: 'CMMCONTRCNSMPN'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #MANDATORY
@AccessControl.personalData.blocking: #NOT_REQUIRED
@VDM.viewType: #CONSUMPTION
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType.dataClass: #MIXED
@ObjectModel.usageType.serviceQuality:  #D
@ObjectModel.usageType.sizeCategory: #L
@EndUserText.label: 'Contract Consumption'

define view C_ContractConsumption

  with parameters
    P_PurchaseContract : ebeln

  as select from I_PurchaseContractHistory   as PurchaseContractHistory
    inner join   I_PurchaseContract          as PurchaseContract       on PurchaseContract.ActivePurchasingDocument = PurchaseContractHistory.PurchaseContract

    inner join   I_PurContractClassification as ContractClassification on PurchaseContract.PurchaseContractType = ContractClassification.PurchasingDocumentType

    inner join   I_PurchaseContractItem      as PurchaseContractItem   on  PurchaseContractItem.PurchaseContract     = PurchaseContractHistory.PurchaseContract
                                                                       and PurchaseContractItem.PurchaseContractItem = PurchaseContractHistory.PurchaseContractItem

    inner join   I_CalendarDate              as CalendarDate           on CalendarDate.CalendarDate = PurchaseContractHistory.ReleaseOrderDate
    
{
  key PurchaseContractHistory.PurchaseContract,
  key PurchaseContractHistory.PurchaseContractItem,
  key ReleaseOrder,
  key ReleaseOrderItem,

      ContractClassification.PurchaseContractClassification,

      PurchaseContract.DocumentCurrency,
      OrderQuantityUnit,
      ReleaseOrderDate,
      
      // Added for Release Order History Facet

      CalendarDate.CalendarMonth,
      CalendarDate.CalendarQuarter,
      CalendarDate.CalendarWeek,
      CalendarDate.CalendarYear,
      //

      @Semantics.amount.currencyCode: 'DocumentCurrency'
      PurchaseContract.PurchaseContractTargetAmount,

      @Semantics.quantity.unitOfMeasure: 'OrderQuantityUnit'
      TargetQuantity,
      
      @DefaultAggregation: #SUM
      @Semantics.quantity.unitOfMeasure: 'OrderQuantityUnit'
      cast( unit_conversion
            (  quantity    => ReleaseOrderItemOrderQuantity,
               source_unit => ReleaseOrderItemQuantityUnit,
               target_unit => PurchaseContractItem.OrderQuantityUnit,
               error_handling => 'KEEP_UNCONVERTED'
             ) as abap.quan( 13, 0 )  )   as ReleaseOrderItemOrderQuantity,

      @DefaultAggregation: #SUM
      @Semantics.amount.currencyCode: 'DocumentCurrency'
      cast( currency_conversion
            ( amount          => ReleaseOrderItemNetAmount,
              source_currency => ReleaseOrderCurrency,
              target_currency => PurchaseContract.DocumentCurrency,
              exchange_rate_date => ReleaseOrderDate )
      as bwert )                          as ReleaseOrderItemNetAmount,

      @DefaultAggregation: #SUM
      cast( 1 as mm_number_release_order) as NumberOfReleasedOrders,

      //Added for DCL

      PurchaseContractHistory.Plant,
      PurchaseContractHistory.PurchasingOrganization,
      PurchaseContractHistory.CompanyCode,
      PurchaseContract.PurchasingGroup

}
where
  PurchaseContractHistory.PurchaseContract = $parameters.P_PurchaseContract
and ReleaseOrderItemIsDeleted = ''                        //3020959

/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_CALENDARDATE",
"I_PURCHASECONTRACT",
"I_PURCHASECONTRACTHISTORY",
"I_PURCHASECONTRACTITEM",
"I_PURCONTRACTCLASSIFICATION"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/