I_FinTransCndnSingleDate

DDL: I_FINTRANSCNDNSINGLEDATE SQL: IFINTRANSCNDNSGL Type: view COMPOSITE

Fin Trans Condition Single Date

I_FinTransCndnSingleDate is a Composite CDS View that provides data about "Fin Trans Condition Single Date" in SAP S/4HANA. It reads from 3 data sources (R_FinTransCashFlowActivity, R_FinTransCondition, R_FinTransCondition) and exposes 19 fields with key fields CompanyCode, FinancialTransaction, FinancialInstrumentActivity, FinancialTransactionDirection, FinConditionItem. It has 4 associations to related views.

Data Sources (3)

SourceAliasJoin Type
R_FinTransCashFlowActivity Activity from
R_FinTransCondition Condition inner
R_FinTransCondition Parallel left_outer

Associations (4)

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

Annotations (14)

NameValueLevelField
AbapCatalog.sqlViewName IFINTRANSCNDNSGL 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 Condition Single Date 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 (19)

KeyFieldSource TableSource FieldDescription
KEY CompanyCode R_FinTransCondition CompanyCode
KEY FinancialTransaction R_FinTransCondition FinancialTransaction
KEY FinancialInstrumentActivity R_FinTransCondition FinancialInstrumentActivity
KEY FinancialTransactionDirection R_FinTransCondition FinancialTransactionDirection
KEY FinConditionItem R_FinTransCondition FinConditionItem
KEY ConditionItemValidityStartDate R_FinTransCondition ConditionItemValidityStartDate
KEY FinConditionSubItem R_FinTransCondition FinConditionSubItem
FinancialInstrProductCategory _FinTrans FinancialInstrProductCategory
FinConditionConditionCategory R_FinTransCondition FinConditionConditionCategory
CalculationDateendasCalculationDate
DueDate R_FinTransCondition DueDate
DueDateIsAsEndDateMonthEnd R_FinTransCondition DueDateIsAsEndDateMonthEnd
ConditionPercentageRate R_FinTransCondition ConditionPercentageRate
FinConditionFixedAmount R_FinTransCondition FinConditionFixedAmount
FinConditionFixedAmountCrcy R_FinTransCondition FinConditionFixedAmountCrcy
_CompanyCode _CompanyCode
_FinTrans _FinTrans
_Activity _Activity
_Direction _Direction
@AbapCatalog.sqlViewName: 'IFINTRANSCNDNSGL'
@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 Condition Single Date'
@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_FinTransCndnSingleDate 
  //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
  //in case of scale condition only consider main condition (if possible join here the main condition and in where-statement restrict to main condition)

  left outer join R_FinTransCondition as Parallel on  Condition.CompanyCode                    = Parallel.CompanyCode
                                                  and Condition.FinancialTransaction           = Parallel.FinancialTransaction
                                                  and Condition.FinancialInstrumentActivity    = Parallel.FinancialInstrumentActivity
                                                  and Condition.FinancialTransactionDirection  = Parallel.FinancialTransactionDirection
                                                  and Condition.ConditionItemValidityStartDate = Parallel.ConditionItemValidityStartDate
                                                  and Condition.FinInstrConditionLogicGroup    = Parallel.FinInstrConditionLogicGroup
                                                  and Condition.FinConditionConditionCategory  = Parallel.FinConditionConditionCategory
                                                  and Condition.FinConditionItem               > Parallel.FinConditionItem
// 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
{  
  //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,
  _FinTrans.FinancialInstrProductCategory      as FinancialInstrProductCategory,
  Condition.FinConditionConditionCategory      as FinConditionConditionCategory,
  
  case 
    when Condition.FinConditionConditionCategory <> '21' 
        then Condition.CalculationDate                    
    end                                        as CalculationDate,
  case 
    when Condition.FinConditionConditionCategory <> '21' 
        then Condition.CalcDateIsAsEndDateMonthEnd 
    end                                        as CalcDateIsAsEndDateMonthEnd,
  Condition.DueDate                            as DueDate,
  Condition.DueDateIsAsEndDateMonthEnd         as DueDateIsAsEndDateMonthEnd,
  Condition.ConditionPercentageRate            as ConditionPercentageRate,
  @Semantics.amount.currencyCode: 'FinConditionFixedAmountCrcy'
  Condition.FinConditionFixedAmount            as FinConditionFixedAmount,
  Condition.FinConditionFixedAmountCrcy        as FinConditionFixedAmountCrcy,
  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,
  
  
  //exposed dimensions, containing for example text fields

  _CompanyCode,
  _FinTrans,
  _Activity,
  _Direction
}
where Condition.FinConditionHasSingleDateEntry = 'X'
  and Parallel.FinConditionItem is null
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_FINANCIALTRANSACTION",
"R_FINTRANSCASHFLOWACTIVITY",
"R_FINTRANSCONDITION"
],
"ASSOCIATED":
[
"I_COMPANYCODE",
"I_FINANCIALTRANSACTION",
"I_FINTRANSACTIONDIRECTION",
"I_FINTRANSACTIVITY"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/