Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
Component Sharing
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
2
Merge Requests
2
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
CI / CD Analytics
Repository Analytics
Value Stream Analytics
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Gagandeep Singh Bhatia
Component Sharing
Commits
26ac6bd6
Commit
26ac6bd6
authored
Nov 07, 2024
by
Sonawane Amol Madhjuar
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Replace due_date_change
parent
4066a47e
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
17 additions
and
18 deletions
+17
-18
Amol/ITIOmniFin/due_date_change
Amol/ITIOmniFin/due_date_change
+17
-18
No files found.
Amol/ITIOmniFin/due_date_change
View file @
26ac6bd6
...
@@ -243,15 +243,15 @@ REPAY_TEMP_CUR_READ : LOOP
...
@@ -243,15 +243,15 @@ REPAY_TEMP_CUR_READ : LOOP
FETCH REPAY_TEMP_CUR INTO V_LOAN_ID, V_SEQ_NO, V_ORG_DUE_DATE, V_DUE_DATE,
FETCH REPAY_TEMP_CUR INTO V_LOAN_ID, V_SEQ_NO, V_ORG_DUE_DATE, V_DUE_DATE,
V_INSTL_AMOUNT, V_PRIN_COMP, V_INT_COMP,
V_INSTL_AMOUNT, V_PRIN_COMP, V_INT_COMP,
V_EXCESS_INT_COMP, V_ADV_FLAG, V_BILL_FLAG, V_PRIN_OS, V_REC_TYPE, V_ORG_SEQ_NO;
V_EXCESS_INT_COMP, V_ADV_FLAG, V_BILL_FLAG, V_PRIN_OS, V_REC_TYPE, V_ORG_SEQ_NO;
IF DONE = 1 THEN
IF DONE = 1 THEN
SET DONE = 0;
SET DONE = 0;
LEAVE REPAY_TEMP_CUR_READ;
LEAVE REPAY_TEMP_CUR_READ;
END IF;
END IF;
IF V_SEQ_NO < V_DEFERAL_FROM_INSTL THEN
IF V_SEQ_NO < V_DEFERAL_FROM_INSTL THEN
IF V_REC_TYPE = 'P' OR V_REC_TYPE = 'D' THEN
IF V_REC_TYPE = 'P' OR V_REC_TYPE = 'D' THEN
SET V_DAYS = GET_DAYS_BETWEEN(V_PREV_DUE_DATE, V_DUE_DATE, V_LOAN_DAYS_BASIS);
SET V_DAYS = GET_DAYS_BETWEEN(V_PREV_DUE_DATE, V_DUE_DATE, V_LOAN_DAYS_BASIS);
SET V_INT_COMP1 = V_INT_COMP1 + GET_ROUNDED_VALUE((V_PREV_PRIN_OS * V_LOAN_EFF_RATE * V_DAYS) / (V_LOAN_DAYS_PER_YEAR * 100),
V_INT_ROUND_TYPE, V_INT_ROUNDING);
SET V_INT_COMP1 = V_INT_COMP1 + GET_ROUNDED_VALUE((V_PREV_PRIN_OS * V_LOAN_EFF_RATE * V_DAYS) / (V_LOAN_DAYS_PER_YEAR * 100),V_INT_ROUND_TYPE, V_INT_ROUNDING);
ELSE
ELSE
SET V_INT_COMP1 = 0;
SET V_INT_COMP1 = 0;
END IF;
END IF;
...
@@ -261,31 +261,36 @@ ELSE
...
@@ -261,31 +261,36 @@ ELSE
SET V_ORG_DUE_DATE = DATE_ADD(V_PREV_DUE_DATE, INTERVAL V_FREQ_MONTHS MONTH);
SET V_ORG_DUE_DATE = DATE_ADD(V_PREV_DUE_DATE, INTERVAL V_FREQ_MONTHS MONTH);
IF V_SEQ_NO = V_DEFERAL_FROM_INSTL THEN
IF V_SEQ_NO = V_DEFERAL_FROM_INSTL THEN
SET V_DAYS = GET_DAYS_BETWEEN(V_PREV_DUE_DATE, V_NEXT_DUE_DATE, V_LOAN_DAYS_BASIS);
SET V_DAYS = GET_DAYS_BETWEEN(V_PREV_DUE_DATE, V_NEXT_DUE_DATE, V_LOAN_DAYS_BASIS);
SET V_INT_COMP1 = GET_ROUNDED_VALUE((V_PREV_PRIN_OS * V_LOAN_EFF_RATE * V_DAYS) / (V_LOAN_DAYS_PER_YEAR * 100), V_INT_ROUND_TYPE, V_INT_ROUNDING);
SET V_INT_COMP1 = GET_ROUNDED_VALUE((V_PREV_PRIN_OS * V_LOAN_EFF_RATE * V_DAYS) / (V_LOAN_DAYS_PER_YEAR * 100),V_INT_ROUND_TYPE, V_INT_ROUNDING);
SET V_INT_COMP = V_INT_COMP + V_INT_COMP1;
SET V_INSTL_AMOUNT = V_INSTL_AMOUNT + V_INT_COMP1;
SET V_INSTL_AMOUNT = V_INSTL_AMOUNT + V_INT_COMP1;
SET V_DUE_DATE = V_NEXT_DUE_DATE;
SET V_DUE_DATE = V_NEXT_DUE_DATE;
ELSE
ELSE
SET V_DUE_DATE = DATE_ADD(V_PREV_DUE_DATE, INTERVAL V_FREQ_MONTHS MONTH);
SET V_DUE_DATE = DATE_ADD(V_PREV_DUE_DATE, INTERVAL V_FREQ_MONTHS MONTH);
IF EXTRACT(DAY FROM LAST_DAY(V_D
UE_DATE
)) <= V_LOAN_DUE_DAY THEN
IF EXTRACT(DAY FROM LAST_DAY(V_D
ue_Date
)) <= V_LOAN_DUE_DAY THEN
SET V_D
UE_DATE = STR_TO_DATE(CONCAT(EXTRACT(YEAR_MONTH FROM V_DUE_DATE), EXTRACT(DAY FROM LAST_DAY(V_DUE_DATE
))), '%Y%m%d');
SET V_D
ue_Date = STR_TO_DATE(CONCAT(EXTRACT(YEAR_MONTH FROM V_Due_Date), EXTRACT(DAY FROM LAST_DAY(V_Due_Date
))), '%Y%m%d');
ELSE
ELSE
S
ET V_DUE_DATE = STR_TO_DATE(CONCAT(EXTRACT(YEAR_MONTH FROM V_DUE_DATE
), V_LOAN_DUE_DAY), '%Y%m%d');
S
et V_Due_Date = STR_TO_DATE(CONCAT(EXTRACT(YEAR_MONTH FROM V_Due_Date
), V_LOAN_DUE_DAY), '%Y%m%d');
END IF;
END IF;
END IF;
END IF;
SET V_DAYS = GET_DAYS_BETWEEN(V_PREV_DUE_DATE, V_DUE_DATE, V_LOAN_DAYS_BASIS);
SET V_DAYS = GET_DAYS_BETWEEN(V_PREV_DUE_DATE, V_DUE_DATE, V_LOAN_DAYS_BASIS);
SET V_INT_COMP = GET_ROUNDED_VALUE((V_PREV_PRIN_OS * V_LOAN_EFF_RATE * V_DAYS) / (V_LOAN_DAYS_PER_YEAR * 100), V_INT_ROUND_TYPE, V_INT_ROUNDING);
SET V_INT_COMP = GET_ROUNDED_VALUE((V_PREV_PRIN_OS * V_LOAN_EFF_RATE * V_DAYS) / (V_LOAN_DAYS_PER_YEAR * 100),V_INT_ROUND_TYPE, V_INT_ROUNDING);
IF V_EXCESS_INT_FLAG = 'N' THEN
IF V_EXCESS_INT_FLAG = 'N' THEN
SET V_EXCESS_INT_COMP = 0;
SET V_EXCESS_INT_COMP = 0;
ELSE
ELSE
SET V_EXCESS_INT_COMP = V_ORG_INT_COMP
-
V_INT_COMP;
SET V_EXCESS_INT_COMP = V_ORG_INT_COMP
-
V_INT_COMP;
END IF;
END IF;
SET V_PRIN_COMP = V_INSTL_AMOUNT - V_INT_COMP - V_EXCESS_INT_COMP;
SET V_PRIN_COMP = V_INSTL_AMOUNT - V_INT_COMP - V_EXCESS_INT_COMP;
IF V_PRIN_COMP < 0 THEN
SET V_PRIN_COMP = 0;
END IF;
SET V_PRIN_OS = V_PREV_PRIN_OS - V_PRIN_COMP;
SET V_PRIN_OS = V_PREV_PRIN_OS - V_PRIN_COMP;
SET V_PREV_DUE_DATE = V_DUE_DATE;
SET V_PREV_DUE_DATE = V_DUE_DATE;
SET V_PREV_PRIN_OS = V_PRIN_OS;
SET V_PREV_PRIN_OS = V_PRIN_OS;
UPDATE REPAY_TEMP
UPDATE REPAY_TEMP
SET R_ORG_DUE_DATE = V_ORG_DUE_DATE,
SET R_ORG_DUE_DATE = V_ORG_DUE_DATE,
R_DUE_DATE = V_DUE_DATE,
R_DUE_DATE = V_DUE_DATE,
...
@@ -298,17 +303,11 @@ ELSE
...
@@ -298,17 +303,11 @@ ELSE
R_COUNT = V_COUNT
R_COUNT = V_COUNT
WHERE R_LOAN_ID = V_LOAN_ID
WHERE R_LOAN_ID = V_LOAN_ID
AND R_SEQ_NO = V_SEQ_NO;
AND R_SEQ_NO = V_SEQ_NO;
IF V_SEQ_NO = V_DEFERAL_FROM_INSTL THEN
UPDATE REPAY_TEMP
SET R_INSTL_AMOUNT = V_INSTL_AMOUNT,
R_INT_COMP = V_INT_COMP + V_INT_COMP1 -- Adding gap-period interest to the next EMI's interest
WHERE R_LOAN_ID = V_LOAN_ID
AND R_SEQ_NO = V_SEQ_NO + 1; -- Assuming next EMI is the next sequence number
END IF;
END IF;
END IF;
END LOOP;
END LOOP;
CLOSE REPAY_TEMP_CUR;
CLOSE REPAY_TEMP_CUR;
IF V_PRIN_OS <> 0 THEN
IF V_PRIN_OS <> 0 THEN
SET V_PRIN_COMP = V_PRIN_COMP + V_PRIN_OS;
SET V_PRIN_COMP = V_PRIN_COMP + V_PRIN_OS;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment