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