Skip to main content

Mis

1. Description

Mis program reads cf file and aggregates the amount based on dim_type(NUMSLAB/PRDSLAB/SRCMAP) and loads the data to the DB.

2. Program location

<installation_path>/mis

3. Input

Click ⬇️ to download the sample data.

3.1 Mandatory Parameters

#ParametersDescriptionExample
1as_on_dateThe date for which the program has to run26-09-2023
2process-configPath to process config file that needs to be processedconfigs/process.json
3connection-stringConnection credentials to connect to the databaseOracle (Username
4home-currencyThe home currencyINR
5display-currencyThe display currencyUSD
6log-filePath to write logslogs/application.log
7diagnostics-log-filePath to write diagnostics logslogs/diagnostics.log

3.2 Non Mandatory Parameters

#ParametersDescriptionDefault valueExample
1log-levelLevel of diagnostics written to the log fileinfonone
2diagnostics-flagFlag to enable/disable performance diagnostics in the diagnostics log filetruefalse

3.3 Process config file 🔗

This file contains:

#FileDescriptionExample
1input_metadataPath to input_metadata file.test-bed/M_OP001.json
2additional_inputPath to additonal files required by the program.test-bed/M_IN003.json.
3output_metadataPath to output_metadata file.test-bed/M_OP001.json

Required field file

#ParametersDescriptionExample
1input_file_IdId of the input fileM_IN001
2nwd_codes_file_idId of the NWD codes filenwd_codes_file_path
3acc_skip_rules_idId of the account skip rules fileacc_skip_rules_path
4dim_filesPipe-separated list to find dim_files_pathdim_files_path
5dim_typesPipe-separated list of dimension typesNUMSLAB/SRCMAP/PRDSLAB
6dim_fields_storecomma-separated inside pipe-separated list to get dim_fieldsdim_fields
7is_wdFlag used in deciding to skip the account or nottrue/false
8process_fieldKey to get process field for each accountprocess_field
9amtAmount fieldamount
10int_rtInterest rate fieldinterest_rate
1ccyCurrency fieldcurrency
12acc_lvl_exch_rateAccount-level exchange rateaccount_level_exchange_rate
13is_consolidatedFlag for consolidation requirementtrue/false
14is_numslab_consol_requiredFlag for numeric slab consolidation requirementtrue/false
15is_negativeFlag indicating whether negative values are allowedtrue/false
16acc_open_dt_fieldAccount opening date fieldaccount_open_date

4. Output

4.1 Output file-1 : Aggregated Output

It will be uploaded in MISDimRptData table.

Each line will be of the format:

report_id|as_on_date|aggr_key|tot_prin_amt|tot_prin_amt_lcy|rt_prin_amt_weighted|Y|ADMIN|as_on_date|ADMIN|as_on_date|

aggr_key has two fields:

dims|ccy|

4.2 Output file-2 : Health report

The health check report gives summary about the processed accounts such as success counts, failed counts, etc.🔗

Output derivation logic:

Derivation logic for each account in each file is as follows: Case 1: if is_consolidated is true

tot_prin_amt: The total principal amount is assigned the value of conv_amt (the amount in the converted currency).
tot_prin_amt_lcy: The total principal amount in the local currency is assigned the value of amt (the amount in the original currency).
rt_prin_amt_weighted: The weighted principal amount is calculated by multiplying the interest rate with amt (the original amount in local currency).

Case 2: if is_consolidated is false

tot_prin_amt: The total principal amount is assigned the value of amt (the amount in the original currency).
tot_prin_amt_lcy: The total principal amount in the local currency is assigned the value of conv_amt (the amount in the converted currency).
rt_prin_amt_weighted: The weighted principal amount is calculated by multiplying the interest rate with conv_amt (the amount in the converted currency).

5. Process configuration in streamdef table:

{
"streamName": "Investments",
"streamId": "1148",
"flows": [
{
"flowId": "1",
"name": "investments",
"flowDependencies": [],
"executorID": "1",
"process": [
{
"processId": "1",
"processName": "investments_mis_2",
"processBinary": "{E_1_SH_PROGRAMS}\\mis_2",
"processArguments": [
"--as-on-date",
"{AsOnDate}",
"--process-config",
"{M_PC095}",
"--connection-string",
"{DB_CONNECTION}",
"--home-currency",
"{HomeCurrency}",
"--display-currency",
"{DisplayCurrency}",
"--log-file",
"{E_1_SH_LOGS}\\{B_1_SH_LOGS}\\log_investments_mis_aggr.txt",
"--diagnostics-log-file",
"{E_1_SH_LOGS}\\{B_1_SH_LOGS}\\daig_log_investments_mis_aggr.txt",
"--log-level",
"info",
"--diagnostics-flag",
"false"
],
"processDependencies": [],
"processReport": "{E_1_SH_SUMMARYDATA}\\{B_1_SH_SUMMARYDATA}\\mis_aggr_Investments-summary-health-check-report.json",
"processType": "mis_aggr",
"infoLog": "{E_1_SH_LOGS}\\{B_1_SH_LOGS}\\log_investments_mis_aggr.txt",
"errorLog": "{E_1_SH_LOGS}\\{B_1_SH_LOGS}\\daig_log_investments_mis_aggr.txt"
}
]
}
]
}