DBA Data[Home] [Help]

PACKAGE BODY: APPS.LNS_TERMS_PKG

Source


1 PACKAGE BODY LNS_TERMS_PKG AS
2 /*$Header: LNS_TERMS_TBLH_B.pls 120.16.12020000.2 2012/07/19 21:00:33 scherkas ship $ */
3 
4 PROCEDURE Insert_Row (
5 	X_TERM_ID                         IN OUT NOCOPY NUMBER,
6 	X_LOAN_ID                         IN NUMBER,
7 	X_DAY_COUNT_METHOD                IN VARCHAR2,
8 	X_BASED_ON_BALANCE                IN VARCHAR2,
9 	X_FIRST_RATE_CHANGE_DATE          IN DATE,
10 	X_NEXT_RATE_CHANGE_DATE           IN DATE,
11 	X_PERCENT_INCREASE                IN NUMBER,
12 	X_PERCENT_INCREASE_TERM           IN VARCHAR2,
13 	X_PAYMENT_APPLICATION_ORDER       IN VARCHAR2,
14 	X_PREPAY_PENALTY_FLAG             IN VARCHAR2,
15 	X_PREPAY_PENALTY_DATE             IN DATE,
16 	X_CEILING_RATE                    IN NUMBER,
17 	X_FLOOR_RATE                      IN NUMBER,
18 	X_DELINQUENCY_THRESHOLD_NUMBER    IN NUMBER,
19 	X_DELINQUENCY_THRESHOLD_AMOUNT    IN NUMBER,
20 	X_CALCULATION_METHOD              IN VARCHAR2,
21 	X_REAMORTIZE_UNDER_PAYMENT        IN VARCHAR2,
22 	X_REAMORTIZE_OVER_PAYMENT        IN VARCHAR2,
23 	X_REAMORTIZE_WITH_INTEREST        IN VARCHAR2,
24 	X_LOAN_PAYMENT_FREQUENCY          IN VARCHAR2,
25 	X_INTEREST_COMPOUNDING_FREQ       IN VARCHAR2,
26 	X_OBJECT_VERSION_NUMBER           IN NUMBER,
27 	X_AMORTIZATION_FREQUENCY          IN VARCHAR2,
28 	X_NUMBER_GRACE_DAYS               IN NUMBER,
29 	X_RATE_TYPE                       IN VARCHAR2,
30 	X_INDEX_NAME                      IN VARCHAR2,
31 	X_ADJUSTMENT_FREQUENCY            IN NUMBER,
32 	X_ADJUSTMENT_FREQUENCY_TYPE       IN VARCHAR2,
33 	X_FIXED_RATE_PERIOD               IN NUMBER,
34 	X_FIXED_RATE_PERIOD_TYPE          IN VARCHAR2,
35 	X_FIRST_PAYMENT_DATE		  IN DATE,
36 	X_NEXT_PAYMENT_DUE_DATE		  IN DATE,
37 	X_OPEN_FIRST_PAYMENT_DATE         IN DATE,
38 	X_OPEN_PAYMENT_FREQUENCY          IN VARCHAR2,
39 	X_OPEN_NEXT_PAYMENT_DATE          IN DATE,
40 	X_LOCK_IN_DATE			  IN DATE,
41 	X_LOCK_TO_DATE			  IN DATE,
42 	X_RATE_CHANGE_FREQUENCY		  IN VARCHAR2,
43 	X_INDEX_RATE_ID			  IN NUMBER,
44  	X_PERCENT_INCREASE_LIFE           IN NUMBER,
45 	X_FIRST_PERCENT_INCREASE          IN NUMBER,
46 	X_OPEN_PERCENT_INCREASE           IN NUMBER,
47 	X_OPEN_PERCENT_INCREASE_LIFE      IN NUMBER,
48 	X_OPEN_FIRST_PERCENT_INCREASE     IN NUMBER,
49 	X_PMT_APPL_ORDER_SCOPE            IN VARCHAR2,
50 	X_OPEN_CEILING_RATE               IN NUMBER,
51 	X_OPEN_FLOOR_RATE                 IN NUMBER,
52 	X_OPEN_INDEX_DATE                 IN DATE,
53 	X_TERM_INDEX_DATE                 IN DATE,
54 	X_OPEN_PROJECTED_RATE             IN NUMBER,
55 	X_TERM_PROJECTED_RATE             IN NUMBER,
56 	X_PAYMENT_CALC_METHOD             IN VARCHAR2,
57       X_CUSTOM_CALC_METHOD              IN VARCHAR2,
58       X_ORIG_PAY_CALC_METHOD            IN VARCHAR2,
59       X_PRIN_FIRST_PAY_DATE		    IN DATE,
60       X_PRIN_PAYMENT_FREQUENCY          IN VARCHAR2,
61       X_PENAL_INT_RATE                  IN NUMBER,
62       X_PENAL_INT_GRACE_DAYS            IN NUMBER,
63 	X_CALC_ADD_INT_UNPAID_PRIN	    IN VARCHAR2,
64 	X_CALC_ADD_INT_UNPAID_INT	    IN VARCHAR2,
65 	X_REAMORTIZE_ON_FUNDING           IN VARCHAR2,
66 	X_DEFAULT_THRESHOLD_AMOUNT	    IN NUMBER,
67 	X_CUSTOM_SCHED_DESC         	    IN VARCHAR2,
68 	X_CAPITALIZE_INT                  IN VARCHAR2,
69 	X_CALC_EARLY_PAY_CR               IN VARCHAR2,
70 	X_FLUCTUATE_EQ_PAY_AMOUNT         IN VARCHAR2
71 
72 ) IS
73 
74 BEGIN
75 
76 	INSERT INTO LNS_TERMS
77 	(
78 		TERM_ID
79 		,LOAN_ID
80 		,LAST_UPDATE_DATE
81 		,LAST_UPDATED_BY
82 		,LAST_UPDATE_LOGIN
83 		,CREATION_DATE
84 		,CREATED_BY
85 		,OBJECT_VERSION_NUMBER
86 		,DAY_COUNT_METHOD
87 		,BASED_ON_BALANCE
88 		,FIRST_RATE_CHANGE_DATE
89 		,NEXT_RATE_CHANGE_DATE
90 		,PERCENT_INCREASE
91 		,PERCENT_INCREASE_TERM
92 		,PAYMENT_APPLICATION_ORDER
93 		,PREPAY_PENALTY_FLAG
94 		,PREPAY_PENALTY_DATE
95 		,CEILING_RATE
96 		,FLOOR_RATE
97 		,DELINQUENCY_THRESHOLD_NUMBER
98 		,DELINQUENCY_THRESHOLD_AMOUNT
99 		,CALCULATION_METHOD
100 		,REAMORTIZE_UNDER_PAYMENT
101 		,REAMORTIZE_OVER_PAYMENT
102 		,REAMORTIZE_WITH_INTEREST
103 		,LOAN_PAYMENT_FREQUENCY
104 		,INTEREST_COMPOUNDING_FREQ
105 		,AMORTIZATION_FREQUENCY
106 		,NUMBER_GRACE_DAYS
107 		,RATE_TYPE
108 		,INDEX_NAME
109 		,ADJUSTMENT_FREQUENCY
110 		,ADJUSTMENT_FREQUENCY_TYPE
111 		,FIXED_RATE_PERIOD
112 		,FIXED_RATE_PERIOD_TYPE
113 		,FIRST_PAYMENT_DATE
114 		,NEXT_PAYMENT_DUE_DATE
115 		,OPEN_FIRST_PAYMENT_DATE
116 		,OPEN_PAYMENT_FREQUENCY
117 		,OPEN_NEXT_PAYMENT_DATE
118 		,LOCK_IN_DATE
119 		,LOCK_TO_DATE
120 		,RATE_CHANGE_FREQUENCY
121 		,INDEX_RATE_ID
122 		,PERCENT_INCREASE_LIFE
123 		,FIRST_PERCENT_INCREASE
124 		,OPEN_PERCENT_INCREASE
125 		,OPEN_PERCENT_INCREASE_LIFE
126 		,OPEN_FIRST_PERCENT_INCREASE
127 		,PMT_APPL_ORDER_SCOPE
128 		,OPEN_CEILING_RATE
129 		,OPEN_FLOOR_RATE
130 		,OPEN_INDEX_DATE
131 		,TERM_INDEX_DATE
132 		,OPEN_PROJECTED_RATE
133 		,TERM_PROJECTED_RATE
134 		,PAYMENT_CALC_METHOD
135 	      ,CUSTOM_CALC_METHOD
136 		,ORIG_PAY_CALC_METHOD
137 		,PRIN_FIRST_PAY_DATE
138 		,PRIN_PAYMENT_FREQUENCY
139 		,PENAL_INT_RATE
140             ,PENAL_INT_GRACE_DAYS
141 		,CALC_ADD_INT_UNPAID_PRIN
142 		,CALC_ADD_INT_UNPAID_INT
143 		,REAMORTIZE_ON_FUNDING
144 		,DEFAULT_THRESHOLD_AMOUNT
145             ,CUSTOM_SCHED_DESC
146             ,CAPITALIZE_INT
147             ,CALC_EARLY_PAY_CR
148             ,FLUCTUATE_EQ_PAY_AMOUNT
149 	) VALUES (
150 		DECODE( X_TERM_ID, FND_API.G_MISS_NUM, LNS_TERMS_S.NEXTVAL, NULL, LNS_TERMS_S.NEXTVAL, X_TERM_ID )
151 		,DECODE( X_LOAN_ID, FND_API.G_MISS_NUM, NULL, X_LOAN_ID )
152 		,LNS_UTILITY_PUB.LAST_UPDATE_DATE
153 		,LNS_UTILITY_PUB.LAST_UPDATED_BY
154 		,LNS_UTILITY_PUB.LAST_UPDATE_LOGIN
155 		,LNS_UTILITY_PUB.CREATION_DATE
156 		,LNS_UTILITY_PUB.CREATED_BY
157 		,DECODE( X_OBJECT_VERSION_NUMBER, FND_API.G_MISS_NUM, NULL, X_OBJECT_VERSION_NUMBER )
158 		,DECODE( X_DAY_COUNT_METHOD, FND_API.G_MISS_CHAR, NULL, X_DAY_COUNT_METHOD )
159 		,DECODE( X_BASED_ON_BALANCE, FND_API.G_MISS_CHAR, NULL, X_BASED_ON_BALANCE )
160 		,DECODE( X_FIRST_RATE_CHANGE_DATE, FND_API.G_MISS_DATE, NULL, X_FIRST_RATE_CHANGE_DATE )
161 		,DECODE( X_NEXT_RATE_CHANGE_DATE, FND_API.G_MISS_DATE, NULL, X_NEXT_RATE_CHANGE_DATE )
162 		,DECODE( X_PERCENT_INCREASE, FND_API.G_MISS_NUM, NULL, X_PERCENT_INCREASE )
163 		,DECODE( X_PERCENT_INCREASE_TERM, FND_API.G_MISS_CHAR, NULL, X_PERCENT_INCREASE_TERM )
164 		,DECODE( X_PAYMENT_APPLICATION_ORDER, FND_API.G_MISS_CHAR, NULL, X_PAYMENT_APPLICATION_ORDER )
165 		,DECODE( X_PREPAY_PENALTY_FLAG, FND_API.G_MISS_CHAR, NULL, X_PREPAY_PENALTY_FLAG )
166 		,DECODE( X_PREPAY_PENALTY_DATE, FND_API.G_MISS_DATE, NULL, X_PREPAY_PENALTY_DATE )
167 		,DECODE( X_CEILING_RATE, FND_API.G_MISS_NUM, NULL, X_CEILING_RATE )
168 		,DECODE( X_FLOOR_RATE, FND_API.G_MISS_NUM, NULL, X_FLOOR_RATE )
169 		,DECODE( X_DELINQUENCY_THRESHOLD_NUMBER, FND_API.G_MISS_NUM, NULL, X_DELINQUENCY_THRESHOLD_NUMBER )
170 		,DECODE( X_DELINQUENCY_THRESHOLD_AMOUNT, FND_API.G_MISS_NUM, NULL, X_DELINQUENCY_THRESHOLD_AMOUNT )
171 		,DECODE( X_CALCULATION_METHOD, FND_API.G_MISS_CHAR, NULL, X_CALCULATION_METHOD )
172 		,DECODE( X_REAMORTIZE_UNDER_PAYMENT, FND_API.G_MISS_CHAR, NULL, X_REAMORTIZE_UNDER_PAYMENT )
173 		,DECODE( X_REAMORTIZE_OVER_PAYMENT, FND_API.G_MISS_CHAR, NULL, X_REAMORTIZE_OVER_PAYMENT )
174 		,DECODE( X_REAMORTIZE_WITH_INTEREST, FND_API.G_MISS_CHAR, NULL, X_REAMORTIZE_WITH_INTEREST )
175 		,DECODE( X_LOAN_PAYMENT_FREQUENCY, FND_API.G_MISS_CHAR, NULL, X_LOAN_PAYMENT_FREQUENCY )
176 		,DECODE( X_INTEREST_COMPOUNDING_FREQ, FND_API.G_MISS_CHAR, NULL, X_INTEREST_COMPOUNDING_FREQ )
177 		,DECODE( X_AMORTIZATION_FREQUENCY, FND_API.G_MISS_CHAR, NULL, X_AMORTIZATION_FREQUENCY )
178 		,DECODE( X_NUMBER_GRACE_DAYS, FND_API.G_MISS_NUM, NULL, X_NUMBER_GRACE_DAYS )
179 		,DECODE( X_RATE_TYPE, FND_API.G_MISS_CHAR, NULL, X_RATE_TYPE )
180 		,DECODE( X_INDEX_NAME, FND_API.G_MISS_CHAR, NULL, X_INDEX_NAME )
181 		,DECODE( X_ADJUSTMENT_FREQUENCY, FND_API.G_MISS_NUM, NULL, X_ADJUSTMENT_FREQUENCY )
182 		,DECODE( X_ADJUSTMENT_FREQUENCY_TYPE, FND_API.G_MISS_CHAR, NULL, X_ADJUSTMENT_FREQUENCY_TYPE )
183 		,DECODE( X_FIXED_RATE_PERIOD, FND_API.G_MISS_NUM, NULL, X_FIXED_RATE_PERIOD )
184 		,DECODE( X_FIXED_RATE_PERIOD_TYPE, FND_API.G_MISS_CHAR, NULL, X_FIXED_RATE_PERIOD_TYPE )
185 		,DECODE( X_FIRST_PAYMENT_DATE, FND_API.G_MISS_DATE, NULL, X_FIRST_PAYMENT_DATE )
186 		,DECODE( X_NEXT_PAYMENT_DUE_DATE, FND_API.G_MISS_DATE, NULL, X_NEXT_PAYMENT_DUE_DATE )
187 		,DECODE( X_OPEN_FIRST_PAYMENT_DATE, FND_API.G_MISS_DATE, NULL, X_OPEN_FIRST_PAYMENT_DATE )
188 		,DECODE( X_OPEN_PAYMENT_FREQUENCY, FND_API.G_MISS_CHAR, NULL, X_OPEN_PAYMENT_FREQUENCY )
189 		,DECODE( X_OPEN_NEXT_PAYMENT_DATE, FND_API.G_MISS_DATE, NULL, X_OPEN_NEXT_PAYMENT_DATE )
190 		,DECODE( X_LOCK_IN_DATE, FND_API.G_MISS_DATE, NULL, X_LOCK_IN_DATE )
191 		,DECODE( X_LOCK_TO_DATE, FND_API.G_MISS_DATE, NULL, X_LOCK_TO_DATE )
192 		,DECODE( X_RATE_CHANGE_FREQUENCY, FND_API.G_MISS_CHAR, NULL, X_RATE_CHANGE_FREQUENCY )
193 		,DECODE( X_INDEX_RATE_ID, FND_API.G_MISS_NUM, NULL, X_INDEX_RATE_ID )
194 		,DECODE( X_PERCENT_INCREASE_LIFE, FND_API.G_MISS_NUM, NULL, X_PERCENT_INCREASE_LIFE )
195 		,DECODE( X_FIRST_PERCENT_INCREASE, FND_API.G_MISS_NUM, NULL, X_FIRST_PERCENT_INCREASE )
196 		,DECODE( X_OPEN_PERCENT_INCREASE, FND_API.G_MISS_NUM, NULL, X_OPEN_PERCENT_INCREASE )
197 		,DECODE( X_OPEN_PERCENT_INCREASE_LIFE, FND_API.G_MISS_NUM, NULL, X_OPEN_PERCENT_INCREASE_LIFE )
198 		,DECODE( X_OPEN_FIRST_PERCENT_INCREASE, FND_API.G_MISS_NUM, NULL, X_OPEN_FIRST_PERCENT_INCREASE )
199 		,DECODE( X_PMT_APPL_ORDER_SCOPE, FND_API.G_MISS_CHAR, NULL, X_PMT_APPL_ORDER_SCOPE )
200 		,DECODE( X_OPEN_CEILING_RATE, FND_API.G_MISS_NUM, NULL, X_OPEN_CEILING_RATE )
201 		,DECODE( X_OPEN_FLOOR_RATE, FND_API.G_MISS_NUM, NULL, X_OPEN_FLOOR_RATE )
202 		,DECODE( X_OPEN_INDEX_DATE, FND_API.G_MISS_DATE, NULL, X_OPEN_INDEX_DATE )
203 		,DECODE( X_TERM_INDEX_DATE, FND_API.G_MISS_DATE, NULL, X_TERM_INDEX_DATE )
204 		,DECODE( X_OPEN_PROJECTED_RATE, FND_API.G_MISS_NUM, NULL, X_OPEN_PROJECTED_RATE )
205 		,DECODE( X_TERM_PROJECTED_RATE, FND_API.G_MISS_NUM, NULL, X_TERM_PROJECTED_RATE )
206 	      ,DECODE( X_PAYMENT_CALC_METHOD, FND_API.G_MISS_CHAR, NULL, X_PAYMENT_CALC_METHOD )
207 		,DECODE( X_CUSTOM_CALC_METHOD, FND_API.G_MISS_CHAR, NULL, X_CUSTOM_CALC_METHOD )
208 		,DECODE( X_ORIG_PAY_CALC_METHOD, FND_API.G_MISS_CHAR, NULL, X_ORIG_PAY_CALC_METHOD )
209 		,DECODE( X_PRIN_FIRST_PAY_DATE, FND_API.G_MISS_DATE, NULL, X_PRIN_FIRST_PAY_DATE )
210 		,DECODE( X_PRIN_PAYMENT_FREQUENCY, FND_API.G_MISS_CHAR, NULL, X_PRIN_PAYMENT_FREQUENCY )
211 		,DECODE( X_PENAL_INT_RATE, FND_API.G_MISS_NUM, NULL, X_PENAL_INT_RATE )
212             ,DECODE( X_PENAL_INT_GRACE_DAYS, FND_API.G_MISS_NUM, NULL, X_PENAL_INT_GRACE_DAYS )
213 		,DECODE( X_CALC_ADD_INT_UNPAID_PRIN, FND_API.G_MISS_CHAR, NULL, X_CALC_ADD_INT_UNPAID_PRIN)
214 		,DECODE( X_CALC_ADD_INT_UNPAID_INT, FND_API.G_MISS_CHAR, NULL, X_CALC_ADD_INT_UNPAID_INT)
215 		,DECODE( X_REAMORTIZE_ON_FUNDING, FND_API.G_MISS_CHAR, NULL, X_REAMORTIZE_ON_FUNDING)
216 		,DECODE( X_DEFAULT_THRESHOLD_AMOUNT, FND_API.G_MISS_NUM, NULL, X_DEFAULT_THRESHOLD_AMOUNT )
217 		,DECODE( X_CUSTOM_SCHED_DESC, FND_API.G_MISS_CHAR, NULL, X_CUSTOM_SCHED_DESC)
218 	      ,DECODE( X_CAPITALIZE_INT, FND_API.G_MISS_CHAR, NULL, X_CAPITALIZE_INT)
219 	      ,DECODE( X_CALC_EARLY_PAY_CR, FND_API.G_MISS_CHAR, NULL, X_CALC_EARLY_PAY_CR)
220 	      ,DECODE( X_FLUCTUATE_EQ_PAY_AMOUNT, FND_API.G_MISS_CHAR, NULL, X_FLUCTUATE_EQ_PAY_AMOUNT)
221 
222         ) RETURNING
223             TERM_ID
224         INTO
225             X_TERM_ID;
226 
227 END Insert_Row;
228 
229 PROCEDURE Update_Row(
230 	X_Rowid				  IN OUT NOCOPY VARCHAR2,
231 	X_TERM_ID                         IN NUMBER,
232 	X_LOAN_ID                         IN NUMBER,
233 	X_DAY_COUNT_METHOD                IN VARCHAR2,
234 	X_BASED_ON_BALANCE                IN VARCHAR2,
235 	X_FIRST_RATE_CHANGE_DATE          IN DATE,
236 	X_NEXT_RATE_CHANGE_DATE           IN DATE,
237 	X_PERCENT_INCREASE                IN NUMBER,
238 	X_PERCENT_INCREASE_TERM           IN VARCHAR2,
239 	X_PAYMENT_APPLICATION_ORDER       IN VARCHAR2,
240 	X_PREPAY_PENALTY_FLAG             IN VARCHAR2,
241 	X_PREPAY_PENALTY_DATE             IN DATE,
242 	X_CEILING_RATE                    IN NUMBER,
243 	X_FLOOR_RATE                      IN NUMBER,
244 	X_DELINQUENCY_THRESHOLD_NUMBER    IN NUMBER,
245 	X_DELINQUENCY_THRESHOLD_AMOUNT    IN NUMBER,
246 	X_CALCULATION_METHOD              IN VARCHAR2,
247 	X_REAMORTIZE_UNDER_PAYMENT        IN VARCHAR2,
248 	X_REAMORTIZE_OVER_PAYMENT        IN VARCHAR2,
249 	X_REAMORTIZE_WITH_INTEREST        IN VARCHAR2,
250 	X_LOAN_PAYMENT_FREQUENCY          IN VARCHAR2,
251 	X_INTEREST_COMPOUNDING_FREQ       IN VARCHAR2,
252 	X_OBJECT_VERSION_NUMBER           IN NUMBER,
253 	X_AMORTIZATION_FREQUENCY          IN VARCHAR2,
254 	X_NUMBER_GRACE_DAYS               IN NUMBER,
255 	X_RATE_TYPE                       IN VARCHAR2,
256 	X_INDEX_NAME                      IN VARCHAR2,
257 	X_ADJUSTMENT_FREQUENCY            IN NUMBER,
258 	X_ADJUSTMENT_FREQUENCY_TYPE       IN VARCHAR2,
259 	X_FIXED_RATE_PERIOD               IN NUMBER,
260 	X_FIXED_RATE_PERIOD_TYPE          IN VARCHAR2,
261 	X_FIRST_PAYMENT_DATE		  IN DATE,
262 	X_NEXT_PAYMENT_DUE_DATE		  IN DATE,
263 	X_OPEN_FIRST_PAYMENT_DATE         IN DATE,
264 	X_OPEN_PAYMENT_FREQUENCY          IN VARCHAR2,
265 	X_OPEN_NEXT_PAYMENT_DATE          IN DATE,
266 	X_LOCK_IN_DATE			  IN DATE,
267 	X_LOCK_TO_DATE			  IN DATE,
268 	X_RATE_CHANGE_FREQUENCY		  IN VARCHAR2,
269 	X_INDEX_RATE_ID			  IN NUMBER,
270  	X_PERCENT_INCREASE_LIFE           IN NUMBER,
271 	X_FIRST_PERCENT_INCREASE          IN NUMBER,
272 	X_OPEN_PERCENT_INCREASE           IN NUMBER,
273 	X_OPEN_PERCENT_INCREASE_LIFE      IN NUMBER,
274 	X_OPEN_FIRST_PERCENT_INCREASE     IN NUMBER,
275 	X_PMT_APPL_ORDER_SCOPE            IN VARCHAR2,
276 	X_OPEN_CEILING_RATE               IN NUMBER,
277 	X_OPEN_FLOOR_RATE                 IN NUMBER,
278 	X_OPEN_INDEX_DATE                 IN DATE,
279 	X_TERM_INDEX_DATE                 IN DATE,
280 	X_OPEN_PROJECTED_RATE             IN NUMBER,
281 	X_TERM_PROJECTED_RATE             IN NUMBER,
282 	X_PAYMENT_CALC_METHOD	          IN VARCHAR2,
283 	X_CUSTOM_CALC_METHOD		    IN VARCHAR2,
284 	X_ORIG_PAY_CALC_METHOD            IN VARCHAR2,
285 	X_PRIN_FIRST_PAY_DATE		    IN DATE,
286 	X_PRIN_PAYMENT_FREQUENCY          IN VARCHAR2,
287       X_PENAL_INT_RATE                  IN NUMBER,
288       X_PENAL_INT_GRACE_DAYS            IN NUMBER,
289 	X_CALC_ADD_INT_UNPAID_PRIN	  IN VARCHAR2,
290 	X_CALC_ADD_INT_UNPAID_INT	  IN VARCHAR2,
291 	X_REAMORTIZE_ON_FUNDING         IN VARCHAR2,
292 	X_DEFAULT_THRESHOLD_AMOUNT	  IN NUMBER,
293 	X_CUSTOM_SCHED_DESC         	  IN VARCHAR2,
294 	X_CAPITALIZE_INT         	  IN VARCHAR2,
295 	X_CALC_EARLY_PAY_CR         	  IN VARCHAR2,
296 	X_FLUCTUATE_EQ_PAY_AMOUNT   	  IN VARCHAR2
297 
298 
299 ) IS
300 BEGIN
301         --Call to record history
302         LNS_LOAN_HISTORY_PUB.log_record_pre(
303                 p_id => X_TERM_ID,
304                 p_primary_key_name => 'TERM_ID',
305                 p_table_name => 'LNS_TERMS'
306         );
307 
308 	UPDATE LNS_TERMS SET
309 		TERM_ID = DECODE( X_TERM_ID, NULL, TERM_ID, FND_API.G_MISS_NUM, NULL, X_TERM_ID )
310 		,LOAN_ID = DECODE( X_LOAN_ID, NULL, LOAN_ID, FND_API.G_MISS_NUM, NULL, X_LOAN_ID )
311 		,LAST_UPDATE_DATE = LNS_UTILITY_PUB.LAST_UPDATE_DATE
312 		,LAST_UPDATED_BY = LNS_UTILITY_PUB.LAST_UPDATED_BY
313 		,LAST_UPDATE_LOGIN = LNS_UTILITY_PUB.LAST_UPDATE_LOGIN
314 		,OBJECT_VERSION_NUMBER = DECODE( X_OBJECT_VERSION_NUMBER, NULL, OBJECT_VERSION_NUMBER, FND_API.G_MISS_NUM, NULL, X_OBJECT_VERSION_NUMBER )
315 		,DAY_COUNT_METHOD = DECODE( X_DAY_COUNT_METHOD, NULL, DAY_COUNT_METHOD, FND_API.G_MISS_NUM, NULL, X_DAY_COUNT_METHOD )
316 		,BASED_ON_BALANCE = DECODE( X_BASED_ON_BALANCE, NULL, BASED_ON_BALANCE, FND_API.G_MISS_NUM, NULL, X_BASED_ON_BALANCE )
317 		,FIRST_RATE_CHANGE_DATE = DECODE( X_FIRST_RATE_CHANGE_DATE, NULL, FIRST_RATE_CHANGE_DATE, FND_API.G_MISS_NUM, NULL, X_FIRST_RATE_CHANGE_DATE )
318 		,NEXT_RATE_CHANGE_DATE = DECODE( X_NEXT_RATE_CHANGE_DATE, NULL, NEXT_RATE_CHANGE_DATE, FND_API.G_MISS_NUM, NULL, X_NEXT_RATE_CHANGE_DATE )
319 		,PERCENT_INCREASE = DECODE( X_PERCENT_INCREASE, NULL, PERCENT_INCREASE, FND_API.G_MISS_NUM, NULL, X_PERCENT_INCREASE )
320 		,PERCENT_INCREASE_TERM = DECODE( X_PERCENT_INCREASE_TERM, NULL, PERCENT_INCREASE_TERM, FND_API.G_MISS_NUM, NULL, X_PERCENT_INCREASE_TERM )
321 		,PAYMENT_APPLICATION_ORDER = DECODE( X_PAYMENT_APPLICATION_ORDER, NULL, PAYMENT_APPLICATION_ORDER, FND_API.G_MISS_NUM, NULL, X_PAYMENT_APPLICATION_ORDER )
322 		,PREPAY_PENALTY_FLAG = DECODE( X_PREPAY_PENALTY_FLAG, NULL, PREPAY_PENALTY_FLAG, FND_API.G_MISS_NUM, NULL, X_PREPAY_PENALTY_FLAG )
323 		,PREPAY_PENALTY_DATE = DECODE( X_PREPAY_PENALTY_DATE, NULL, PREPAY_PENALTY_DATE, FND_API.G_MISS_NUM, NULL, X_PREPAY_PENALTY_DATE )
324 		,CEILING_RATE = DECODE( X_CEILING_RATE, NULL, CEILING_RATE, FND_API.G_MISS_NUM, NULL, X_CEILING_RATE )
325 		,FLOOR_RATE = DECODE( X_FLOOR_RATE, NULL, FLOOR_RATE, FND_API.G_MISS_NUM, NULL, X_FLOOR_RATE )
326 		,DELINQUENCY_THRESHOLD_NUMBER = DECODE( X_DELINQUENCY_THRESHOLD_NUMBER, NULL, DELINQUENCY_THRESHOLD_NUMBER, FND_API.G_MISS_NUM, NULL, X_DELINQUENCY_THRESHOLD_NUMBER )
327 		,DELINQUENCY_THRESHOLD_AMOUNT = DECODE( X_DELINQUENCY_THRESHOLD_AMOUNT, NULL, DELINQUENCY_THRESHOLD_AMOUNT, FND_API.G_MISS_NUM, NULL, X_DELINQUENCY_THRESHOLD_AMOUNT )
328 		,CALCULATION_METHOD = DECODE( X_CALCULATION_METHOD, NULL, CALCULATION_METHOD, FND_API.G_MISS_NUM, NULL, X_CALCULATION_METHOD )
329 		,REAMORTIZE_UNDER_PAYMENT = DECODE( X_REAMORTIZE_UNDER_PAYMENT, NULL, REAMORTIZE_UNDER_PAYMENT, FND_API.G_MISS_NUM, NULL, X_REAMORTIZE_UNDER_PAYMENT )
330 		,REAMORTIZE_OVER_PAYMENT = DECODE( X_REAMORTIZE_OVER_PAYMENT, NULL, REAMORTIZE_OVER_PAYMENT, FND_API.G_MISS_NUM, NULL, X_REAMORTIZE_OVER_PAYMENT )
331 		,REAMORTIZE_WITH_INTEREST = DECODE( X_REAMORTIZE_WITH_INTEREST, NULL, REAMORTIZE_WITH_INTEREST, FND_API.G_MISS_NUM, NULL, X_REAMORTIZE_WITH_INTEREST )
332 		,LOAN_PAYMENT_FREQUENCY = DECODE( X_LOAN_PAYMENT_FREQUENCY, NULL, LOAN_PAYMENT_FREQUENCY, FND_API.G_MISS_NUM, NULL, X_LOAN_PAYMENT_FREQUENCY )
333 		,INTEREST_COMPOUNDING_FREQ = DECODE( X_INTEREST_COMPOUNDING_FREQ, NULL, INTEREST_COMPOUNDING_FREQ, FND_API.G_MISS_NUM, NULL, X_INTEREST_COMPOUNDING_FREQ )
334 		,AMORTIZATION_FREQUENCY = DECODE( X_AMORTIZATION_FREQUENCY, NULL, AMORTIZATION_FREQUENCY, FND_API.G_MISS_NUM, NULL, X_AMORTIZATION_FREQUENCY )
335 		,NUMBER_GRACE_DAYS = DECODE( X_NUMBER_GRACE_DAYS, NULL, NUMBER_GRACE_DAYS, FND_API.G_MISS_NUM, NULL, X_NUMBER_GRACE_DAYS )
336 		,RATE_TYPE = DECODE( X_RATE_TYPE, NULL, RATE_TYPE, FND_API.G_MISS_NUM, NULL, X_RATE_TYPE )
337 		,INDEX_NAME = DECODE( X_INDEX_NAME, NULL, INDEX_NAME, FND_API.G_MISS_NUM, NULL, X_INDEX_NAME )
338 		,ADJUSTMENT_FREQUENCY = DECODE( X_ADJUSTMENT_FREQUENCY, NULL, ADJUSTMENT_FREQUENCY, FND_API.G_MISS_NUM, NULL, X_ADJUSTMENT_FREQUENCY )
339 		,ADJUSTMENT_FREQUENCY_TYPE = DECODE( X_ADJUSTMENT_FREQUENCY_TYPE, NULL, ADJUSTMENT_FREQUENCY_TYPE, FND_API.G_MISS_NUM, NULL, X_ADJUSTMENT_FREQUENCY_TYPE )
340 		,FIXED_RATE_PERIOD = DECODE( X_FIXED_RATE_PERIOD, NULL, FIXED_RATE_PERIOD, FND_API.G_MISS_NUM, NULL, X_FIXED_RATE_PERIOD )
341 		,FIXED_RATE_PERIOD_TYPE = DECODE( X_FIXED_RATE_PERIOD_TYPE, NULL, FIXED_RATE_PERIOD_TYPE, FND_API.G_MISS_NUM, NULL, X_FIXED_RATE_PERIOD_TYPE )
342 		,FIRST_PAYMENT_DATE = DECODE( X_FIRST_PAYMENT_DATE, NULL, FIRST_PAYMENT_DATE, FND_API.G_MISS_NUM, NULL, X_FIRST_PAYMENT_DATE )
343 		,NEXT_PAYMENT_DUE_DATE = DECODE( X_NEXT_PAYMENT_DUE_DATE, NULL, NEXT_PAYMENT_DUE_DATE, FND_API.G_MISS_NUM, NULL, X_NEXT_PAYMENT_DUE_DATE )
344 		,OPEN_FIRST_PAYMENT_DATE = DECODE( X_OPEN_FIRST_PAYMENT_DATE, NULL, OPEN_FIRST_PAYMENT_DATE, FND_API.G_MISS_NUM, NULL, X_OPEN_FIRST_PAYMENT_DATE )
345 		,OPEN_PAYMENT_FREQUENCY = DECODE( X_OPEN_PAYMENT_FREQUENCY, NULL, OPEN_PAYMENT_FREQUENCY, FND_API.G_MISS_NUM, NULL, X_OPEN_PAYMENT_FREQUENCY )
346 		,OPEN_NEXT_PAYMENT_DATE = DECODE( X_OPEN_NEXT_PAYMENT_DATE, NULL, OPEN_NEXT_PAYMENT_DATE, FND_API.G_MISS_NUM, NULL, X_OPEN_NEXT_PAYMENT_DATE )
347 		,LOCK_IN_DATE = DECODE( X_LOCK_IN_DATE, NULL, LOCK_IN_DATE, FND_API.G_MISS_DATE, NULL, X_LOCK_IN_DATE )
348 		,LOCK_TO_DATE = DECODE( X_LOCK_TO_DATE, NULL, LOCK_TO_DATE, FND_API.G_MISS_DATE, NULL, X_LOCK_TO_DATE )
349 		,RATE_CHANGE_FREQUENCY = DECODE( X_RATE_CHANGE_FREQUENCY, NULL, RATE_CHANGE_FREQUENCY, FND_API.G_MISS_NUM, NULL, X_RATE_CHANGE_FREQUENCY )
350 		,INDEX_RATE_ID = DECODE( X_INDEX_RATE_ID, NULL, INDEX_RATE_ID, FND_API.G_MISS_NUM, NULL, X_INDEX_RATE_ID )
351 		,PERCENT_INCREASE_LIFE = DECODE( X_PERCENT_INCREASE_LIFE, NULL, PERCENT_INCREASE_LIFE, FND_API.G_MISS_NUM, NULL, X_PERCENT_INCREASE_LIFE )
352 		,FIRST_PERCENT_INCREASE = DECODE( X_FIRST_PERCENT_INCREASE, NULL, FIRST_PERCENT_INCREASE, FND_API.G_MISS_NUM, NULL, X_FIRST_PERCENT_INCREASE )
353 		,OPEN_PERCENT_INCREASE = DECODE( X_OPEN_PERCENT_INCREASE, NULL, OPEN_PERCENT_INCREASE, FND_API.G_MISS_NUM, NULL, X_OPEN_PERCENT_INCREASE )
354 		,OPEN_PERCENT_INCREASE_LIFE = DECODE( X_OPEN_PERCENT_INCREASE_LIFE, NULL, OPEN_PERCENT_INCREASE_LIFE, FND_API.G_MISS_NUM, NULL, X_OPEN_PERCENT_INCREASE_LIFE )
355 		,OPEN_FIRST_PERCENT_INCREASE = DECODE( X_OPEN_FIRST_PERCENT_INCREASE, NULL, OPEN_FIRST_PERCENT_INCREASE, FND_API.G_MISS_NUM, NULL, X_OPEN_FIRST_PERCENT_INCREASE )
356 		,PMT_APPL_ORDER_SCOPE = DECODE( X_PMT_APPL_ORDER_SCOPE, NULL, PMT_APPL_ORDER_SCOPE, FND_API.G_MISS_CHAR, NULL, X_PMT_APPL_ORDER_SCOPE )
357 		,OPEN_CEILING_RATE = DECODE( X_OPEN_CEILING_RATE, NULL, OPEN_CEILING_RATE, FND_API.G_MISS_NUM, NULL, X_OPEN_CEILING_RATE )
358 		,OPEN_FLOOR_RATE = DECODE( X_OPEN_FLOOR_RATE, NULL, OPEN_FLOOR_RATE, FND_API.G_MISS_NUM, NULL, X_OPEN_FLOOR_RATE )
359 		,OPEN_INDEX_DATE = DECODE( X_OPEN_INDEX_DATE, NULL, OPEN_INDEX_DATE, FND_API.G_MISS_DATE, NULL, X_OPEN_INDEX_DATE )
360 		,TERM_INDEX_DATE = DECODE( X_TERM_INDEX_DATE, NULL, TERM_INDEX_DATE, FND_API.G_MISS_DATE, NULL, X_TERM_INDEX_DATE )
361 		,OPEN_PROJECTED_RATE = DECODE( X_OPEN_PROJECTED_RATE, NULL, OPEN_PROJECTED_RATE, FND_API.G_MISS_NUM, NULL, X_OPEN_PROJECTED_RATE )
362 		,TERM_PROJECTED_RATE = DECODE( X_TERM_PROJECTED_RATE, NULL, TERM_PROJECTED_RATE, FND_API.G_MISS_NUM, NULL, X_TERM_PROJECTED_RATE )
363 	    ,PAYMENT_CALC_METHOD = DECODE( X_PAYMENT_CALC_METHOD, NULL, PAYMENT_CALC_METHOD, FND_API.G_MISS_CHAR, NULL, X_PAYMENT_CALC_METHOD )
364 		,CUSTOM_CALC_METHOD = DECODE( X_CUSTOM_CALC_METHOD, NULL, CUSTOM_CALC_METHOD, FND_API.G_MISS_CHAR, NULL, X_CUSTOM_CALC_METHOD )
365 	    ,ORIG_PAY_CALC_METHOD = DECODE( X_ORIG_PAY_CALC_METHOD, NULL, ORIG_PAY_CALC_METHOD, FND_API.G_MISS_CHAR, NULL, X_ORIG_PAY_CALC_METHOD )
366 		,PRIN_FIRST_PAY_DATE = DECODE( X_PRIN_FIRST_PAY_DATE, NULL, PRIN_FIRST_PAY_DATE, FND_API.G_MISS_NUM, NULL, X_PRIN_FIRST_PAY_DATE )
367         ,PRIN_PAYMENT_FREQUENCY = DECODE( X_PRIN_PAYMENT_FREQUENCY, NULL, PRIN_PAYMENT_FREQUENCY, FND_API.G_MISS_NUM, NULL, X_PRIN_PAYMENT_FREQUENCY )
368 		,PENAL_INT_RATE = DECODE( X_PENAL_INT_RATE, NULL, PENAL_INT_RATE, FND_API.G_MISS_NUM, NULL, X_PENAL_INT_RATE )
369         ,PENAL_INT_GRACE_DAYS = DECODE( X_PENAL_INT_GRACE_DAYS, NULL, PENAL_INT_GRACE_DAYS, FND_API.G_MISS_NUM, NULL, X_PENAL_INT_GRACE_DAYS )
370 		,CALC_ADD_INT_UNPAID_PRIN = DECODE( X_CALC_ADD_INT_UNPAID_PRIN, NULL, CALC_ADD_INT_UNPAID_PRIN, FND_API.G_MISS_CHAR, NULL, X_CALC_ADD_INT_UNPAID_PRIN)
371 		,CALC_ADD_INT_UNPAID_INT = DECODE( X_CALC_ADD_INT_UNPAID_INT, NULL, CALC_ADD_INT_UNPAID_INT, FND_API.G_MISS_CHAR, NULL, X_CALC_ADD_INT_UNPAID_INT)
372 		,REAMORTIZE_ON_FUNDING = DECODE( X_REAMORTIZE_ON_FUNDING, NULL, REAMORTIZE_ON_FUNDING, FND_API.G_MISS_CHAR, NULL, X_REAMORTIZE_ON_FUNDING)
373 		,DEFAULT_THRESHOLD_AMOUNT = DECODE( X_DEFAULT_THRESHOLD_AMOUNT, NULL, DEFAULT_THRESHOLD_AMOUNT, FND_API.G_MISS_NUM, NULL, X_DEFAULT_THRESHOLD_AMOUNT )
374 		,CUSTOM_SCHED_DESC = DECODE( X_CUSTOM_SCHED_DESC, NULL, CUSTOM_SCHED_DESC, FND_API.G_MISS_CHAR, NULL, X_CUSTOM_SCHED_DESC)
375 		,CAPITALIZE_INT = DECODE( X_CAPITALIZE_INT, NULL, CAPITALIZE_INT, FND_API.G_MISS_CHAR, NULL, X_CAPITALIZE_INT)
376 		,CALC_EARLY_PAY_CR = DECODE( X_CALC_EARLY_PAY_CR, NULL, CALC_EARLY_PAY_CR, FND_API.G_MISS_CHAR, NULL, X_CALC_EARLY_PAY_CR)
377 		,FLUCTUATE_EQ_PAY_AMOUNT = DECODE( X_FLUCTUATE_EQ_PAY_AMOUNT, NULL, FLUCTUATE_EQ_PAY_AMOUNT, FND_API.G_MISS_CHAR, NULL, X_FLUCTUATE_EQ_PAY_AMOUNT)
378 
379 
380 		WHERE ROWID = X_Rowid;
381 
382 	IF (SQL%NOTFOUND) THEN
383 		RAISE NO_DATA_FOUND;
384 	END IF;
385 
386         --Call to record history
387         LNS_LOAN_HISTORY_PUB.log_record_post(
388                 p_id => X_TERM_ID,
389                 p_primary_key_name => 'TERM_ID',
390                 p_table_name => 'LNS_TERMS',
391                 p_loan_id => X_LOAN_ID
392         );
393 END Update_Row;
394 
395 PROCEDURE Lock_Row(
396 	X_Rowid				  IN VARCHAR2,
397 	X_TERM_ID                         IN NUMBER,
398 	X_LOAN_ID                         IN NUMBER,
399 	X_DAY_COUNT_METHOD                IN VARCHAR2,
400 	X_BASED_ON_BALANCE                IN VARCHAR2,
401 	X_FIRST_RATE_CHANGE_DATE          IN DATE,
402 	X_NEXT_RATE_CHANGE_DATE           IN DATE,
403 	X_PERCENT_INCREASE                IN NUMBER,
404 	X_PERCENT_INCREASE_TERM           IN VARCHAR2,
405 	X_PAYMENT_APPLICATION_ORDER       IN VARCHAR2,
406 	X_PREPAY_PENALTY_FLAG             IN VARCHAR2,
407 	X_PREPAY_PENALTY_DATE             IN DATE,
408 	X_CEILING_RATE                    IN NUMBER,
409 	X_FLOOR_RATE                      IN NUMBER,
410 	X_DELINQUENCY_THRESHOLD_NUMBER    IN NUMBER,
411 	X_DELINQUENCY_THRESHOLD_AMOUNT    IN NUMBER,
412 	X_CALCULATION_METHOD              IN VARCHAR2,
413 	X_REAMORTIZE_UNDER_PAYMENT        IN VARCHAR2,
414 	X_REAMORTIZE_OVER_PAYMENT        IN VARCHAR2,
415 	X_REAMORTIZE_WITH_INTEREST        IN VARCHAR2,
416 	X_LOAN_PAYMENT_FREQUENCY          IN VARCHAR2,
417 	X_INTEREST_COMPOUNDING_FREQ       IN VARCHAR2,
418 	X_CREATED_BY                      IN NUMBER,
419 	X_CREATION_DATE                   IN DATE,
420 	X_LAST_UPDATED_BY                 IN NUMBER,
421 	X_LAST_UPDATE_DATE                IN DATE,
422 	X_LAST_UPDATE_LOGIN               IN NUMBER,
423 	X_OBJECT_VERSION_NUMBER           IN NUMBER,
424 	X_AMORTIZATION_FREQUENCY          IN VARCHAR2,
425 	X_NUMBER_GRACE_DAYS               IN NUMBER,
426 	X_RATE_TYPE                       IN VARCHAR2,
427 	X_INDEX_NAME                      IN VARCHAR2,
428 	X_ADJUSTMENT_FREQUENCY            IN NUMBER,
429 	X_ADJUSTMENT_FREQUENCY_TYPE       IN VARCHAR2,
430 	X_FIXED_RATE_PERIOD               IN NUMBER,
431 	X_FIXED_RATE_PERIOD_TYPE          IN VARCHAR2,
432 	X_FIRST_PAYMENT_DATE		  IN DATE,
433 	X_NEXT_PAYMENT_DUE_DATE		  IN DATE,
434 	X_OPEN_FIRST_PAYMENT_DATE         IN DATE,
435 	X_OPEN_PAYMENT_FREQUENCY          IN VARCHAR2,
436 	X_OPEN_NEXT_PAYMENT_DATE          IN DATE,
437 	X_LOCK_IN_DATE			  IN DATE,
438 	X_LOCK_TO_DATE			  IN DATE,
439 	X_RATE_CHANGE_FREQUENCY		  IN VARCHAR2,
440 	X_INDEX_RATE_ID			  IN NUMBER,
441  	X_PERCENT_INCREASE_LIFE           IN NUMBER,
442 	X_FIRST_PERCENT_INCREASE          IN NUMBER,
443 	X_OPEN_PERCENT_INCREASE           IN NUMBER,
444 	X_OPEN_PERCENT_INCREASE_LIFE      IN NUMBER,
445 	X_OPEN_FIRST_PERCENT_INCREASE     IN NUMBER,
446 	X_PMT_APPL_ORDER_SCOPE            IN VARCHAR2,
447 	X_OPEN_CEILING_RATE               IN NUMBER,
448 	X_OPEN_FLOOR_RATE                 IN NUMBER,
449 	X_OPEN_INDEX_DATE                 IN DATE,
450 	X_TERM_INDEX_DATE                 IN DATE,
451 	X_OPEN_PROJECTED_RATE             IN NUMBER,
452 	X_TERM_PROJECTED_RATE             IN NUMBER,
453 	X_PAYMENT_CALC_METHOD	          IN VARCHAR2,
454 	X_CUSTOM_CALC_METHOD              IN VARCHAR2,
455 	X_ORIG_PAY_CALC_METHOD            IN VARCHAR2,
456 	X_PRIN_FIRST_PAY_DATE		    IN DATE,
457 	X_PRIN_PAYMENT_FREQUENCY          IN VARCHAR2,
458       X_PENAL_INT_RATE                  IN NUMBER,
459       X_PENAL_INT_GRACE_DAYS            IN NUMBER,
460 	X_CALC_ADD_INT_UNPAID_PRIN	    IN VARCHAR2,
461 	X_CALC_ADD_INT_UNPAID_INT	    IN VARCHAR2,
462 	X_REAMORTIZE_ON_FUNDING           IN VARCHAR2,
463 	X_DEFAULT_THRESHOLD_AMOUNT	    IN NUMBER,
464 	X_CUSTOM_SCHED_DESC         	    IN VARCHAR2,
465 	X_CAPITALIZE_INT                  IN VARCHAR2,
466 	X_CALC_EARLY_PAY_CR               IN VARCHAR2,
467 	X_FLUCTUATE_EQ_PAY_AMOUNT         IN VARCHAR2
468 
469 ) IS
470 	CURSOR C IS SELECT * FROM LNS_TERMS
471 		WHERE rowid = x_rowid
472 		FOR UPDATE of LOAN_ID NOWAIT;
473 	Recinfo C%ROWTYPE;
474 BEGIN
475 	OPEN C;
476 	FETCH C INTO Recinfo;
477 	IF (C%NOTFOUND) THEN
478 		CLOSE C;
479 		FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
480 		APP_EXCEPTION.Raise_Exception;
481 	END IF;
482 	CLOSE C;
483 
484 	IF (
485 		(Recinfo.TERM_ID = X_TERM_ID)
486 		AND ( (Recinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
487 			OR ( (Recinfo.OBJECT_VERSION_NUMBER IS NULL)
488 				AND (X_OBJECT_VERSION_NUMBER IS NULL)))
489 	   ) THEN
490 		return;
491 	ELSE
492 		FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
493 		APP_EXCEPTION.Raise_Exception;
494 	END IF;
495 END Lock_Row;
496 
497 
498 PROCEDURE Select_Row (
499 	X_TERM_ID                         IN OUT NOCOPY NUMBER,
500 	X_LOAN_ID                         OUT NOCOPY NUMBER,
501 	X_DAY_COUNT_METHOD                OUT NOCOPY VARCHAR2,
502 	X_BASED_ON_BALANCE                OUT NOCOPY VARCHAR2,
503 	X_FIRST_RATE_CHANGE_DATE          OUT NOCOPY DATE,
504 	X_NEXT_RATE_CHANGE_DATE           OUT NOCOPY DATE,
505 	X_PERCENT_INCREASE                OUT NOCOPY NUMBER,
506 	X_PERCENT_INCREASE_TERM           OUT NOCOPY VARCHAR2,
507 	X_PAYMENT_APPLICATION_ORDER       OUT NOCOPY VARCHAR2,
508 	X_PREPAY_PENALTY_FLAG             OUT NOCOPY VARCHAR2,
509 	X_PREPAY_PENALTY_DATE             OUT NOCOPY DATE,
510 	X_CEILING_RATE                    OUT NOCOPY NUMBER,
511 	X_FLOOR_RATE                      OUT NOCOPY NUMBER,
512 	X_DELINQUENCY_THRESHOLD_NUMBER    OUT NOCOPY NUMBER,
513 	X_DELINQUENCY_THRESHOLD_AMOUNT    OUT NOCOPY NUMBER,
514 	X_CALCULATION_METHOD              OUT NOCOPY VARCHAR2,
515 	X_REAMORTIZE_UNDER_PAYMENT        OUT NOCOPY VARCHAR2,
516 	X_REAMORTIZE_OVER_PAYMENT         OUT NOCOPY VARCHAR2,
517 	X_REAMORTIZE_WITH_INTEREST        OUT NOCOPY VARCHAR2,
518 	X_LOAN_PAYMENT_FREQUENCY          OUT NOCOPY VARCHAR2,
519 	X_INTEREST_COMPOUNDING_FREQ       OUT NOCOPY VARCHAR2,
520 	X_AMORTIZATION_FREQUENCY          OUT NOCOPY VARCHAR2,
521 	X_NUMBER_GRACE_DAYS               OUT NOCOPY NUMBER,
522 	X_RATE_TYPE                       OUT NOCOPY VARCHAR2,
523 	X_INDEX_NAME                      OUT NOCOPY VARCHAR2,
524 	X_ADJUSTMENT_FREQUENCY            OUT NOCOPY NUMBER,
525 	X_ADJUSTMENT_FREQUENCY_TYPE       OUT NOCOPY VARCHAR2,
526 	X_FIXED_RATE_PERIOD               OUT NOCOPY NUMBER,
527 	X_FIXED_RATE_PERIOD_TYPE          OUT NOCOPY VARCHAR2,
528 	X_FIRST_PAYMENT_DATE		  OUT NOCOPY DATE,
529 	X_NEXT_PAYMENT_DUE_DATE		  OUT NOCOPY DATE,
530 	X_OPEN_FIRST_PAYMENT_DATE         OUT NOCOPY DATE,
531 	X_OPEN_PAYMENT_FREQUENCY          OUT NOCOPY VARCHAR2,
532 	X_OPEN_NEXT_PAYMENT_DATE          OUT NOCOPY DATE,
533 	X_LOCK_IN_DATE			  OUT NOCOPY DATE,
534 	X_LOCK_TO_DATE			  OUT NOCOPY DATE,
535 	X_RATE_CHANGE_FREQUENCY		  OUT NOCOPY VARCHAR2,
536 	X_INDEX_RATE_ID			  OUT NOCOPY NUMBER,
537  	X_PERCENT_INCREASE_LIFE           OUT NOCOPY NUMBER,
538 	X_FIRST_PERCENT_INCREASE          OUT NOCOPY NUMBER,
539 	X_OPEN_PERCENT_INCREASE           OUT NOCOPY NUMBER,
540 	X_OPEN_PERCENT_INCREASE_LIFE      OUT NOCOPY NUMBER,
541 	X_OPEN_FIRST_PERCENT_INCREASE     OUT NOCOPY NUMBER,
542 	X_PMT_APPL_ORDER_SCOPE            OUT NOCOPY VARCHAR2,
543 	X_OPEN_CEILING_RATE               OUT NOCOPY NUMBER,
544 	X_OPEN_FLOOR_RATE                 OUT NOCOPY NUMBER,
545 	X_OPEN_INDEX_DATE                 OUT NOCOPY DATE,
546 	X_TERM_INDEX_DATE                 OUT NOCOPY DATE,
547 	X_OPEN_PROJECTED_RATE             OUT NOCOPY NUMBER,
548 	X_TERM_PROJECTED_RATE             OUT NOCOPY NUMBER,
549 	X_PAYMENT_CALC_METHOD	          OUT NOCOPY VARCHAR2,
550 	X_CUSTOM_CALC_METHOD              OUT NOCOPY VARCHAR2,
551 	X_ORIG_PAY_CALC_METHOD            OUT NOCOPY VARCHAR2,
552 	X_PRIN_FIRST_PAY_DATE		    OUT NOCOPY DATE,
553 	X_PRIN_PAYMENT_FREQUENCY          OUT NOCOPY VARCHAR2,
554       X_PENAL_INT_RATE                  OUT NOCOPY NUMBER,
555       X_PENAL_INT_GRACE_DAYS            OUT NOCOPY NUMBER,
556 	X_CALC_ADD_INT_UNPAID_PRIN	    OUT NOCOPY VARCHAR2,
557 	X_CALC_ADD_INT_UNPAID_INT	    OUT NOCOPY VARCHAR2,
558 	X_REAMORTIZE_ON_FUNDING           OUT NOCOPY VARCHAR2,
559 	X_DEFAULT_THRESHOLD_AMOUNT	    OUT NOCOPY NUMBER,
560 	X_CUSTOM_SCHED_DESC         	    OUT NOCOPY VARCHAR2,
561 	X_CAPITALIZE_INT                  OUT NOCOPY VARCHAR2,
562 	X_CALC_EARLY_PAY_CR               OUT NOCOPY VARCHAR2,
563 	X_FLUCTUATE_EQ_PAY_AMOUNT         OUT NOCOPY VARCHAR2
564 
565 
566 ) IS
567 
568 BEGIN
569 
570     SELECT
571 	NVL( TERM_ID, FND_API.G_MISS_NUM ),
572 	NVL( LOAN_ID, FND_API.G_MISS_NUM ),
573 	NVL( DAY_COUNT_METHOD, FND_API.G_MISS_CHAR ),
574 	NVL( BASED_ON_BALANCE, FND_API.G_MISS_CHAR ),
575 	NVL( FIRST_RATE_CHANGE_DATE, FND_API.G_MISS_DATE ),
576 	NVL( NEXT_RATE_CHANGE_DATE, FND_API.G_MISS_DATE ),
577 	NVL( PERCENT_INCREASE, FND_API.G_MISS_NUM ),
578 	NVL( PERCENT_INCREASE_TERM, FND_API.G_MISS_CHAR ),
579 	NVL( PAYMENT_APPLICATION_ORDER, FND_API.G_MISS_CHAR ),
580 	NVL( PREPAY_PENALTY_FLAG, FND_API.G_MISS_CHAR ),
581 	NVL( PREPAY_PENALTY_DATE, FND_API.G_MISS_DATE ),
582 	NVL( CEILING_RATE, FND_API.G_MISS_NUM ),
583 	NVL( FLOOR_RATE, FND_API.G_MISS_NUM ),
584 	NVL( DELINQUENCY_THRESHOLD_NUMBER, FND_API.G_MISS_NUM ),
585 	NVL( DELINQUENCY_THRESHOLD_AMOUNT, FND_API.G_MISS_NUM ),
586 	NVL( CALCULATION_METHOD, FND_API.G_MISS_CHAR ),
587 	NVL( REAMORTIZE_UNDER_PAYMENT, FND_API.G_MISS_CHAR ),
588 	NVL( REAMORTIZE_OVER_PAYMENT, FND_API.G_MISS_CHAR ),
589 	NVL( REAMORTIZE_WITH_INTEREST, FND_API.G_MISS_CHAR ),
590 	NVL( LOAN_PAYMENT_FREQUENCY, FND_API.G_MISS_CHAR ),
591 	NVL( INTEREST_COMPOUNDING_FREQ, FND_API.G_MISS_CHAR ),
592 	NVL( AMORTIZATION_FREQUENCY, FND_API.G_MISS_CHAR ),
593 	NVL( NUMBER_GRACE_DAYS, FND_API.G_MISS_NUM ),
594 	NVL( RATE_TYPE, FND_API.G_MISS_CHAR ),
595 	NVL( INDEX_NAME, FND_API.G_MISS_CHAR ),
596 	NVL( ADJUSTMENT_FREQUENCY, FND_API.G_MISS_NUM ),
597 	NVL( ADJUSTMENT_FREQUENCY_TYPE, FND_API.G_MISS_CHAR ),
598 	NVL( FIXED_RATE_PERIOD, FND_API.G_MISS_NUM ),
599 	NVL( FIXED_RATE_PERIOD_TYPE, FND_API.G_MISS_CHAR ),
600 	NVL( FIRST_PAYMENT_DATE, FND_API.G_MISS_DATE ),
601 	NVL( NEXT_PAYMENT_DUE_DATE, FND_API.G_MISS_DATE ),
602 	NVL( OPEN_FIRST_PAYMENT_DATE, FND_API.G_MISS_DATE ),
603 	NVL( OPEN_PAYMENT_FREQUENCY, FND_API.G_MISS_CHAR ),
604 	NVL( OPEN_NEXT_PAYMENT_DATE, FND_API.G_MISS_DATE ),
605 	NVL( LOCK_IN_DATE, FND_API.G_MISS_DATE ),
606 	NVL( LOCK_TO_DATE, FND_API.G_MISS_DATE ),
607 	NVL( RATE_CHANGE_FREQUENCY, FND_API.G_MISS_CHAR ),
608 	NVL( INDEX_RATE_ID, FND_API.G_MISS_NUM ),
609 	NVL( PERCENT_INCREASE_LIFE, FND_API.G_MISS_NUM ),
610 	NVL( FIRST_PERCENT_INCREASE, FND_API.G_MISS_NUM ),
611 	NVL( OPEN_PERCENT_INCREASE, FND_API.G_MISS_NUM ),
612 	NVL( OPEN_PERCENT_INCREASE_LIFE, FND_API.G_MISS_NUM ),
613 	NVL( OPEN_FIRST_PERCENT_INCREASE, FND_API.G_MISS_NUM ),
614 	NVL( PMT_APPL_ORDER_SCOPE, FND_API.G_MISS_CHAR ),
615 	NVL( OPEN_CEILING_RATE, FND_API.G_MISS_NUM ),
616 	NVL( OPEN_FLOOR_RATE, FND_API.G_MISS_NUM ),
617 	NVL( OPEN_INDEX_DATE, FND_API.G_MISS_DATE ),
618 	NVL( TERM_INDEX_DATE, FND_API.G_MISS_DATE ),
619 	NVL( OPEN_PROJECTED_RATE, FND_API.G_MISS_NUM ),
620 	NVL( TERM_PROJECTED_RATE, FND_API.G_MISS_NUM ),
621 	NVL( PAYMENT_CALC_METHOD, FND_API.G_MISS_CHAR),
622 	NVL( CUSTOM_CALC_METHOD, FND_API.G_MISS_CHAR ),
623 	NVL( ORIG_PAY_CALC_METHOD, FND_API.G_MISS_CHAR ),
624 	NVL( PRIN_FIRST_PAY_DATE, FND_API.G_MISS_DATE ),
625 	NVL( PRIN_PAYMENT_FREQUENCY, FND_API.G_MISS_CHAR ),
626     NVL( PENAL_INT_RATE, FND_API.G_MISS_NUM ),
627     NVL( PENAL_INT_GRACE_DAYS, FND_API.G_MISS_NUM ),
628 	NVL( CALC_ADD_INT_UNPAID_PRIN, FND_API.G_MISS_CHAR ),
629 	NVL( CALC_ADD_INT_UNPAID_INT,  FND_API.G_MISS_CHAR ),
630 	NVL( REAMORTIZE_ON_FUNDING,  FND_API.G_MISS_CHAR ),
631 	NVL( DEFAULT_THRESHOLD_AMOUNT, FND_API.G_MISS_NUM ),
632 	NVL( CUSTOM_SCHED_DESC,  FND_API.G_MISS_CHAR ),
633 	NVL( CAPITALIZE_INT,  FND_API.G_MISS_CHAR ),
634 	NVL( CALC_EARLY_PAY_CR,  FND_API.G_MISS_CHAR ),
635 	NVL( FLUCTUATE_EQ_PAY_AMOUNT,  FND_API.G_MISS_CHAR )
636 
637     INTO
638 	X_TERM_ID,
639 	X_LOAN_ID,
640 	X_DAY_COUNT_METHOD,
641 	X_BASED_ON_BALANCE,
642 	X_FIRST_RATE_CHANGE_DATE,
643 	X_NEXT_RATE_CHANGE_DATE,
644 	X_PERCENT_INCREASE,
645 	X_PERCENT_INCREASE_TERM,
646 	X_PAYMENT_APPLICATION_ORDER,
647 	X_PREPAY_PENALTY_FLAG,
648 	X_PREPAY_PENALTY_DATE,
649 	X_CEILING_RATE,
650 	X_FLOOR_RATE,
651 	X_DELINQUENCY_THRESHOLD_NUMBER,
652 	X_DELINQUENCY_THRESHOLD_AMOUNT,
653 	X_CALCULATION_METHOD,
654 	X_REAMORTIZE_UNDER_PAYMENT,
655 	X_REAMORTIZE_OVER_PAYMENT,
656 	X_REAMORTIZE_WITH_INTEREST,
657 	X_LOAN_PAYMENT_FREQUENCY,
658 	X_INTEREST_COMPOUNDING_FREQ,
659 	X_AMORTIZATION_FREQUENCY,
660 	X_NUMBER_GRACE_DAYS,
661 	X_RATE_TYPE,
662 	X_INDEX_NAME,
663 	X_ADJUSTMENT_FREQUENCY,
664 	X_ADJUSTMENT_FREQUENCY_TYPE,
665 	X_FIXED_RATE_PERIOD,
666 	X_FIXED_RATE_PERIOD_TYPE,
667 	X_FIRST_PAYMENT_DATE,
668 	X_NEXT_PAYMENT_DUE_DATE,
669 	X_OPEN_FIRST_PAYMENT_DATE,
670 	X_OPEN_PAYMENT_FREQUENCY,
671 	X_OPEN_NEXT_PAYMENT_DATE,
672 	X_LOCK_IN_DATE,
673 	X_LOCK_TO_DATE,
674     X_RATE_CHANGE_FREQUENCY,
675     X_INDEX_RATE_ID,
676 	X_PERCENT_INCREASE_LIFE,
677 	X_FIRST_PERCENT_INCREASE,
678 	X_OPEN_PERCENT_INCREASE,
679 	X_OPEN_PERCENT_INCREASE_LIFE,
680 	X_OPEN_FIRST_PERCENT_INCREASE,
681 	X_PMT_APPL_ORDER_SCOPE,
682 	X_OPEN_CEILING_RATE,
683 	X_OPEN_FLOOR_RATE,
684 	X_OPEN_INDEX_DATE,
685 	X_TERM_INDEX_DATE,
686 	X_OPEN_PROJECTED_RATE,
687 	X_TERM_PROJECTED_RATE,
688 	X_PAYMENT_CALC_METHOD,
689 	X_CUSTOM_CALC_METHOD,
690 	X_ORIG_PAY_CALC_METHOD,
691 	X_PRIN_FIRST_PAY_DATE,
692 	X_PRIN_PAYMENT_FREQUENCY,
693     X_PENAL_INT_RATE,
694     X_PENAL_INT_GRACE_DAYS,
695 	X_CALC_ADD_INT_UNPAID_PRIN,
696 	X_CALC_ADD_INT_UNPAID_INT,
697 	X_REAMORTIZE_ON_FUNDING,
698 	X_DEFAULT_THRESHOLD_AMOUNT,
699 	X_CUSTOM_SCHED_DESC,
700 	X_CAPITALIZE_INT,
701 	X_CALC_EARLY_PAY_CR,
702 	X_FLUCTUATE_EQ_PAY_AMOUNT
703 	FROM LNS_TERMS
704 	WHERE TERM_ID = X_TERM_ID;
705 
706 EXCEPTION
707     WHEN NO_DATA_FOUND THEN
708         FND_MESSAGE.SET_NAME( 'LNS', 'LNS_API_NO_RECORD' );
709         FND_MESSAGE.SET_TOKEN( 'RECORD', 'loan_terms_rec');
710         FND_MESSAGE.SET_TOKEN( 'VALUE', TO_CHAR( X_TERM_ID ) );
711         FND_MSG_PUB.ADD;
712         RAISE FND_API.G_EXC_ERROR;
713 
714 END Select_Row;
715 
716 PROCEDURE Delete_Row (
717     X_TERM_ID                         IN     NUMBER
718 ) IS
719 
720 BEGIN
721 
722     DELETE FROM LNS_TERMS
723     WHERE TERM_ID = X_TERM_ID;
724 
725     IF ( SQL%NOTFOUND ) THEN
726         RAISE NO_DATA_FOUND;
727     END IF;
728 
729 END Delete_Row;
730 
731 END LNS_TERMS_PKG;