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 |