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