P_CmmdtyFinancialTransaction

DDL: P_CMMDTYFINANCIALTRANSACTION Type: view COMPOSITE Package: FIN_CMM_CMDTY_VDM

Commodity Financial Transaction

P_CmmdtyFinancialTransaction is a Composite CDS View that provides data about "Commodity Financial Transaction" in SAP S/4HANA. It reads from 3 data sources (P_CmmdtyFinVersSumQtyTrans, P_CmmdtyFinTransactionHeader, I_FinTransActivity) and exposes 36 fields. Part of development package FIN_CMM_CMDTY_VDM.

Data Sources (3)

SourceAliasJoin Type
P_CmmdtyFinVersSumQtyTrans CommodityDeal from
P_CmmdtyFinTransactionHeader FinancialTransaction inner
I_FinTransActivity FinTransActivity inner

Annotations (9)

NameValueLevelField
AbapCatalog.sqlViewName PCMMFINTRANS view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #NOT_REQUIRED view
VDM.viewType #COMPOSITE view
VDM.private true view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ClientHandling.algorithm #SESSION_VARIABLE view

Fields (36)

KeyFieldSource TableSource FieldDescription
CompanyCode P_CmmdtyFinTransactionHeader CompanyCode
FinancialTransaction P_CmmdtyFinTransactionHeader FinancialTransaction
CreatedByUser P_CmmdtyFinTransactionHeader CreatedByUser
FinTransCreationDate P_CmmdtyFinTransactionHeader FinTransCreationDate
FinTransCreationTime P_CmmdtyFinTransactionHeader FinTransCreationTime
FinTransContractDate I_FinTransActivity FinTransActyConclusionDate
LastChangedByUser P_CmmdtyFinTransactionHeader LastChangedByUser
LastChangeDate P_CmmdtyFinTransactionHeader LastChangeDate
FinInstrumentLastChangedTime P_CmmdtyFinTransactionHeader FinInstrumentLastChangedTime
TermStartDate P_CmmdtyFinTransactionHeader TermStartDate
TermEndDate P_CmmdtyFinTransactionHeader TermEndDate
FinTransActyConclusionDate I_FinTransActivity FinTransActyConclusionDate
FinTransActyConclusionTime I_FinTransActivity FinTransActyConclusionTime
FinTransActyConclusionTimeZone I_FinTransActivity FinTransActyConclusionTimeZone
FinancialInstrProductCategory P_CmmdtyFinTransactionHeader FinancialInstrProductCategory
FinInstrTransactionCategory P_CmmdtyFinTransactionHeader FinInstrTransactionCategory
FinancialInstrumentProductType P_CmmdtyFinTransactionHeader FinancialInstrumentProductType
FinancialInstrTransactionType P_CmmdtyFinTransactionHeader FinancialInstrTransactionType
FinancialTransactionHedgeBook P_CmmdtyFinTransactionHeader FinancialTransactionHedgeBook
Counterparty P_CmmdtyFinTransactionHeader Counterparty
DerivativeContrSpecification P_CmmdtyFinVersSumQtyTrans DerivativeContrSpecification
MarketIdentifierCode P_CmmdtyFinVersSumQtyTrans MarketIdentifierCode
FinTransFlowPaymentDate P_CmmdtyFinVersSumQtyTrans DeliveryDate
FinTransPaymentAmount P_CmmdtyFinVersSumQtyTrans CmmdtyPriceExpsrPaymentAmount
FinTransTradedPriceCurrency P_CmmdtyFinVersSumQtyTrans PaymentCurrency
FinTransactionPricingStartDate P_CmmdtyFinVersSumQtyTrans CalculationPeriodStartDate
FinTransactionPricingEndDate P_CmmdtyFinVersSumQtyTrans CalculationPeriodEndDate
FinTransTermRiskStartDate P_CmmdtyFinTransactionHeader TermStartDate
FinTransactionTermRiskEndDate P_CmmdtyFinVersSumQtyTrans CalculationPeriodEndDate
Quantity
UnitOfMeasure P_CmmdtyFinVersSumQtyTrans CommodityPriceExposureUnit
_CompanyCode P_CmmdtyFinTransactionHeader _CompanyCode
_ProductType P_CmmdtyFinTransactionHeader _ProductType
_Counterparty P_CmmdtyFinTransactionHeader _Counterparty
_TimeZone I_FinTransActivity _TimeZone
_DCS P_CmmdtyFinVersSumQtyTrans _DCS
@AbapCatalog: { sqlViewName:            'PCMMFINTRANS',
                compiler.compareFilter: true }

@AccessControl.authorizationCheck: #NOT_REQUIRED

@VDM: { viewType: #COMPOSITE,
        private: true }

@ObjectModel.usageType: { serviceQuality: #C,
                          sizeCategory:   #L,
                          dataClass:      #TRANSACTIONAL }

@ClientHandling.algorithm: #SESSION_VARIABLE

//@EndUserText.label: 'Commodity Financial Transaction'


define view P_CmmdtyFinancialTransaction

  as select from P_CmmdtyFinVersSumQtyTrans   as CommodityDeal

    inner join   P_CmmdtyFinTransactionHeader as FinancialTransaction on  CommodityDeal.CompanyCode            = FinancialTransaction.CompanyCode
                                                                      and CommodityDeal.CommodityPriceExposure = FinancialTransaction.FinancialTransaction

    inner join   I_FinTransActivity           as FinTransActivity     on  FinancialTransaction.CompanyCode                = FinTransActivity.CompanyCode
                                                                      and FinancialTransaction.FinancialTransaction       = FinTransActivity.FinancialTransaction
                                                                      and FinancialTransaction.FinInstrLastActiveActivity = FinTransActivity.FinancialInstrumentActivity

{
  //FHA

  FinancialTransaction.CompanyCode,
  FinancialTransaction.FinancialTransaction,

  FinancialTransaction.CreatedByUser,
  FinancialTransaction.FinTransCreationDate           as FinTransCreationDate,
  FinancialTransaction.FinTransCreationTime           as FinTransCreationTime,
  FinTransActivity.FinTransActyConclusionDate         as FinTransContractDate,

  FinancialTransaction.LastChangedByUser,
  FinancialTransaction.LastChangeDate,
  FinancialTransaction.FinInstrumentLastChangedTime,

  FinancialTransaction.TermStartDate,
  FinancialTransaction.TermEndDate,

  //FHAZU

  FinTransActivity.FinTransActyConclusionDate,
  FinTransActivity.FinTransActyConclusionTime,
  FinTransActivity.FinTransActyConclusionTimeZone,

  // it can be switched ON if needed -> GFN should be requested for Timestamp!

  //      dats_tims_to_tstmp( FinTransActivity.FinTransActyConclusionDate,

  //                          FinTransActivity.FinTransActyConclusionTime,

  //                          FinTransActivity.FinTransActyConclusionTimeZone,

  //                          $session.client,

  //                         'NULL' )               as FinTransActyConclusionTmStmp,


  //FHA

  FinancialTransaction.FinancialInstrProductCategory,
  FinancialTransaction.FinInstrTransactionCategory,
  FinancialTransaction.FinancialInstrumentProductType,
  //      FinancialTransaction.FinancialInstrProdTypeName,

  FinancialTransaction.FinancialInstrTransactionType,

  FinancialTransaction.FinancialTransactionHedgeBook,
  FinancialTransaction.Counterparty,

  //FHAPO / FHAPO_UNFIXED

  CommodityDeal.DerivativeContrSpecification,
  CommodityDeal.MarketIdentifierCode,

  CommodityDeal.DeliveryDate                          as FinTransFlowPaymentDate,

  @Semantics.amount.currencyCode: 'FinTransTradedPriceCurrency'
  CommodityDeal.CmmdtyPriceExpsrPaymentAmount         as FinTransPaymentAmount,
  @Semantics.amount.currencyCode: 'FinTransTradedPriceCurrency'
  case
    when CommodityDeal.CommodityPriceExposureQuantity <> 0
      then cast( div( CommodityDeal.CmmdtyPriceExpsrPaymentAmount, abs( CommodityDeal.CommodityPriceExposureQuantity ) ) as cmm_vfind_amount )
    else cast( 0 as cmm_vfind_amount)
  end                                                 as FinTransacTradedPriceAmount,
  @Semantics.currencyCode: true
  CommodityDeal.PaymentCurrency                       as FinTransTradedPriceCurrency,

  //Pricing Periods

  CommodityDeal.CalculationPeriodStartDate            as FinTransactionPricingStartDate,
  CommodityDeal.CalculationPeriodEndDate              as FinTransactionPricingEndDate,

  case CommodityDeal.TreasuryPositionLongShortCode
    when 'L' then '1' // Buy

             else '2' // Sell

  end                                                 as FinancialTransactionDirection,

  // PricingRiskPeriod -> Pricing Risk starts and ends here -> these should be used for the selection in Deal List

  FinancialTransaction.TermStartDate                  as FinTransTermRiskStartDate,
  CommodityDeal.CalculationPeriodEndDate              as FinTransactionTermRiskEndDate,

  //FHAPO / FHAPO_UNFIXED

  @Semantics.quantity.unitOfMeasure: 'UnitOfMeasure'
  abs( CommodityDeal.CommodityPriceExposureQuantity ) as Quantity,
  @Semantics.unitOfMeasure: true
  CommodityDeal.CommodityPriceExposureUnit            as UnitOfMeasure,

  /* Associations */
  FinancialTransaction._CompanyCode                   as _CompanyCode,
  FinancialTransaction._ProductType                   as _ProductType,
  FinancialTransaction._Counterparty                  as _Counterparty,
  FinTransActivity._TimeZone                          as _TimeZone,
  CommodityDeal._DCS                                  as _DCS
}
//where

//      CommodityDeal.IsNotRelevantForMTMRisk       = ''

//  and CommodityDeal.CommodityPriceExposureVersion = '0000000000'

//  and(

//       CommodityDeal.FinancialInstrProductCategory = '800' // Commodity Forward

//    or CommodityDeal.FinancialInstrProductCategory = '810' // Commodity Swap

//  )