I_FinTransFlow

DDL: I_FINTRANSFLOW SQL: IFINTRANSFLOW Type: view COMPOSITE

Financial Transaction Flow

I_FinTransFlow is a Composite CDS View that provides data about "Financial Transaction Flow" in SAP S/4HANA. It reads from 4 data sources (R_FinTransCashFlowActivity, R_FinTransCashFlowActivity, R_FinTransFlow, R_FinTransUnfixedFlow) and exposes 169 fields with key fields CompanyCode, FinancialTransaction, FinancialInstrumentActivity, FinTransFlowCreationDate, FinTransFlowCreationTime. It has 21 associations to related views.

Data Sources (4)

SourceAliasJoin Type
R_FinTransCashFlowActivity Activity from
R_FinTransCashFlowActivity Activity union_all
R_FinTransFlow Flow inner
R_FinTransUnfixedFlow Flow_Unfixed inner

Associations (21)

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_FinTransActivity _Activity $projection.CompanyCode = _Activity.CompanyCode and $projection.FinancialTransaction = _Activity.FinancialTransaction and $projection.FinancialInstrumentActivity = _Activity.FinancialInstrumentActivity
[0..1] I_TreasuryContractType _ContractType $projection.TreasuryContractType = _ContractType.TreasuryContractType
[0..1] I_FinTransFlowCategory _FlowCategory $projection.FinTransFlowCategory = _FlowCategory.FinTransFlowCategory
[0..1] I_FinTransFlowType _FlowType $projection.TreasuryContractType = _FlowType.TreasuryContractType and $projection.FinTransFlowType = _FlowType.FinTransFlowType
[0..1] I_Currency _PaymentCurrency $projection.FinTransFlowPaytAmtCrcy = _PaymentCurrency.Currency
[0..1] I_Currency _NominalCurrency $projection.FinTransFlowNomAmtCrcy = _NominalCurrency.Currency
[0..1] I_Currency _LocalCurrency $projection.LocalCurrency = _LocalCurrency.Currency
[0..1] I_Currency _BaseAmtCurrency $projection.FinTransFlowCalcBaseAmountCrcy = _BaseAmtCurrency.Currency
[0..1] I_FinTransFlowPostgStatus _PostingStatus $projection.FinTransFlowPostingStatus = _PostingStatus.FinTransFlowPostingStatus
[0..1] I_FinTransFlowPostgBlkgRsn _PostingBlkgRsn $projection.FinTransFlowPostingBlkgReason = _PostingBlkgRsn.FinTransFlowPostingBlkgReason
[0..1] I_FinIntrstRateAdjmtStatus _AdjmtStatus $projection.FinInterestRateAdjmtStatus = _AdjmtStatus.FinInterestRateAdjmtStatus
[0..1] I_Housebank _HouseBank $projection.CompanyCode = _HouseBank.CompanyCode and $projection.HouseBank = _HouseBank.HouseBank
[0..1] I_HouseBankAccount _HouseBankAccount $projection.CompanyCode = _HouseBankAccount.CompanyCode and $projection.HouseBank = _HouseBankAccount.HouseBank and $projection.HouseBankAccount = _HouseBankAccount.HouseBankAccount
[0..1] I_BusinessPartner _PayerPayee $projection.PayerPayee = _PayerPayee.BusinessPartner
[0..1] I_Country _Country $projection.Country = _Country.Country
[0..1] I_PaymentMethod _PaymentMethod $projection.PaymentMethod = _PaymentMethod.PaymentMethod and $projection.Country = _PaymentMethod.Country
[0..1] I_Paymentmethodsupplement _PaymentMethodSupp $projection.PaymentMethodSupplement = _PaymentMethodSupp.PaymentMethodSupplement
[0..1] I_PaymentRequest _PaymentRequest $projection.PaymentRequest = _PaymentRequest.PaymentRequest
[0..1] I_FinTransactionDirection _Direction $projection.FinancialTransactionDirection = _Direction.FinancialTransactionDirection

Annotations (14)

NameValueLevelField
AbapCatalog.sqlViewName IFINTRANSFLOW 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 Financial Transaction Flow view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #XL view
Metadata.allowExtensions false view
Metadata.ignorePropagatedAnnotations true view
VDM.viewType #COMPOSITE view

Fields (169)

