P_CmmdtyFinancialTransaction
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)
| Source | Alias | Join Type |
|---|---|---|
| P_CmmdtyFinVersSumQtyTrans | CommodityDeal | from |
| P_CmmdtyFinTransactionHeader | FinancialTransaction | inner |
| I_FinTransActivity | FinTransActivity | inner |
Annotations (9)
| Name | Value | Level | Field |
|---|---|---|---|
| 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)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| 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
// )
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA