P_Cctr_Curr_Conv_Distr

DDL: P_CCTR_CURR_CONV_DISTR SQL: PCCTRDISCURRCONV Type: view COMPOSITE Package: VDM_MM_PUR_CCTR

Central Purchase Contract Distribution Currency Conversion

P_Cctr_Curr_Conv_Distr is a Composite CDS View that provides data about "Central Purchase Contract Distribution Currency Conversion" in SAP S/4HANA. It reads from 2 data sources (I_CntrlPurContrDistribution, I_CntrlPurContrReleaseHistory) and exposes 19 fields with key fields CentralPurchaseContract, CentralPurchaseContractItem, DistributionKey, ReleaseOrder, ReleaseOrderItem. Part of development package VDM_MM_PUR_CCTR.

Data Sources (2)

SourceAliasJoin Type
I_CntrlPurContrDistribution _CntrlPurContrDistribution from
I_CntrlPurContrReleaseHistory _CntrlPurContrReleaseHistory left_outer

Annotations (6)

NameValueLevelField
AbapCatalog.sqlViewName PCCTRDISCURRCONV view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #NOT_REQUIRED view
AccessControl.personalData.blocking #BLOCKED_DATA_EXCLUDED view
VDM.private true view
VDM.viewType #COMPOSITE view

Fields (19)

KeyFieldSource TableSource FieldDescription
KEY CentralPurchaseContract I_CntrlPurContrDistribution CentralPurchaseContract
KEY CentralPurchaseContractItem I_CntrlPurContrDistribution CentralPurchaseContractItem
KEY DistributionKey I_CntrlPurContrDistribution DistributionKey
KEY ReleaseOrder I_CntrlPurContrReleaseHistory ReleaseOrder
KEY ReleaseOrderItem I_CntrlPurContrReleaseHistory ReleaseOrderItem
PurchaseContractType _CntrlPurchaseContractItem PurchaseContractType
ExtContractForPurg I_CntrlPurContrReleaseHistory ExtContractForPurg
ExtContractItemForPurg I_CntrlPurContrReleaseHistory ExtContractItemForPurg
DistributionTargetAmount I_CntrlPurContrDistribution TargetAmount
DistributionNetPriceAmount _CntrlPurchaseContractItem ContractNetPriceAmount
DistributionTargetQty I_CntrlPurContrDistribution TargetQuantity
ReleaseOrderItemQuantityUnit I_CntrlPurContrDistribution OrderQuantityUnit
ReleaseOrderCurrency I_CntrlPurContrDistribution DocumentCurrency
quan183asReleaseOrderItemOrderQuantity
ReleaseOrderItemNetAmount
quan183asGoodsReceiptQty
GoodsReceiptAmountInDspCrcy
quan183asCntrlPurContrInvcRcptQuantity
CntrlPurContrInvcRcptAmount
@AbapCatalog.sqlViewName: 'PCCTRDISCURRCONV'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@AccessControl.personalData.blocking: #BLOCKED_DATA_EXCLUDED
@VDM.private: true
@VDM.viewType: #COMPOSITE
define view P_Cctr_Curr_Conv_Distr as select from 

 I_CntrlPurContrDistribution as _CntrlPurContrDistribution
 //on _CentralPurchaseContract.CentralPurchaseContract = _CntrlPurContrDistribution.CentralPurchaseContract

 
  
left outer join I_CntrlPurContrReleaseHistory as _CntrlPurContrReleaseHistory 
on _CntrlPurContrDistribution.CentralPurchaseContract = _CntrlPurContrReleaseHistory.CentralPurchaseContract
and  _CntrlPurContrReleaseHistory.CentralPurchaseContractItem = _CntrlPurContrDistribution.CentralPurchaseContractItem
and _CntrlPurContrReleaseHistory.DistributionKey = _CntrlPurContrDistribution.DistributionKey

{
  key _CntrlPurContrDistribution.CentralPurchaseContract,
  key _CntrlPurContrDistribution.CentralPurchaseContractItem,
  key _CntrlPurContrDistribution.DistributionKey,
  key _CntrlPurContrReleaseHistory.ReleaseOrder,
  key _CntrlPurContrReleaseHistory.ReleaseOrderItem,
  _CntrlPurchaseContractItem.PurchaseContractType,
  _CntrlPurContrReleaseHistory.ExtContractForPurg,
  _CntrlPurContrReleaseHistory.ExtContractItemForPurg,
  _CntrlPurContrDistribution.TargetAmount as DistributionTargetAmount,
  _CntrlPurchaseContractItem.ContractNetPriceAmount as DistributionNetPriceAmount,
  _CntrlPurContrDistribution.TargetQuantity as DistributionTargetQty,
  _CntrlPurContrDistribution.OrderQuantityUnit as ReleaseOrderItemQuantityUnit,
  _CntrlPurContrDistribution.DocumentCurrency as ReleaseOrderCurrency,
//   case

//         when _CntrlPurContrClassification.PurchaseContractClassification = '1'

//          then

//             _CntrlPurContrReleaseHistory.ReleaseOrderItemNetAmount 

//         else 0

//       end                               as ConsumedValueForQuantity,


      
//for UoM conversion for qty contracts 

      cast( unit_conversion
      ( quantity        => _CntrlPurContrReleaseHistory.ReleaseOrderItemOrderQuantity,
        source_unit     => _CntrlPurContrReleaseHistory.ReleaseOrderItemQuantityUnit, 
        target_unit     => _CntrlPurContrDistribution.OrderQuantityUnit,
        error_handling  => 'KEEP_UNCONVERTED'   //'FAIL_ON_ERROR'        

      ) as abap.quan( 18, 3 ) )           as ReleaseOrderItemOrderQuantity,      
       
   
   @Semantics.amount.currencyCode: '_CentralPurchaseContract.DocumentCurrency'
      @DefaultAggregation:#SUM
      cast( _CntrlPurContrReleaseHistory.ReleaseOrderItemNetAmount as abap.curr( 23, 3 ) )
       as ReleaseOrderItemNetAmount, 
      
       cast ( unit_conversion
           ( quantity     => _CntrlPurContrReleaseHistory.GoodsReceiptQty,
             source_unit  => _CntrlPurContrReleaseHistory.ReleaseOrderItemQuantityUnit,
             target_unit  => _CntrlPurContrDistribution.OrderQuantityUnit,
             error_handling => 'KEEP_UNCONVERTED'   //'FAIL_ON_ERROR' 

             ) as abap.quan( 18, 3 )) as GoodsReceiptQty,
      
      @Semantics.amount.currencyCode: '_CentralPurchaseContract.DocumentCurrency'
      @DefaultAggregation:#SUM
      cast( _CntrlPurContrReleaseHistory.GoodsReceiptAmountInDspCrcy as abap.curr( 28, 3 ) )
       as GoodsReceiptAmountInDspCrcy,
             
      //IR Consumed Quantity

      cast ( unit_conversion
           ( quantity     => _CntrlPurContrReleaseHistory.CntrlPurContrInvcRcptQuantity,
             source_unit  => _CntrlPurContrReleaseHistory.ReleaseOrderItemQuantityUnit,
             target_unit  => _CntrlPurContrDistribution.OrderQuantityUnit,
             error_handling => 'KEEP_UNCONVERTED'   //'FAIL_ON_ERROR' 

             ) as abap.quan( 18, 3 )) as CntrlPurContrInvcRcptQuantity,
      //IR Consumed Amount  

      @Semantics.amount.currencyCode: '_CentralPurchaseContract.DocumentCurrency'
      @DefaultAggregation:#SUM
      cast( _CntrlPurContrReleaseHistory.CntrlPurContrInvcRcptAmount as abap.curr( 28, 3 ) )
       as CntrlPurContrInvcRcptAmount             

}