KeyFieldSource TableSource FieldDescription
KEY CompanyCode R_FinTransFlow CompanyCode
KEY FinancialTransaction R_FinTransFlow FinancialTransaction
KEY FinancialInstrumentActivity R_FinTransFlow FinancialInstrumentActivity
KEY FinTransFlowCreationDate R_FinTransFlow FinTransFlowCreationDate
KEY FinTransFlowCreationTime R_FinTransFlow FinTransFlowCreationTime
KEY FinTransFlowNumber R_FinTransFlow FinTransFlowNumber
TreasuryContractType R_FinTransFlow TreasuryContractType
FinTransFlowCategory R_FinTransFlow FinTransFlowCategory
FinTransFlowType R_FinTransFlow FinTransFlowType
FinTransFlowPaytAmt R_FinTransFlow FinTransFlowPaytAmt
FinTransFlowPaytAmtCrcy R_FinTransFlow FinTransFlowPaytAmtCrcy
FinTransFlowPaytAmtDirection R_FinTransFlow FinTransFlowPaytAmtDirection Payment Amount Direction
FinTransFlowNomAmt R_FinTransFlow FinTransFlowNomAmt Nominal Amount
FinTransFlowNomAmtCrcy R_FinTransFlow FinTransFlowNomAmtCrcy Nominal Amount Currency
FinTransFlowInLoclCrcyPaytAmt R_FinTransFlow FinTransFlowInLoclCrcyPaytAmt
LocalCurrency _CompanyCode Currency
FinTransFlowLoclCrcyCnvrsnRate R_FinTransFlow FinTransFlowLoclCrcyCnvrsnRate
FinTransFlowPaymentDate R_FinTransFlow FinTransFlowPaymentDate
FinTransFlowPaymentDueDate R_FinTransFlow FinTransFlowPaymentDueDate
FinTransFlowPostingDate R_FinTransFlow FinTransFlowPostingDate
FinTransFlowIntrstRateFixDate R_FinTransFlow FinTransFlowIntrstRateFixDate
CalculationPeriodStartDate R_FinTransFlow CalculationPeriodStartDate
CalcPeriodStartDateIsMonthEnd R_FinTransFlow CalcPeriodStartDateIsMonthEnd
CalculationPeriodEndDate R_FinTransFlow CalculationPeriodEndDate
CalcPeriodEndDateIsMonthEnd R_FinTransFlow CalcPeriodEndDateIsMonthEnd
NumberOfCalculationDays R_FinTransFlow NumberOfCalculationDays
InterestCalculationMethod R_FinTransFlow InterestCalculationMethod
FinTransFlowCalcBaseAmount R_FinTransFlow FinTransFlowCalcBaseAmount
FinTransFlowCalcBaseAmountCrcy R_FinTransFlow FinTransFlowCalcBaseAmountCrcy
ConditionPercentageRate R_FinTransFlow ConditionPercentageRate
FinTransPresentationItemID R_FinTransFlow FinTransPresentationItemID
FinTransFlowPostingStatus R_FinTransFlow FinTransFlowPostingStatus
FinTransFlowPostingBlkgReason R_FinTransFlow FinTransFlowPostingBlkgReason
FinTransFlowPostingRelease R_FinTransFlow FinTransFlowPostingRelease
FinInterestRateAdjmtStatus R_FinTransFlow FinInterestRateAdjmtStatus
RepetitiveCode
PaymentRepetitiveCode
HouseBank R_FinTransFlow HouseBank
HouseBankAccount R_FinTransFlow HouseBankAccount
PayerPayee R_FinTransFlow PayerPayee
PayerPayeeBankDetail R_FinTransFlow PayerPayeeBankDetail
Country _CompanyCode Country
PaymentMethod R_FinTransFlow PaymentMethod
PaymentMethodsList R_FinTransFlow PaymentMethodsList
PaymentMethodSupplement R_FinTransFlow PaymentMethodSupplement
TreasuryIndividualPayment R_FinTransFlow TreasuryIndividualPayment
TrsyPaytGroupingSameDrctnIsRqd R_FinTransFlow TrsyPaytGroupingSameDrctnIsRqd
TreasuryPaymentRequestGrouping R_FinTransFlow TreasuryPaymentRequestGrouping
TreasuryIntGrpgForPaytValue R_FinTransFlow TreasuryIntGrpgForPaytValue
PaymentRequest R_FinTransFlow PaymentRequest
FinancialTransactionDirection R_FinTransFlow FinancialTransactionDirection
FinInstrConditionLogicGroup R_FinTransFlow FinInstrConditionLogicGroup
AssignmentReference R_FinTransFlow AssignmentReference
FinTransFlwLoclCrcyAmtCalcType R_FinTransFlow FinTransFlwLoclCrcyAmtCalcType
FinTransFlowCalculationDate R_FinTransFlow FinTransFlowCalculationDate
FlowCalcDateIsExclusive R_FinTransFlow FlowCalcDateIsExclusive
FlowCalcDateIsMonthEnd R_FinTransFlow FlowCalcDateIsMonthEnd
IntrstCalcMethFactoryCalendar R_FinTransFlow IntrstCalcMethFactoryCalendar
InterestCalculationType R_FinTransFlow InterestCalculationType
CalcPeriodStartDateIsInclusive R_FinTransFlow CalcPeriodStartDateIsInclusive
CalcPeriodEndDateIsInclusive R_FinTransFlow CalcPeriodEndDateIsInclusive
FinTransFlwDerivationProcedure R_FinTransFlow FinTransFlwDerivationProcedure
FinTransPaytRateInPercent
PaymentReason R_FinTransFlow PaymentReason
_CompanyCode _CompanyCode
_FinTrans _FinTrans
_Activity _Activity
_ContractType _ContractType
_FlowCategory _FlowCategory
_FlowType _FlowType
_PaymentCurrency _PaymentCurrency
_NominalCurrency _NominalCurrency
_LocalCurrency _LocalCurrency
_BaseAmtCurrency _BaseAmtCurrency
_PostingStatus _PostingStatus
_PostingBlkgRsn _PostingBlkgRsn
_AdjmtStatus _AdjmtStatus
_HouseBank _HouseBank
_HouseBankAccount _HouseBankAccount
_PayerPayee _PayerPayee
_Country _Country
_PaymentMethod _PaymentMethod
_PaymentMethodSupp _PaymentMethodSupp
_PaymentRequest _PaymentRequest
CompanyCodeasCompanyCode
KEY FinancialTransaction R_FinTransUnfixedFlow FinancialTransaction
KEY FinancialInstrumentActivity R_FinTransUnfixedFlow FinancialInstrumentActivity
KEY FinTransFlowCreationDate R_FinTransUnfixedFlow FinTransFlowCreationDate
KEY FinTransFlowCreationTime R_FinTransUnfixedFlow FinTransFlowCreationTime
KEY FinTransFlowNumber R_FinTransUnfixedFlow FinTransFlowNumber
TreasuryContractType R_FinTransUnfixedFlow TreasuryContractType
FinTransFlowCategory R_FinTransUnfixedFlow FinTransFlowCategory
FinTransFlowType R_FinTransUnfixedFlow FinTransFlowType
FinTransFlowPaytAmt R_FinTransUnfixedFlow FinTransFlowPaytAmt
FinTransFlowPaytAmtCrcy R_FinTransUnfixedFlow FinTransFlowPaytAmtCrcy
FinTransFlowPaytAmtDirection R_FinTransUnfixedFlow FinTransFlowPaytAmtDirection Payment Amount Direction
FinTransFlowNomAmt R_FinTransUnfixedFlow FinTransFlowNomAmt Nominal Amount
FinTransFlowNomAmtCrcy R_FinTransUnfixedFlow FinTransFlowNomAmtCrcy Nominal Amount Currency
FinTransFlowInLoclCrcyPaytAmt R_FinTransUnfixedFlow FinTransFlowInLoclCrcyPaytAmt
LocalCurrency R_FinTransUnfixedFlow LocalCurrency
FinTransFlowLoclCrcyCnvrsnRate R_FinTransUnfixedFlow FinTransFlowLoclCrcyCnvrsnRate
FinTransFlowPaymentDate R_FinTransUnfixedFlow FinTransFlowPaymentDate
FinTransFlowPaymentDueDate R_FinTransUnfixedFlow FinTransFlowPaymentDueDate
FinTransFlowPostingDate R_FinTransUnfixedFlow FinTransFlowPostingDate
FinTransFlowIntrstRateFixDate R_FinTransUnfixedFlow FinTransFlowIntrstRateFixDate
CalculationPeriodStartDate R_FinTransUnfixedFlow CalculationPeriodStartDate
CalcPeriodStartDateIsMonthEnd R_FinTransUnfixedFlow CalcPeriodStartDateIsMonthEnd
CalculationPeriodEndDate R_FinTransUnfixedFlow CalculationPeriodEndDate
CalcPeriodEndDateIsMonthEnd R_FinTransUnfixedFlow CalcPeriodEndDateIsMonthEnd
NumberOfCalculationDays R_FinTransUnfixedFlow NumberOfCalculationDays
InterestCalculationMethod R_FinTransUnfixedFlow InterestCalculationMethod
FinTransFlowCalcBaseAmount R_FinTransUnfixedFlow FinTransFlowCalcBaseAmount
FinTransFlowCalcBaseAmountCrcy R_FinTransUnfixedFlow FinTransFlowCalcBaseAmountCrcy
ConditionPercentageRate R_FinTransUnfixedFlow ConditionPercentageRate
FinTransPresentationItemID R_FinTransUnfixedFlow FinTransPresentationItemID
FinTransFlowPostingStatus R_FinTransUnfixedFlow FinTransFlowPostingStatus
FinTransFlowPostingBlkgReason R_FinTransUnfixedFlow FinTransFlowPostingBlkgReason
FinTransFlowPostingRelease R_FinTransUnfixedFlow FinTransFlowPostingRelease
FinInterestRateAdjmtStatus R_FinTransUnfixedFlow FinInterestRateAdjmtStatus
RepetitiveCode R_FinTransUnfixedFlow RepetitiveCode
PaymentRepetitiveCode
HouseBank R_FinTransUnfixedFlow HouseBank
HouseBankAccount R_FinTransUnfixedFlow HouseBankAccount
PayerPayee R_FinTransUnfixedFlow PayerPayee
PayerPayeeBankDetail R_FinTransUnfixedFlow PayerPayeeBankDetail
Country R_FinTransUnfixedFlow Country
PaymentMethod R_FinTransUnfixedFlow PaymentMethod
PaymentMethodsList R_FinTransUnfixedFlow PaymentMethodsList
PaymentMethodSupplement R_FinTransUnfixedFlow PaymentMethodSupplement
TreasuryIndividualPayment R_FinTransUnfixedFlow TreasuryIndividualPayment
TrsyPaytGroupingSameDrctnIsRqd R_FinTransUnfixedFlow TrsyPaytGroupingSameDrctnIsRqd
TreasuryPaymentRequestGrouping R_FinTransUnfixedFlow TreasuryPaymentRequestGrouping
TreasuryIntGrpgForPaytValue R_FinTransUnfixedFlow TreasuryIntGrpgForPaytValue
PaymentRequest R_FinTransUnfixedFlow PaymentRequest
FinancialTransactionDirection R_FinTransUnfixedFlow FinancialTransactionDirection
FinInstrConditionLogicGroup R_FinTransUnfixedFlow FinInstrConditionLogicGroup
AssignmentReference R_FinTransUnfixedFlow AssignmentReference
FinTransFlwLoclCrcyAmtCalcType R_FinTransUnfixedFlow FinTransFlwLoclCrcyAmtCalcType
FinTransFlowCalculationDate R_FinTransUnfixedFlow FinTransFlowCalculationDate
FlowCalcDateIsExclusive R_FinTransUnfixedFlow FlowCalcDateIsExclusive
FlowCalcDateIsMonthEnd R_FinTransUnfixedFlow FlowCalcDateIsMonthEnd
IntrstCalcMethFactoryCalendar R_FinTransUnfixedFlow IntrstCalcMethFactoryCalendar
InterestCalculationType R_FinTransUnfixedFlow InterestCalculationType
CalcPeriodStartDateIsInclusive R_FinTransUnfixedFlow CalcPeriodStartDateIsInclusive
CalcPeriodEndDateIsInclusive R_FinTransUnfixedFlow CalcPeriodEndDateIsInclusive
FinTransFlwDerivationProcedure R_FinTransUnfixedFlow FinTransFlwDerivationProcedure
FinTransPaytRateInPercent R_FinTransUnfixedFlow FinTransPaytRateInPercent
PaymentReason R_FinTransUnfixedFlow PaymentReason
_CompanyCode _CompanyCode
_FinTrans _FinTrans
_Activity _Activity
_ContractType _ContractType
_FlowCategory _FlowCategory
_FlowType _FlowType
_PaymentCurrency _PaymentCurrency
_NominalCurrency _NominalCurrency
_LocalCurrency _LocalCurrency
_BaseAmtCurrency _BaseAmtCurrency
_PostingStatus _PostingStatus
_PostingBlkgRsn _PostingBlkgRsn
_AdjmtStatus _AdjmtStatus
_HouseBank _HouseBank
_HouseBankAccount _HouseBankAccount
_PayerPayee _PayerPayee
_Country _Country
_PaymentMethod _PaymentMethod
_PaymentMethodSupp _PaymentMethodSupp
_PaymentRequest _PaymentRequest
_Direction _Direction
@AbapCatalog.sqlViewName: 'IFINTRANSFLOW'
@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: 'Financial Transaction Flow'
@ObjectModel.usageType.dataClass: #MIXED
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #XL
@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 flow as it is visible in FTR_EDIT on cash flow tab

//therefor flows from several cash flow activities have to be provided

define view I_FinTransFlow
  //all activities containing flows

  as select from R_FinTransCashFlowActivity as Activity
  //all flows of these activities (within where-condition they are restricted)

    inner join   R_FinTransFlow             as Flow on  Activity.CompanyCode                           =  Flow.CompanyCode
                                                    and Activity.FinancialTransaction                  =  Flow.FinancialTransaction
                                                    and Activity.FinancialInstrumentActivity           =  Flow.FinancialInstrumentActivity
                                                    and (
                                                       (
                                                                                                       not(
                                                           Flow.FinTransFlowCategory                   =  '12'
                                                           and(
                                                             Activity.FinancialInstrProductCategory    =  '850'
                                                             or Activity.FinancialInstrProductCategory =  '860'
                                                           )
                                                         ) //repayment

                                                       )
                                                       or(
                                                         (
                                                           Activity.FinancialInstrProductCategory      =  '850'
                                                           or Activity.FinancialInstrProductCategory   =  '860'
                                                         )
                                                         and Flow.FinTransFlowCategory                 =  '12'
                                                         and Flow.FinancialInstrumentActivity          =  Activity.FinInstrLastActiveActivity
                                                       )
                                                     )

  // 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_FinTransActivity         as _Activity          on  $projection.CompanyCode                 = _Activity.CompanyCode
                                                                         and $projection.FinancialTransaction        = _Activity.FinancialTransaction
                                                                         and $projection.FinancialInstrumentActivity = _Activity.FinancialInstrumentActivity
  association [0..1] to I_TreasuryContractType     as _ContractType      on  $projection.TreasuryContractType = _ContractType.TreasuryContractType
  association [0..1] to I_FinTransFlowCategory     as _FlowCategory      on  $projection.FinTransFlowCategory = _FlowCategory.FinTransFlowCategory
  association [0..1] to I_FinTransFlowType         as _FlowType          on  $projection.TreasuryContractType = _FlowType.TreasuryContractType
                                                                         and $projection.FinTransFlowType     = _FlowType.FinTransFlowType
  association [0..1] to I_Currency                 as _PaymentCurrency   on  $projection.FinTransFlowPaytAmtCrcy = _PaymentCurrency.Currency
  association [0..1] to I_Currency                 as _NominalCurrency   on  $projection.FinTransFlowNomAmtCrcy = _NominalCurrency.Currency
  association [0..1] to I_Currency                 as _LocalCurrency     on  $projection.LocalCurrency = _LocalCurrency.Currency
  association [0..1] to I_Currency                 as _BaseAmtCurrency   on  $projection.FinTransFlowCalcBaseAmountCrcy = _BaseAmtCurrency.Currency
  association [0..1] to I_FinTransFlowPostgStatus  as _PostingStatus     on  $projection.FinTransFlowPostingStatus = _PostingStatus.FinTransFlowPostingStatus
  association [0..1] to I_FinTransFlowPostgBlkgRsn as _PostingBlkgRsn    on  $projection.FinTransFlowPostingBlkgReason = _PostingBlkgRsn.FinTransFlowPostingBlkgReason
  association [0..1] to I_FinIntrstRateAdjmtStatus as _AdjmtStatus       on  $projection.FinInterestRateAdjmtStatus = _AdjmtStatus.FinInterestRateAdjmtStatus
  association [0..1] to I_Housebank                as _HouseBank         on  $projection.CompanyCode = _HouseBank.CompanyCode
                                                                         and $projection.HouseBank   = _HouseBank.HouseBank
  association [0..1] to I_HouseBankAccount         as _HouseBankAccount  on  $projection.CompanyCode      = _HouseBankAccount.CompanyCode
                                                                         and $projection.HouseBank        = _HouseBankAccount.HouseBank
                                                                         and $projection.HouseBankAccount = _HouseBankAccount.HouseBankAccount
  association [0..1] to I_BusinessPartner          as _PayerPayee        on  $projection.PayerPayee = _PayerPayee.BusinessPartner
  association [0..1] to I_Country                  as _Country           on  $projection.Country = _Country.Country
  association [0..1] to I_PaymentMethod            as _PaymentMethod     on  $projection.PaymentMethod = _PaymentMethod.PaymentMethod
                                                                         and $projection.Country       = _PaymentMethod.Country
  association [0..1] to I_Paymentmethodsupplement  as _PaymentMethodSupp on  $projection.PaymentMethodSupplement = _PaymentMethodSupp.PaymentMethodSupplement
  association [0..1] to I_PaymentRequest           as _PaymentRequest    on  $projection.PaymentRequest = _PaymentRequest.PaymentRequest
  association [0..1] to I_FinTransactionDirection  as _Direction         on  $projection.FinancialTransactionDirection = _Direction.FinancialTransactionDirection
{
      //exposed fields

      @ObjectModel.foreignKey.association: '_CompanyCode'
  key Flow.CompanyCode                                    as CompanyCode,
      @ObjectModel.foreignKey.association: '_FinTrans'
  key Flow.FinancialTransaction                           as FinancialTransaction,
      @ObjectModel.foreignKey.association: '_Activity'
  key Flow.FinancialInstrumentActivity                    as FinancialInstrumentActivity,
  key Flow.FinTransFlowCreationDate                       as FinTransFlowCreationDate,
  key Flow.FinTransFlowCreationTime                       as FinTransFlowCreationTime,
  key Flow.FinTransFlowNumber                             as FinTransFlowNumber,

      @ObjectModel.foreignKey.association: '_ContractType'
      Flow.TreasuryContractType                           as TreasuryContractType,
      @ObjectModel.foreignKey.association: '_FlowCategory'
      Flow.FinTransFlowCategory                           as FinTransFlowCategory,
      @ObjectModel.foreignKey.association: '_FlowType'
      Flow.FinTransFlowType                               as FinTransFlowType,

      @Semantics.amount.currencyCode: 'FinTransFlowPaytAmtCrcy'
      Flow.FinTransFlowPaytAmt                            as FinTransFlowPaytAmt,
      @ObjectModel.foreignKey.association: '_PaymentCurrency'
      @Semantics.currencyCode: true
      Flow.FinTransFlowPaytAmtCrcy                        as FinTransFlowPaytAmtCrcy,
      @EndUserText.label: 'Payment Amount Direction'
      @EndUserText.quickInfo: 'Payment Amount Direction'
      Flow.FinTransFlowPaytAmtDirection                   as FinTransFlowPaytAmtDirection,
      @Semantics.amount.currencyCode: 'FinTransFlowNomAmtCrcy'
      @EndUserText.label: 'Nominal Amount'
      @EndUserText.quickInfo: 'Nominal Amount'
      Flow.FinTransFlowNomAmt                             as FinTransFlowNomAmt,
      @ObjectModel.foreignKey.association: '_NominalCurrency'
      @EndUserText.label: 'Nominal Amount Currency'
      @EndUserText.quickInfo: 'Nominal Amount Currency'
      Flow.FinTransFlowNomAmtCrcy                         as FinTransFlowNomAmtCrcy,
      @Semantics.amount.currencyCode: 'LocalCurrency'
      Flow.FinTransFlowInLoclCrcyPaytAmt                  as FinTransFlowInLoclCrcyPaytAmt,
      @ObjectModel.foreignKey.association: '_LocalCurrency'
      _CompanyCode.Currency                               as LocalCurrency,
      Flow.FinTransFlowLoclCrcyCnvrsnRate                 as FinTransFlowLoclCrcyCnvrsnRate,
      Flow.FinTransFlowPaymentDate                        as FinTransFlowPaymentDate,
      Flow.FinTransFlowPaymentDueDate                     as FinTransFlowPaymentDueDate,
      Flow.FinTransFlowPostingDate                        as FinTransFlowPostingDate,
      Flow.FinTransFlowIntrstRateFixDate                  as FinTransFlowIntrstRateFixDate,

      Flow.CalculationPeriodStartDate                     as CalculationPeriodStartDate,
      @Semantics.booleanIndicator: true
      Flow.CalcPeriodStartDateIsMonthEnd                  as CalcPeriodStartDateIsMonthEnd,
      Flow.CalculationPeriodEndDate                       as CalculationPeriodEndDate,
      @Semantics.booleanIndicator: true
      Flow.CalcPeriodEndDateIsMonthEnd                    as CalcPeriodEndDateIsMonthEnd,
      Flow.NumberOfCalculationDays                        as NumberOfCalculationDays,
      Flow.InterestCalculationMethod                      as InterestCalculationMethod,
      @Semantics.amount.currencyCode: 'FinTransFlowCalcBaseAmountCrcy'
      Flow.FinTransFlowCalcBaseAmount                     as FinTransFlowCalcBaseAmount,
      @ObjectModel.foreignKey.association: '_BaseAmtCurrency'
      Flow.FinTransFlowCalcBaseAmountCrcy                 as FinTransFlowCalcBaseAmountCrcy,

      Flow.ConditionPercentageRate                        as ConditionPercentageRate,

      Flow.FinTransPresentationItemID                     as FinTransPresentationItemID,

      @ObjectModel.foreignKey.association: '_PostingStatus'
      Flow.FinTransFlowPostingStatus                      as FinTransFlowPostingStatus,
      @ObjectModel.foreignKey.association: '_PostingBlkgRsn'
      Flow.FinTransFlowPostingBlkgReason                  as FinTransFlowPostingBlkgReason,
      Flow.FinTransFlowPostingRelease                     as FinTransFlowPostingRelease,

      @ObjectModel.foreignKey.association: '_AdjmtStatus'
      Flow.FinInterestRateAdjmtStatus                     as FinInterestRateAdjmtStatus,

      //@ObjectModel.foreignKey.association:  not possible to I_RepetitiveCode as it is not released

      @API.element.releaseState: #DEPRECATED
      @API.element.successor: 'PaymentRepetitiveCode'
      cast( Flow.RepetitiveCode as rpcode )               as RepetitiveCode,
      cast( Flow.RepetitiveCode as farp_repetitive_code ) as PaymentRepetitiveCode,
      @ObjectModel.foreignKey.association: '_HouseBank'
      Flow.HouseBank                                      as HouseBank,
      @ObjectModel.foreignKey.association: '_HouseBankAccount'
      Flow.HouseBankAccount                               as HouseBankAccount,
      @ObjectModel.foreignKey.association: '_PayerPayee'
      Flow.PayerPayee                                     as PayerPayee,
      Flow.PayerPayeeBankDetail                           as PayerPayeeBankDetail,
      @ObjectModel.foreignKey.association: '_Country'
      _CompanyCode.Country                                as Country,
      @ObjectModel.foreignKey.association: '_PaymentMethod'
      Flow.PaymentMethod                                  as PaymentMethod,
      Flow.PaymentMethodsList                             as PaymentMethodsList,
      @ObjectModel.foreignKey.association: '_PaymentMethodSupp'
      Flow.PaymentMethodSupplement                        as PaymentMethodSupplement,
      Flow.TreasuryIndividualPayment                      as TreasuryIndividualPayment,
      Flow.TrsyPaytGroupingSameDrctnIsRqd                 as TrsyPaytGroupingSameDrctnIsRqd,
      Flow.TreasuryPaymentRequestGrouping                 as TreasuryPaymentRequestGrouping,
      Flow.TreasuryIntGrpgForPaytValue                    as TreasuryIntGrpgForPaytValue,
      //@ObjectModel.foreignKey.association: '_PaymentRequest' - not possible as target view has no representative key

      Flow.PaymentRequest                                 as PaymentRequest,

      @ObjectModel.foreignKey.association: '_Direction'
      Flow.FinancialTransactionDirection                  as FinancialTransactionDirection,
      Flow.FinInstrConditionLogicGroup                    as FinInstrConditionLogicGroup,
      
      Flow.AssignmentReference                            as AssignmentReference,
      Flow.FinTransFlwLoclCrcyAmtCalcType                 as FinTransFlwLoclCrcyAmtCalcType,
      Flow.FinTransFlowCalculationDate                    as FinTransFlowCalculationDate,
      Flow.FlowCalcDateIsExclusive                        as FlowCalcDateIsExclusive,
      Flow.FlowCalcDateIsMonthEnd                         as FlowCalcDateIsMonthEnd,
      Flow.IntrstCalcMethFactoryCalendar                  as IntrstCalcMethFactoryCalendar,
      Flow.InterestCalculationType                        as InterestCalculationType,
      Flow.CalcPeriodStartDateIsInclusive                 as CalcPeriodStartDateIsInclusive,
      Flow.CalcPeriodEndDateIsInclusive                   as CalcPeriodEndDateIsInclusive,
      Flow.FinTransFlwDerivationProcedure                 as FinTransFlwDerivationProcedure,
      cast(Flow.PremiumPriceQuotedInPercent as tb_pwkurs) as FinTransPaytRateInPercent,
      Flow.PaymentReason                                  as PaymentReason,

      //exposed dimensions, containing for example text fields

      _CompanyCode,
      _FinTrans,
      _Activity,
      _ContractType,
      _FlowCategory,
      _FlowType,
      _PaymentCurrency,
      _NominalCurrency,
      _LocalCurrency,
      _BaseAmtCurrency,
      _PostingStatus,
      _PostingBlkgRsn,
      _AdjmtStatus,
      _HouseBank,
      _HouseBankAccount,
      _PayerPayee,
      _Country,
      _PaymentMethod,
      _PaymentMethodSupp,
      _PaymentRequest,
      _Direction
}
//restrict to flows, which are not blocked for specific reasons

