I_FinTransSecurity

DDL: I_FINTRANSSECURITY SQL: IFINTRANSSCRTY Type: view COMPOSITE

Fin Trans Securities Information

I_FinTransSecurity is a Composite CDS View that provides data about "Fin Trans Securities Information" in SAP S/4HANA. It reads from 2 data sources (vtbfha, R_FinTransSecurityQuantityFlow) and exposes 43 fields with key fields CompanyCode, FinancialTransaction. It has 10 associations to related views.

Data Sources (2)

SourceAliasJoin Type
vtbfha Deal from
R_FinTransSecurityQuantityFlow Flow inner

Associations (10)

CardinalityTargetAliasCondition
[0..1] I_CompanyCode _CompanyCode $projection.CompanyCode = _CompanyCode.CompanyCode
[0..1] I_FinancialTransaction _FinTrans $projection.CompanyCode = _FinTrans.CompanyCode and $projection.FinancialTransaction = _FinTrans.FinancialTransaction
[0..1] I_Currency _NominalCurrency $projection.FinTransFlowNomAmtCrcy = _NominalCurrency.Currency
[0..1] I_Currency _QuotationCurrency $projection.QuotationCurrency = _QuotationCurrency.Currency
[0..1] I_Currency _PaymentCurrency $projection.PaymentCurrency = _PaymentCurrency.Currency
[0..1] I_Currency _PositionCurrency $projection.PositionCurrency = _PositionCurrency.Currency
[0..1] I_Currency _LocalCurrency $projection.LocalCurrency = _LocalCurrency.Currency
[0..1] I_SecurityExchange _SecurityExchange $projection.SecurityExchange = _SecurityExchange.SecurityExchange
[0..1] I_SecurityClass _SecurityClass $projection.SecurityClass = _SecurityClass.SecurityClass
[0..1] I_SecurityAccount _SecurityAccount $projection.SecurityAccount = _SecurityAccount.SecurityAccount and $projection.CompanyCode = _SecurityAccount.CompanyCode

Annotations (15)

NameValueLevelField
AbapCatalog.sqlViewName IFINTRANSSCRTY view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AbapCatalog.buffering.status #NOT_ALLOWED view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #NOT_REQUIRED view
ClientHandling.algorithm #SESSION_VARIABLE view
EndUserText.label Fin Trans Securities Information view
ObjectModel.representativeKey FinancialTransaction view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #L view
Metadata.allowExtensions false view
Metadata.ignorePropagatedAnnotations true view
VDM.viewType #COMPOSITE view

Fields (43)

KeyFieldSource TableSource FieldDescription
KEY CompanyCode R_FinTransSecurityQuantityFlow CompanyCode
KEY FinancialTransaction R_FinTransSecurityQuantityFlow FinancialTransaction
FinTransTradedNomAmt R_FinTransSecurityQuantityFlow FinTransTradedNomAmt
FinTransFlowNomAmtCrcy R_FinTransSecurityQuantityFlow FinTransFlowNomAmtCrcy Nominal Currency
FinTransTradedOriglNomAmt R_FinTransSecurityQuantityFlow FinTransTradedOriglNomAmt
FinTransTradedNumberOfUnits R_FinTransSecurityQuantityFlow FinTransTradedNumberOfUnits
FinTransTradedPricePercent R_FinTransSecurityQuantityFlow FinTransTradedPricePercent
FinTransTrdPriceCrcyUnitRate R_FinTransSecurityQuantityFlow FinTransTrdPriceCrcyUnitRate
FinTransTradedPriceCrcyUnit R_FinTransSecurityQuantityFlow FinTransTradedPriceCrcyUnit
MarketValueInQtanCurrency R_FinTransSecurityQuantityFlow MarketValueInQtanCurrency
QuotationCurrency R_FinTransSecurityQuantityFlow QuotationCurrency
MarketValInPaytCurrency R_FinTransSecurityQuantityFlow MarketValInPaytCurrency
PaymentCurrency R_FinTransSecurityQuantityFlow PaymentCurrency
FinTransPaymentCrcyCnvrsnRate R_FinTransSecurityQuantityFlow FinTransPaymentCrcyCnvrsnRate
MarketValueInPositionCurrency R_FinTransSecurityQuantityFlow MarketValueInPositionCurrency
PositionCurrency R_FinTransSecurityQuantityFlow PositionCurrency
FinTransPositionCrcyCnvrsnRate R_FinTransSecurityQuantityFlow FinTransPositionCrcyCnvrsnRate
MarketValueInLocalCurrency R_FinTransSecurityQuantityFlow MarketValueInLocalCurrency
LocalCurrency R_FinTransSecurityQuantityFlow LocalCurrency
FinTransLoclCrcyCnvrsnRate R_FinTransSecurityQuantityFlow FinTransLoclCrcyCnvrsnRate
FinTransSpotPricePercent R_FinTransSecurityQuantityFlow FinTransSpotPricePercent Spot Price in Percent
FinTransSpotPriceCrcyUnitRate R_FinTransSecurityQuantityFlow FinTransSpotPriceCrcyUnitRate Spot Price in Currency Unit
FinTransMaturitySpotPricePct R_FinTransSecurityQuantityFlow FinTransMaturitySpotPricePct Maturity Spot Price in Percent
FinTransMatSpotPrcCrcyUnitRate R_FinTransSecurityQuantityFlow FinTransMatSpotPrcCrcyUnitRate Maturity Spot Price in Currency Unit
FinTransForwardPriceCostRate R_FinTransSecurityQuantityFlow FinTransForwardPriceCostRate
FinTransFwdPrcIntrstCompRate R_FinTransSecurityQuantityFlow FinTransFwdPrcIntrstCompRate
FinTransFwdPrcDividendPercent R_FinTransSecurityQuantityFlow FinTransFwdPrcDividendPercent
SecurityExchange R_FinTransSecurityQuantityFlow SecurityExchange
SecurityClass
SecurityAccount
FinTransPositionValueDate R_FinTransSecurityQuantityFlow FinTransPositionValueDate
FinTransFlowPaymentDate R_FinTransSecurityQuantityFlow FinTransFlowPaymentDate
CalculationDate R_FinTransSecurityQuantityFlow CalculationDate
_CompanyCode _CompanyCode
_FinTrans _FinTrans
_NominalCurrency _NominalCurrency
_QuotationCurrency _QuotationCurrency
_PaymentCurrency _PaymentCurrency
_PositionCurrency _PositionCurrency
_LocalCurrency _LocalCurrency
_SecurityExchange _SecurityExchange
_SecurityClass _SecurityClass
_SecurityAccount _SecurityAccount
@AbapCatalog.sqlViewName: 'IFINTRANSSCRTY'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AbapCatalog.buffering.status: #NOT_ALLOWED
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #NOT_REQUIRED
@ClientHandling.algorithm: #SESSION_VARIABLE
@EndUserText.label: 'Fin Trans Securities Information'
@ObjectModel.representativeKey: 'FinancialTransaction'
@ObjectModel.usageType.dataClass: #MIXED
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #L
@Metadata.allowExtensions:false
@Metadata.ignorePropagatedAnnotations: true // For C1-Release

@VDM.viewType: #COMPOSITE
@ObjectModel.supportedCapabilities: [ #CDS_MODELING_ASSOCIATION_TARGET, #SQL_DATA_SOURCE, #CDS_MODELING_DATA_SOURCE ]

//view shall provide securities data based on main flow

define view I_FinTransSecurity
  as select from vtbfha as Deal  
  // only the main flow of current activity

  // Both of securities quantity flow and securities payment flow contain payment information.

  // So to improve the performance, we can get all data from quantity flow directly.

    inner join   R_FinTransSecurityQuantityFlow as Flow on  Deal.bukrs          = Flow.CompanyCode
                                                        and Deal.rfha           = Flow.FinancialTransaction
                                                        and Deal.rfhazul        = Flow.FinancialInstrumentActivity
  // dimensions, containing for example text fields

  association [0..1] to I_CompanyCode          as _CompanyCode       on  $projection.CompanyCode = _CompanyCode.CompanyCode
  association [0..1] to I_FinancialTransaction as _FinTrans          on  $projection.CompanyCode          = _FinTrans.CompanyCode
                                                                     and $projection.FinancialTransaction = _FinTrans.FinancialTransaction
  association [0..1] to I_Currency             as _NominalCurrency   on  $projection.FinTransFlowNomAmtCrcy = _NominalCurrency.Currency
  association [0..1] to I_Currency             as _QuotationCurrency on  $projection.QuotationCurrency = _QuotationCurrency.Currency
  association [0..1] to I_Currency             as _PaymentCurrency   on  $projection.PaymentCurrency = _PaymentCurrency.Currency
  association [0..1] to I_Currency             as _PositionCurrency  on  $projection.PositionCurrency = _PositionCurrency.Currency
  association [0..1] to I_Currency             as _LocalCurrency     on  $projection.LocalCurrency = _LocalCurrency.Currency
  association [0..1] to I_SecurityExchange     as _SecurityExchange  on  $projection.SecurityExchange = _SecurityExchange.SecurityExchange
  association [0..1] to I_SecurityClass        as _SecurityClass     on  $projection.SecurityClass = _SecurityClass.SecurityClass
  association [0..1] to I_SecurityAccount      as _SecurityAccount   on  $projection.SecurityAccount = _SecurityAccount.SecurityAccount
                                                                     and $projection.CompanyCode     = _SecurityAccount.CompanyCode

{
      //exposed fields

      @ObjectModel.foreignKey.association: '_CompanyCode'
  key Flow.CompanyCode                                                       as CompanyCode,
      @ObjectModel.foreignKey.association: '_FinTrans'
  key Flow.FinancialTransaction                                              as FinancialTransaction,

      @Semantics.amount.currencyCode: 'FinTransFlowNomAmtCrcy'
      Flow.FinTransTradedNomAmt                                              as FinTransTradedNomAmt,
      @ObjectModel.foreignKey.association: '_NominalCurrency'
      @EndUserText.label: 'Nominal Currency'
      @EndUserText.quickInfo: 'Nominal Currency'
      Flow.FinTransFlowNomAmtCrcy                                            as FinTransFlowNomAmtCrcy,
      @Semantics.amount.currencyCode: 'FinTransFlowNomAmtCrcy'
      Flow.FinTransTradedOriglNomAmt                                         as FinTransTradedOriglNomAmt,
      Flow.FinTransTradedNumberOfUnits                                       as FinTransTradedNumberOfUnits,
      Flow.FinTransTradedPricePercent                                        as FinTransTradedPricePercent,
      Flow.FinTransTrdPriceCrcyUnitRate                                      as FinTransTrdPriceCrcyUnitRate,
      Flow.FinTransTradedPriceCrcyUnit                                       as FinTransTradedPriceCrcyUnit,
      @Semantics.amount.currencyCode: 'QuotationCurrency'
      Flow.MarketValueInQtanCurrency                                         as MarketValueInQtanCurrency,
      @ObjectModel.foreignKey.association: '_QuotationCurrency'
      Flow.QuotationCurrency                                                 as QuotationCurrency,
      @Semantics.amount.currencyCode: 'PaymentCurrency'
      Flow.MarketValInPaytCurrency                                           as MarketValInPaytCurrency,
      @ObjectModel.foreignKey.association: '_PaymentCurrency'
      Flow.PaymentCurrency                                                   as PaymentCurrency,
      Flow.FinTransPaymentCrcyCnvrsnRate                                     as FinTransPaymentCrcyCnvrsnRate,
      @Semantics.amount.currencyCode: 'PositionCurrency'
      Flow.MarketValueInPositionCurrency                                     as MarketValueInPositionCurrency,
      @ObjectModel.foreignKey.association: '_PositionCurrency'
      Flow.PositionCurrency                                                  as PositionCurrency,
      Flow.FinTransPositionCrcyCnvrsnRate                                    as FinTransPositionCrcyCnvrsnRate,
      @Semantics.amount.currencyCode: 'LocalCurrency'
      Flow.MarketValueInLocalCurrency                                        as MarketValueInLocalCurrency,
      @ObjectModel.foreignKey.association: '_LocalCurrency'
      Flow.LocalCurrency                                                     as LocalCurrency,
      Flow.FinTransLoclCrcyCnvrsnRate                                        as FinTransLoclCrcyCnvrsnRate,
      @EndUserText.label: 'Spot Price in Percent'
      @EndUserText.quickInfo: 'Spot Price in Percent'
      Flow.FinTransSpotPricePercent                                          as FinTransSpotPricePercent,
      @EndUserText.label: 'Spot Price in Currency Unit'
      @EndUserText.quickInfo: 'Spot Price in Currency Unit'
      Flow.FinTransSpotPriceCrcyUnitRate                                     as FinTransSpotPriceCrcyUnitRate,
      @EndUserText.label: 'Maturity Spot Price in Percent'
      @EndUserText.quickInfo: 'Maturity Spot Price in Percent'
      Flow.FinTransMaturitySpotPricePct                                      as FinTransMaturitySpotPricePct,
      @EndUserText.label: 'Maturity Spot Price in Currency Unit'
      @EndUserText.quickInfo: 'Maturity Spot Price in Currency Unit'
      Flow.FinTransMatSpotPrcCrcyUnitRate                                    as FinTransMatSpotPrcCrcyUnitRate,
      Flow.FinTransForwardPriceCostRate                                      as FinTransForwardPriceCostRate,
      Flow.FinTransFwdPrcIntrstCompRate                                      as FinTransFwdPrcIntrstCompRate,
      Flow.FinTransFwdPrcDividendPercent                                     as FinTransFwdPrcDividendPercent,
      @ObjectModel.foreignKey.association: '_SecurityExchange'
      Flow.SecurityExchange                                                  as SecurityExchange,
      @ObjectModel.foreignKey.association: '_SecurityClass'
      cast(Flow.SecurityClass as ftr_gen_security_class preserving type)     as SecurityClass,
      @ObjectModel.foreignKey.association: '_SecurityAccount'
      cast(Flow.SecurityAccount as ftr_gen_security_account preserving type) as SecurityAccount,
      Flow.FinTransPositionValueDate,
      Flow.FinTransFlowPaymentDate,
      Flow.CalculationDate,

      //exposed dimensions, containing for example text fields

      _CompanyCode,
      _FinTrans,
      _NominalCurrency,
      _QuotationCurrency,
      _PaymentCurrency,
      _PositionCurrency,
      _LocalCurrency,
      _SecurityExchange,
      _SecurityClass,
      _SecurityAccount
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"R_FINTRANSSECURITYQUANTITYFLOW",
"VTBFHA"
],
"ASSOCIATED":
[
"I_COMPANYCODE",
"I_CURRENCY",
"I_FINANCIALTRANSACTION",
"I_SECURITYACCOUNT",
"I_SECURITYCLASS",
"I_SECURITYEXCHANGE"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/