DBA Data[Home] [Help]

PACKAGE: APPS.LNS_FEE_ENGINE

Source


1 PACKAGE LNS_FEE_ENGINE AS
2 /* $Header: LNS_FEE_ENGINE_S.pls 120.3 2005/08/02 14:41:17 raverma noship $ */
3 /*========================================================================+
4 |  Declare PUBLIC Data Types and Variables
5 +========================================================================*/
6 
7 
8  TYPE FEE_BASIS_REC IS RECORD(FEE_BASIS_NAME   VARCHAR2(30)
9                              ,FEE_BASIS_AMOUNT NUMBER);
10 
11  TYPE FEE_BASIS_TBL IS TABLE OF FEE_BASIS_REC INDEX BY BINARY_INTEGER;
12 
13  TYPE FEE_STRUCTURE_REC IS RECORD(FEE_ID                        NUMBER
14                                  ,FEE_NAME                      VARCHAR2(50)
15                                  ,FEE_DESCRIPTION               VARCHAR2(250)
16                                  ,FEE_CATEGORY                  VARCHAR2(30)
17                                  ,FEE_TYPE                      VARCHAR2(30)
18                                  ,FEE_AMOUNT                    NUMBER
19                                  ,FEE_BASIS                     VARCHAR2(30)  -- amount to calculate from
20                                  ,START_DATE_ACTIVE             DATE
21                                  ,END_DATE_ACTIVE               DATE
22                                  ,NUMBER_GRACE_DAYS             NUMBER
23                                  ,FEE_BILLING_OPTION            VARCHAR2(30)
24                                  ,FEE_RATE_TYPE                 VARCHAR2(30)  -- fixed / variable
25                                  ,FEE_FROM_INSTALLMENT          NUMBER
26                                  ,FEE_TO_INSTALLMENT            NUMBER
27                                  ,FEE_WAIVABLE_FLAG             VARCHAR2(1)
28                                  ,FEE_EDITABLE_FLAG             VARCHAR2(1)
29                                  ,FEE_DELETABLE_FLAG            VARCHAR2(1)
30                                  ,MINIMUM_OVERDUE_AMOUNT        NUMBER
31                                  ,FEE_BASIS_RULE                VARCHAR2(30)
32                                  ,CURRENCY_CODE                 VARCHAR2(15)
33 																 ,DISB_HEADER_ID                NUMBER
34 																 ,DISBURSEMENT_AMOUNT           NUMBER
35 																 ,DISBURSEMENT_DATE             DATE
36                                 -- ,FEE_SCHEDULE_ID               NUMBER
37                                  );
38 
39  TYPE FEE_STRUCTURE_TBL IS TABLE OF FEE_STRUCTURE_REC INDEX BY BINARY_INTEGER;
40 
41  -- LNS.B additions
42  TYPE FEE_CALC_REC IS RECORD(FEE_ID             NUMBER
43                             ,FEE_NAME           VARCHAR2(50)
44                             ,FEE_CATEGORY       VARCHAR2(30)
45                             ,FEE_TYPE           VARCHAR2(30)
46                             ,FEE_AMOUNT         NUMBER
47                             ,FEE_INSTALLMENT    NUMBER
48                             ,FEE_DESCRIPTION    VARCHAR2(250)
49                             ,FEE_SCHEDULE_ID    NUMBER
50                             ,FEE_WAIVABLE_FLAG  VARCHAR2(1)
51                             ,FEE_EDITABLE_FLAG  VARCHAR2(1)
52                             ,FEE_DELETABLE_FLAG VARCHAR2(1)
53                             ,WAIVE_AMOUNT       NUMBER
54                             ,BILLED_FLAG        VARCHAR2(1)
55                             ,ACTIVE_FLAG        VARCHAR2(1)
56 														,DISB_HEADER_ID     NUMBER
57                             );
58 
59  TYPE FEE_CALC_TBL IS TABLE OF FEE_CALC_REC INDEX BY BINARY_INTEGER;
60 
61 procedure processDisbursementFees(p_init_msg_list      in  varchar2
62 						                     ,p_commit             in  varchar2
63 																 ,p_phase              in  varchar2
64 						                     ,p_loan_id            in  number
65 																 ,p_disb_head_id       in  number
66 						                     ,x_return_status      out nocopy varchar2
67 						                     ,x_msg_count          out nocopy number
68 						                     ,x_msg_data           out nocopy varchar2);
69 
70 
71   -- LNS.B functions
72 procedure reprocessFees(p_loan_id            in  number
73                        ,p_installment_number in  number
74                        ,p_init_msg_list      in  varchar2
75                        ,p_commit             in  varchar2
76                        ,x_return_status      out nocopy varchar2
77                        ,x_msg_count          out nocopy number
78                        ,x_msg_data           out nocopy varchar2);
79 
80 function getFeeStructures(p_loan_id      in number
81                          ,p_fee_category in varchar2
82                          ,p_fee_type     in varchar2
83                          ,p_installment  in number
84                          ,p_fee_id       in number) return LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
85 
86 function getDisbursementFeeStructures(p_loan_id        in number
87 						                         ,p_fee_category   in varchar2
88 						                         ,p_fee_type       in varchar2
89 																		 ,p_from_date      in date
90 																		 ,p_to_date        in date
91 																		 ,p_disb_header_id in number
92 																		 ,p_fee_id         in number) return LNS_FEE_ENGINE.FEE_STRUCTURE_TBL;
93 
94 function calculateFee(p_fee_id         in number
95 				 		 				 ,p_disb_header_id in number
96 										 ,p_loan_id        in number) return number;
97 
98  function calculateFee(p_fee_id   IN NUMBER
99                       ,p_loan_id  IN NUMBER) return number;
100 
101  procedure calculateFees(p_loan_id          in  number
102                         ,p_fee_basis_tbl    in  LNS_FEE_ENGINE.FEE_BASIS_TBL
103                         ,p_installment      in  number
104                         ,p_fee_structures   IN  LNS_FEE_ENGINE.FEE_STRUCTURE_TBL
105                         ,x_fees_tbl         OUT nocopy LNS_FEE_ENGINE.FEE_CALC_TBL
106                         ,x_return_status    out nocopy varchar2
107                         ,x_msg_count        out nocopy number
108                         ,x_msg_data         out nocopy varchar2);
109 
110  procedure writeFeeSchedule(p_init_msg_list      in  varchar2
111                            ,p_commit             in  varchar2
112                            ,p_loan_id            in  number
113                            ,p_fees_tbl           IN  OUT NOCOPY LNS_FEE_ENGINE.FEE_CALC_TBL
114                            ,x_return_status      out nocopy varchar2
115                            ,x_msg_count          out nocopy number
116                            ,x_msg_data           out nocopy varchar2);
117 
118  procedure updateFeeSchedule(p_init_msg_list      in  varchar2
119                             ,p_commit             in  varchar2
120                             ,p_loan_id            in  number
121                             ,p_fees_tbl           IN  LNS_FEE_ENGINE.FEE_CALC_TBL
122                             ,x_return_status      out nocopy varchar2
123                             ,x_msg_count          out nocopy number
124                             ,x_msg_data           out nocopy varchar2);
125 
126  procedure getFeeSchedule(p_init_msg_list      in  varchar2
127                          ,p_loan_id            in  number
128                          ,p_installment_number in  number
129 												 ,p_disb_header_id     in  number
130                          ,x_fees_tbl           OUT NOCOPY LNS_FEE_ENGINE.FEE_CALC_TBL
131                          ,x_return_status      out nocopy varchar2
132                          ,x_msg_count          out nocopy number
133                          ,x_msg_data           out nocopy varchar2);
134 
135 -- karthik UI for fee details
136 procedure getFeeDetails(p_init_msg_list  in  varchar2
137                        ,p_loan_id        in  number
138                        ,p_installment    in  number
139                        ,p_fee_basis_tbl  in  LNS_FEE_ENGINE.FEE_BASIS_TBL
140                        ,p_based_on_terms in  varchar2
141 											 ,p_phase          in  varchar2
142                        ,x_fees_tbl       out nocopy LNS_FEE_ENGINE.FEE_CALC_TBL
143                        ,x_return_status  out nocopy varchar2
144                        ,x_msg_count      out nocopy number
145                        ,x_msg_data       out nocopy varchar2);
146 
147 procedure processFees(p_init_msg_list      in  varchar2
148                      ,p_commit             in  varchar2
149                      ,p_loan_id            in  number
150                      ,p_installment_number in  number
151                      ,p_fee_basis_tbl      in  LNS_FEE_ENGINE.FEE_BASIS_TBL
152                      ,p_fee_structures     in  LNS_FEE_ENGINE.FEE_STRUCTURE_TBL
153                      ,x_fees_tbl           out NOCOPY LNS_FEE_ENGINE.FEE_CALC_TBL
154                      ,x_return_status      out nocopy varchar2
155                      ,x_msg_count          out nocopy number
156                      ,x_msg_data           out nocopy varchar2);
157 
158 procedure processLateFees(p_loan_id            in number
159                          ,p_init_msg_list      in  varchar2
160                          ,p_commit             in  varchar2
161                          ,x_return_status      out nocopy varchar2
162                          ,x_msg_count          out nocopy number
163                          ,x_msg_data           out nocopy varchar2);
164 
165         /*
166 -- do if update
167 procedure updateFee(p_init_msg_list     in  varchar2
168                    ,p_commit             in  varchar2
169                    ,p_loan_id            in  number
170                    ,p_fee_schedule_id    in  number
171                    ,p_update_amount      in  number
172                    ,x_return_status      out nocopy varchar2
173                    ,x_msg_count          out nocopy number
174                    ,x_msg_data           out nocopy varchar2);
175         */
176 -- do if waive
177 procedure waiveFee(p_init_msg_list      in  varchar2
178                   ,p_commit             in  varchar2
179                   ,p_loan_id            in  number
180                   ,p_fee_schedule_id    in  number
181                   ,p_waive_amount       in  number
182                   ,x_return_status      out nocopy varchar2
183                   ,x_msg_count          out nocopy number
184                   ,x_msg_data           out nocopy varchar2);
185 
186 -- for future use
187 function getFeesTotal(p_loan_id      in number
188                      ,p_fee_category in varchar2
189                      ,p_fee_type     in varchar2
190                      ,p_billed_flag  in varchar2
191                      ,p_waived_flag  in varchar2) return number;
192 
193 PROCEDURE LOAN_LATE_FEES_CONCUR(ERRBUF             OUT NOCOPY     VARCHAR2
194                                ,RETCODE            OUT NOCOPY     VARCHAR2
195                                ,P_BORROWER_ID      IN             NUMBER
196                                ,P_LOAN_ID          IN             NUMBER);
197 
198 
199 
200 end LNS_FEE_ENGINE;