P_SecClassIntCond

DDL: P_SECCLASSINTCOND SQL: PSECCLASSINTCOND Type: view COMPOSITE Package: FTR_IRM_CORE

Interest condition for Sec. Class

P_SecClassIntCond is a Composite CDS View that provides data about "Interest condition for Sec. Class" in SAP S/4HANA. It reads from 3 data sources (tzk01, vtbfha, vzzkopo) and exposes 20 fields with key fields CompanyCode, FinancialInstrProductCategory, FinancialInstrumentActivity, SecurityClass, ConditionLevelNumber. Part of development package FTR_IRM_CORE.

Data Sources (3)

SourceAliasJoin Type
tzk01 ConditionType inner
vtbfha FinancialTransaction from
vzzkopo TransactionCondition inner

Parameters (1)

NameTypeDefault
P_KeyDate vdm_v_key_date

Annotations (6)

NameValueLevelField
AbapCatalog.sqlViewName PSECCLASSINTCOND view
ClientHandling.algorithm #SESSION_VARIABLE view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #NOT_REQUIRED view
VDM.viewType #COMPOSITE view
VDM.private true view

Fields (20)

KeyFieldSource TableSource FieldDescription
KEY CompanyCode vtbfha bukrs
KEY FinancialInstrProductCategory vzzkopo sanlf
KEY FinancialInstrumentActivity vtbfha rfhazul
KEY SecurityClass vzzkopo rkey1
KEY ConditionLevelNumber vzzkopo nstufe
KEY SecurityAccount vtbfha rldepo
KEY FinInstrConditoinType vzzkopo skoart
ConditionItemValidityStartDate vzzkopo dguel_kp
CalcDateIsAsEndDateInclusive vzzkopo sincl
ConditionPercentageRate vzzkopo pkond
ConditionFixAmount vzzkopo bkond
ReferenceInterestRate vzzkopo szsref
FinancialInstrumentProductType vtbfha sgsart
FinancialInstrTransactionType
TransactionCurrency vtbfha wgschft
ContractType vtbfha rantyp
TermStartDate vtbfha dblfz
TermEndDate vtbfha delfz
CashFlowDirection vzzkopo szsrefvz
InterestRateInPercent vzzkopo pkond
@AbapCatalog.sqlViewName: 'PSECCLASSINTCOND'
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@VDM.viewType: #COMPOSITE
@VDM.private:true
define view P_SecClassIntCond
  with parameters
    @Environment.systemField: #SYSTEM_DATE
    P_KeyDate : vdm_v_key_date
  as select from vtbfha  as FinancialTransaction
    inner join   vzzkopo as TransactionCondition on  FinancialTransaction.sanlf = TransactionCondition.sanlf
                                                 and FinancialTransaction.ranl  = TransactionCondition.rkey1
    inner join   tzk01   as ConditionType        on  FinancialTransaction.rantyp = ConditionType.rantyp
                                                 and TransactionCondition.skoart = ConditionType.skoart
{
  key FinancialTransaction.bukrs     as CompanyCode,
  key TransactionCondition.sanlf     as FinancialInstrProductCategory,
  key FinancialTransaction.rfhazul   as FinancialInstrumentActivity,
  key TransactionCondition.rkey1     as SecurityClass,
  key TransactionCondition.nstufe    as ConditionLevelNumber,
  key FinancialTransaction.rldepo    as SecurityAccount,
  key TransactionCondition.skoart    as FinInstrConditoinType,
      TransactionCondition.dguel_kp  as ConditionItemValidityStartDate,
      TransactionCondition.sincl     as CalcDateIsAsEndDateInclusive,
      TransactionCondition.pkond     as ConditionPercentageRate,
      TransactionCondition.bkond     as ConditionFixAmount,
      TransactionCondition.szsref    as ReferenceInterestRate,
      FinancialTransaction.sgsart    as FinancialInstrumentProductType,
      cast('' as tb_sfhaart )        as FinancialInstrTransactionType, //keep trans. type as empty for security

      FinancialTransaction.wgschft   as TransactionCurrency,
      FinancialTransaction.rantyp    as ContractType,
      FinancialTransaction.dblfz     as TermStartDate,
      FinancialTransaction.delfz     as TermEndDate,
      TransactionCondition.szsrefvz  as CashFlowDirection,
      TransactionCondition.pkond     as InterestRateInPercent

}
where   //1. Active transaction

        FinancialTransaction.saktiv   =  '0'

  and(  //2. Open transaction

        FinancialTransaction.dblfz    <= $parameters.P_KeyDate
    and TransactionCondition.dguel_kp <= $parameters.P_KeyDate
  )

  and(  //3. relevant product category

        FinancialTransaction.sanlf    =  '020'
    or  FinancialTransaction.sanlf    =  '040'
    or  FinancialTransaction.sanlf    =  '042'
    or  FinancialTransaction.sanlf    =  '060'
    or  FinancialTransaction.sanlf    =  '070'
  )

  and(  //4. Interest condition

        ConditionType.sberfima        =  'TZ'
    or  ConditionType.sberfima        =  'UATZ'
  )

  and(  //5. Interest rate not empty

        TransactionCondition.pkond    >  0
    or  TransactionCondition.bkond    >  0
    or  TransactionCondition.szsref   <> ''
  )