Calculation of fees (ClcFecAmt and below)

The calculation of fees is implemented in the module FECISM ( I-nstallation S-pecific M-odule for FEC) and its sub modules .

The entry point (called from RecalcSetfel) is the function ClcFecAmt with the following parts:

Additional important rules in module FECISM called directly or indirectly by ClcFecAmt

Rule Description
ClcFecIrtcalMinMaxPer Handles minimum/maximum cut for more than one period for CBS-Based calculations.
ClcForCst Calculates forecast for details. Check call in ClcFecAmt to decide about the length of forecast (the shorter the better the performance). The forecast is shown in the details of calculation in the fee details.
ClcFec_P_AmtChg Calculates fee for calculation rule permille/previous periods using CalcAllCur with special calculation method of periods.
ClcFecIrtcal Calculates fee for calculation rule CBS-Based using CalcAllCur with the interest caclulation method defined in condition.
CalcAllCur Executes the interest calculation by calling the calculation for the atomic periods (IRTCAL.CalcIrd) followed by the conversion to target currency and the grouping by settlement periods (incl. minimum/maximum cut ind IRTCAL.CalcIrp). The result is visible in the details of calculation and in the details of the details of the fee line in settlement.
FecIsmAmtConv Conversion of amounts between currencies in fee calculation. This rule uses the conversions defined on settlement details panel, if avalaible for role/currency pair and should be used for all conversions executed in fee calculation to minimize differences by using different rates for minimum conversion and settlemment conversion.
getfeetxtinf Gets the description of fees (incl. details of the calculation like the rate or minimum usage) and is used as default for the long fee description as well as description in letters (in the language of the message if unchanged by the user).
GetPertxtAndType Retrieves peroid type and rate type description depending on IRT (used in getfeetxtinf)
setIrtcal sets the parameters to prepare the interest calculation with IRTCAL. To set the basic information setIrtcalBasics is called followed by setting the amount and tier info.
setIrtcalBasics Sets basic arguments for an interest calculation with IRTCAL, mainly the period info and the information from condition.
SetRateFEC Sets rate and min/max from condition overwriting condition set in user interface. Thus not called in DOKA at the moment but in some installations as those have to support usage of conditions from database up to a specified date instead.

Important functions in IRTCAL (Interest Calculation), which sometimes are to be extended due to customer needs:

Rule Description
GetNextPeriod Gets next period according to period type in condition.
FecIsmGetNextDate Calculates next period for permille/previous period calculation(called from GetNextPeriod).
IrtGrdsAdjustForShow Adjust calculation info for show in details. The end day is removed as most banks want to show closed intervals.
IRTMCCCAL Day's calculation according to definition in Maintaining Reference Interest Rate Types. Currently calendar days and each mounth with 30 days are supported.
IRTMICCAL Calculation of interest/fee amount according to definition in Maintaining Reference Interest Rate Types.

The module FECMOD is the standard module for condition access. The main function is GetFec, which retrieves the condition for a given fee in the current circumstances. The main logic is in GetPtyfec wich is called from level 5-rule GetFec allowing an non standard search sequence.

Important instances for FEC (condition records) in transaction:

Instance Description
SETFEL\WRKFEC Condition relevant for calculation
SETFEC\OITFEC Condition collecting the relevant infotexts
FECMOD\WRKFEC Work area to collect the relevant conditions in GetPtyFec
IRTCAL\WRKFEC Work area for previous periods calculation
LIAALLG\FEC Contract condition for liability entry
LIAALLG\WRKFEC Work area to get the contract condition for liability entry
LIAALL\WRKFEC Work area to check if contract condition has been changed in transaction
LIASYNG\FEC Contract condition for syndication entry
LIASYNG\WRKFEC Work area to get the contract condition for syndication entry