I_FinTransCondition

DDL: I_FINTRANSCONDITION SQL: IFINTRANSCNDN Type: view COMPOSITE

Financial Transaction Condition

I_FinTransCondition is a Composite CDS View that provides data about "Financial Transaction Condition" in SAP S/4HANA. It reads from 6 data sources. It has 19 associations to related views.

Data Sources (6)

SourceAliasJoin Type
R_FinTransCashFlowActivity Activity from
R_FinTransCondition Condition inner
R_FinTransActiveActivity FinTransActivity inner
R_FinTransHasParallelCondition Parallel left_outer
R_FinTransCondition Scale left_outer
I_FinTransCndnFmlaVarbl Variable left_outer

Associations (19)

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_FinTransactionDirection _Direction $projection.FinancialTransactionDirection = _Direction.FinancialTransactionDirection
[0..1] I_TreasuryContractType _ContractType $projection.TreasuryContractType = _ContractType.TreasuryContractType
[0..1] I_FinCndnConditionCategory _ConditionCategory $projection.FinConditionConditionCategory = _ConditionCategory.FinConditionConditionCategory
[0..1] I_FinCndnConditionType _ConditionType $projection.TreasuryContractType = _ConditionType.TreasuryContractType and $projection.FinConditionConditionType = _ConditionType.FinConditionConditionType
[0..1] I_FinCndnInterestCategory _InterestCategory $projection.FinConditionInterestCategory = _InterestCategory.FinConditionInterestCategory
[0..1] I_ReferenceInterestRate _ReferenceInterestRate $projection.InterestReference = _ReferenceInterestRate.ReferenceInterestRate
[0..1] I_Currency _FixCurrency $projection.FinConditionFixedAmountCrcy = _FixCurrency.Currency
[0..1] I_Currency _RepaymentCurrency $projection.FinConditionRpaytCurrency = _RepaymentCurrency.Currency
[0..1] I_FactoryCalendar _Calendar1 $projection.FinConditionFactoryCalendar1 = _Calendar1.FactoryCalendar
[0..1] I_FactoryCalendar _Calendar2 $projection.FinConditionFactoryCalendar2 = _Calendar2.FactoryCalendar
[0..1] I_FactoryCalendar _Calendar3 $projection.FinConditionFactoryCalendar3 = _Calendar3.FactoryCalendar
[0..1] I_FactoryCalendar _Calendar4 $projection.FinConditionFactoryCalendar4 = _Calendar4.FactoryCalendar
[0..1] I_FactoryCalendar _Calendar5 $projection.FinConditionFactoryCalendar5 = _Calendar5.FactoryCalendar
[0..*] I_FinTransCndnSingleDate _SingleDate $projection.CompanyCode = _SingleDate.CompanyCode and $projection.FinancialTransaction = _SingleDate.FinancialTransaction and $projection.FinancialInstrumentActivity = _SingleDate.FinancialInstrumentActivity and $projection.FinancialTransactionDirection = _SingleDate.FinancialTransactionDirection and $projection.FinConditionItem = _SingleDate.FinConditionItem and $projection.ConditionItemValidityStartDate = _SingleDate.ConditionItemValidityStartDate
[0..*] I_FinTransCndnFmlaVarbl _FormulaVariable $projection.CompanyCode = _FormulaVariable.CompanyCode and $projection.FinancialTransaction = _FormulaVariable.FinancialTransaction and $projection.FinancialInstrumentActivity = _FormulaVariable.FinancialInstrumentActivity and $projection.FinancialTransactionDirection = _FormulaVariable.FinancialTransactionDirection and $projection.FinConditionItem = _FormulaVariable.FinConditionItem and $projection.ConditionItemValidityStartDate = _FormulaVariable.ConditionItemValidityStartDate and _FormulaVariable.FinConditionFormulaReference <> '0003'
[0..*] I_FinTransCndnScale _Scale $projection.CompanyCode = _Scale.CompanyCode and $projection.FinancialTransaction = _Scale.FinancialTransaction and $projection.FinancialInstrumentActivity = _Scale.FinancialInstrumentActivity and $projection.FinancialTransactionDirection = _Scale.FinancialTransactionDirection and $projection.FinInstrConditionLogicGroup = _Scale.FinInstrConditionLogicGroup and $projection.ConditionItemValidityStartDate = _Scale.ConditionItemValidityStartDate

Annotations (14)