where
      Flow.FinTransFlowPostingBlkgReason <> '2'
  and Flow.FinTransFlowPostingBlkgReason <> '4'
  and Flow.FinTransFlowPostingBlkgReason <> '5'
  and Flow.FinTransFlowPostingBlkgReason <> '6'


//variable unfixed flows are stored in own database tables - these flows have to be added

union all select from R_FinTransCashFlowActivity as Activity
  inner join          R_FinTransUnfixedFlow      as Flow_Unfixed on  Activity.CompanyCode                 = Flow_Unfixed.CompanyCode
                                                                 and Activity.FinancialTransaction        = Flow_Unfixed.FinancialTransaction
                                                                 and Activity.FinancialInstrumentActivity = Flow_Unfixed.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_FinTransActivity         as _Activity          on  $projection.CompanyCode                 = _Activity.CompanyCode
                                                                       and $projection.FinancialTransaction        = _Activity.FinancialTransaction
                                                                       and $projection.FinancialInstrumentActivity = _Activity.FinancialInstrumentActivity
association [0..1] to I_TreasuryContractType     as _ContractType      on  $projection.TreasuryContractType = _ContractType.TreasuryContractType
association [0..1] to I_FinTransFlowCategory     as _FlowCategory      on  $projection.FinTransFlowCategory = _FlowCategory.FinTransFlowCategory
association [0..1] to I_FinTransFlowType         as _FlowType          on  $projection.TreasuryContractType = _FlowType.TreasuryContractType
                                                                       and $projection.FinTransFlowType     = _FlowType.FinTransFlowType
