P_FXOptionTransBusVol

DDL: P_FXOPTIONTRANSBUSVOL SQL: PFXBUSVOLDATE Type: view COMPOSITE

P_FXOptionTransBusVol is a Composite CDS View in SAP S/4HANA. It reads from 4 data sources (I_FinTransActivity, R_FinTransFXOption, P_FinTransBusVolKeyDate, I_FinancialTransaction) and exposes 10 fields with key fields FinancialTransaction, KeyDate.

Data Sources (4)

SourceAliasJoin Type
I_FinTransActivity Activity inner
R_FinTransFXOption Option inner
P_FinTransBusVolKeyDate P_FinTransBusVolKeyDate from
I_FinancialTransaction Trans inner

Parameters (3)

NameTypeDefault
P_StartDate vdm_v_start_date
P_EndDate vdm_v_end_date
P_FinTransAmtRptgFrequency ftr_date_granularity

Annotations (10)

NameValueLevelField
AbapCatalog.sqlViewName PFXBUSVOLDATE view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #NOT_REQUIRED view
VDM.private true view
VDM.viewType #COMPOSITE view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #MIXED view
ClientHandling.algorithm #SESSION_VARIABLE view

Fields (10)

KeyFieldSource TableSource FieldDescription
KEY FinancialTransaction R_FinTransFXOption FinancialTransaction
KEY KeyDate CalendarDate KeyDate
TransactionCurrency R_FinTransFXOption OptionUndrlgTradedCurrency
Counterparty R_FinTransFXOption Counterparty
CompanyCode R_FinTransFXOption CompanyCode
FinTransProductGroup
FinancialInstrumentProductType I_FinancialTransaction FinancialInstrumentProductType
FinancialInstrTransactionType I_FinancialTransaction FinancialInstrTransactionType
Portfolio I_FinancialTransaction Portfolio
SecurityAccount
@AbapCatalog.sqlViewName: 'PFXBUSVOLDATE'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@VDM.private: true
@VDM.viewType: #COMPOSITE
@ObjectModel.usageType.serviceQuality:#D
@ObjectModel.usageType.sizeCategory: #L
@ObjectModel.usageType.dataClass: #MIXED
@ClientHandling.algorithm: #SESSION_VARIABLE
define view P_FXOptionTransBusVol 
    with parameters
    @Environment.systemField: #SYSTEM_DATE
    P_StartDate               : vdm_v_start_date,
    @Environment.systemField: #SYSTEM_DATE
    P_EndDate                 : vdm_v_end_date,
    P_FinTransAmtRptgFrequency : ftr_date_granularity
as select from P_FinTransBusVolKeyDate(P_StartDate : $parameters.P_StartDate,
                                       P_EndDate   : $parameters.P_EndDate,
                                       P_FinTransAmtRptgFrequency : $parameters.P_FinTransAmtRptgFrequency) as CalendarDate 
  inner join R_FinTransFXOption     as Option   on CalendarDate.KeyDate >= Option.TermStartDate
                                              // and CalendarDate.KeyDate <= Option.OptionExpirationDate  

  inner join I_FinTransActivity     as Activity on Activity.FinancialTransaction = Option.FinancialTransaction
                                               and Activity.CompanyCode          = Option.CompanyCode
                                               and Activity.TermEndDate         >= CalendarDate.KeyDate
  inner join I_FinancialTransaction as Trans    on Activity.CompanyCode                 = Trans.CompanyCode
                                               and Activity.FinancialTransaction        = Trans.FinancialTransaction
                                               and Activity.FinancialInstrumentActivity = Trans.FinInstrLastActiveActivity
                                                                                   
{
  key Option.FinancialTransaction,
  key CalendarDate.KeyDate,     
      Option.OptionUndrlgTradedCurrency as TransactionCurrency,
      //Set the Amount to Zero on TermEndDate

      case when KeyDate = Activity.TermEndDate
           then 0
           else Option.OptionUndrlgTradedAmount 
      end as AmountInTransactionCurrency,      
      Option.Counterparty,
      Option.CompanyCode,
      cast('FX' as ftr_productgroup)  as FinTransProductGroup,
      Trans.FinancialInstrumentProductType,
      Trans.FinancialInstrTransactionType,
      Trans.Portfolio,
      cast('' as ftr_gen_security_account) as SecurityAccount
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_FINANCIALTRANSACTION",
"I_FINTRANSACTIVITY",
"P_FINTRANSBUSVOLKEYDATE",
"R_FINTRANSFXOPTION"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/