NameValueLevelField
AbapCatalog.sqlViewName IFINTRANSCNDN 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 Condition 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
@AbapCatalog.sqlViewName: 'IFINTRANSCNDN'
@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 Condition'
@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 ]
define view I_FinTransCondition
  //all activities containing conditions

  as select from    R_FinTransCashFlowActivity     as Activity
  //all conditions of these activities (within where-condition they can be restricted)

    inner join      R_FinTransCondition            as Condition        on  Activity.CompanyCode                 = Condition.CompanyCode
                                                                       and Activity.FinancialTransaction        = Condition.FinancialTransaction
                                                                       and Activity.FinancialInstrumentActivity = Condition.FinancialInstrumentActivity
  //information if there is a scale with lower item number

    left outer join R_FinTransCondition            as Scale            on  Condition.CompanyCode                    = Scale.CompanyCode
                                                                       and Condition.FinancialTransaction           = Scale.FinancialTransaction
                                                                       and Condition.FinancialInstrumentActivity    = Scale.FinancialInstrumentActivity
                                                                       and Condition.FinancialTransactionDirection  = Scale.FinancialTransactionDirection
                                                                       and Condition.FinConditionItem               > Scale.FinConditionItem
                                                                       and Condition.ConditionItemValidityStartDate = Scale.ConditionItemValidityStartDate
                                                                       and Condition.FinInstrConditionLogicGroup    = Scale.FinInstrConditionLogicGroup
                                                                       and Condition.FinConditionConditionCategory  = Scale.FinConditionConditionCategory
    left outer join I_FinTransCndnFmlaVarbl        as Variable         on  Condition.CompanyCode                    = Variable.CompanyCode
                                                                       and Condition.FinancialTransaction           = Variable.FinancialTransaction
                                                                       and Condition.FinancialInstrumentActivity    = Variable.FinancialInstrumentActivity
                                                                       and Condition.FinancialTransactionDirection  = Variable.FinancialTransactionDirection
                                                                       and Condition.FinConditionItem               = Variable.FinConditionItem
                                                                       and Condition.ConditionItemValidityStartDate = Variable.ConditionItemValidityStartDate
                                                                       and Condition.FinConditionFormulaReference   = Variable.FinConditionFormulaReference
                                                                       and Condition.FinConditionFormulaReference   = '0003'
                                                                       and Variable.FinCndnFormulaVariable          = 'V3'
    left outer join R_FinTransHasParallelCondition as Parallel         on  Condition.CompanyCode                    = Parallel.CompanyCode
                                                                       and Condition.FinancialTransaction           = Parallel.FinancialTransaction
                                                                       and Condition.FinancialInstrumentActivity    = Parallel.FinancialInstrumentActivity
                                                                       and Condition.FinancialTransactionDirection  = Parallel.FinancialTransactionDirection
                                                                       and Condition.FinConditionItem               = Parallel.FinConditionItem
                                                                       and Condition.ConditionItemValidityStartDate = Parallel.ConditionItemValidityStartDate
                                                                       and Condition.FinConditionSubItem            = Parallel.FinConditionSubItem
    inner join      R_FinTransActiveActivity       as FinTransActivity on  FinTransActivity.CompanyCode               =  Condition.CompanyCode
                                                                       and FinTransActivity.FinancialTransaction      =  Condition.FinancialTransaction
                                                                       and (
                                                                          FinTransActivity.FinInstrLastActiveActivity =  Condition.FinancialInstrumentActivity
                                                                          or Condition.FinConditionConditionCategory  <> '12'
                                                                        )
  // 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_FinTransactionDirection  as _Direction             on  $projection.FinancialTransactionDirection = _Direction.FinancialTransactionDirection
  association [0..1] to I_TreasuryContractType     as _ContractType          on  $projection.TreasuryContractType = _ContractType.TreasuryContractType
  association [0..1] to I_FinCndnConditionCategory as _ConditionCategory     on  $projection.FinConditionConditionCategory = _ConditionCategory.FinConditionConditionCategory
  association [0..1] to I_FinCndnConditionType     as _ConditionType         on  $projection.TreasuryContractType      = _ConditionType.TreasuryContractType
                                                                             and $projection.FinConditionConditionType = _ConditionType.FinConditionConditionType
  association [0..1] to I_FinCndnInterestCategory  as _InterestCategory      on  $projection.FinConditionInterestCategory = _InterestCategory.FinConditionInterestCategory
  association [0..1] to I_ReferenceInterestRate    as _ReferenceInterestRate on  $projection.InterestReference = _ReferenceInterestRate.ReferenceInterestRate
  association [0..1] to I_Currency                 as _FixCurrency           on  $projection.FinConditionFixedAmountCrcy = _FixCurrency.Currency
  association [0..1] to I_Currency                 as _RepaymentCurrency     on  $projection.FinConditionRpaytCurrency = _RepaymentCurrency.Currency
  association [0..1] to I_FactoryCalendar          as _Calendar1             on  $projection.FinConditionFactoryCalendar1 = _Calendar1.FactoryCalendar
  association [0..1] to I_FactoryCalendar          as _Calendar2             on  $projection.FinConditionFactoryCalendar2 = _Calendar2.FactoryCalendar
  association [0..1] to I_FactoryCalendar          as _Calendar3             on  $projection.FinConditionFactoryCalendar3 = _Calendar3.FactoryCalendar
  association [0..1] to I_FactoryCalendar          as _Calendar4             on  $projection.FinConditionFactoryCalendar4 = _Calendar4.FactoryCalendar
  association [0..1] to I_FactoryCalendar          as _Calendar5             on  $projection.FinConditionFactoryCalendar5 = _Calendar5.FactoryCalendar
  // virtual data model

  association [0..*] to I_FinTransCndnSingleDate   as _SingleDate            on  $projection.CompanyCode                    = _SingleDate.CompanyCode
                                                                             and $projection.FinancialTransaction           = _SingleDate.FinancialTransaction
                                                                             and $projection.FinancialInstrumentActivity    = _SingleDate.FinancialInstrumentActivity
                                                                             and $projection.FinancialTransactionDirection  = _SingleDate.FinancialTransactionDirection
                                                                             and $projection.FinConditionItem               = _SingleDate.FinConditionItem
                                                                             and $projection.ConditionItemValidityStartDate = _SingleDate.ConditionItemValidityStartDate
  association [0..*] to I_FinTransCndnFmlaVarbl    as _FormulaVariable       on  $projection.CompanyCode                       =  _FormulaVariable.CompanyCode
                                                                             and $projection.FinancialTransaction              =  _FormulaVariable.FinancialTransaction
                                                                             and $projection.FinancialInstrumentActivity       =  _FormulaVariable.FinancialInstrumentActivity
                                                                             and $projection.FinancialTransactionDirection     =  _FormulaVariable.FinancialTransactionDirection
                                                                             and $projection.FinConditionItem                  =  _FormulaVariable.FinConditionItem
                                                                             and $projection.ConditionItemValidityStartDate    =  _FormulaVariable.ConditionItemValidityStartDate
                                                                             and _FormulaVariable.FinConditionFormulaReference <> '0003'
  association [0..*] to I_FinTransCndnScale        as _Scale                 on  $projection.CompanyCode                    = _Scale.CompanyCode
                                                                             and $projection.FinancialTransaction           = _Scale.FinancialTransaction
                                                                             and $projection.FinancialInstrumentActivity    = _Scale.FinancialInstrumentActivity
                                                                             and $projection.FinancialTransactionDirection  = _Scale.FinancialTransactionDirection
                                                                             and $projection.FinInstrConditionLogicGroup    = _Scale.FinInstrConditionLogicGroup
                                                                             and $projection.ConditionItemValidityStartDate = _Scale.ConditionItemValidityStartDate

{
      //exposed fields

      @ObjectModel.foreignKey.association: '_CompanyCode'
  key Condition.CompanyCode                                      as CompanyCode,
      @ObjectModel.foreignKey.association: '_FinTrans'
  key Condition.FinancialTransaction                             as FinancialTransaction,
      @ObjectModel.foreignKey.association: '_Activity'
  key Condition.FinancialInstrumentActivity                      as FinancialInstrumentActivity,
      @ObjectModel.foreignKey.association: '_Direction'
  key Condition.FinancialTransactionDirection                    as FinancialTransactionDirection,
  key Condition.FinConditionItem                                 as FinConditionItem,
  key Condition.ConditionItemValidityStartDate                   as ConditionItemValidityStartDate,
  key Condition.FinConditionSubItem                              as FinConditionSubItem,
      Condition.FinInstrConditionLogicGroup                      as FinInstrConditionLogicGroup,
      @ObjectModel.foreignKey.association: '_ContractType'
      Condition.TreasuryContractType                             as TreasuryContractType,
      @ObjectModel.foreignKey.association: '_ConditionCategory'
      Condition.FinConditionConditionCategory                    as FinConditionConditionCategory,
      @ObjectModel.foreignKey.association: '_ConditionType'
      Condition.FinConditionConditionType                        as FinConditionConditionType,
      case
        when Condition.FinConditionConditionCategory <> '12'
        then Condition.InterestCalculationMethod
        end                                                      as InterestCalculationMethod,
      case
        when Condition.FinConditionConditionCategory <> '12'
        and Condition.FinConditionConditionCategory <> '21'
        then Condition.InterestCalculationType
      end                                                        as InterestCalculationType,
      Parallel.FinCndnHasParallelInterest                        as FinCndnHasParallelInterest,
      @ObjectModel.foreignKey.association: '_InterestCategory'
      Condition.FinConditionInterestCategory                     as FinConditionInterestCategory,
      case
        when Condition.FinConditionInterestCategory <> '06'
         and Condition.FinConditionInterestCategory <> '07'
          then Condition.ConditionPercentageRate
        end                                                      as ConditionPercentageRate,
      case
        when Condition.FinConditionInterestCategory <> '06'
         and Condition.FinConditionInterestCategory <> '07'
          then Condition.FinConditionFormulaReference
        end                                                      as FinConditionFormulaReference,
      @ObjectModel.foreignKey.association: '_ReferenceInterestRate'
      case
        when Condition.FinConditionInterestCategory <> '06'
         and Condition.FinConditionInterestCategory <> '07'
          then Condition.InterestReference
        end                                                      as InterestReference,
      @Semantics.amount.currencyCode: 'FinConditionFixedAmountCrcy'
      @EndUserText.label: 'Fixed Amount'
      @EndUserText.quickInfo: 'Fixed Amount'
      cast( case
        when Condition.FinConditionInterestCategory <> '06'
         and Condition.FinConditionInterestCategory <> '07'
          then Condition.FinConditionFixedAmount
        end as ftr_cndn_fixed_amount preserving type )           as FinConditionFixedAmount,
      @ObjectModel.foreignKey.association: '_FixCurrency'
      @Semantics.currencyCode: true
      @EndUserText.label: 'Fixed Amount Currency'
      @EndUserText.quickInfo: 'Fixed Amount Currency'
      cast( case
        when ( Condition.RndngBaseUntAmtInCndnItmCrcy is not initial
            or Condition.FinConditionIntrstBaseAmount is not initial )
            and ( Condition.FinConditionFixedAmountCrcy is null
            or Condition.FinConditionFixedAmountCrcy is initial )
            then FinTransActivity.TransactionCurrency
        when Condition.FinConditionInterestCategory <> '06'
         and Condition.FinConditionInterestCategory <> '07'
          then Condition.FinConditionFixedAmountCrcy
        end as ftr_cndn_fixed_amount_currency preserving type )  as FinConditionFixedAmountCrcy,
      @EndUserText.label: 'Repayment Percentage Rate'
      @EndUserText.quickInfo: 'Repayment Percentage Rate'
      Condition.FinConditionRpaytPercentRate                     as FinConditionRpaytPercentRate,
      @Semantics.amount.currencyCode: 'FinConditionRpaytCurrency'
      @EndUserText.label: 'Repayment Base Amount'
      @EndUserText.quickInfo: 'Repayment Base Amount'
      case
        when Condition.FinConditionConditionCategory <> '12'
        then Condition.FinConditionRpaytBaseAmount
        else 0
      end                                                        as FinConditionRpaytBaseAmount,
      @Semantics.amount.currencyCode: 'FinConditionRpaytCurrency'
      @EndUserText.label: 'Repayment Amount'
      @EndUserText.quickInfo: 'Repayment Amount'
      case
        when Condition.FinConditionConditionCategory  <> '12'
        then  Condition.FinConditionRpaytAmount
        else 0
        end                                                      as FinConditionRpaytAmount,
      @ObjectModel.foreignKey.association: '_RepaymentCurrency'
      @Semantics.currencyCode: true
      @EndUserText.label: 'Repayment Currency'
      @EndUserText.quickInfo: 'Repayment Currency'
      Condition.FinConditionRpaytCurrency                        as FinConditionRpaytCurrency,
      Condition.FinConditionHasSingleDateEntry                   as FinConditionHasSingleDateEntry,
      case
        when Condition.FinConditionConditionCategory  <> '21'
        then Condition.CalculationDate
      end                                                        as CalculationDate,
      cast( case
        when Condition.FinConditionConditionCategory = '21' then '0'
        when Condition.FinCndnCalcDteUpdateMethod = '1' or Condition.FinCndnCalcDteUpdateMethod = '2' then '0'
        when Condition.FinCndnCalcDteUpdateMethod = '3' or Condition.FinCndnCalcDteUpdateMethod = '4' then '1'
        when Condition.FinCndnCalcDteUpdateMethod = '5' then '2'
      end as ftr_cndn_calc_date_update_rule preserving type )    as FinCndnCalcDteUpdateRule,
      @EndUserText.label: 'Calculation Date Frequency'
      @EndUserText.quickInfo: 'Calculation Date Frequency'
      case
        when Condition.FinConditionConditionCategory <> '21'
        then Condition.FinCndnCalcDteFrequency
      end                                                        as FinCndnCalcDteFrequency,
      case
        when Condition.FinConditionConditionCategory <> '21'
        then Condition.FinCndnCalcDteFrqcyUnit
      end                                                        as FinCndnCalcDteFrqcyUnit,
      case
        when Condition.FinConditionConditionCategory  <> '21'
        then Condition.CalcDateIsAsEndDateInclusive
      end                                                        as CalcDateIsAsEndDateInclusive,
      case
        when Condition.FinConditionConditionCategory  <> '21'
        then Condition.CalcDateIsAsEndDateMonthEnd
      end                                                        as CalcDateIsAsEndDateMonthEnd,
      @EndUserText.label: 'Calculation Date Working Day Shift'
      @EndUserText.quickInfo: 'Calculation Date Working Day Shift'
      cast( case
        when Condition.FinConditionConditionCategory <> '21'
        then Condition.FinCndnCalcDteWrkgDayShft
      end as ftr_cndn_calc_date_wrk_day_sft preserving type )    as FinCndnCalcDteWrkgDayShft,
      case
        when Condition.FinConditionConditionCategory <> '21'
        then Condition.FinCndnCalcDteShftDrctn
      end                                                        as FinCndnCalcDteShftDrctn,
      case
        when Condition.FinConditionConditionCategory  <> '21'
        then abs ( Condition.FinCndnCalcDteShftNrOfDays )
      end                                                        as FinCndnCalcDteShftNrOfDays,
      case
        when Condition.FinConditionConditionCategory <> '21'
        then Condition.DueDate
      end                                                        as DueDate,
      cast( case
        when Condition.FinConditionConditionCategory = '21' then '0'
        when Condition.FinCndnDueDteUpdateMethod = '1' or  Condition.FinCndnDueDteUpdateMethod = '2' then '0'
        when Condition.FinCndnDueDteUpdateMethod = '3' or  Condition.FinCndnDueDteUpdateMethod = '4' then '1'
        when Condition.FinCndnDueDteUpdateMethod = '5' then '2'
      end as ftr_cndn_due_date_update_rule preserving type )     as FinCndnDueDteUpdateRule,
      @EndUserText.label: 'Due Date Frequency'
      @EndUserText.quickInfo: 'Due Date Frequency'
      cast( case
        when Condition.FinConditionConditionCategory <> '21'
        then Condition.FinCndnDueDteFrequency
      end as ftr_cndn_due_date_frequency preserving type )       as FinCndnDueDteFrequency,
      cast( case
        when Condition.FinConditionConditionCategory <> '21'
        then Condition.FinCndnDueDteFrqcyUnit
      end as ftr_cndn_due_date_frqcy_unit preserving type )      as FinCndnDueDteFrqcyUnit,
      case
        when Condition.FinConditionConditionCategory <> '21'
        then Condition.DueDateIsAsEndDateInclusive
      end                                                        as DueDateIsAsEndDateInclusive,
      case
        when Condition.FinConditionConditionCategory <> '21'
        then Condition.DueDateIsAsEndDateMonthEnd
      end                                                        as DueDateIsAsEndDateMonthEnd,
      @EndUserText.label: 'Due Date Working Day Shift'
      @EndUserText.quickInfo: 'Due Date Working Day Shift'
      cast( case
        when Condition.FinConditionConditionCategory <> '21'
        then Condition.FinCndnDueDteWrkgDayShft
      end as ftr_cndn_due_date_wrk_day_sft preserving type )     as FinCndnDueDteWrkgDayShft,
      cast( case
        when Condition.FinConditionConditionCategory <> '21'
        then Condition.FinCndnDueDteShftDrctn
      end as ftr_cndn_due_date_shift_drctn preserving type )     as FinCndnDueDteShftDrctn,
      case
        when Condition.FinConditionConditionCategory  <> '21'
        then abs ( Condition.FinCndnDueDteShftNrOfDays )
      end                                                        as FinCndnDueDteShftNrOfDays,
      @ObjectModel.foreignKey.association: '_Calendar1'
      @EndUserText.label: 'Calendar 1'
      @EndUserText.quickInfo: 'Calendar 1'
      Condition.FinConditionFactoryCalendar1                     as FinConditionFactoryCalendar1,
      @ObjectModel.foreignKey.association: '_Calendar2'
      @EndUserText.label: 'Calendar 2'
      @EndUserText.quickInfo: 'Calendar 2'
      Condition.FinConditionFactoryCalendar2                     as FinConditionFactoryCalendar2,
      @ObjectModel.foreignKey.association: '_Calendar3'
      @EndUserText.label: 'Calendar 3'
      @EndUserText.quickInfo: 'Calendar 3'
      Condition.FinConditionFactoryCalendar3                     as FinConditionFactoryCalendar3,
      @ObjectModel.foreignKey.association: '_Calendar4'
      @EndUserText.label: 'Calendar 4'
      @EndUserText.quickInfo: 'Calendar 4'
      Condition.FinConditionFactoryCalendar4                     as FinConditionFactoryCalendar4,
      @ObjectModel.foreignKey.association: '_Calendar5'
      @EndUserText.label: 'Calendar 5'
      @EndUserText.quickInfo: 'Calendar 5'
      Condition.FinConditionFactoryCalendar5                     as FinConditionFactoryCalendar5,


      Condition.ExponentialIntrstSettlmtFrqcy,
      case
        when Condition.FinConditionConditionCategory <> '12'
        then Condition.IntrstCalcMethFactoryCalendar
        end                                                      as IntrstCalcMethFactoryCalendar,

      case
        when Condition.FinConditionInterestCategory <> '06' and Condition.FinConditionInterestCategory <> '07'
         then  Condition.FinancialConditionPaymentRate
      end                                                        as FinancialConditionPaymentRate,
      Variable.ConditionPercentageRate                           as InterestMarkupMarkdownValue,
      Condition.InterestFirstPeriodRate,
      Condition.AverageIntrstRateWeightingCat,
      Condition.AverageIntrstRateRndngCategory,
      Condition.AverageIntrstRateRndngDecimals,
      Condition.AverageInterestRateSpreadValue,
      Condition.AvgIntrstRateHasUsedUpperLimit,
      Condition.AverageInterestUpperLimitRate,
      Condition.AvgIntrstRateHasUsedLowerLimit,
      Condition.AverageInterestLowerLimitRate,
      Condition.AverageIntrstRateResetCalcEvt,
      Condition.FinCndnRateFactorRndngCategory,
      Condition.FinCndnRateFactorRndngDecimals,
      Condition.FinCndnFactorRoundingCategory,
      Condition.FinCndnFactorRoundingDecimals,
      Condition.FinCndnBaseFactorRndngCategory,
      Condition.FinCndnBaseFactorRndngDecimals,
      Condition.FinCndnAmountRoundingCategory,
      Condition.FinCndnAmountRoundingUnit,
      @Semantics.amount.currencyCode: 'FinConditionFixedAmountCrcy'
      Condition.RndngBaseUntAmtInCndnItmCrcy,
      @Semantics.amount.currencyCode: 'FinConditionFixedAmountCrcy'
      Condition.FinConditionIntrstBaseAmount,

      case
        when Condition.FinConditionConditionCategory <> '12'
        then Condition.FinCndnCalcBaseReference
      end                                                        as FinCndnCalcBaseReference,
      Condition.FinCndnProcessingSequenceValue,

      case
        when ( Condition.FinConditionInterestCategory <> '06'
         and Condition.FinConditionInterestCategory <> '07' )
          or Condition.FinConditionConditionCategory <> '12'
        then Condition.FinCndnAmountTimeUnit
      end                                                        as FinCndnAmountTimeUnit,
      case
       when ( Condition.FinCndnItemLowerLimitAmount is not initial
            or Condition.FinCndnItemUpperLimitAmount is not initial )
            and ( Condition.FinCndnLimitAmountCurrency is null
            or Condition.FinCndnLimitAmountCurrency is initial )
            then FinTransActivity.TransactionCurrency
        when Condition.FinConditionInterestCategory <> '06'
         and Condition.FinConditionInterestCategory <> '07'
         then Condition.FinCndnLimitAmountCurrency
      end                                                        as FinCndnLimitAmountCurrency,
      case
        when Condition.FinConditionInterestCategory <> '06'
         and Condition.FinConditionInterestCategory <> '07'
         then Condition.FinCndnItmHasUsedLowerLimitAmt
      end                                                        as FinCndnItmHasUsedLowerLimitAmt,
      @Semantics.amount.currencyCode: 'FinCndnLimitAmountCurrency'
      case
        when Condition.FinConditionInterestCategory <> '06'
         and Condition.FinConditionInterestCategory <> '07'
         then Condition.FinCndnItemLowerLimitAmount
      end                                                        as FinCndnItemLowerLimitAmount,
      case
        when Condition.FinConditionInterestCategory <> '06'
         and Condition.FinConditionInterestCategory <> '07'
         then Condition.FinCndnItmHasUsedUpperLimitAmt
      end                                                        as FinCndnItmHasUsedUpperLimitAmt,
      @Semantics.amount.currencyCode: 'FinCndnLimitAmountCurrency'
      case
        when Condition.FinConditionInterestCategory <> '06'
         and Condition.FinConditionInterestCategory <> '07'
         then Condition.FinCndnItemUpperLimitAmount
      end                                                        as FinCndnItemUpperLimitAmount,
      Condition.FinCndnCrsRefcdAccmlnCndnGrp,

      cast ( case Condition.FinCndnCalcDteUpdateMethod
       when '4' then '0'
       when '3' then '1'
      end as reference_date_for_calc_dte preserving type )       as InterestCalculationDateRef,

      cast ( case Condition.FinCndnDueDteUpdateMethod
       when '5' then '0'
       when '4' then '0'
       when '3' then '1'
      end as  reference_date_for_due_dte preserving type )       as InterestDueDateReference,

      cast ( case
       when Condition.FinCndnCalcDteUpdateMethod = '2' and Condition.FinConditionInterestCategory <> '21' then 'X'
       when Condition.FinCndnCalcDteUpdateMethod <> '2' and Condition.FinConditionInterestCategory <> '21' then ''
      end as calc_dte_is_reg_with_varbl_dte preserving type )    as CalcDteIsRegularWithVarblDte,

      cast ( case
       when Condition.FinCndnDueDteUpdateMethod = '2' and Condition.FinConditionInterestCategory <> '21' then 'X'
       when Condition.FinCndnDueDteUpdateMethod <> '2' and Condition.FinConditionInterestCategory <> '21' then ''
      end as due_dte_is_reg_with_varbl_dte preserving type )     as DueDteIsRegularWithVarblDte,

      // new fields for dates

      case
        when Condition.FinConditionConditionCategory <> '12'
        then Condition.FinCndnFirstPeriodCalcMethod
      end                                                        as FinCndnFirstPeriodCalcMethod,
      case
        when Condition.FinConditionConditionCategory <> '12'
        then Condition.FinCndnLastPeriodCalcMethod
      end                                                        as FinCndnLastPeriodCalcMethod,
      case
        when Condition.FinConditionConditionCategory  <> '21'
        then Condition.FinCndnDueDteShiftToTermEnd
      end                                                        as FinCndnDueDteShiftToTermEnd,
      Condition.FinCndnPaytDateWrkgDayShft,
      case
        when Condition.FinConditionConditionCategory <> '12'
        then Condition.FinCndnRpaytSettlmt
        end                                                      as FinCndnRpaytSettlmt,

      // new fields for adjustment

      cast ( case
        when Condition.FinConditionConditionCategory = '21' and Condition.FinCndnCalcDteUpdateMethod = '1' then '1'
        when Condition.FinConditionConditionCategory = '21' and Condition.FinCndnCalcDteUpdateMethod = '5' then '2'
        when Condition.FinConditionConditionCategory = '21' and Condition.FinCndnCalcDteUpdateMethod = '6' then '0'
        when Condition.FinConditionConditionCategory = '21' and Condition.FinCndnCalcDteUpdateMethod = '7' then '3'
      end as tfmsrhyzap preserving type )                        as InterestRateAdjustmentDateRule,
      cast ( case
        when Condition.FinConditionConditionCategory = '21'
        then Condition.FinCndnCalcDteFrequency
      end as ftr_cndn_adjmt_date_frequency preserving type )     as InterestRateAdjustmentFrqcy,
      cast ( case
        when Condition.FinConditionConditionCategory = '21'
        then Condition.FinCndnCalcDteFrqcyUnit
      end as ftr_cndn_adjmt_date_frqcy_unit preserving type )    as InterestRateAdjmtFrqcyUnit,
      cast ( case
        when Condition.FinConditionConditionCategory = '21'
        then Condition.CalculationDate
      end as tbvaluza preserving type )                          as InterestRateAdjustmentDate,
      cast ( case
        when Condition.FinConditionConditionCategory = '21'
        then Condition.CalcDateIsAsEndDateMonthEnd
      end as adjmt_dte_as_end_dte_month_end preserving type )    as IntrstRateAdjmtDateIsMonthEnd,
      cast ( case
        when Condition.FinConditionConditionCategory = '21'
        then Condition.CalcDateIsAsEndDateInclusive
      end as adjustment_date_is_exclusive preserving type )      as IntrstRateAdjmtDteIsExclusive,
      cast ( case
        when Condition.FinConditionConditionCategory = '21'
        then Condition.FinCndnCalcDteWrkgDayShft
      end as ftr_cndn_adjmt_dte_wrk_day_sft preserving type )    as IntrstRateAdjmtDateWrkgDayShft,
      cast ( case
        when Condition.FinConditionConditionCategory = '21'
        then abs ( Condition.FinCndnCalcDteShftNrOfDays )
      end as tb_avgstag preserving type )                        as IntrstRateAdjmtShftNrOfDays,

      cast ( case
        when Condition.FinConditionConditionCategory = '21'
        then Condition.FinCndnCalcDteShftDrctn
      end as ftr_cndn_adjmt_dte_shft_drctn preserving type )     as FinCndnAdjmtDteShftDrctn,

      cast ( case
        when Condition.FinConditionConditionCategory = '21' and Condition.FinCndnDueDteUpdateMethod = '1' then '0'
        when Condition.FinConditionConditionCategory = '21' and Condition.FinCndnDueDteUpdateMethod = '5' then '2'
        when Condition.FinConditionConditionCategory = '21'
            and ( Condition.FinCndnDueDteUpdateMethod = '3'
                or Condition.FinCndnDueDteUpdateMethod = '6'
                or Condition.FinCndnDueDteUpdateMethod = '8'
                or Condition.FinCndnDueDteUpdateMethod = '9' ) then '1'
      end as tfmsrhy preserving type )                           as InterestRateFixingDateRule,
      cast ( case
        when Condition.FinConditionConditionCategory = '21'
        then Condition.FinCndnDueDteFrequency
      end as ftr_cndn_fixing_date_frequency preserving type )    as InterestRateFixingFrqcy,
      cast ( case
        when Condition.FinConditionConditionCategory = '21'
        then Condition.FinCndnDueDteFrqcyUnit
      end as ftr_cndn_fixing_dte_frqcy_unit preserving type )    as InterestRateFixingFrqcyUnit,
      cast ( case
        when Condition.FinConditionConditionCategory = '21'
        then Condition.DueDate
      end as tbfaelza preserving type )                          as InterestRateFixingDate,
      cast ( case
        when Condition.FinConditionConditionCategory = '21'
        then Condition.DueDateIsAsEndDateMonthEnd
      end as fixing_dte_as_end_dte_mnth_end preserving type )    as IntrstRateFixingDateIsMonthEnd,

      cast ( case
        when Condition.FinConditionConditionCategory = '21'
            and (Condition.FinCndnDueDteWrkgDayShft = '3' or Condition.FinCndnDueDteWrkgDayShft = '4')
        then '-'
        when Condition.FinConditionConditionCategory = '21'
            and (Condition.FinCndnDueDteWrkgDayShft = '1' or Condition.FinCndnDueDteWrkgDayShft = '2')
        then '+'
        end  as ftr_cndn_fixing_dte_shft_drctn preserving type ) as FinCndnFixingDteShftDrctn,
      cast ( case
        when Condition.FinConditionConditionCategory = '21'
        then abs ( Condition.FinCndnDueDteShftNrOfDays )
      end as tb_azgstag preserving type )                        as InterestRateFixingShftNrOfDays,
      cast ( case
        when Condition.FinConditionConditionCategory = '21'
        and (Condition.FinCndnDueDteWrkgDayShft = '2' or Condition.FinCndnDueDteWrkgDayShft = '4')
        then 'X'
      end as tfmjmodif preserving type )                         as IntrstRateFixDteShftIsModifd,
      cast ( case
        when Condition.FinConditionConditionCategory = '21'
            and ( Condition.FinCndnDueDteUpdateMethod = '1'
                or Condition.FinCndnDueDteUpdateMethod = '5'
                or Condition.FinCndnDueDteUpdateMethod = '8' ) then '0'
        when Condition.FinConditionConditionCategory = '21' and Condition.FinCndnDueDteUpdateMethod = '3' then '1'
        when Condition.FinConditionConditionCategory = '21' and Condition.FinCndnDueDteUpdateMethod = '6' then '3'
        when Condition.FinConditionConditionCategory = '21' and Condition.FinCndnDueDteUpdateMethod = '9' then '2'
      end as tfmzreldat preserving type )                        as InterestRateFixingDateRef,
      Condition.FinCndnRateFixingLockoutPeriod,

      //exposed dimensions, containing for example text fields

      _CompanyCode,
      _FinTrans,
      _Activity,
      _Direction,
      _ContractType,
      _ConditionCategory,
      _ConditionType,
      _InterestCategory,
      _ReferenceInterestRate,
      _FixCurrency,
      _RepaymentCurrency,
      _Calendar1,
      _Calendar2,
      _Calendar3,
      _Calendar4,
      _Calendar5,
      _SingleDate,
      _FormulaVariable,
      _Scale
}
where
  //condition for single dates must be ignored (only consider main condition (NSTUFE = 0))

  (
           Condition.FinConditionSubItem          is null
    or     Condition.FinConditionSubItem          is initial
    or     Condition.FinConditionSubItem          = '00'
  )
  //condition for scale must be ignored (only consider main condition (lowest RKOND))

  and(
           Condition.FinConditionInterestCategory = '01'
    or     Condition.FinConditionInterestCategory = '02'
    or     Condition.FinConditionInterestCategory = '03'
    or     Condition.FinConditionInterestCategory = '04'
    or     Condition.FinConditionInterestCategory = '05'
    or     Condition.FinConditionInterestCategory = '08'
    or     Condition.FinConditionInterestCategory is null
    or     Condition.FinConditionInterestCategory is initial
    or(
      (
           Condition.FinConditionInterestCategory = '06'
        or Condition.FinConditionInterestCategory = '07'
      )
      and  Scale.FinConditionItem                 is null
    )
  )