association [0..1] to I_Currency                 as _PaymentCurrency   on  $projection.FinTransFlowPaytAmtCrcy = _PaymentCurrency.Currency
association [0..1] to I_Currency                 as _NominalCurrency   on  $projection.FinTransFlowNomAmtCrcy = _NominalCurrency.Currency
association [0..1] to I_Currency                 as _LocalCurrency     on  $projection.LocalCurrency = _LocalCurrency.Currency
association [0..1] to I_Currency                 as _BaseAmtCurrency   on  $projection.FinTransFlowCalcBaseAmountCrcy = _BaseAmtCurrency.Currency
association [0..1] to I_FinTransFlowPostgStatus  as _PostingStatus     on  $projection.FinTransFlowPostingStatus = _PostingStatus.FinTransFlowPostingStatus
association [0..1] to I_FinTransFlowPostgBlkgRsn as _PostingBlkgRsn    on  $projection.FinTransFlowPostingBlkgReason = _PostingBlkgRsn.FinTransFlowPostingBlkgReason
association [0..1] to I_FinIntrstRateAdjmtStatus as _AdjmtStatus       on  $projection.FinInterestRateAdjmtStatus = _AdjmtStatus.FinInterestRateAdjmtStatus
association [0..1] to I_Housebank                as _HouseBank         on  $projection.CompanyCode = _HouseBank.CompanyCode
                                                                       and $projection.HouseBank   = _HouseBank.HouseBank
