DBA Data[Home] [Help]

PACKAGE BODY: APPS.LNS_AMORTIZATION_SCHEDS_PKG

Source


1 PACKAGE BODY LNS_AMORTIZATION_SCHEDS_PKG AS
2 /* $Header: LNS_AMSCH_TBLH_B.pls 120.4 2011/10/25 18:13:22 scherkas ship $ */
3 
4 /* Insert_Row procedure */
5 PROCEDURE Insert_Row(
6 	X_AMORTIZATION_SCHEDULE_ID		IN OUT NOCOPY NUMBER
7 	,P_LOAN_ID		IN NUMBER
8 	,P_PAYMENT_NUMBER		IN NUMBER
9 	,P_DUE_DATE		IN DATE
10 	,P_LATE_DATE		IN DATE
11 	,P_PRINCIPAL_AMOUNT		IN NUMBER
12 	,P_INTEREST_AMOUNT		IN NUMBER
13 	,P_OTHER_AMOUNT		IN NUMBER
14 	,P_REVERSED_FLAG		IN VARCHAR2
15 	,P_REVERSED_DATE		IN DATE
16 	,P_RATE_ID		IN NUMBER
17 	,P_CREATED_BY		IN NUMBER
18 	,P_CREATION_DATE		IN DATE
19 	,P_LAST_UPDATED_BY		IN NUMBER
20 	,P_LAST_UPDATE_DATE		IN DATE
21 	,P_LAST_UPDATE_LOGIN		IN NUMBER
22 	,P_ATTRIBUTE_CATEGORY		IN VARCHAR2
23 	,P_ATTRIBUTE1		IN VARCHAR2
24 	,P_ATTRIBUTE2		IN VARCHAR2
25 	,P_ATTRIBUTE3		IN VARCHAR2
26 	,P_ATTRIBUTE4		IN VARCHAR2
27 	,P_ATTRIBUTE5		IN VARCHAR2
28 	,P_ATTRIBUTE6		IN VARCHAR2
29 	,P_ATTRIBUTE7		IN VARCHAR2
30 	,P_ATTRIBUTE8		IN VARCHAR2
31 	,P_ATTRIBUTE9		IN VARCHAR2
32 	,P_ATTRIBUTE10		IN VARCHAR2
33 	,P_ATTRIBUTE11		IN VARCHAR2
34 	,P_ATTRIBUTE12		IN VARCHAR2
35 	,P_ATTRIBUTE13		IN VARCHAR2
36 	,P_ATTRIBUTE14		IN VARCHAR2
37 	,P_ATTRIBUTE15		IN VARCHAR2
38 	,P_ATTRIBUTE16		IN VARCHAR2
39 	,P_ATTRIBUTE17		IN VARCHAR2
40 	,P_ATTRIBUTE18		IN VARCHAR2
41 	,P_ATTRIBUTE19		IN VARCHAR2
42 	,P_ATTRIBUTE20		IN VARCHAR2
43 	,P_OBJECT_VERSION_NUMBER		IN NUMBER
44 	,P_PARENT_AMORTIZATION_ID		IN NUMBER
45 	,P_REAMORTIZATION_AMOUNT		IN NUMBER
46 	,P_REAMORTIZE_FROM_INSTALLMENT		IN NUMBER
47 	,P_REAMORTIZE_TO_INSTALLMENT		IN NUMBER
48 	,P_FEE_AMOUNT		IN NUMBER
49 	,P_PRINCIPAL_TRX_ID		IN NUMBER
50 	,P_INTEREST_TRX_ID		IN NUMBER
51 	,P_FEE_TRX_ID		IN NUMBER
52 	,P_STATEMENT_XML		IN CLOB
53 	,P_PRINCIPAL_BALANCE		IN NUMBER
54 	,P_PHASE		IN VARCHAR2
55 	,P_FUNDED_AMOUNT		IN NUMBER
56 	,P_DEFERRED_INT_AMOUNT		IN NUMBER
57 	,P_CAP_INT_AMOUNT		IN NUMBER
58 	,P_CURR_CAP_INT_AMOUNT		IN NUMBER DEFAULT NULL
59 ) IS
60 BEGIN
61 	INSERT INTO LNS_AMORTIZATION_SCHEDS
62 	(
63 		AMORTIZATION_SCHEDULE_ID
64 		,LOAN_ID
65 		,PAYMENT_NUMBER
66 		,DUE_DATE
67 		,LATE_DATE
68 		,PRINCIPAL_AMOUNT
69 		,INTEREST_AMOUNT
70 		,OTHER_AMOUNT
71 		,REVERSED_FLAG
72 		,REVERSED_DATE
73 		,RATE_ID
74 		,CREATED_BY
75 		,CREATION_DATE
76 		,LAST_UPDATED_BY
77 		,LAST_UPDATE_DATE
78 		,LAST_UPDATE_LOGIN
79 		,ATTRIBUTE_CATEGORY
80 		,ATTRIBUTE1
81 		,ATTRIBUTE2
82 		,ATTRIBUTE3
83 		,ATTRIBUTE4
84 		,ATTRIBUTE5
85 		,ATTRIBUTE6
86 		,ATTRIBUTE7
87 		,ATTRIBUTE8
88 		,ATTRIBUTE9
89 		,ATTRIBUTE10
90 		,ATTRIBUTE11
91 		,ATTRIBUTE12
92 		,ATTRIBUTE13
93 		,ATTRIBUTE14
94 		,ATTRIBUTE15
95 		,ATTRIBUTE16
96 		,ATTRIBUTE17
97 		,ATTRIBUTE18
98 		,ATTRIBUTE19
99 		,ATTRIBUTE20
100 		,OBJECT_VERSION_NUMBER
101 		,PARENT_AMORTIZATION_ID
102 		,REAMORTIZATION_AMOUNT
103 		,REAMORTIZE_FROM_INSTALLMENT
104 		,REAMORTIZE_TO_INSTALLMENT
105 		,FEE_AMOUNT
106 		,PRINCIPAL_TRX_ID
107 		,INTEREST_TRX_ID
108 		,FEE_TRX_ID
109 		,STATEMENT_XML
110 		,PRINCIPAL_BALANCE
111 		,PHASE
112 		,FUNDED_AMOUNT
113 		,DEFERRED_INT_AMOUNT
114         ,CAP_INT_AMOUNT
115         ,CURR_CAP_INT_AMOUNT
116 	) VALUES (
117 		DECODE(X_AMORTIZATION_SCHEDULE_ID, FND_API.G_MISS_NUM, LNS_AMORTIZATION_SCHEDS_S.NEXTVAL, NULL, LNS_AMORTIZATION_SCHEDS_S.NEXTVAL, X_AMORTIZATION_SCHEDULE_ID)
118 		,DECODE(P_LOAN_ID, FND_API.G_MISS_NUM, NULL, P_LOAN_ID)
119 		,DECODE(P_PAYMENT_NUMBER, FND_API.G_MISS_NUM, NULL, P_PAYMENT_NUMBER)
120 		,DECODE(P_DUE_DATE, FND_API.G_MISS_DATE, NULL, P_DUE_DATE)
121 		,DECODE(P_LATE_DATE, FND_API.G_MISS_DATE, NULL, P_LATE_DATE)
122 		,DECODE(P_PRINCIPAL_AMOUNT, FND_API.G_MISS_NUM, NULL, P_PRINCIPAL_AMOUNT)
123 		,DECODE(P_INTEREST_AMOUNT, FND_API.G_MISS_NUM, NULL, P_INTEREST_AMOUNT)
124 		,DECODE(P_OTHER_AMOUNT, FND_API.G_MISS_NUM, NULL, P_OTHER_AMOUNT)
125 		,DECODE(P_REVERSED_FLAG, FND_API.G_MISS_CHAR, NULL, P_REVERSED_FLAG)
126 		,DECODE(P_REVERSED_DATE, FND_API.G_MISS_DATE, NULL, P_REVERSED_DATE)
127 		,DECODE(P_RATE_ID, FND_API.G_MISS_NUM, NULL, P_RATE_ID)
128 		,LNS_UTILITY_PUB.CREATED_BY
129 		,LNS_UTILITY_PUB.CREATION_DATE
130 		,LNS_UTILITY_PUB.LAST_UPDATED_BY
131 		,LNS_UTILITY_PUB.LAST_UPDATE_DATE
132 		,LNS_UTILITY_PUB.LAST_UPDATE_LOGIN
133 		,DECODE(P_ATTRIBUTE_CATEGORY, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE_CATEGORY)
134 		,DECODE(P_ATTRIBUTE1, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE1)
135 		,DECODE(P_ATTRIBUTE2, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE2)
136 		,DECODE(P_ATTRIBUTE3, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE3)
137 		,DECODE(P_ATTRIBUTE4, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE4)
138 		,DECODE(P_ATTRIBUTE5, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE5)
139 		,DECODE(P_ATTRIBUTE6, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE6)
140 		,DECODE(P_ATTRIBUTE7, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE7)
141 		,DECODE(P_ATTRIBUTE8, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE8)
142 		,DECODE(P_ATTRIBUTE9, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE9)
143 		,DECODE(P_ATTRIBUTE10, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE10)
144 		,DECODE(P_ATTRIBUTE11, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE11)
145 		,DECODE(P_ATTRIBUTE12, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE12)
146 		,DECODE(P_ATTRIBUTE13, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE13)
147 		,DECODE(P_ATTRIBUTE14, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE14)
148 		,DECODE(P_ATTRIBUTE15, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE15)
149 		,DECODE(P_ATTRIBUTE16, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE16)
150 		,DECODE(P_ATTRIBUTE17, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE17)
151 		,DECODE(P_ATTRIBUTE18, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE18)
152 		,DECODE(P_ATTRIBUTE19, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE19)
153 		,DECODE(P_ATTRIBUTE20, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE20)
154 		,DECODE(P_OBJECT_VERSION_NUMBER, FND_API.G_MISS_NUM, NULL, P_OBJECT_VERSION_NUMBER)
155 		,DECODE(P_PARENT_AMORTIZATION_ID, FND_API.G_MISS_NUM, NULL, P_PARENT_AMORTIZATION_ID)
156 		,DECODE(P_REAMORTIZATION_AMOUNT, FND_API.G_MISS_NUM, NULL, P_REAMORTIZATION_AMOUNT)
157 		,DECODE(P_REAMORTIZE_FROM_INSTALLMENT, FND_API.G_MISS_NUM, NULL, P_REAMORTIZE_FROM_INSTALLMENT)
158 		,DECODE(P_REAMORTIZE_TO_INSTALLMENT, FND_API.G_MISS_NUM, NULL, P_REAMORTIZE_TO_INSTALLMENT)
159 		,DECODE(P_FEE_AMOUNT, FND_API.G_MISS_NUM, NULL, P_FEE_AMOUNT)
160 		,DECODE(P_PRINCIPAL_TRX_ID, FND_API.G_MISS_NUM, NULL, P_PRINCIPAL_TRX_ID)
161 		,DECODE(P_INTEREST_TRX_ID, FND_API.G_MISS_NUM, NULL, P_INTEREST_TRX_ID)
162 		,DECODE(P_FEE_TRX_ID, FND_API.G_MISS_NUM, NULL, P_FEE_TRX_ID)
163 		,P_STATEMENT_XML
164 		,DECODE(P_PRINCIPAL_BALANCE, FND_API.G_MISS_NUM, NULL, P_PRINCIPAL_BALANCE)
165 		,DECODE(P_PHASE, FND_API.G_MISS_CHAR, NULL, P_PHASE)
166 		,DECODE(P_FUNDED_AMOUNT, FND_API.G_MISS_NUM, NULL, P_FUNDED_AMOUNT)
167 		,DECODE(P_DEFERRED_INT_AMOUNT, FND_API.G_MISS_NUM, NULL, P_DEFERRED_INT_AMOUNT)
168 		,DECODE(P_CAP_INT_AMOUNT, FND_API.G_MISS_NUM, NULL, P_CAP_INT_AMOUNT)
169 		,DECODE(P_CURR_CAP_INT_AMOUNT, FND_API.G_MISS_NUM, NULL, P_CURR_CAP_INT_AMOUNT)
170 	) RETURNING
171 		 AMORTIZATION_SCHEDULE_ID
172 	 INTO
173 		 X_AMORTIZATION_SCHEDULE_ID;
174 END Insert_Row;
175 
176 /* Update_Row procedure */
177 PROCEDURE Update_Row(
178 	P_AMORTIZATION_SCHEDULE_ID		IN NUMBER
179 	,P_LOAN_ID		IN NUMBER
180 	,P_PAYMENT_NUMBER		IN NUMBER
181 	,P_DUE_DATE		IN DATE
182 	,P_LATE_DATE		IN DATE
183 	,P_PRINCIPAL_AMOUNT		IN NUMBER
184 	,P_INTEREST_AMOUNT		IN NUMBER
185 	,P_OTHER_AMOUNT		IN NUMBER
186 	,P_REVERSED_FLAG		IN VARCHAR2
187 	,P_REVERSED_DATE		IN DATE
188 	,P_RATE_ID		IN NUMBER
189 	,P_LAST_UPDATED_BY		IN NUMBER
190 	,P_LAST_UPDATE_DATE		IN DATE
191 	,P_LAST_UPDATE_LOGIN		IN NUMBER
192 	,P_ATTRIBUTE_CATEGORY		IN VARCHAR2
193 	,P_ATTRIBUTE1		IN VARCHAR2
194 	,P_ATTRIBUTE2		IN VARCHAR2
195 	,P_ATTRIBUTE3		IN VARCHAR2
196 	,P_ATTRIBUTE4		IN VARCHAR2
197 	,P_ATTRIBUTE5		IN VARCHAR2
198 	,P_ATTRIBUTE6		IN VARCHAR2
199 	,P_ATTRIBUTE7		IN VARCHAR2
200 	,P_ATTRIBUTE8		IN VARCHAR2
201 	,P_ATTRIBUTE9		IN VARCHAR2
202 	,P_ATTRIBUTE10		IN VARCHAR2
203 	,P_ATTRIBUTE11		IN VARCHAR2
204 	,P_ATTRIBUTE12		IN VARCHAR2
205 	,P_ATTRIBUTE13		IN VARCHAR2
206 	,P_ATTRIBUTE14		IN VARCHAR2
207 	,P_ATTRIBUTE15		IN VARCHAR2
208 	,P_ATTRIBUTE16		IN VARCHAR2
209 	,P_ATTRIBUTE17		IN VARCHAR2
210 	,P_ATTRIBUTE18		IN VARCHAR2
211 	,P_ATTRIBUTE19		IN VARCHAR2
212 	,P_ATTRIBUTE20		IN VARCHAR2
213 	,P_OBJECT_VERSION_NUMBER		IN NUMBER
214 	,P_PARENT_AMORTIZATION_ID		IN NUMBER
215 	,P_REAMORTIZATION_AMOUNT		IN NUMBER
216 	,P_REAMORTIZE_FROM_INSTALLMENT		IN NUMBER
217 	,P_REAMORTIZE_TO_INSTALLMENT		IN NUMBER
218 	,P_FEE_AMOUNT		IN NUMBER
219 	,P_PRINCIPAL_TRX_ID		IN NUMBER
220 	,P_INTEREST_TRX_ID		IN NUMBER
221 	,P_FEE_TRX_ID		IN NUMBER
222 	,P_PRINCIPAL_BALANCE		IN NUMBER
223 	,P_PHASE		IN VARCHAR2
224 	,P_FUNDED_AMOUNT		IN NUMBER
225 	,P_DEFERRED_INT_AMOUNT		IN NUMBER
226 	,P_CAP_INT_AMOUNT		IN NUMBER
227 	,P_CURR_CAP_INT_AMOUNT		IN NUMBER DEFAULT NULL
228 ) IS
229 BEGIN
230 	UPDATE LNS_AMORTIZATION_SCHEDS SET
231 		LOAN_ID = DECODE(P_LOAN_ID, NULL, LOAN_ID, FND_API.G_MISS_NUM, NULL, P_LOAN_ID)
232 		,PAYMENT_NUMBER = DECODE(P_PAYMENT_NUMBER, NULL, PAYMENT_NUMBER, FND_API.G_MISS_NUM, NULL, P_PAYMENT_NUMBER)
233 		,DUE_DATE = DECODE(P_DUE_DATE, NULL, DUE_DATE, FND_API.G_MISS_DATE, NULL, P_DUE_DATE)
234 		,LATE_DATE = DECODE(P_LATE_DATE, NULL, LATE_DATE, FND_API.G_MISS_DATE, NULL, P_LATE_DATE)
235 		,PRINCIPAL_AMOUNT = DECODE(P_PRINCIPAL_AMOUNT, NULL, PRINCIPAL_AMOUNT, FND_API.G_MISS_NUM, NULL, P_PRINCIPAL_AMOUNT)
236 		,INTEREST_AMOUNT = DECODE(P_INTEREST_AMOUNT, NULL, INTEREST_AMOUNT, FND_API.G_MISS_NUM, NULL, P_INTEREST_AMOUNT)
237 		,OTHER_AMOUNT = DECODE(P_OTHER_AMOUNT, NULL, OTHER_AMOUNT, FND_API.G_MISS_NUM, NULL, P_OTHER_AMOUNT)
238 		,REVERSED_FLAG = DECODE(P_REVERSED_FLAG, NULL, REVERSED_FLAG, FND_API.G_MISS_CHAR, NULL, P_REVERSED_FLAG)
239 		,REVERSED_DATE = DECODE(P_REVERSED_DATE, NULL, REVERSED_DATE, FND_API.G_MISS_DATE, NULL, P_REVERSED_DATE)
240 		,RATE_ID = DECODE(P_RATE_ID, NULL, RATE_ID, FND_API.G_MISS_NUM, NULL, P_RATE_ID)
241 		,LAST_UPDATED_BY = LNS_UTILITY_PUB.LAST_UPDATED_BY
242 		,LAST_UPDATE_DATE = LNS_UTILITY_PUB.LAST_UPDATE_DATE
243 		,LAST_UPDATE_LOGIN = LNS_UTILITY_PUB.LAST_UPDATE_LOGIN
244 		,ATTRIBUTE_CATEGORY = DECODE(P_ATTRIBUTE_CATEGORY, NULL, ATTRIBUTE_CATEGORY, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE_CATEGORY)
245 		,ATTRIBUTE1 = DECODE(P_ATTRIBUTE1, NULL, ATTRIBUTE1, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE1)
246 		,ATTRIBUTE2 = DECODE(P_ATTRIBUTE2, NULL, ATTRIBUTE2, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE2)
247 		,ATTRIBUTE3 = DECODE(P_ATTRIBUTE3, NULL, ATTRIBUTE3, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE3)
248 		,ATTRIBUTE4 = DECODE(P_ATTRIBUTE4, NULL, ATTRIBUTE4, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE4)
249 		,ATTRIBUTE5 = DECODE(P_ATTRIBUTE5, NULL, ATTRIBUTE5, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE5)
250 		,ATTRIBUTE6 = DECODE(P_ATTRIBUTE6, NULL, ATTRIBUTE6, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE6)
251 		,ATTRIBUTE7 = DECODE(P_ATTRIBUTE7, NULL, ATTRIBUTE7, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE7)
252 		,ATTRIBUTE8 = DECODE(P_ATTRIBUTE8, NULL, ATTRIBUTE8, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE8)
253 		,ATTRIBUTE9 = DECODE(P_ATTRIBUTE9, NULL, ATTRIBUTE9, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE9)
254 		,ATTRIBUTE10 = DECODE(P_ATTRIBUTE10, NULL, ATTRIBUTE10, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE10)
255 		,ATTRIBUTE11 = DECODE(P_ATTRIBUTE11, NULL, ATTRIBUTE11, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE11)
256 		,ATTRIBUTE12 = DECODE(P_ATTRIBUTE12, NULL, ATTRIBUTE12, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE12)
257 		,ATTRIBUTE13 = DECODE(P_ATTRIBUTE13, NULL, ATTRIBUTE13, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE13)
258 		,ATTRIBUTE14 = DECODE(P_ATTRIBUTE14, NULL, ATTRIBUTE14, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE14)
259 		,ATTRIBUTE15 = DECODE(P_ATTRIBUTE15, NULL, ATTRIBUTE15, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE15)
260 		,ATTRIBUTE16 = DECODE(P_ATTRIBUTE16, NULL, ATTRIBUTE16, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE16)
261 		,ATTRIBUTE17 = DECODE(P_ATTRIBUTE17, NULL, ATTRIBUTE17, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE17)
262 		,ATTRIBUTE18 = DECODE(P_ATTRIBUTE18, NULL, ATTRIBUTE18, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE18)
263 		,ATTRIBUTE19 = DECODE(P_ATTRIBUTE19, NULL, ATTRIBUTE19, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE19)
264 		,ATTRIBUTE20 = DECODE(P_ATTRIBUTE20, NULL, ATTRIBUTE20, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE20)
265 		,OBJECT_VERSION_NUMBER = DECODE(P_OBJECT_VERSION_NUMBER, NULL, OBJECT_VERSION_NUMBER, FND_API.G_MISS_NUM, NULL, P_OBJECT_VERSION_NUMBER)
266 		,PARENT_AMORTIZATION_ID = DECODE(P_PARENT_AMORTIZATION_ID, NULL, PARENT_AMORTIZATION_ID, FND_API.G_MISS_NUM, NULL, P_PARENT_AMORTIZATION_ID)
267 		,REAMORTIZATION_AMOUNT = DECODE(P_REAMORTIZATION_AMOUNT, NULL, REAMORTIZATION_AMOUNT, FND_API.G_MISS_NUM, NULL, P_REAMORTIZATION_AMOUNT)
268 		,REAMORTIZE_FROM_INSTALLMENT = DECODE(P_REAMORTIZE_FROM_INSTALLMENT, NULL, REAMORTIZE_FROM_INSTALLMENT, FND_API.G_MISS_NUM, NULL, P_REAMORTIZE_FROM_INSTALLMENT)
269 		,REAMORTIZE_TO_INSTALLMENT = DECODE(P_REAMORTIZE_TO_INSTALLMENT, NULL, REAMORTIZE_TO_INSTALLMENT, FND_API.G_MISS_NUM, NULL, P_REAMORTIZE_TO_INSTALLMENT)
270 		,FEE_AMOUNT = DECODE(P_FEE_AMOUNT, NULL, FEE_AMOUNT, FND_API.G_MISS_NUM, NULL, P_FEE_AMOUNT)
271 		,PRINCIPAL_TRX_ID = DECODE(P_PRINCIPAL_TRX_ID, NULL, PRINCIPAL_TRX_ID, FND_API.G_MISS_NUM, NULL, P_PRINCIPAL_TRX_ID)
272 		,INTEREST_TRX_ID = DECODE(P_INTEREST_TRX_ID, NULL, INTEREST_TRX_ID, FND_API.G_MISS_NUM, NULL, P_INTEREST_TRX_ID)
273 		,FEE_TRX_ID = DECODE(P_FEE_TRX_ID, NULL, FEE_TRX_ID, FND_API.G_MISS_NUM, NULL, P_FEE_TRX_ID)
277 		,DEFERRED_INT_AMOUNT = DECODE(P_DEFERRED_INT_AMOUNT, NULL, DEFERRED_INT_AMOUNT, FND_API.G_MISS_NUM, NULL, P_DEFERRED_INT_AMOUNT)
274 		,PRINCIPAL_BALANCE = DECODE(P_PRINCIPAL_BALANCE, NULL, PRINCIPAL_BALANCE, FND_API.G_MISS_NUM, NULL, P_PRINCIPAL_BALANCE)
275 		,PHASE = DECODE(P_PHASE, NULL, PHASE, FND_API.G_MISS_CHAR, NULL, P_PHASE)
276 		,FUNDED_AMOUNT = DECODE(P_FUNDED_AMOUNT, NULL, FUNDED_AMOUNT, FND_API.G_MISS_NUM, NULL, P_FUNDED_AMOUNT)
278 		,CAP_INT_AMOUNT = DECODE(P_CAP_INT_AMOUNT, NULL, CAP_INT_AMOUNT, FND_API.G_MISS_NUM, NULL, P_CAP_INT_AMOUNT)
279 		,CURR_CAP_INT_AMOUNT = DECODE(P_CURR_CAP_INT_AMOUNT, NULL, CURR_CAP_INT_AMOUNT, FND_API.G_MISS_NUM, NULL, P_CURR_CAP_INT_AMOUNT)
280      WHERE AMORTIZATION_SCHEDULE_ID = P_AMORTIZATION_SCHEDULE_ID;
281 
282 	if (sql%notfound) then
283 		raise no_data_found;
284 	end if;
285 END Update_Row;
286 
287 /* Update_Statement procedure */
288 PROCEDURE Update_Statement(
289 	P_AMORTIZATION_SCHEDULE_ID		IN NUMBER
290 	,P_STATEMENT_XML		IN CLOB
291 ) IS
292 BEGIN
293 	UPDATE LNS_AMORTIZATION_SCHEDS SET
294 		STATEMENT_XML = P_STATEMENT_XML
295 	 WHERE AMORTIZATION_SCHEDULE_ID = P_AMORTIZATION_SCHEDULE_ID;
296 
297 	if (sql%notfound) then
298 		raise no_data_found;
299 	end if;
300 END Update_Statement;
301 
302 /* Delete_Row procedure */
303 PROCEDURE Delete_Row(P_AMORTIZATION_SCHEDULE_ID IN NUMBER) IS
304 BEGIN
305 	DELETE FROM LNS_AMORTIZATION_SCHEDS
306 		WHERE AMORTIZATION_SCHEDULE_ID = P_AMORTIZATION_SCHEDULE_ID;
307 
308 	if (sql%notfound) then
309 		raise no_data_found;
310 	end if;
311 END Delete_Row;
312 
313 /* Lock_Row procedure */
314 PROCEDURE Lock_Row(
315 	P_AMORTIZATION_SCHEDULE_ID		IN NUMBER
316 	,P_LOAN_ID		IN NUMBER
317 	,P_PAYMENT_NUMBER		IN NUMBER
318 	,P_DUE_DATE		IN DATE
319 	,P_LATE_DATE		IN DATE
320 	,P_PRINCIPAL_AMOUNT		IN NUMBER
321 	,P_INTEREST_AMOUNT		IN NUMBER
322 	,P_OTHER_AMOUNT		IN NUMBER
323 	,P_REVERSED_FLAG		IN VARCHAR2
324 	,P_REVERSED_DATE		IN DATE
325 	,P_RATE_ID		IN NUMBER
326 	,P_CREATED_BY		IN NUMBER
327 	,P_CREATION_DATE		IN DATE
328 	,P_LAST_UPDATED_BY		IN NUMBER
329 	,P_LAST_UPDATE_DATE		IN DATE
330 	,P_LAST_UPDATE_LOGIN		IN NUMBER
331 	,P_ATTRIBUTE_CATEGORY		IN VARCHAR2
332 	,P_ATTRIBUTE1		IN VARCHAR2
333 	,P_ATTRIBUTE2		IN VARCHAR2
334 	,P_ATTRIBUTE3		IN VARCHAR2
335 	,P_ATTRIBUTE4		IN VARCHAR2
336 	,P_ATTRIBUTE5		IN VARCHAR2
337 	,P_ATTRIBUTE6		IN VARCHAR2
338 	,P_ATTRIBUTE7		IN VARCHAR2
339 	,P_ATTRIBUTE8		IN VARCHAR2
340 	,P_ATTRIBUTE9		IN VARCHAR2
341 	,P_ATTRIBUTE10		IN VARCHAR2
342 	,P_ATTRIBUTE11		IN VARCHAR2
343 	,P_ATTRIBUTE12		IN VARCHAR2
344 	,P_ATTRIBUTE13		IN VARCHAR2
345 	,P_ATTRIBUTE14		IN VARCHAR2
346 	,P_ATTRIBUTE15		IN VARCHAR2
347 	,P_ATTRIBUTE16		IN VARCHAR2
348 	,P_ATTRIBUTE17		IN VARCHAR2
349 	,P_ATTRIBUTE18		IN VARCHAR2
350 	,P_ATTRIBUTE19		IN VARCHAR2
351 	,P_ATTRIBUTE20		IN VARCHAR2
352 	,P_OBJECT_VERSION_NUMBER		IN NUMBER
353 	,P_PARENT_AMORTIZATION_ID		IN NUMBER
354 	,P_REAMORTIZATION_AMOUNT		IN NUMBER
355 	,P_REAMORTIZE_FROM_INSTALLMENT		IN NUMBER
356 	,P_REAMORTIZE_TO_INSTALLMENT		IN NUMBER
357 	,P_FEE_AMOUNT		IN NUMBER
358 	,P_PRINCIPAL_TRX_ID		IN NUMBER
359 	,P_INTEREST_TRX_ID		IN NUMBER
360 	,P_FEE_TRX_ID		IN NUMBER
361 	,P_STATEMENT_XML		IN CLOB
362 	,P_PRINCIPAL_BALANCE		IN NUMBER
363 	,P_PHASE		IN VARCHAR2
364 	,P_FUNDED_AMOUNT		IN NUMBER
365 	,P_DEFERRED_INT_AMOUNT		IN NUMBER
366 	,P_CAP_INT_AMOUNT		IN NUMBER
367 	,P_CURR_CAP_INT_AMOUNT		IN NUMBER DEFAULT NULL
368 ) IS
369 	CURSOR C IS SELECT * FROM LNS_AMORTIZATION_SCHEDS
370 		WHERE AMORTIZATION_SCHEDULE_ID = P_AMORTIZATION_SCHEDULE_ID
371 		FOR UPDATE of AMORTIZATION_SCHEDULE_ID NOWAIT;
372 	Recinfo C%ROWTYPE;
373 BEGIN
374 	OPEN C;
375 	FETCH C INTO Recinfo;
376 	IF (C%NOTFOUND) THEN
377 		CLOSE C;
378 		FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
379 		APP_EXCEPTION.Raise_Exception;
380 	END IF;
381 	CLOSE C;
382 
383 	IF (
384 		(Recinfo.AMORTIZATION_SCHEDULE_ID = P_AMORTIZATION_SCHEDULE_ID)
385 		AND ( (Recinfo.LOAN_ID = P_LOAN_ID)
386 			OR ( (Recinfo.LOAN_ID IS NULL)
387 				AND (P_LOAN_ID IS NULL)))
388 		AND ( (Recinfo.PAYMENT_NUMBER = P_PAYMENT_NUMBER)
389 			OR ( (Recinfo.PAYMENT_NUMBER IS NULL)
390 				AND (P_PAYMENT_NUMBER IS NULL)))
391 		AND ( (Recinfo.DUE_DATE = P_DUE_DATE)
392 			OR ( (Recinfo.DUE_DATE IS NULL)
393 				AND (P_DUE_DATE IS NULL)))
394 		AND ( (Recinfo.LATE_DATE = P_LATE_DATE)
395 			OR ( (Recinfo.LATE_DATE IS NULL)
396 				AND (P_LATE_DATE IS NULL)))
397 		AND ( (Recinfo.PRINCIPAL_AMOUNT = P_PRINCIPAL_AMOUNT)
398 			OR ( (Recinfo.PRINCIPAL_AMOUNT IS NULL)
399 				AND (P_PRINCIPAL_AMOUNT IS NULL)))
400 		AND ( (Recinfo.INTEREST_AMOUNT = P_INTEREST_AMOUNT)
401 			OR ( (Recinfo.INTEREST_AMOUNT IS NULL)
402 				AND (P_INTEREST_AMOUNT IS NULL)))
403 		AND ( (Recinfo.OTHER_AMOUNT = P_OTHER_AMOUNT)
404 			OR ( (Recinfo.OTHER_AMOUNT IS NULL)
405 				AND (P_OTHER_AMOUNT IS NULL)))
406 		AND ( (Recinfo.REVERSED_FLAG = P_REVERSED_FLAG)
407 			OR ( (Recinfo.REVERSED_FLAG IS NULL)
408 				AND (P_REVERSED_FLAG IS NULL)))
409 		AND ( (Recinfo.REVERSED_DATE = P_REVERSED_DATE)
410 			OR ( (Recinfo.REVERSED_DATE IS NULL)
411 				AND (P_REVERSED_DATE IS NULL)))
412 		AND ( (Recinfo.RATE_ID = P_RATE_ID)
413 			OR ( (Recinfo.RATE_ID IS NULL)
414 				AND (P_RATE_ID IS NULL)))
415 		AND ( (Recinfo.CREATED_BY = P_CREATED_BY)
416 			OR ( (Recinfo.CREATED_BY IS NULL)
417 				AND (P_CREATED_BY IS NULL)))
418 		AND ( (Recinfo.CREATION_DATE = P_CREATION_DATE)
419 			OR ( (Recinfo.CREATION_DATE IS NULL)
420 				AND (P_CREATION_DATE IS NULL)))
421 		AND ( (Recinfo.LAST_UPDATED_BY = P_LAST_UPDATED_BY)
422 			OR ( (Recinfo.LAST_UPDATED_BY IS NULL)
426 				AND (P_LAST_UPDATE_DATE IS NULL)))
423 				AND (P_LAST_UPDATED_BY IS NULL)))
424 		AND ( (Recinfo.LAST_UPDATE_DATE = P_LAST_UPDATE_DATE)
425 			OR ( (Recinfo.LAST_UPDATE_DATE IS NULL)
427 		AND ( (Recinfo.LAST_UPDATE_LOGIN = P_LAST_UPDATE_LOGIN)
428 			OR ( (Recinfo.LAST_UPDATE_LOGIN IS NULL)
429 				AND (P_LAST_UPDATE_LOGIN IS NULL)))
430 		AND ( (Recinfo.ATTRIBUTE_CATEGORY = P_ATTRIBUTE_CATEGORY)
431 			OR ( (Recinfo.ATTRIBUTE_CATEGORY IS NULL)
432 				AND (P_ATTRIBUTE_CATEGORY IS NULL)))
433 		AND ( (Recinfo.ATTRIBUTE1 = P_ATTRIBUTE1)
434 			OR ( (Recinfo.ATTRIBUTE1 IS NULL)
435 				AND (P_ATTRIBUTE1 IS NULL)))
436 		AND ( (Recinfo.ATTRIBUTE2 = P_ATTRIBUTE2)
437 			OR ( (Recinfo.ATTRIBUTE2 IS NULL)
438 				AND (P_ATTRIBUTE2 IS NULL)))
439 		AND ( (Recinfo.ATTRIBUTE3 = P_ATTRIBUTE3)
440 			OR ( (Recinfo.ATTRIBUTE3 IS NULL)
441 				AND (P_ATTRIBUTE3 IS NULL)))
442 		AND ( (Recinfo.ATTRIBUTE4 = P_ATTRIBUTE4)
443 			OR ( (Recinfo.ATTRIBUTE4 IS NULL)
444 				AND (P_ATTRIBUTE4 IS NULL)))
445 		AND ( (Recinfo.ATTRIBUTE5 = P_ATTRIBUTE5)
446 			OR ( (Recinfo.ATTRIBUTE5 IS NULL)
447 				AND (P_ATTRIBUTE5 IS NULL)))
448 		AND ( (Recinfo.ATTRIBUTE6 = P_ATTRIBUTE6)
449 			OR ( (Recinfo.ATTRIBUTE6 IS NULL)
450 				AND (P_ATTRIBUTE6 IS NULL)))
451 		AND ( (Recinfo.ATTRIBUTE7 = P_ATTRIBUTE7)
452 			OR ( (Recinfo.ATTRIBUTE7 IS NULL)
453 				AND (P_ATTRIBUTE7 IS NULL)))
454 		AND ( (Recinfo.ATTRIBUTE8 = P_ATTRIBUTE8)
455 			OR ( (Recinfo.ATTRIBUTE8 IS NULL)
456 				AND (P_ATTRIBUTE8 IS NULL)))
457 		AND ( (Recinfo.ATTRIBUTE9 = P_ATTRIBUTE9)
458 			OR ( (Recinfo.ATTRIBUTE9 IS NULL)
459 				AND (P_ATTRIBUTE9 IS NULL)))
460 		AND ( (Recinfo.ATTRIBUTE10 = P_ATTRIBUTE10)
461 			OR ( (Recinfo.ATTRIBUTE10 IS NULL)
462 				AND (P_ATTRIBUTE10 IS NULL)))
463 		AND ( (Recinfo.ATTRIBUTE11 = P_ATTRIBUTE11)
464 			OR ( (Recinfo.ATTRIBUTE11 IS NULL)
465 				AND (P_ATTRIBUTE11 IS NULL)))
466 		AND ( (Recinfo.ATTRIBUTE12 = P_ATTRIBUTE12)
467 			OR ( (Recinfo.ATTRIBUTE12 IS NULL)
468 				AND (P_ATTRIBUTE12 IS NULL)))
469 		AND ( (Recinfo.ATTRIBUTE13 = P_ATTRIBUTE13)
470 			OR ( (Recinfo.ATTRIBUTE13 IS NULL)
471 				AND (P_ATTRIBUTE13 IS NULL)))
472 		AND ( (Recinfo.ATTRIBUTE14 = P_ATTRIBUTE14)
473 			OR ( (Recinfo.ATTRIBUTE14 IS NULL)
474 				AND (P_ATTRIBUTE14 IS NULL)))
475 		AND ( (Recinfo.ATTRIBUTE15 = P_ATTRIBUTE15)
476 			OR ( (Recinfo.ATTRIBUTE15 IS NULL)
477 				AND (P_ATTRIBUTE15 IS NULL)))
478 		AND ( (Recinfo.ATTRIBUTE16 = P_ATTRIBUTE16)
479 			OR ( (Recinfo.ATTRIBUTE16 IS NULL)
480 				AND (P_ATTRIBUTE16 IS NULL)))
481 		AND ( (Recinfo.ATTRIBUTE17 = P_ATTRIBUTE17)
482 			OR ( (Recinfo.ATTRIBUTE17 IS NULL)
483 				AND (P_ATTRIBUTE17 IS NULL)))
484 		AND ( (Recinfo.ATTRIBUTE18 = P_ATTRIBUTE18)
485 			OR ( (Recinfo.ATTRIBUTE18 IS NULL)
486 				AND (P_ATTRIBUTE18 IS NULL)))
487 		AND ( (Recinfo.ATTRIBUTE19 = P_ATTRIBUTE19)
488 			OR ( (Recinfo.ATTRIBUTE19 IS NULL)
489 				AND (P_ATTRIBUTE19 IS NULL)))
490 		AND ( (Recinfo.ATTRIBUTE20 = P_ATTRIBUTE20)
491 			OR ( (Recinfo.ATTRIBUTE20 IS NULL)
492 				AND (P_ATTRIBUTE20 IS NULL)))
493 		AND ( (Recinfo.OBJECT_VERSION_NUMBER = P_OBJECT_VERSION_NUMBER)
494 			OR ( (Recinfo.OBJECT_VERSION_NUMBER IS NULL)
495 				AND (P_OBJECT_VERSION_NUMBER IS NULL)))
496 		AND ( (Recinfo.PARENT_AMORTIZATION_ID = P_PARENT_AMORTIZATION_ID)
497 			OR ( (Recinfo.PARENT_AMORTIZATION_ID IS NULL)
498 				AND (P_PARENT_AMORTIZATION_ID IS NULL)))
499 		AND ( (Recinfo.REAMORTIZATION_AMOUNT = P_REAMORTIZATION_AMOUNT)
500 			OR ( (Recinfo.REAMORTIZATION_AMOUNT IS NULL)
501 				AND (P_REAMORTIZATION_AMOUNT IS NULL)))
502 		AND ( (Recinfo.REAMORTIZE_FROM_INSTALLMENT = P_REAMORTIZE_FROM_INSTALLMENT)
503 			OR ( (Recinfo.REAMORTIZE_FROM_INSTALLMENT IS NULL)
504 				AND (P_REAMORTIZE_FROM_INSTALLMENT IS NULL)))
505 		AND ( (Recinfo.REAMORTIZE_TO_INSTALLMENT = P_REAMORTIZE_TO_INSTALLMENT)
506 			OR ( (Recinfo.REAMORTIZE_TO_INSTALLMENT IS NULL)
507 				AND (P_REAMORTIZE_TO_INSTALLMENT IS NULL)))
508 		AND ( (Recinfo.FEE_AMOUNT = P_FEE_AMOUNT)
509 			OR ( (Recinfo.FEE_AMOUNT IS NULL)
510 				AND (P_FEE_AMOUNT IS NULL)))
511 		AND ( (Recinfo.PRINCIPAL_TRX_ID = P_PRINCIPAL_TRX_ID)
512 			OR ( (Recinfo.PRINCIPAL_TRX_ID IS NULL)
513 				AND (P_PRINCIPAL_TRX_ID IS NULL)))
514 		AND ( (Recinfo.INTEREST_TRX_ID = P_INTEREST_TRX_ID)
515 			OR ( (Recinfo.INTEREST_TRX_ID IS NULL)
516 				AND (P_INTEREST_TRX_ID IS NULL)))
517 		AND ( (Recinfo.FEE_TRX_ID = P_FEE_TRX_ID)
518 			OR ( (Recinfo.FEE_TRX_ID IS NULL)
519 				AND (P_FEE_TRX_ID IS NULL)))
520 		AND ( (Recinfo.STATEMENT_XML = P_STATEMENT_XML)
521 			OR ( (Recinfo.STATEMENT_XML IS NULL)
522 				AND (P_STATEMENT_XML IS NULL)))
523 		AND ( (Recinfo.PRINCIPAL_BALANCE = P_PRINCIPAL_BALANCE)
524 			OR ( (Recinfo.PRINCIPAL_BALANCE IS NULL)
525 				AND (P_PRINCIPAL_BALANCE IS NULL)))
526 		AND ( (Recinfo.PHASE = P_PHASE)
527 			OR ( (Recinfo.PHASE IS NULL)
528 				AND (P_PHASE IS NULL)))
529 		AND ( (Recinfo.FUNDED_AMOUNT = P_FUNDED_AMOUNT)
530 			OR ( (Recinfo.FUNDED_AMOUNT IS NULL)
531 				AND (P_FUNDED_AMOUNT IS NULL)))
532 		AND ( (Recinfo.DEFERRED_INT_AMOUNT = P_DEFERRED_INT_AMOUNT)
533 			OR ( (Recinfo.DEFERRED_INT_AMOUNT IS NULL)
534 				AND (P_DEFERRED_INT_AMOUNT IS NULL)))
535 		AND ( (Recinfo.CAP_INT_AMOUNT = P_CAP_INT_AMOUNT)
536 			OR ( (Recinfo.CAP_INT_AMOUNT IS NULL)
537 				AND (P_CAP_INT_AMOUNT IS NULL)))
538 		AND ( (Recinfo.CURR_CAP_INT_AMOUNT = P_CURR_CAP_INT_AMOUNT)
539 			OR ( (Recinfo.CURR_CAP_INT_AMOUNT IS NULL)
540 				AND (P_CURR_CAP_INT_AMOUNT IS NULL)))
541        ) THEN
542 		return;
543 	ELSE
544 		FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
545 		APP_EXCEPTION.Raise_Exception;
546 	END IF;
547 END Lock_Row;
548 END;
549