association [0..1] to I_HouseBankAccount         as _HouseBankAccount  on  $projection.CompanyCode      = _HouseBankAccount.CompanyCode
                                                                       and $projection.HouseBank        = _HouseBankAccount.HouseBank
                                                                       and $projection.HouseBankAccount = _HouseBankAccount.HouseBankAccount
association [0..1] to I_BusinessPartner          as _PayerPayee        on  $projection.PayerPayee = _PayerPayee.BusinessPartner
association [0..1] to I_Country                  as _Country           on  $projection.Country = _Country.Country
association [0..1] to I_PaymentMethod            as _PaymentMethod     on  $projection.PaymentMethod = _PaymentMethod.PaymentMethod
                                                                       and $projection.Country       = _PaymentMethod.Country
association [0..1] to I_Paymentmethodsupplement  as _PaymentMethodSupp on  $projection.PaymentMethodSupplement = _PaymentMethodSupp.PaymentMethodSupplement
association [0..1] to I_PaymentRequest           as _PaymentRequest    on  $projection.PaymentRequest = _PaymentRequest.PaymentRequest
association [0..1] to I_FinTransactionDirection  as _Direction         on  $projection.FinancialTransactionDirection = _Direction.FinancialTransactionDirection
{
      @ObjectModel.foreignKey.association: '_CompanyCode'
  key Flow_Unfixed.CompanyCode                                    as CompanyCode,
      @ObjectModel.foreignKey.association: '_FinTrans'
  key Flow_Unfixed.FinancialTransaction                           as FinancialTransaction,
      @ObjectModel.foreignKey.association: '_Activity'
  key Flow_Unfixed.FinancialInstrumentActivity                    as FinancialInstrumentActivity,
  key Flow_Unfixed.FinTransFlowCreationDate                       as FinTransFlowCreationDate,
  key Flow_Unfixed.FinTransFlowCreationTime                       as FinTransFlowCreationTime,
  key Flow_Unfixed.FinTransFlowNumber                             as FinTransFlowNumber,

      @ObjectModel.foreignKey.association: '_ContractType'
      Flow_Unfixed.TreasuryContractType                           as TreasuryContractType,
      @ObjectModel.foreignKey.association: '_FlowCategory'
      Flow_Unfixed.FinTransFlowCategory                           as FinTransFlowCategory,
      @ObjectModel.foreignKey.association: '_FlowType'
      Flow_Unfixed.FinTransFlowType                               as FinTransFlowType,

      @Semantics.amount.currencyCode: 'FinTransFlowPaytAmtCrcy'
      Flow_Unfixed.FinTransFlowPaytAmt                            as FinTransFlowPaytAmt,
      @ObjectModel.foreignKey.association: '_PaymentCurrency'
      @Semantics.currencyCode: true
      Flow_Unfixed.FinTransFlowPaytAmtCrcy                        as FinTransFlowPaytAmtCrcy,
      @EndUserText.label: 'Payment Amount Direction'
      @EndUserText.quickInfo: 'Payment Amount Direction'
      Flow_Unfixed.FinTransFlowPaytAmtDirection                   as FinTransFlowPaytAmtDirection,
      @Semantics.amount.currencyCode: 'FinTransFlowNomAmtCrcy'
      @EndUserText.label: 'Nominal Amount'
      @EndUserText.quickInfo: 'Nominal Amount'
      Flow_Unfixed.FinTransFlowNomAmt                             as FinTransFlowNomAmt,
      @ObjectModel.foreignKey.association: '_NominalCurrency'
      @EndUserText.label: 'Nominal Amount Currency'
      @EndUserText.quickInfo: 'Nominal Amount Currency'
      Flow_Unfixed.FinTransFlowNomAmtCrcy                         as FinTransFlowNomAmtCrcy,
      @Semantics.amount.currencyCode: 'LocalCurrency'
      Flow_Unfixed.FinTransFlowInLoclCrcyPaytAmt                  as FinTransFlowInLoclCrcyPaytAmt,
      @ObjectModel.foreignKey.association: '_LocalCurrency'
      Flow_Unfixed.LocalCurrency                                  as LocalCurrency,
      Flow_Unfixed.FinTransFlowLoclCrcyCnvrsnRate                 as FinTransFlowLoclCrcyCnvrsnRate,
      Flow_Unfixed.FinTransFlowPaymentDate                        as FinTransFlowPaymentDate,
      Flow_Unfixed.FinTransFlowPaymentDueDate                     as FinTransFlowPaymentDueDate,
      Flow_Unfixed.FinTransFlowPostingDate                        as FinTransFlowPostingDate,
      Flow_Unfixed.FinTransFlowIntrstRateFixDate                  as FinTransFlowIntrstRateFixDate,

      Flow_Unfixed.CalculationPeriodStartDate                     as CalculationPeriodStartDate,
      @Semantics.booleanIndicator: true
      Flow_Unfixed.CalcPeriodStartDateIsMonthEnd                  as CalcPeriodStartDateIsMonthEnd,
      Flow_Unfixed.CalculationPeriodEndDate                       as CalculationPeriodEndDate,
      @Semantics.booleanIndicator: true
      Flow_Unfixed.CalcPeriodEndDateIsMonthEnd                    as CalcPeriodEndDateIsMonthEnd,
      Flow_Unfixed.NumberOfCalculationDays                        as NumberOfCalculationDays,
      Flow_Unfixed.InterestCalculationMethod                      as InterestCalculationMethod,
      @Semantics.amount.currencyCode: 'FinTransFlowCalcBaseAmountCrcy'
      Flow_Unfixed.FinTransFlowCalcBaseAmount                     as FinTransFlowCalcBaseAmount,
      @ObjectModel.foreignKey.association: '_BaseAmtCurrency'
      Flow_Unfixed.FinTransFlowCalcBaseAmountCrcy                 as FinTransFlowCalcBaseAmountCrcy,

      Flow_Unfixed.ConditionPercentageRate                        as ConditionPercentageRate,

      Flow_Unfixed.FinTransPresentationItemID                     as FinTransPresentationItemID,

      @ObjectModel.foreignKey.association: '_PostingStatus'
      Flow_Unfixed.FinTransFlowPostingStatus                      as FinTransFlowPostingStatus,
      @ObjectModel.foreignKey.association: '_PostingBlkgRsn'
      Flow_Unfixed.FinTransFlowPostingBlkgReason                  as FinTransFlowPostingBlkgReason,
      Flow_Unfixed.FinTransFlowPostingRelease                     as FinTransFlowPostingRelease,

      @ObjectModel.foreignKey.association: '_AdjmtStatus'
      Flow_Unfixed.FinInterestRateAdjmtStatus                     as FinInterestRateAdjmtStatus,


      @API.element.releaseState: #DEPRECATED
      @API.element.successor: 'PaymentRepetitiveCode'
      Flow_Unfixed.RepetitiveCode                                 as RepetitiveCode,
      cast( Flow_Unfixed.RepetitiveCode as farp_repetitive_code ) as PaymentRepetitiveCode,
      @ObjectModel.foreignKey.association: '_HouseBank'
      Flow_Unfixed.HouseBank                                      as HouseBank,
      @ObjectModel.foreignKey.association: '_HouseBankAccount'
      Flow_Unfixed.HouseBankAccount                               as HouseBankAccount,
      @ObjectModel.foreignKey.association: '_PayerPayee'
      Flow_Unfixed.PayerPayee                                     as PayerPayee,
      Flow_Unfixed.PayerPayeeBankDetail                           as PayerPayeeBankDetail,
      @ObjectModel.foreignKey.association: '_Country'
      Flow_Unfixed.Country                                        as Country,
      @ObjectModel.foreignKey.association: '_PaymentMethod'
      Flow_Unfixed.PaymentMethod                                  as PaymentMethod,
      Flow_Unfixed.PaymentMethodsList                             as PaymentMethodsList,
      @ObjectModel.foreignKey.association: '_PaymentMethodSupp'
      Flow_Unfixed.PaymentMethodSupplement                        as PaymentMethodSupplement,
      Flow_Unfixed.TreasuryIndividualPayment                      as TreasuryIndividualPayment,
      Flow_Unfixed.TrsyPaytGroupingSameDrctnIsRqd                 as TrsyPaytGroupingSameDrctnIsRqd,
      Flow_Unfixed.TreasuryPaymentRequestGrouping                 as TreasuryPaymentRequestGrouping,
      Flow_Unfixed.TreasuryIntGrpgForPaytValue                    as TreasuryIntGrpgForPaytValue,
      //@ObjectModel.foreignKey.association: '_PaymentRequest' - not possible as target view has no representative key

      Flow_Unfixed.PaymentRequest                                 as PaymentRequest,

      @ObjectModel.foreignKey.association: '_Direction'
      Flow_Unfixed.FinancialTransactionDirection                  as FinancialTransactionDirection,
      Flow_Unfixed.FinInstrConditionLogicGroup                    as FinInstrConditionLogicGroup,

      Flow_Unfixed.AssignmentReference                            as AssignmentReference,
      Flow_Unfixed.FinTransFlwLoclCrcyAmtCalcType                 as FinTransFlwLoclCrcyAmtCalcType,
      Flow_Unfixed.FinTransFlowCalculationDate                    as FinTransFlowCalculationDate,
      Flow_Unfixed.FlowCalcDateIsExclusive                        as FlowCalcDateIsExclusive,
      Flow_Unfixed.FlowCalcDateIsMonthEnd                         as FlowCalcDateIsMonthEnd,
      Flow_Unfixed.IntrstCalcMethFactoryCalendar                  as IntrstCalcMethFactoryCalendar,
      Flow_Unfixed.InterestCalculationType                        as InterestCalculationType,
      Flow_Unfixed.CalcPeriodStartDateIsInclusive                 as CalcPeriodStartDateIsInclusive,
      Flow_Unfixed.CalcPeriodEndDateIsInclusive                   as CalcPeriodEndDateIsInclusive,
      Flow_Unfixed.FinTransFlwDerivationProcedure                 as FinTransFlwDerivationProcedure,
      Flow_Unfixed.FinTransPaytRateInPercent                      as FinTransPaytRateInPercent,
      Flow_Unfixed.PaymentReason                                  as PaymentReason,
      
      //exposed dimensions, containing for example text fields

      _CompanyCode,
      _FinTrans,
      _Activity,
      _ContractType,
      _FlowCategory,
      _FlowType,
      _PaymentCurrency,
      _NominalCurrency,
      _LocalCurrency,
      _BaseAmtCurrency,
      _PostingStatus,
      _PostingBlkgRsn,
      _AdjmtStatus,
      _HouseBank,
      _HouseBankAccount,
      _PayerPayee,
      _Country,
      _PaymentMethod,
      _PaymentMethodSupp,
      _PaymentRequest,
      _Direction
}
//restrict to flows, which are not blocked for specific reasons

where
      Flow_Unfixed.FinTransFlowPostingBlkgReason <> '2'
  and Flow_Unfixed.FinTransFlowPostingBlkgReason <> '4'
  and Flow_Unfixed.FinTransFlowPostingBlkgReason <> '5'
  and Flow_Unfixed.FinTransFlowPostingBlkgReason <> '6'