[Home] [Help]
PACKAGE BODY: APPS.LNS_FINANCIALS_W
Source
1 package body lns_financials_w as
2 /* $Header: LNS_FINANCIALJ_B.pls 120.7.12010000.3 2009/01/07 13:35:38 gparuchu ship $ */
3 procedure rosetta_table_copy_in_p1(t out nocopy lns_financials.rate_schedule_tbl, a0 JTF_NUMBER_TABLE
4 , a1 JTF_DATE_TABLE
5 , a2 JTF_DATE_TABLE
6 , a3 JTF_NUMBER_TABLE
7 , a4 JTF_NUMBER_TABLE
8 , a5 JTF_NUMBER_TABLE
9 , a6 JTF_NUMBER_TABLE
10 , a7 JTF_VARCHAR2_TABLE_100
11 , a8 JTF_VARCHAR2_TABLE_100
12 , a9 JTF_VARCHAR2_TABLE_100
13 ) as
14 ddindx binary_integer; indx binary_integer;
15 begin
16 if a0 is not null and a0.count > 0 then
17 if a0.count > 0 then
18 indx := a0.first;
19 ddindx := 1;
20 while true loop
21 t(ddindx).rate_id := a0(indx);
22 t(ddindx).begin_date := a1(indx);
23 t(ddindx).end_date := a2(indx);
24 t(ddindx).annual_rate := a3(indx);
25 t(ddindx).spread := a4(indx);
26 t(ddindx).begin_installment_number := a5(indx);
27 t(ddindx).end_installment_number := a6(indx);
28 t(ddindx).interest_only_flag := a7(indx);
29 t(ddindx).phase := a8(indx);
30 t(ddindx).floating_flag := a9(indx);
31 ddindx := ddindx+1;
32 if a0.last =indx
33 then exit;
34 end if;
35 indx := a0.next(indx);
36 end loop;
37 end if;
38 end if;
39 end rosetta_table_copy_in_p1;
40 procedure rosetta_table_copy_out_p1(t lns_financials.rate_schedule_tbl, a0 out nocopy JTF_NUMBER_TABLE
41 , a1 out nocopy JTF_DATE_TABLE
42 , a2 out nocopy JTF_DATE_TABLE
43 , a3 out nocopy JTF_NUMBER_TABLE
44 , a4 out nocopy JTF_NUMBER_TABLE
45 , a5 out nocopy JTF_NUMBER_TABLE
46 , a6 out nocopy JTF_NUMBER_TABLE
47 , a7 out nocopy JTF_VARCHAR2_TABLE_100
48 , a8 out nocopy JTF_VARCHAR2_TABLE_100
49 , a9 out nocopy JTF_VARCHAR2_TABLE_100
50 ) as
51 ddindx binary_integer; indx binary_integer;
52 begin
53 if t is null or t.count = 0 then
54 a0 := JTF_NUMBER_TABLE();
55 a1 := JTF_DATE_TABLE();
56 a2 := JTF_DATE_TABLE();
57 a3 := JTF_NUMBER_TABLE();
58 a4 := JTF_NUMBER_TABLE();
59 a5 := JTF_NUMBER_TABLE();
60 a6 := JTF_NUMBER_TABLE();
61 a7 := JTF_VARCHAR2_TABLE_100();
62 a8 := JTF_VARCHAR2_TABLE_100();
63 a9 := JTF_VARCHAR2_TABLE_100();
64 else
65 a0 := JTF_NUMBER_TABLE();
66 a1 := JTF_DATE_TABLE();
67 a2 := JTF_DATE_TABLE();
68 a3 := JTF_NUMBER_TABLE();
69 a4 := JTF_NUMBER_TABLE();
70 a5 := JTF_NUMBER_TABLE();
71 a6 := JTF_NUMBER_TABLE();
72 a7 := JTF_VARCHAR2_TABLE_100();
73 a8 := JTF_VARCHAR2_TABLE_100();
74 a9 := JTF_VARCHAR2_TABLE_100();
75 if t.count > 0 then
76 a0.extend(t.count);
77 a1.extend(t.count);
78 a2.extend(t.count);
79 a3.extend(t.count);
80 a4.extend(t.count);
81 a5.extend(t.count);
82 a6.extend(t.count);
83 a7.extend(t.count);
84 a8.extend(t.count);
85 a9.extend(t.count);
86 ddindx := t.first;
87 indx := 1;
88 while true loop
89 a0(indx) := t(ddindx).rate_id;
90 a1(indx) := t(ddindx).begin_date;
91 a2(indx) := t(ddindx).end_date;
92 a3(indx) := t(ddindx).annual_rate;
93 a4(indx) := t(ddindx).spread;
94 a5(indx) := t(ddindx).begin_installment_number;
95 a6(indx) := t(ddindx).end_installment_number;
96 a7(indx) := t(ddindx).interest_only_flag;
97 a8(indx) := t(ddindx).phase;
98 a9(indx) := t(ddindx).floating_flag;
99 indx := indx+1;
100 if t.last =ddindx
101 then exit;
102 end if;
103 ddindx := t.next(ddindx);
104 end loop;
105 end if;
106 end if;
107 end rosetta_table_copy_out_p1;
108
109 procedure rosetta_table_copy_in_p3(t out nocopy lns_financials.amortization_tbl, a0 JTF_NUMBER_TABLE
110 , a1 JTF_DATE_TABLE
111 , a2 JTF_DATE_TABLE
112 , a3 JTF_DATE_TABLE
113 , a4 JTF_NUMBER_TABLE
114 , a5 JTF_NUMBER_TABLE
115 , a6 JTF_NUMBER_TABLE
116 , a7 JTF_NUMBER_TABLE
117 , a8 JTF_NUMBER_TABLE
118 , a9 JTF_NUMBER_TABLE
119 , a10 JTF_NUMBER_TABLE
120 , a11 JTF_NUMBER_TABLE
121 , a12 JTF_NUMBER_TABLE
122 , a13 JTF_NUMBER_TABLE
123 , a14 JTF_NUMBER_TABLE
124 , a15 JTF_NUMBER_TABLE
125 , a16 JTF_NUMBER_TABLE
126 , a17 JTF_NUMBER_TABLE
127 , a18 JTF_NUMBER_TABLE
128 , a19 JTF_NUMBER_TABLE
129 , a20 JTF_NUMBER_TABLE
130 , a21 JTF_VARCHAR2_TABLE_100
131 , a22 JTF_VARCHAR2_TABLE_100
132 , a23 JTF_VARCHAR2_TABLE_100
133 , a24 JTF_NUMBER_TABLE
134 , a25 JTF_NUMBER_TABLE
135 , a26 JTF_NUMBER_TABLE
136 ) as
137 ddindx binary_integer; indx binary_integer;
138 begin
139 if a0 is not null and a0.count > 0 then
140 if a0.count > 0 then
141 indx := a0.first;
142 ddindx := 1;
143 while true loop
144 t(ddindx).installment_number := a0(indx);
145 t(ddindx).due_date := a1(indx);
146 t(ddindx).period_start_date := a2(indx);
147 t(ddindx).period_end_date := a3(indx);
148 t(ddindx).principal_amount := a4(indx);
149 t(ddindx).interest_amount := a5(indx);
150 t(ddindx).normal_int_amount := a6(indx);
151 t(ddindx).add_prin_int_amount := a7(indx);
152 t(ddindx).add_int_int_amount := a8(indx);
153 t(ddindx).penal_int_amount := a9(indx);
154 t(ddindx).fee_amount := a10(indx);
155 t(ddindx).other_amount := a11(indx);
156 t(ddindx).begin_balance := a12(indx);
157 t(ddindx).end_balance := a13(indx);
158 t(ddindx).total := a14(indx);
159 t(ddindx).interest_cumulative := a15(indx);
160 t(ddindx).principal_cumulative := a16(indx);
161 t(ddindx).fees_cumulative := a17(indx);
162 t(ddindx).other_cumulative := a18(indx);
163 t(ddindx).rate_id := a19(indx);
164 t(ddindx).rate_unadj := a20(indx);
165 t(ddindx).rate_change_freq := a21(indx);
166 t(ddindx).source := a22(indx);
167 t(ddindx).grand_total_flag := a23(indx);
168 t(ddindx).unpaid_prin := a24(indx);
169 t(ddindx).unpaid_int := a25(indx);
170 t(ddindx).interest_rate := a26(indx);
171 ddindx := ddindx+1;
172 if a0.last =indx
173 then exit;
174 end if;
175 indx := a0.next(indx);
176 end loop;
177 end if;
178 end if;
179 end rosetta_table_copy_in_p3;
180 procedure rosetta_table_copy_out_p3(t lns_financials.amortization_tbl, a0 out nocopy JTF_NUMBER_TABLE
181 , a1 out nocopy JTF_DATE_TABLE
182 , a2 out nocopy JTF_DATE_TABLE
183 , a3 out nocopy JTF_DATE_TABLE
184 , a4 out nocopy JTF_NUMBER_TABLE
185 , a5 out nocopy JTF_NUMBER_TABLE
186 , a6 out nocopy JTF_NUMBER_TABLE
187 , a7 out nocopy JTF_NUMBER_TABLE
188 , a8 out nocopy JTF_NUMBER_TABLE
189 , a9 out nocopy JTF_NUMBER_TABLE
190 , a10 out nocopy JTF_NUMBER_TABLE
191 , a11 out nocopy JTF_NUMBER_TABLE
192 , a12 out nocopy JTF_NUMBER_TABLE
193 , a13 out nocopy JTF_NUMBER_TABLE
194 , a14 out nocopy JTF_NUMBER_TABLE
195 , a15 out nocopy JTF_NUMBER_TABLE
196 , a16 out nocopy JTF_NUMBER_TABLE
197 , a17 out nocopy JTF_NUMBER_TABLE
198 , a18 out nocopy JTF_NUMBER_TABLE
199 , a19 out nocopy JTF_NUMBER_TABLE
200 , a20 out nocopy JTF_NUMBER_TABLE
201 , a21 out nocopy JTF_VARCHAR2_TABLE_100
202 , a22 out nocopy JTF_VARCHAR2_TABLE_100
203 , a23 out nocopy JTF_VARCHAR2_TABLE_100
204 , a24 out nocopy JTF_NUMBER_TABLE
205 , a25 out nocopy JTF_NUMBER_TABLE
206 , a26 out nocopy JTF_NUMBER_TABLE
207 ) as
208 ddindx binary_integer; indx binary_integer;
209 begin
210 if t is null or t.count = 0 then
211 a0 := JTF_NUMBER_TABLE();
212 a1 := JTF_DATE_TABLE();
213 a2 := JTF_DATE_TABLE();
214 a3 := JTF_DATE_TABLE();
215 a4 := JTF_NUMBER_TABLE();
216 a5 := JTF_NUMBER_TABLE();
217 a6 := JTF_NUMBER_TABLE();
218 a7 := JTF_NUMBER_TABLE();
219 a8 := JTF_NUMBER_TABLE();
220 a9 := JTF_NUMBER_TABLE();
221 a10 := JTF_NUMBER_TABLE();
222 a11 := JTF_NUMBER_TABLE();
223 a12 := JTF_NUMBER_TABLE();
224 a13 := JTF_NUMBER_TABLE();
225 a14 := JTF_NUMBER_TABLE();
226 a15 := JTF_NUMBER_TABLE();
227 a16 := JTF_NUMBER_TABLE();
228 a17 := JTF_NUMBER_TABLE();
229 a18 := JTF_NUMBER_TABLE();
230 a19 := JTF_NUMBER_TABLE();
231 a20 := JTF_NUMBER_TABLE();
232 a21 := JTF_VARCHAR2_TABLE_100();
233 a22 := JTF_VARCHAR2_TABLE_100();
234 a23 := JTF_VARCHAR2_TABLE_100();
235 a24 := JTF_NUMBER_TABLE();
236 a25 := JTF_NUMBER_TABLE();
237 a26 := JTF_NUMBER_TABLE();
238 else
239 a0 := JTF_NUMBER_TABLE();
240 a1 := JTF_DATE_TABLE();
241 a2 := JTF_DATE_TABLE();
242 a3 := JTF_DATE_TABLE();
243 a4 := JTF_NUMBER_TABLE();
244 a5 := JTF_NUMBER_TABLE();
245 a6 := JTF_NUMBER_TABLE();
246 a7 := JTF_NUMBER_TABLE();
247 a8 := JTF_NUMBER_TABLE();
248 a9 := JTF_NUMBER_TABLE();
249 a10 := JTF_NUMBER_TABLE();
250 a11 := JTF_NUMBER_TABLE();
251 a12 := JTF_NUMBER_TABLE();
252 a13 := JTF_NUMBER_TABLE();
253 a14 := JTF_NUMBER_TABLE();
254 a15 := JTF_NUMBER_TABLE();
255 a16 := JTF_NUMBER_TABLE();
256 a17 := JTF_NUMBER_TABLE();
257 a18 := JTF_NUMBER_TABLE();
258 a19 := JTF_NUMBER_TABLE();
259 a20 := JTF_NUMBER_TABLE();
260 a21 := JTF_VARCHAR2_TABLE_100();
261 a22 := JTF_VARCHAR2_TABLE_100();
262 a23 := JTF_VARCHAR2_TABLE_100();
263 a24 := JTF_NUMBER_TABLE();
264 a25 := JTF_NUMBER_TABLE();
265 a26 := JTF_NUMBER_TABLE();
266 if t.count > 0 then
267 a0.extend(t.count);
268 a1.extend(t.count);
269 a2.extend(t.count);
270 a3.extend(t.count);
271 a4.extend(t.count);
272 a5.extend(t.count);
273 a6.extend(t.count);
274 a7.extend(t.count);
275 a8.extend(t.count);
276 a9.extend(t.count);
277 a10.extend(t.count);
278 a11.extend(t.count);
279 a12.extend(t.count);
280 a13.extend(t.count);
281 a14.extend(t.count);
282 a15.extend(t.count);
283 a16.extend(t.count);
284 a17.extend(t.count);
285 a18.extend(t.count);
286 a19.extend(t.count);
287 a20.extend(t.count);
288 a21.extend(t.count);
289 a22.extend(t.count);
290 a23.extend(t.count);
291 a24.extend(t.count);
292 a25.extend(t.count);
293 a26.extend(t.count);
294 ddindx := t.first;
295 indx := 1;
296 while true loop
297 a0(indx) := t(ddindx).installment_number;
298 a1(indx) := t(ddindx).due_date;
299 a2(indx) := t(ddindx).period_start_date;
300 a3(indx) := t(ddindx).period_end_date;
301 a4(indx) := t(ddindx).principal_amount;
302 a5(indx) := t(ddindx).interest_amount;
303 a6(indx) := t(ddindx).normal_int_amount;
304 a7(indx) := t(ddindx).add_prin_int_amount;
305 a8(indx) := t(ddindx).add_int_int_amount;
306 a9(indx) := t(ddindx).penal_int_amount;
307 a10(indx) := t(ddindx).fee_amount;
308 a11(indx) := t(ddindx).other_amount;
309 a12(indx) := t(ddindx).begin_balance;
310 a13(indx) := t(ddindx).end_balance;
311 a14(indx) := t(ddindx).total;
312 a15(indx) := t(ddindx).interest_cumulative;
313 a16(indx) := t(ddindx).principal_cumulative;
314 a17(indx) := t(ddindx).fees_cumulative;
315 a18(indx) := t(ddindx).other_cumulative;
316 a19(indx) := t(ddindx).rate_id;
317 a20(indx) := t(ddindx).rate_unadj;
318 a21(indx) := t(ddindx).rate_change_freq;
319 a22(indx) := t(ddindx).source;
320 a23(indx) := t(ddindx).grand_total_flag;
321 a24(indx) := t(ddindx).unpaid_prin;
322 a25(indx) := t(ddindx).unpaid_int;
323 a26(indx) := t(ddindx).interest_rate;
324 indx := indx+1;
325 if t.last =ddindx
326 then exit;
327 end if;
328 ddindx := t.next(ddindx);
329 end loop;
330 end if;
331 end if;
332 end rosetta_table_copy_out_p3;
333
334 procedure rosetta_table_copy_in_p6(t out nocopy lns_financials.payoff_tbl, a0 JTF_NUMBER_TABLE
335 , a1 JTF_NUMBER_TABLE
336 , a2 JTF_NUMBER_TABLE
337 , a3 JTF_NUMBER_TABLE
338 , a4 JTF_NUMBER_TABLE
339 , a5 JTF_NUMBER_TABLE
340 , a6 JTF_NUMBER_TABLE
341 , a7 JTF_NUMBER_TABLE
342 , a8 JTF_NUMBER_TABLE
343 , a9 JTF_DATE_TABLE
344 ) as
345 ddindx binary_integer; indx binary_integer;
346 begin
347 if a0 is not null and a0.count > 0 then
348 if a0.count > 0 then
349 indx := a0.first;
350 ddindx := 1;
351 while true loop
352 t(ddindx).total_principal_remaining := a0(indx);
353 t(ddindx).unpaid_principal := a1(indx);
354 t(ddindx).unbilled_principal := a2(indx);
355 t(ddindx).total_interest_remaining := a3(indx);
356 t(ddindx).unpaid_interest := a4(indx);
357 t(ddindx).additional_interest_due := a5(indx);
358 t(ddindx).total_fees_remaining := a6(indx);
359 t(ddindx).unpaid_fees := a7(indx);
360 t(ddindx).additional_fees_due := a8(indx);
361 t(ddindx).due_date := a9(indx);
362 ddindx := ddindx+1;
363 if a0.last =indx
364 then exit;
365 end if;
366 indx := a0.next(indx);
367 end loop;
368 end if;
369 end if;
370 end rosetta_table_copy_in_p6;
371 procedure rosetta_table_copy_out_p6(t lns_financials.payoff_tbl, a0 out nocopy JTF_NUMBER_TABLE
372 , a1 out nocopy JTF_NUMBER_TABLE
373 , a2 out nocopy JTF_NUMBER_TABLE
374 , a3 out nocopy JTF_NUMBER_TABLE
375 , a4 out nocopy JTF_NUMBER_TABLE
376 , a5 out nocopy JTF_NUMBER_TABLE
377 , a6 out nocopy JTF_NUMBER_TABLE
378 , a7 out nocopy JTF_NUMBER_TABLE
379 , a8 out nocopy JTF_NUMBER_TABLE
380 , a9 out nocopy JTF_DATE_TABLE
381 ) as
382 ddindx binary_integer; indx binary_integer;
383 begin
384 if t is null or t.count = 0 then
385 a0 := JTF_NUMBER_TABLE();
386 a1 := JTF_NUMBER_TABLE();
387 a2 := JTF_NUMBER_TABLE();
388 a3 := JTF_NUMBER_TABLE();
389 a4 := JTF_NUMBER_TABLE();
390 a5 := JTF_NUMBER_TABLE();
391 a6 := JTF_NUMBER_TABLE();
392 a7 := JTF_NUMBER_TABLE();
393 a8 := JTF_NUMBER_TABLE();
394 a9 := JTF_DATE_TABLE();
395 else
396 a0 := JTF_NUMBER_TABLE();
397 a1 := JTF_NUMBER_TABLE();
398 a2 := JTF_NUMBER_TABLE();
399 a3 := JTF_NUMBER_TABLE();
400 a4 := JTF_NUMBER_TABLE();
401 a5 := JTF_NUMBER_TABLE();
402 a6 := JTF_NUMBER_TABLE();
403 a7 := JTF_NUMBER_TABLE();
404 a8 := JTF_NUMBER_TABLE();
405 a9 := JTF_DATE_TABLE();
406 if t.count > 0 then
407 a0.extend(t.count);
408 a1.extend(t.count);
409 a2.extend(t.count);
410 a3.extend(t.count);
411 a4.extend(t.count);
412 a5.extend(t.count);
413 a6.extend(t.count);
414 a7.extend(t.count);
415 a8.extend(t.count);
416 a9.extend(t.count);
417 ddindx := t.first;
418 indx := 1;
419 while true loop
420 a0(indx) := t(ddindx).total_principal_remaining;
421 a1(indx) := t(ddindx).unpaid_principal;
422 a2(indx) := t(ddindx).unbilled_principal;
423 a3(indx) := t(ddindx).total_interest_remaining;
424 a4(indx) := t(ddindx).unpaid_interest;
425 a5(indx) := t(ddindx).additional_interest_due;
426 a6(indx) := t(ddindx).total_fees_remaining;
427 a7(indx) := t(ddindx).unpaid_fees;
428 a8(indx) := t(ddindx).additional_fees_due;
429 a9(indx) := t(ddindx).due_date;
430 indx := indx+1;
431 if t.last =ddindx
432 then exit;
433 end if;
434 ddindx := t.next(ddindx);
435 end loop;
436 end if;
437 end if;
438 end rosetta_table_copy_out_p6;
439
440 procedure rosetta_table_copy_in_p8(t out nocopy lns_financials.payoff_tbl2, a0 JTF_VARCHAR2_TABLE_100
441 , a1 JTF_NUMBER_TABLE
442 , a2 JTF_NUMBER_TABLE
443 , a3 JTF_NUMBER_TABLE
444 ) as
445 ddindx binary_integer; indx binary_integer;
446 begin
447 if a0 is not null and a0.count > 0 then
448 if a0.count > 0 then
449 indx := a0.first;
450 ddindx := 1;
451 while true loop
452 t(ddindx).payoff_purpose := a0(indx);
453 t(ddindx).billed_amount := a1(indx);
454 t(ddindx).unbilled_amount := a2(indx);
455 t(ddindx).total_amount := a3(indx);
456 ddindx := ddindx+1;
457 if a0.last =indx
458 then exit;
459 end if;
460 indx := a0.next(indx);
461 end loop;
462 end if;
463 end if;
464 end rosetta_table_copy_in_p8;
465 procedure rosetta_table_copy_out_p8(t lns_financials.payoff_tbl2, a0 out nocopy JTF_VARCHAR2_TABLE_100
466 , a1 out nocopy JTF_NUMBER_TABLE
467 , a2 out nocopy JTF_NUMBER_TABLE
468 , a3 out nocopy JTF_NUMBER_TABLE
469 ) as
470 ddindx binary_integer; indx binary_integer;
471 begin
472 if t is null or t.count = 0 then
473 a0 := JTF_VARCHAR2_TABLE_100();
474 a1 := JTF_NUMBER_TABLE();
475 a2 := JTF_NUMBER_TABLE();
476 a3 := JTF_NUMBER_TABLE();
477 else
478 a0 := JTF_VARCHAR2_TABLE_100();
479 a1 := JTF_NUMBER_TABLE();
480 a2 := JTF_NUMBER_TABLE();
481 a3 := JTF_NUMBER_TABLE();
482 if t.count > 0 then
483 a0.extend(t.count);
484 a1.extend(t.count);
485 a2.extend(t.count);
486 a3.extend(t.count);
487 ddindx := t.first;
488 indx := 1;
489 while true loop
490 a0(indx) := t(ddindx).payoff_purpose;
491 a1(indx) := t(ddindx).billed_amount;
492 a2(indx) := t(ddindx).unbilled_amount;
493 a3(indx) := t(ddindx).total_amount;
494 indx := indx+1;
495 if t.last =ddindx
496 then exit;
497 end if;
498 ddindx := t.next(ddindx);
499 end loop;
500 end if;
501 end if;
502 end rosetta_table_copy_out_p8;
503
504 procedure rosetta_table_copy_in_p10(t out nocopy lns_financials.loan_activity_tbl, a0 JTF_DATE_TABLE
505 , a1 JTF_NUMBER_TABLE
506 , a2 JTF_NUMBER_TABLE
507 , a3 JTF_NUMBER_TABLE
508 ) as
509 ddindx binary_integer; indx binary_integer;
510 begin
511 if a0 is not null and a0.count > 0 then
512 if a0.count > 0 then
513 indx := a0.first;
514 ddindx := 1;
515 while true loop
516 t(ddindx).activity_date := a0(indx);
517 t(ddindx).activity_amount := a1(indx);
518 t(ddindx).ending_balance := a2(indx);
519 t(ddindx).days_at_balance := a3(indx);
520 ddindx := ddindx+1;
521 if a0.last =indx
522 then exit;
523 end if;
524 indx := a0.next(indx);
525 end loop;
526 end if;
527 end if;
528 end rosetta_table_copy_in_p10;
529 procedure rosetta_table_copy_out_p10(t lns_financials.loan_activity_tbl, a0 out nocopy JTF_DATE_TABLE
530 , a1 out nocopy JTF_NUMBER_TABLE
531 , a2 out nocopy JTF_NUMBER_TABLE
532 , a3 out nocopy JTF_NUMBER_TABLE
533 ) as
534 ddindx binary_integer; indx binary_integer;
535 begin
536 if t is null or t.count = 0 then
537 a0 := JTF_DATE_TABLE();
538 a1 := JTF_NUMBER_TABLE();
539 a2 := JTF_NUMBER_TABLE();
540 a3 := JTF_NUMBER_TABLE();
541 else
542 a0 := JTF_DATE_TABLE();
543 a1 := JTF_NUMBER_TABLE();
544 a2 := JTF_NUMBER_TABLE();
545 a3 := JTF_NUMBER_TABLE();
546 if t.count > 0 then
547 a0.extend(t.count);
548 a1.extend(t.count);
549 a2.extend(t.count);
550 a3.extend(t.count);
551 ddindx := t.first;
552 indx := 1;
553 while true loop
554 a0(indx) := t(ddindx).activity_date;
555 a1(indx) := t(ddindx).activity_amount;
556 a2(indx) := t(ddindx).ending_balance;
557 a3(indx) := t(ddindx).days_at_balance;
558 indx := indx+1;
559 if t.last =ddindx
560 then exit;
561 end if;
562 ddindx := t.next(ddindx);
563 end loop;
564 end if;
565 end if;
566 end rosetta_table_copy_out_p10;
567
568 procedure rosetta_table_copy_in_p12(t out nocopy lns_financials.payment_schedule_tbl, a0 JTF_DATE_TABLE
569 , a1 JTF_DATE_TABLE
570 ) as
571 ddindx binary_integer; indx binary_integer;
572 begin
573 if a0 is not null and a0.count > 0 then
574 if a0.count > 0 then
575 indx := a0.first;
576 ddindx := 1;
577 while true loop
578 t(ddindx).period_begin_date := a0(indx);
579 t(ddindx).period_end_date := a1(indx);
580 ddindx := ddindx+1;
581 if a0.last =indx
582 then exit;
583 end if;
584 indx := a0.next(indx);
585 end loop;
586 end if;
587 end if;
588 end rosetta_table_copy_in_p12;
589 procedure rosetta_table_copy_out_p12(t lns_financials.payment_schedule_tbl, a0 out nocopy JTF_DATE_TABLE
590 , a1 out nocopy JTF_DATE_TABLE
591 ) as
592 ddindx binary_integer; indx binary_integer;
593 begin
594 if t is null or t.count = 0 then
595 a0 := JTF_DATE_TABLE();
596 a1 := JTF_DATE_TABLE();
597 else
598 a0 := JTF_DATE_TABLE();
599 a1 := JTF_DATE_TABLE();
600 if t.count > 0 then
601 a0.extend(t.count);
602 a1.extend(t.count);
603 ddindx := t.first;
604 indx := 1;
605 while true loop
606 a0(indx) := t(ddindx).period_begin_date;
607 a1(indx) := t(ddindx).period_end_date;
608 indx := indx+1;
609 if t.last =ddindx
610 then exit;
611 end if;
612 ddindx := t.next(ddindx);
613 end loop;
614 end if;
615 end if;
616 end rosetta_table_copy_out_p12;
617
618 procedure rosetta_table_copy_in_p13(t out nocopy lns_financials.date_tbl, a0 JTF_DATE_TABLE) as
619 ddindx binary_integer; indx binary_integer;
620 begin
621 if a0 is not null and a0.count > 0 then
622 if a0.count > 0 then
623 indx := a0.first;
624 ddindx := 1;
625 while true loop
626 t(ddindx) := a0(indx);
627 ddindx := ddindx+1;
628 if a0.last =indx
629 then exit;
630 end if;
631 indx := a0.next(indx);
632 end loop;
633 end if;
634 end if;
635 end rosetta_table_copy_in_p13;
636 procedure rosetta_table_copy_out_p13(t lns_financials.date_tbl, a0 out nocopy JTF_DATE_TABLE) as
637 ddindx binary_integer; indx binary_integer;
638 begin
639 if t is null or t.count = 0 then
640 a0 := JTF_DATE_TABLE();
641 else
642 a0 := JTF_DATE_TABLE();
643 if t.count > 0 then
644 a0.extend(t.count);
645 ddindx := t.first;
646 indx := 1;
647 while true loop
648 a0(indx) := t(ddindx);
649 indx := indx+1;
650 if t.last =ddindx
651 then exit;
652 end if;
653 ddindx := t.next(ddindx);
654 end loop;
655 end if;
656 end if;
657 end rosetta_table_copy_out_p13;
658
659 procedure rosetta_table_copy_in_p14(t out nocopy lns_financials.amount_tbl, a0 JTF_NUMBER_TABLE) as
660 ddindx binary_integer; indx binary_integer;
661 begin
662 if a0 is not null and a0.count > 0 then
663 if a0.count > 0 then
664 indx := a0.first;
665 ddindx := 1;
666 while true loop
667 t(ddindx) := a0(indx);
668 ddindx := ddindx+1;
669 if a0.last =indx
670 then exit;
671 end if;
672 indx := a0.next(indx);
673 end loop;
674 end if;
675 end if;
676 end rosetta_table_copy_in_p14;
677 procedure rosetta_table_copy_out_p14(t lns_financials.amount_tbl, a0 out nocopy JTF_NUMBER_TABLE) as
678 ddindx binary_integer; indx binary_integer;
679 begin
680 if t is null or t.count = 0 then
681 a0 := JTF_NUMBER_TABLE();
682 else
683 a0 := JTF_NUMBER_TABLE();
684 if t.count > 0 then
685 a0.extend(t.count);
686 ddindx := t.first;
687 indx := 1;
688 while true loop
689 a0(indx) := t(ddindx);
690 indx := indx+1;
691 if t.last =ddindx
692 then exit;
693 end if;
694 ddindx := t.next(ddindx);
695 end loop;
696 end if;
697 end if;
698 end rosetta_table_copy_out_p14;
699
700 procedure rosetta_table_copy_in_p15(t out nocopy lns_financials.vchar_tbl, a0 JTF_VARCHAR2_TABLE_100) as
701 ddindx binary_integer; indx binary_integer;
702 begin
703 if a0 is not null and a0.count > 0 then
704 if a0.count > 0 then
705 indx := a0.first;
706 ddindx := 1;
707 while true loop
708 t(ddindx) := a0(indx);
709 ddindx := ddindx+1;
710 if a0.last =indx
711 then exit;
712 end if;
713 indx := a0.next(indx);
714 end loop;
715 end if;
716 end if;
717 end rosetta_table_copy_in_p15;
718 procedure rosetta_table_copy_out_p15(t lns_financials.vchar_tbl, a0 out nocopy JTF_VARCHAR2_TABLE_100) as
719 ddindx binary_integer; indx binary_integer;
720 begin
721 if t is null or t.count = 0 then
722 a0 := JTF_VARCHAR2_TABLE_100();
723 else
724 a0 := JTF_VARCHAR2_TABLE_100();
725 if t.count > 0 then
726 a0.extend(t.count);
727 ddindx := t.first;
728 indx := 1;
729 while true loop
730 a0(indx) := t(ddindx);
731 indx := indx+1;
732 if t.last =ddindx
733 then exit;
734 end if;
735 ddindx := t.next(ddindx);
736 end loop;
737 end if;
738 end if;
739 end rosetta_table_copy_out_p15;
740
741 procedure rosetta_table_copy_in_p17(t out nocopy lns_financials.fees_tbl, a0 JTF_NUMBER_TABLE
742 , a1 JTF_VARCHAR2_TABLE_100
743 , a2 JTF_NUMBER_TABLE
744 , a3 JTF_NUMBER_TABLE
745 , a4 JTF_VARCHAR2_TABLE_300
746 , a5 JTF_NUMBER_TABLE
747 , a6 JTF_VARCHAR2_TABLE_100
748 , a7 JTF_NUMBER_TABLE
749 , a8 JTF_VARCHAR2_TABLE_100
750 , a9 JTF_VARCHAR2_TABLE_100
751 ) as
752 ddindx binary_integer; indx binary_integer;
753 begin
754 if a0 is not null and a0.count > 0 then
755 if a0.count > 0 then
756 indx := a0.first;
757 ddindx := 1;
758 while true loop
759 t(ddindx).fee_id := a0(indx);
760 t(ddindx).fee_name := a1(indx);
761 t(ddindx).fee_amount := a2(indx);
762 t(ddindx).fee_installment := a3(indx);
763 t(ddindx).fee_description := a4(indx);
764 t(ddindx).fee_schedule_id := a5(indx);
765 t(ddindx).fee_waivable_flag := a6(indx);
766 t(ddindx).waive_amount := a7(indx);
767 t(ddindx).billed_flag := a8(indx);
768 t(ddindx).active_flag := a9(indx);
769 ddindx := ddindx+1;
770 if a0.last =indx
771 then exit;
772 end if;
773 indx := a0.next(indx);
774 end loop;
775 end if;
776 end if;
777 end rosetta_table_copy_in_p17;
778 procedure rosetta_table_copy_out_p17(t lns_financials.fees_tbl, a0 out nocopy JTF_NUMBER_TABLE
779 , a1 out nocopy JTF_VARCHAR2_TABLE_100
780 , a2 out nocopy JTF_NUMBER_TABLE
781 , a3 out nocopy JTF_NUMBER_TABLE
782 , a4 out nocopy JTF_VARCHAR2_TABLE_300
783 , a5 out nocopy JTF_NUMBER_TABLE
784 , a6 out nocopy JTF_VARCHAR2_TABLE_100
785 , a7 out nocopy JTF_NUMBER_TABLE
786 , a8 out nocopy JTF_VARCHAR2_TABLE_100
787 , a9 out nocopy JTF_VARCHAR2_TABLE_100
788 ) as
789 ddindx binary_integer; indx binary_integer;
790 begin
791 if t is null or t.count = 0 then
792 a0 := JTF_NUMBER_TABLE();
793 a1 := JTF_VARCHAR2_TABLE_100();
794 a2 := JTF_NUMBER_TABLE();
795 a3 := JTF_NUMBER_TABLE();
796 a4 := JTF_VARCHAR2_TABLE_300();
797 a5 := JTF_NUMBER_TABLE();
798 a6 := JTF_VARCHAR2_TABLE_100();
799 a7 := JTF_NUMBER_TABLE();
800 a8 := JTF_VARCHAR2_TABLE_100();
801 a9 := JTF_VARCHAR2_TABLE_100();
802 else
803 a0 := JTF_NUMBER_TABLE();
804 a1 := JTF_VARCHAR2_TABLE_100();
805 a2 := JTF_NUMBER_TABLE();
806 a3 := JTF_NUMBER_TABLE();
807 a4 := JTF_VARCHAR2_TABLE_300();
808 a5 := JTF_NUMBER_TABLE();
809 a6 := JTF_VARCHAR2_TABLE_100();
810 a7 := JTF_NUMBER_TABLE();
811 a8 := JTF_VARCHAR2_TABLE_100();
812 a9 := JTF_VARCHAR2_TABLE_100();
813 if t.count > 0 then
814 a0.extend(t.count);
815 a1.extend(t.count);
816 a2.extend(t.count);
817 a3.extend(t.count);
818 a4.extend(t.count);
819 a5.extend(t.count);
820 a6.extend(t.count);
821 a7.extend(t.count);
822 a8.extend(t.count);
823 a9.extend(t.count);
824 ddindx := t.first;
825 indx := 1;
826 while true loop
827 a0(indx) := t(ddindx).fee_id;
828 a1(indx) := t(ddindx).fee_name;
829 a2(indx) := t(ddindx).fee_amount;
830 a3(indx) := t(ddindx).fee_installment;
831 a4(indx) := t(ddindx).fee_description;
832 a5(indx) := t(ddindx).fee_schedule_id;
833 a6(indx) := t(ddindx).fee_waivable_flag;
834 a7(indx) := t(ddindx).waive_amount;
835 a8(indx) := t(ddindx).billed_flag;
836 a9(indx) := t(ddindx).active_flag;
837 indx := indx+1;
838 if t.last =ddindx
839 then exit;
840 end if;
841 ddindx := t.next(ddindx);
842 end loop;
843 end if;
844 end if;
845 end rosetta_table_copy_out_p17;
846
847 procedure shiftloandates(p_loan_id NUMBER
848 , p_new_start_date DATE
849 , p_phase VARCHAR2
850 , p3_a0 out nocopy NUMBER
851 , p3_a1 out nocopy NUMBER
852 , p3_a2 out nocopy VARCHAR2
853 , p3_a3 out nocopy NUMBER
854 , p3_a4 out nocopy VARCHAR2
855 , p3_a5 out nocopy VARCHAR2
856 , p3_a6 out nocopy VARCHAR2
857 , p3_a7 out nocopy DATE
858 , p3_a8 out nocopy DATE
859 , p3_a9 out nocopy NUMBER
860 , p3_a10 out nocopy NUMBER
861 , p3_a11 out nocopy NUMBER
862 , p3_a12 out nocopy NUMBER
863 , p3_a13 out nocopy NUMBER
864 , p3_a14 out nocopy NUMBER
865 , p3_a15 out nocopy NUMBER
866 , p3_a16 out nocopy NUMBER
867 , p3_a17 out nocopy NUMBER
868 , p3_a18 out nocopy DATE
869 , p3_a19 out nocopy NUMBER
870 , p3_a20 out nocopy NUMBER
871 , p3_a21 out nocopy VARCHAR2
872 , p3_a22 out nocopy VARCHAR2
873 , p3_a23 out nocopy VARCHAR2
874 , p3_a24 out nocopy NUMBER
875 , p3_a25 out nocopy NUMBER
876 , p3_a26 out nocopy NUMBER
877 , p3_a27 out nocopy NUMBER
878 , p3_a28 out nocopy VARCHAR2
879 , p3_a29 out nocopy VARCHAR2
880 , p3_a30 out nocopy NUMBER
881 , p3_a31 out nocopy VARCHAR2
882 , p3_a32 out nocopy VARCHAR2
883 , p3_a33 out nocopy DATE
884 , p3_a34 out nocopy VARCHAR2
885 , p3_a35 out nocopy DATE
886 , p3_a36 out nocopy VARCHAR2
887 , p3_a37 out nocopy NUMBER
888 , p3_a38 out nocopy NUMBER
889 , p3_a39 out nocopy VARCHAR2
890 , p3_a40 out nocopy VARCHAR2
891 , p3_a41 out nocopy DATE
892 , p3_a42 out nocopy DATE
893 , p3_a43 out nocopy DATE
894 , p3_a44 out nocopy VARCHAR2
895 , p3_a45 out nocopy VARCHAR2
896 , p3_a46 out nocopy NUMBER
897 , p3_a47 out nocopy NUMBER
898 , p3_a48 out nocopy VARCHAR2
899 , p3_a49 out nocopy VARCHAR2
900 , p3_a50 out nocopy NUMBER
901 , p3_a51 out nocopy DATE
902 , p3_a52 out nocopy NUMBER
903 , p3_a53 out nocopy NUMBER
904 , p3_a54 out nocopy NUMBER
905 , p3_a55 out nocopy NUMBER
906 , p3_a56 out nocopy NUMBER
907 , p3_a57 out nocopy VARCHAR2
908 , p3_a58 out nocopy NUMBER
909 , p3_a59 out nocopy DATE
910 , p3_a60 out nocopy NUMBER
911 , p3_a61 out nocopy NUMBER
912 , p3_a62 out nocopy NUMBER
913 , p3_a63 out nocopy NUMBER
914 , p3_a64 out nocopy NUMBER
915 , p3_a65 out nocopy VARCHAR2
916 , p3_a66 out nocopy VARCHAR2
917 , p3_a67 out nocopy VARCHAR2
918 , p3_a68 out nocopy VARCHAR2
919 , p3_a69 out nocopy NUMBER
920 , p3_a70 out nocopy NUMBER
921 , p3_a71 out nocopy NUMBER
922 , p3_a72 out nocopy NUMBER
923 , p3_a73 out nocopy DATE
924 , p3_a74 out nocopy DATE
925 , p3_a75 out nocopy VARCHAR2
926 , p3_a76 out nocopy VARCHAR2
927 , p3_a77 out nocopy VARCHAR2
928 , p3_a78 out nocopy VARCHAR2
929 , p3_a79 out nocopy DATE
930 , p3_a80 out nocopy VARCHAR2
931 , p3_a81 out nocopy NUMBER
932 , p3_a82 out nocopy NUMBER
933 , p3_a83 out nocopy VARCHAR2
934 , p3_a84 out nocopy NUMBER
935 , p3_a85 out nocopy NUMBER
936 , p3_a86 out nocopy NUMBER
937 , p3_a87 out nocopy NUMBER
938 , p3_a88 out nocopy NUMBER
939 , x_dates_shifted_flag out nocopy VARCHAR2
940 , x_return_status out nocopy VARCHAR2
941 , x_msg_count out nocopy NUMBER
942 , x_msg_data out nocopy VARCHAR2
943 )
944
945 as
946 ddx_loan_details lns_financials.loan_details_rec;
947 ddindx binary_integer; indx binary_integer;
948 begin
949
950 -- copy data to the local IN or IN-OUT args, if any
951
952
953
954
955
956
957
958
959 -- here's the delegated call to the old PL/SQL routine
960 lns_financials.shiftloandates(p_loan_id,
961 p_new_start_date,
962 p_phase,
963 ddx_loan_details,
964 x_dates_shifted_flag,
965 x_return_status,
966 x_msg_count,
967 x_msg_data);
968
969 -- copy data back from the local variables to OUT or IN-OUT args, if any
970
971
972
973 p3_a0 := ddx_loan_details.loan_id;
974 p3_a1 := ddx_loan_details.loan_term;
975 p3_a2 := ddx_loan_details.loan_term_period;
976 p3_a3 := ddx_loan_details.amortized_term;
977 p3_a4 := ddx_loan_details.amortized_term_period;
978 p3_a5 := ddx_loan_details.amortization_frequency;
979 p3_a6 := ddx_loan_details.payment_frequency;
980 p3_a7 := ddx_loan_details.first_payment_date;
981 p3_a8 := ddx_loan_details.loan_start_date;
982 p3_a9 := ddx_loan_details.requested_amount;
983 p3_a10 := ddx_loan_details.funded_amount;
984 p3_a11 := ddx_loan_details.remaining_balance;
985 p3_a12 := ddx_loan_details.principal_paid_to_date;
986 p3_a13 := ddx_loan_details.interest_paid_to_date;
987 p3_a14 := ddx_loan_details.fees_paid_to_date;
988 p3_a15 := ddx_loan_details.unpaid_principal;
989 p3_a16 := ddx_loan_details.unpaid_interest;
990 p3_a17 := ddx_loan_details.unbilled_principal;
991 p3_a18 := ddx_loan_details.maturity_date;
992 p3_a19 := ddx_loan_details.number_installments;
993 p3_a20 := ddx_loan_details.num_amortization_intervals;
994 p3_a21 := ddx_loan_details.reamortize_overpay;
995 p3_a22 := ddx_loan_details.reamortize_underpay;
996 p3_a23 := ddx_loan_details.reamortize_with_interest;
997 p3_a24 := ddx_loan_details.reamortize_amount;
998 p3_a25 := ddx_loan_details.reamortize_from_installment;
999 p3_a26 := ddx_loan_details.reamortize_to_installment;
1000 p3_a27 := ddx_loan_details.last_installment_billed;
1001 p3_a28 := ddx_loan_details.day_count_method;
1002 p3_a29 := ddx_loan_details.pay_in_arrears;
1003 if ddx_loan_details.pay_in_arrears_boolean is null
1004 then p3_a30 := null;
1005 elsif ddx_loan_details.pay_in_arrears_boolean
1006 then p3_a30 := 1;
1007 else p3_a30 := 0;
1008 end if;
1009 p3_a31 := ddx_loan_details.custom_schedule;
1010 p3_a32 := ddx_loan_details.loan_status;
1011 p3_a33 := ddx_loan_details.last_interest_accrual;
1012 p3_a34 := ddx_loan_details.last_activity;
1013 p3_a35 := ddx_loan_details.last_activity_date;
1014 p3_a36 := ddx_loan_details.loan_currency;
1015 p3_a37 := ddx_loan_details.currency_precision;
1016 p3_a38 := ddx_loan_details.open_term;
1017 p3_a39 := ddx_loan_details.open_term_period;
1018 p3_a40 := ddx_loan_details.open_payment_frequency;
1019 p3_a41 := ddx_loan_details.open_first_payment_date;
1020 p3_a42 := ddx_loan_details.open_start_date;
1021 p3_a43 := ddx_loan_details.open_maturity_date;
1022 p3_a44 := ddx_loan_details.loan_phase;
1023 p3_a45 := ddx_loan_details.balloon_payment_type;
1024 p3_a46 := ddx_loan_details.balloon_payment_amount;
1025 p3_a47 := ddx_loan_details.amortized_amount;
1026 p3_a48 := ddx_loan_details.rate_type;
1027 p3_a49 := ddx_loan_details.open_rate_chg_freq;
1028 p3_a50 := ddx_loan_details.open_index_rate_id;
1029 p3_a51 := ddx_loan_details.open_index_date;
1030 p3_a52 := ddx_loan_details.open_ceiling_rate;
1031 p3_a53 := ddx_loan_details.open_floor_rate;
1032 p3_a54 := ddx_loan_details.open_first_percent_increase;
1033 p3_a55 := ddx_loan_details.open_adj_percent_increase;
1034 p3_a56 := ddx_loan_details.open_life_percent_increase;
1035 p3_a57 := ddx_loan_details.term_rate_chg_freq;
1036 p3_a58 := ddx_loan_details.term_index_rate_id;
1037 p3_a59 := ddx_loan_details.term_index_date;
1038 p3_a60 := ddx_loan_details.term_ceiling_rate;
1039 p3_a61 := ddx_loan_details.term_floor_rate;
1040 p3_a62 := ddx_loan_details.term_first_percent_increase;
1041 p3_a63 := ddx_loan_details.term_adj_percent_increase;
1042 p3_a64 := ddx_loan_details.term_life_percent_increase;
1043 p3_a65 := ddx_loan_details.open_to_term_flag;
1044 p3_a66 := ddx_loan_details.open_to_term_event;
1045 p3_a67 := ddx_loan_details.multiple_funding_flag;
1046 p3_a68 := ddx_loan_details.secondary_status;
1047 p3_a69 := ddx_loan_details.open_projected_interest_rate;
1048 p3_a70 := ddx_loan_details.term_projected_interest_rate;
1049 p3_a71 := ddx_loan_details.initial_interest_rate;
1050 p3_a72 := ddx_loan_details.last_interest_rate;
1051 p3_a73 := ddx_loan_details.first_rate_change_date;
1052 p3_a74 := ddx_loan_details.next_rate_change_date;
1053 p3_a75 := ddx_loan_details.calculation_method;
1054 p3_a76 := ddx_loan_details.interest_compounding_freq;
1055 p3_a77 := ddx_loan_details.payment_calc_method;
1056 p3_a78 := ddx_loan_details.orig_pay_calc_method;
1057 p3_a79 := ddx_loan_details.prin_first_pay_date;
1058 p3_a80 := ddx_loan_details.prin_payment_frequency;
1059 p3_a81 := ddx_loan_details.prin_number_installments;
1060 p3_a82 := ddx_loan_details.prin_amort_installments;
1061 p3_a83 := ddx_loan_details.prin_pay_in_arrears;
1062 if ddx_loan_details.prin_pay_in_arrears_bool is null
1063 then p3_a84 := null;
1064 elsif ddx_loan_details.prin_pay_in_arrears_bool
1065 then p3_a84 := 1;
1066 else p3_a84 := 0;
1067 end if;
1068 p3_a85 := ddx_loan_details.extend_from_installment;
1069 p3_a86 := ddx_loan_details.orig_number_installments;
1070 p3_a87 := ddx_loan_details.penal_int_rate;
1071 p3_a88 := ddx_loan_details.penal_int_grace_days;
1072
1073
1074
1075
1076 end;
1077
1078 procedure validatepayoff(p0_a0 NUMBER
1079 , p0_a1 NUMBER
1080 , p0_a2 VARCHAR2
1081 , p0_a3 NUMBER
1082 , p0_a4 VARCHAR2
1083 , p0_a5 VARCHAR2
1084 , p0_a6 VARCHAR2
1085 , p0_a7 DATE
1086 , p0_a8 DATE
1087 , p0_a9 NUMBER
1088 , p0_a10 NUMBER
1089 , p0_a11 NUMBER
1090 , p0_a12 NUMBER
1091 , p0_a13 NUMBER
1092 , p0_a14 NUMBER
1093 , p0_a15 NUMBER
1094 , p0_a16 NUMBER
1095 , p0_a17 NUMBER
1096 , p0_a18 DATE
1097 , p0_a19 NUMBER
1098 , p0_a20 NUMBER
1099 , p0_a21 VARCHAR2
1100 , p0_a22 VARCHAR2
1101 , p0_a23 VARCHAR2
1102 , p0_a24 NUMBER
1103 , p0_a25 NUMBER
1104 , p0_a26 NUMBER
1105 , p0_a27 NUMBER
1106 , p0_a28 VARCHAR2
1107 , p0_a29 VARCHAR2
1108 , p0_a30 NUMBER
1109 , p0_a31 VARCHAR2
1110 , p0_a32 VARCHAR2
1111 , p0_a33 DATE
1112 , p0_a34 VARCHAR2
1113 , p0_a35 DATE
1114 , p0_a36 VARCHAR2
1115 , p0_a37 NUMBER
1116 , p0_a38 NUMBER
1117 , p0_a39 VARCHAR2
1118 , p0_a40 VARCHAR2
1119 , p0_a41 DATE
1120 , p0_a42 DATE
1121 , p0_a43 DATE
1122 , p0_a44 VARCHAR2
1123 , p0_a45 VARCHAR2
1124 , p0_a46 NUMBER
1125 , p0_a47 NUMBER
1126 , p0_a48 VARCHAR2
1127 , p0_a49 VARCHAR2
1128 , p0_a50 NUMBER
1129 , p0_a51 DATE
1130 , p0_a52 NUMBER
1131 , p0_a53 NUMBER
1132 , p0_a54 NUMBER
1133 , p0_a55 NUMBER
1134 , p0_a56 NUMBER
1135 , p0_a57 VARCHAR2
1136 , p0_a58 NUMBER
1137 , p0_a59 DATE
1138 , p0_a60 NUMBER
1139 , p0_a61 NUMBER
1140 , p0_a62 NUMBER
1141 , p0_a63 NUMBER
1142 , p0_a64 NUMBER
1143 , p0_a65 VARCHAR2
1144 , p0_a66 VARCHAR2
1145 , p0_a67 VARCHAR2
1146 , p0_a68 VARCHAR2
1147 , p0_a69 NUMBER
1148 , p0_a70 NUMBER
1149 , p0_a71 NUMBER
1150 , p0_a72 NUMBER
1151 , p0_a73 DATE
1152 , p0_a74 DATE
1153 , p0_a75 VARCHAR2
1154 , p0_a76 VARCHAR2
1155 , p0_a77 VARCHAR2
1156 , p0_a78 VARCHAR2
1157 , p0_a79 DATE
1158 , p0_a80 VARCHAR2
1159 , p0_a81 NUMBER
1160 , p0_a82 NUMBER
1161 , p0_a83 VARCHAR2
1162 , p0_a84 NUMBER
1163 , p0_a85 NUMBER
1164 , p0_a86 NUMBER
1165 , p0_a87 NUMBER
1166 , p0_a88 NUMBER
1167 , p_payoff_date DATE
1168 , x_return_status out nocopy VARCHAR2
1169 , x_msg_count out nocopy NUMBER
1170 , x_msg_data out nocopy VARCHAR2
1171 )
1172
1173 as
1174 ddp_loan_details lns_financials.loan_details_rec;
1175 ddindx binary_integer; indx binary_integer;
1176 begin
1177
1178 -- copy data to the local IN or IN-OUT args, if any
1179 ddp_loan_details.loan_id := p0_a0;
1180 ddp_loan_details.loan_term := p0_a1;
1181 ddp_loan_details.loan_term_period := p0_a2;
1182 ddp_loan_details.amortized_term := p0_a3;
1183 ddp_loan_details.amortized_term_period := p0_a4;
1184 ddp_loan_details.amortization_frequency := p0_a5;
1185 ddp_loan_details.payment_frequency := p0_a6;
1186 ddp_loan_details.first_payment_date := p0_a7;
1187 ddp_loan_details.loan_start_date := p0_a8;
1188 ddp_loan_details.requested_amount := p0_a9;
1189 ddp_loan_details.funded_amount := p0_a10;
1190 ddp_loan_details.remaining_balance := p0_a11;
1191 ddp_loan_details.principal_paid_to_date := p0_a12;
1192 ddp_loan_details.interest_paid_to_date := p0_a13;
1193 ddp_loan_details.fees_paid_to_date := p0_a14;
1194 ddp_loan_details.unpaid_principal := p0_a15;
1195 ddp_loan_details.unpaid_interest := p0_a16;
1196 ddp_loan_details.unbilled_principal := p0_a17;
1197 ddp_loan_details.maturity_date := p0_a18;
1198 ddp_loan_details.number_installments := p0_a19;
1199 ddp_loan_details.num_amortization_intervals := p0_a20;
1200 ddp_loan_details.reamortize_overpay := p0_a21;
1201 ddp_loan_details.reamortize_underpay := p0_a22;
1202 ddp_loan_details.reamortize_with_interest := p0_a23;
1203 ddp_loan_details.reamortize_amount := p0_a24;
1204 ddp_loan_details.reamortize_from_installment := p0_a25;
1205 ddp_loan_details.reamortize_to_installment := p0_a26;
1206 ddp_loan_details.last_installment_billed := p0_a27;
1207 ddp_loan_details.day_count_method := p0_a28;
1208 ddp_loan_details.pay_in_arrears := p0_a29;
1209 if p0_a30 is null
1210 then ddp_loan_details.pay_in_arrears_boolean := null;
1211 elsif p0_a30 = 0
1212 then ddp_loan_details.pay_in_arrears_boolean := false;
1213 else ddp_loan_details.pay_in_arrears_boolean := true;
1214 end if;
1215 ddp_loan_details.custom_schedule := p0_a31;
1216 ddp_loan_details.loan_status := p0_a32;
1217 ddp_loan_details.last_interest_accrual := p0_a33;
1218 ddp_loan_details.last_activity := p0_a34;
1219 ddp_loan_details.last_activity_date := p0_a35;
1220 ddp_loan_details.loan_currency := p0_a36;
1221 ddp_loan_details.currency_precision := p0_a37;
1222 ddp_loan_details.open_term := p0_a38;
1223 ddp_loan_details.open_term_period := p0_a39;
1224 ddp_loan_details.open_payment_frequency := p0_a40;
1225 ddp_loan_details.open_first_payment_date := p0_a41;
1226 ddp_loan_details.open_start_date := p0_a42;
1227 ddp_loan_details.open_maturity_date := p0_a43;
1228 ddp_loan_details.loan_phase := p0_a44;
1229 ddp_loan_details.balloon_payment_type := p0_a45;
1230 ddp_loan_details.balloon_payment_amount := p0_a46;
1231 ddp_loan_details.amortized_amount := p0_a47;
1232 ddp_loan_details.rate_type := p0_a48;
1233 ddp_loan_details.open_rate_chg_freq := p0_a49;
1234 ddp_loan_details.open_index_rate_id := p0_a50;
1235 ddp_loan_details.open_index_date := p0_a51;
1236 ddp_loan_details.open_ceiling_rate := p0_a52;
1237 ddp_loan_details.open_floor_rate := p0_a53;
1238 ddp_loan_details.open_first_percent_increase := p0_a54;
1239 ddp_loan_details.open_adj_percent_increase := p0_a55;
1240 ddp_loan_details.open_life_percent_increase := p0_a56;
1241 ddp_loan_details.term_rate_chg_freq := p0_a57;
1242 ddp_loan_details.term_index_rate_id := p0_a58;
1243 ddp_loan_details.term_index_date := p0_a59;
1244 ddp_loan_details.term_ceiling_rate := p0_a60;
1245 ddp_loan_details.term_floor_rate := p0_a61;
1246 ddp_loan_details.term_first_percent_increase := p0_a62;
1247 ddp_loan_details.term_adj_percent_increase := p0_a63;
1248 ddp_loan_details.term_life_percent_increase := p0_a64;
1249 ddp_loan_details.open_to_term_flag := p0_a65;
1250 ddp_loan_details.open_to_term_event := p0_a66;
1251 ddp_loan_details.multiple_funding_flag := p0_a67;
1252 ddp_loan_details.secondary_status := p0_a68;
1253 ddp_loan_details.open_projected_interest_rate := p0_a69;
1254 ddp_loan_details.term_projected_interest_rate := p0_a70;
1255 ddp_loan_details.initial_interest_rate := p0_a71;
1256 ddp_loan_details.last_interest_rate := p0_a72;
1257 ddp_loan_details.first_rate_change_date := p0_a73;
1258 ddp_loan_details.next_rate_change_date := p0_a74;
1259 ddp_loan_details.calculation_method := p0_a75;
1260 ddp_loan_details.interest_compounding_freq := p0_a76;
1261 ddp_loan_details.payment_calc_method := p0_a77;
1262 ddp_loan_details.orig_pay_calc_method := p0_a78;
1263 ddp_loan_details.prin_first_pay_date := p0_a79;
1264 ddp_loan_details.prin_payment_frequency := p0_a80;
1265 ddp_loan_details.prin_number_installments := p0_a81;
1266 ddp_loan_details.prin_amort_installments := p0_a82;
1267 ddp_loan_details.prin_pay_in_arrears := p0_a83;
1268 if p0_a84 is null
1269 then ddp_loan_details.prin_pay_in_arrears_bool := null;
1270 elsif p0_a84 = 0
1271 then ddp_loan_details.prin_pay_in_arrears_bool := false;
1272 else ddp_loan_details.prin_pay_in_arrears_bool := true;
1273 end if;
1274 ddp_loan_details.extend_from_installment := p0_a85;
1275 ddp_loan_details.orig_number_installments := p0_a86;
1276 ddp_loan_details.penal_int_rate := p0_a87;
1277 ddp_loan_details.penal_int_grace_days := p0_a88;
1278
1279
1280
1281
1282
1283 -- here's the delegated call to the old PL/SQL routine
1284 lns_financials.validatepayoff(ddp_loan_details,
1285 p_payoff_date,
1286 x_return_status,
1287 x_msg_count,
1288 x_msg_data);
1289
1290 -- copy data back from the local variables to OUT or IN-OUT args, if any
1291
1292
1293
1294
1295 end;
1296
1297 procedure calculatepayoff(p_api_version NUMBER
1298 , p_init_msg_list VARCHAR2
1299 , p_loan_id NUMBER
1300 , p_payoff_date DATE
1301 , p4_a0 out nocopy JTF_VARCHAR2_TABLE_100
1302 , p4_a1 out nocopy JTF_NUMBER_TABLE
1303 , p4_a2 out nocopy JTF_NUMBER_TABLE
1304 , p4_a3 out nocopy JTF_NUMBER_TABLE
1305 , x_return_status out nocopy VARCHAR2
1306 , x_msg_count out nocopy NUMBER
1307 , x_msg_data out nocopy VARCHAR2
1308 )
1309
1310 as
1311 ddx_payoff_tbl lns_financials.payoff_tbl2;
1312 ddindx binary_integer; indx binary_integer;
1313 begin
1314
1315 -- copy data to the local IN or IN-OUT args, if any
1316
1317
1318
1319
1320
1321
1322
1323
1324 -- here's the delegated call to the old PL/SQL routine
1325 lns_financials.calculatepayoff(p_api_version,
1326 p_init_msg_list,
1327 p_loan_id,
1328 p_payoff_date,
1329 ddx_payoff_tbl,
1330 x_return_status,
1331 x_msg_count,
1332 x_msg_data);
1333
1334 -- copy data back from the local variables to OUT or IN-OUT args, if any
1335
1336
1337
1338
1339 lns_financials_w.rosetta_table_copy_out_p8(ddx_payoff_tbl, p4_a0
1340 , p4_a1
1341 , p4_a2
1342 , p4_a3
1343 );
1344
1345
1346
1347 end;
1348
1349 function getweightedrate(p0_a0 NUMBER
1350 , p0_a1 NUMBER
1351 , p0_a2 VARCHAR2
1352 , p0_a3 NUMBER
1353 , p0_a4 VARCHAR2
1354 , p0_a5 VARCHAR2
1355 , p0_a6 VARCHAR2
1356 , p0_a7 DATE
1357 , p0_a8 DATE
1358 , p0_a9 NUMBER
1359 , p0_a10 NUMBER
1360 , p0_a11 NUMBER
1361 , p0_a12 NUMBER
1362 , p0_a13 NUMBER
1363 , p0_a14 NUMBER
1364 , p0_a15 NUMBER
1365 , p0_a16 NUMBER
1366 , p0_a17 NUMBER
1367 , p0_a18 DATE
1368 , p0_a19 NUMBER
1369 , p0_a20 NUMBER
1370 , p0_a21 VARCHAR2
1371 , p0_a22 VARCHAR2
1372 , p0_a23 VARCHAR2
1373 , p0_a24 NUMBER
1374 , p0_a25 NUMBER
1375 , p0_a26 NUMBER
1376 , p0_a27 NUMBER
1377 , p0_a28 VARCHAR2
1378 , p0_a29 VARCHAR2
1379 , p0_a30 NUMBER
1380 , p0_a31 VARCHAR2
1381 , p0_a32 VARCHAR2
1382 , p0_a33 DATE
1383 , p0_a34 VARCHAR2
1384 , p0_a35 DATE
1385 , p0_a36 VARCHAR2
1386 , p0_a37 NUMBER
1387 , p0_a38 NUMBER
1388 , p0_a39 VARCHAR2
1389 , p0_a40 VARCHAR2
1390 , p0_a41 DATE
1391 , p0_a42 DATE
1392 , p0_a43 DATE
1393 , p0_a44 VARCHAR2
1394 , p0_a45 VARCHAR2
1395 , p0_a46 NUMBER
1396 , p0_a47 NUMBER
1397 , p0_a48 VARCHAR2
1398 , p0_a49 VARCHAR2
1399 , p0_a50 NUMBER
1400 , p0_a51 DATE
1401 , p0_a52 NUMBER
1402 , p0_a53 NUMBER
1403 , p0_a54 NUMBER
1404 , p0_a55 NUMBER
1405 , p0_a56 NUMBER
1406 , p0_a57 VARCHAR2
1407 , p0_a58 NUMBER
1408 , p0_a59 DATE
1409 , p0_a60 NUMBER
1410 , p0_a61 NUMBER
1411 , p0_a62 NUMBER
1412 , p0_a63 NUMBER
1413 , p0_a64 NUMBER
1414 , p0_a65 VARCHAR2
1415 , p0_a66 VARCHAR2
1416 , p0_a67 VARCHAR2
1417 , p0_a68 VARCHAR2
1418 , p0_a69 NUMBER
1419 , p0_a70 NUMBER
1420 , p0_a71 NUMBER
1421 , p0_a72 NUMBER
1422 , p0_a73 DATE
1423 , p0_a74 DATE
1424 , p0_a75 VARCHAR2
1425 , p0_a76 VARCHAR2
1426 , p0_a77 VARCHAR2
1427 , p0_a78 VARCHAR2
1428 , p0_a79 DATE
1429 , p0_a80 VARCHAR2
1430 , p0_a81 NUMBER
1431 , p0_a82 NUMBER
1432 , p0_a83 VARCHAR2
1433 , p0_a84 NUMBER
1434 , p0_a85 NUMBER
1435 , p0_a86 NUMBER
1436 , p0_a87 NUMBER
1437 , p0_a88 NUMBER
1438 , p_start_date DATE
1439 , p_end_date DATE
1440 , p3_a0 JTF_NUMBER_TABLE
1441 , p3_a1 JTF_DATE_TABLE
1442 , p3_a2 JTF_DATE_TABLE
1443 , p3_a3 JTF_NUMBER_TABLE
1444 , p3_a4 JTF_NUMBER_TABLE
1445 , p3_a5 JTF_NUMBER_TABLE
1446 , p3_a6 JTF_NUMBER_TABLE
1447 , p3_a7 JTF_VARCHAR2_TABLE_100
1448 , p3_a8 JTF_VARCHAR2_TABLE_100
1449 , p3_a9 JTF_VARCHAR2_TABLE_100
1450 ) return number
1451
1452 as
1453 ddp_loan_details lns_financials.loan_details_rec;
1454 ddp_rate_tbl lns_financials.rate_schedule_tbl;
1455 ddindx binary_integer; indx binary_integer;
1456 ddrosetta_retval number;
1457 begin
1458
1459 -- copy data to the local IN or IN-OUT args, if any
1460 ddp_loan_details.loan_id := p0_a0;
1461 ddp_loan_details.loan_term := p0_a1;
1462 ddp_loan_details.loan_term_period := p0_a2;
1463 ddp_loan_details.amortized_term := p0_a3;
1464 ddp_loan_details.amortized_term_period := p0_a4;
1465 ddp_loan_details.amortization_frequency := p0_a5;
1466 ddp_loan_details.payment_frequency := p0_a6;
1467 ddp_loan_details.first_payment_date := p0_a7;
1468 ddp_loan_details.loan_start_date := p0_a8;
1469 ddp_loan_details.requested_amount := p0_a9;
1470 ddp_loan_details.funded_amount := p0_a10;
1471 ddp_loan_details.remaining_balance := p0_a11;
1472 ddp_loan_details.principal_paid_to_date := p0_a12;
1473 ddp_loan_details.interest_paid_to_date := p0_a13;
1474 ddp_loan_details.fees_paid_to_date := p0_a14;
1475 ddp_loan_details.unpaid_principal := p0_a15;
1476 ddp_loan_details.unpaid_interest := p0_a16;
1477 ddp_loan_details.unbilled_principal := p0_a17;
1478 ddp_loan_details.maturity_date := p0_a18;
1479 ddp_loan_details.number_installments := p0_a19;
1480 ddp_loan_details.num_amortization_intervals := p0_a20;
1481 ddp_loan_details.reamortize_overpay := p0_a21;
1482 ddp_loan_details.reamortize_underpay := p0_a22;
1483 ddp_loan_details.reamortize_with_interest := p0_a23;
1484 ddp_loan_details.reamortize_amount := p0_a24;
1485 ddp_loan_details.reamortize_from_installment := p0_a25;
1486 ddp_loan_details.reamortize_to_installment := p0_a26;
1487 ddp_loan_details.last_installment_billed := p0_a27;
1488 ddp_loan_details.day_count_method := p0_a28;
1489 ddp_loan_details.pay_in_arrears := p0_a29;
1490 if p0_a30 is null
1491 then ddp_loan_details.pay_in_arrears_boolean := null;
1492 elsif p0_a30 = 0
1493 then ddp_loan_details.pay_in_arrears_boolean := false;
1494 else ddp_loan_details.pay_in_arrears_boolean := true;
1495 end if;
1496 ddp_loan_details.custom_schedule := p0_a31;
1497 ddp_loan_details.loan_status := p0_a32;
1498 ddp_loan_details.last_interest_accrual := p0_a33;
1499 ddp_loan_details.last_activity := p0_a34;
1500 ddp_loan_details.last_activity_date := p0_a35;
1501 ddp_loan_details.loan_currency := p0_a36;
1502 ddp_loan_details.currency_precision := p0_a37;
1503 ddp_loan_details.open_term := p0_a38;
1504 ddp_loan_details.open_term_period := p0_a39;
1505 ddp_loan_details.open_payment_frequency := p0_a40;
1506 ddp_loan_details.open_first_payment_date := p0_a41;
1507 ddp_loan_details.open_start_date := p0_a42;
1508 ddp_loan_details.open_maturity_date := p0_a43;
1509 ddp_loan_details.loan_phase := p0_a44;
1510 ddp_loan_details.balloon_payment_type := p0_a45;
1511 ddp_loan_details.balloon_payment_amount := p0_a46;
1512 ddp_loan_details.amortized_amount := p0_a47;
1513 ddp_loan_details.rate_type := p0_a48;
1514 ddp_loan_details.open_rate_chg_freq := p0_a49;
1515 ddp_loan_details.open_index_rate_id := p0_a50;
1516 ddp_loan_details.open_index_date := p0_a51;
1517 ddp_loan_details.open_ceiling_rate := p0_a52;
1518 ddp_loan_details.open_floor_rate := p0_a53;
1519 ddp_loan_details.open_first_percent_increase := p0_a54;
1520 ddp_loan_details.open_adj_percent_increase := p0_a55;
1521 ddp_loan_details.open_life_percent_increase := p0_a56;
1522 ddp_loan_details.term_rate_chg_freq := p0_a57;
1523 ddp_loan_details.term_index_rate_id := p0_a58;
1524 ddp_loan_details.term_index_date := p0_a59;
1525 ddp_loan_details.term_ceiling_rate := p0_a60;
1526 ddp_loan_details.term_floor_rate := p0_a61;
1527 ddp_loan_details.term_first_percent_increase := p0_a62;
1528 ddp_loan_details.term_adj_percent_increase := p0_a63;
1529 ddp_loan_details.term_life_percent_increase := p0_a64;
1530 ddp_loan_details.open_to_term_flag := p0_a65;
1531 ddp_loan_details.open_to_term_event := p0_a66;
1532 ddp_loan_details.multiple_funding_flag := p0_a67;
1533 ddp_loan_details.secondary_status := p0_a68;
1534 ddp_loan_details.open_projected_interest_rate := p0_a69;
1535 ddp_loan_details.term_projected_interest_rate := p0_a70;
1536 ddp_loan_details.initial_interest_rate := p0_a71;
1537 ddp_loan_details.last_interest_rate := p0_a72;
1538 ddp_loan_details.first_rate_change_date := p0_a73;
1539 ddp_loan_details.next_rate_change_date := p0_a74;
1540 ddp_loan_details.calculation_method := p0_a75;
1541 ddp_loan_details.interest_compounding_freq := p0_a76;
1542 ddp_loan_details.payment_calc_method := p0_a77;
1543 ddp_loan_details.orig_pay_calc_method := p0_a78;
1544 ddp_loan_details.prin_first_pay_date := p0_a79;
1545 ddp_loan_details.prin_payment_frequency := p0_a80;
1546 ddp_loan_details.prin_number_installments := p0_a81;
1547 ddp_loan_details.prin_amort_installments := p0_a82;
1548 ddp_loan_details.prin_pay_in_arrears := p0_a83;
1549 if p0_a84 is null
1550 then ddp_loan_details.prin_pay_in_arrears_bool := null;
1551 elsif p0_a84 = 0
1552 then ddp_loan_details.prin_pay_in_arrears_bool := false;
1553 else ddp_loan_details.prin_pay_in_arrears_bool := true;
1554 end if;
1555 ddp_loan_details.extend_from_installment := p0_a85;
1556 ddp_loan_details.orig_number_installments := p0_a86;
1557 ddp_loan_details.penal_int_rate := p0_a87;
1558 ddp_loan_details.penal_int_grace_days := p0_a88;
1559
1560
1561
1562 lns_financials_w.rosetta_table_copy_in_p1(ddp_rate_tbl, p3_a0
1563 , p3_a1
1564 , p3_a2
1565 , p3_a3
1566 , p3_a4
1567 , p3_a5
1568 , p3_a6
1569 , p3_a7
1570 , p3_a8
1571 , p3_a9
1572 );
1573
1574 -- here's the delegated call to the old PL/SQL routine
1575 ddrosetta_retval := lns_financials.getweightedrate(ddp_loan_details,
1576 p_start_date,
1577 p_end_date,
1578 ddp_rate_tbl);
1579
1580 -- copy data back from the local variables to OUT or IN-OUT args, if any
1581
1582
1583
1584
1585 return ddrosetta_retval;
1586 end;
1587
1588 procedure amortizeeploan(p0_a0 NUMBER
1589 , p0_a1 NUMBER
1590 , p0_a2 VARCHAR2
1591 , p0_a3 NUMBER
1592 , p0_a4 VARCHAR2
1593 , p0_a5 VARCHAR2
1594 , p0_a6 VARCHAR2
1595 , p0_a7 DATE
1596 , p0_a8 DATE
1597 , p0_a9 NUMBER
1598 , p0_a10 NUMBER
1599 , p0_a11 NUMBER
1600 , p0_a12 NUMBER
1601 , p0_a13 NUMBER
1602 , p0_a14 NUMBER
1603 , p0_a15 NUMBER
1604 , p0_a16 NUMBER
1605 , p0_a17 NUMBER
1606 , p0_a18 DATE
1607 , p0_a19 NUMBER
1608 , p0_a20 NUMBER
1609 , p0_a21 VARCHAR2
1610 , p0_a22 VARCHAR2
1611 , p0_a23 VARCHAR2
1612 , p0_a24 NUMBER
1613 , p0_a25 NUMBER
1614 , p0_a26 NUMBER
1615 , p0_a27 NUMBER
1616 , p0_a28 VARCHAR2
1617 , p0_a29 VARCHAR2
1618 , p0_a30 NUMBER
1619 , p0_a31 VARCHAR2
1620 , p0_a32 VARCHAR2
1621 , p0_a33 DATE
1622 , p0_a34 VARCHAR2
1623 , p0_a35 DATE
1624 , p0_a36 VARCHAR2
1625 , p0_a37 NUMBER
1626 , p0_a38 NUMBER
1627 , p0_a39 VARCHAR2
1628 , p0_a40 VARCHAR2
1629 , p0_a41 DATE
1630 , p0_a42 DATE
1631 , p0_a43 DATE
1632 , p0_a44 VARCHAR2
1633 , p0_a45 VARCHAR2
1634 , p0_a46 NUMBER
1635 , p0_a47 NUMBER
1636 , p0_a48 VARCHAR2
1637 , p0_a49 VARCHAR2
1638 , p0_a50 NUMBER
1639 , p0_a51 DATE
1640 , p0_a52 NUMBER
1641 , p0_a53 NUMBER
1642 , p0_a54 NUMBER
1643 , p0_a55 NUMBER
1644 , p0_a56 NUMBER
1645 , p0_a57 VARCHAR2
1646 , p0_a58 NUMBER
1647 , p0_a59 DATE
1648 , p0_a60 NUMBER
1649 , p0_a61 NUMBER
1650 , p0_a62 NUMBER
1651 , p0_a63 NUMBER
1652 , p0_a64 NUMBER
1653 , p0_a65 VARCHAR2
1654 , p0_a66 VARCHAR2
1655 , p0_a67 VARCHAR2
1656 , p0_a68 VARCHAR2
1657 , p0_a69 NUMBER
1658 , p0_a70 NUMBER
1659 , p0_a71 NUMBER
1660 , p0_a72 NUMBER
1661 , p0_a73 DATE
1662 , p0_a74 DATE
1663 , p0_a75 VARCHAR2
1664 , p0_a76 VARCHAR2
1665 , p0_a77 VARCHAR2
1666 , p0_a78 VARCHAR2
1667 , p0_a79 DATE
1668 , p0_a80 VARCHAR2
1669 , p0_a81 NUMBER
1670 , p0_a82 NUMBER
1671 , p0_a83 VARCHAR2
1672 , p0_a84 NUMBER
1673 , p0_a85 NUMBER
1674 , p0_a86 NUMBER
1675 , p0_a87 NUMBER
1676 , p0_a88 NUMBER
1677 , p1_a0 JTF_NUMBER_TABLE
1678 , p1_a1 JTF_DATE_TABLE
1679 , p1_a2 JTF_DATE_TABLE
1680 , p1_a3 JTF_NUMBER_TABLE
1681 , p1_a4 JTF_NUMBER_TABLE
1682 , p1_a5 JTF_NUMBER_TABLE
1683 , p1_a6 JTF_NUMBER_TABLE
1684 , p1_a7 JTF_VARCHAR2_TABLE_100
1685 , p1_a8 JTF_VARCHAR2_TABLE_100
1686 , p1_a9 JTF_VARCHAR2_TABLE_100
1687 , p_based_on_terms VARCHAR2
1688 , p_installment_number NUMBER
1689 , p4_a0 out nocopy JTF_NUMBER_TABLE
1690 , p4_a1 out nocopy JTF_DATE_TABLE
1691 , p4_a2 out nocopy JTF_DATE_TABLE
1692 , p4_a3 out nocopy JTF_DATE_TABLE
1693 , p4_a4 out nocopy JTF_NUMBER_TABLE
1694 , p4_a5 out nocopy JTF_NUMBER_TABLE
1695 , p4_a6 out nocopy JTF_NUMBER_TABLE
1696 , p4_a7 out nocopy JTF_NUMBER_TABLE
1697 , p4_a8 out nocopy JTF_NUMBER_TABLE
1698 , p4_a9 out nocopy JTF_NUMBER_TABLE
1699 , p4_a10 out nocopy JTF_NUMBER_TABLE
1700 , p4_a11 out nocopy JTF_NUMBER_TABLE
1701 , p4_a12 out nocopy JTF_NUMBER_TABLE
1702 , p4_a13 out nocopy JTF_NUMBER_TABLE
1703 , p4_a14 out nocopy JTF_NUMBER_TABLE
1704 , p4_a15 out nocopy JTF_NUMBER_TABLE
1705 , p4_a16 out nocopy JTF_NUMBER_TABLE
1706 , p4_a17 out nocopy JTF_NUMBER_TABLE
1707 , p4_a18 out nocopy JTF_NUMBER_TABLE
1708 , p4_a19 out nocopy JTF_NUMBER_TABLE
1709 , p4_a20 out nocopy JTF_NUMBER_TABLE
1710 , p4_a21 out nocopy JTF_VARCHAR2_TABLE_100
1711 , p4_a22 out nocopy JTF_VARCHAR2_TABLE_100
1712 , p4_a23 out nocopy JTF_VARCHAR2_TABLE_100
1713 , p4_a24 out nocopy JTF_NUMBER_TABLE
1714 , p4_a25 out nocopy JTF_NUMBER_TABLE
1715 , p4_a26 out nocopy JTF_NUMBER_TABLE
1716 )
1717
1718 as
1719 ddp_loan_details lns_financials.loan_details_rec;
1720 ddp_rate_schedule lns_financials.rate_schedule_tbl;
1721 ddx_loan_amort_tbl lns_financials.amortization_tbl;
1722 ddindx binary_integer; indx binary_integer;
1723 begin
1724
1725 -- copy data to the local IN or IN-OUT args, if any
1726 ddp_loan_details.loan_id := p0_a0;
1727 ddp_loan_details.loan_term := p0_a1;
1728 ddp_loan_details.loan_term_period := p0_a2;
1729 ddp_loan_details.amortized_term := p0_a3;
1730 ddp_loan_details.amortized_term_period := p0_a4;
1731 ddp_loan_details.amortization_frequency := p0_a5;
1732 ddp_loan_details.payment_frequency := p0_a6;
1733 ddp_loan_details.first_payment_date := p0_a7;
1734 ddp_loan_details.loan_start_date := p0_a8;
1735 ddp_loan_details.requested_amount := p0_a9;
1736 ddp_loan_details.funded_amount := p0_a10;
1737 ddp_loan_details.remaining_balance := p0_a11;
1738 ddp_loan_details.principal_paid_to_date := p0_a12;
1739 ddp_loan_details.interest_paid_to_date := p0_a13;
1740 ddp_loan_details.fees_paid_to_date := p0_a14;
1741 ddp_loan_details.unpaid_principal := p0_a15;
1742 ddp_loan_details.unpaid_interest := p0_a16;
1743 ddp_loan_details.unbilled_principal := p0_a17;
1744 ddp_loan_details.maturity_date := p0_a18;
1745 ddp_loan_details.number_installments := p0_a19;
1746 ddp_loan_details.num_amortization_intervals := p0_a20;
1747 ddp_loan_details.reamortize_overpay := p0_a21;
1748 ddp_loan_details.reamortize_underpay := p0_a22;
1749 ddp_loan_details.reamortize_with_interest := p0_a23;
1750 ddp_loan_details.reamortize_amount := p0_a24;
1751 ddp_loan_details.reamortize_from_installment := p0_a25;
1752 ddp_loan_details.reamortize_to_installment := p0_a26;
1753 ddp_loan_details.last_installment_billed := p0_a27;
1754 ddp_loan_details.day_count_method := p0_a28;
1755 ddp_loan_details.pay_in_arrears := p0_a29;
1756 if p0_a30 is null
1757 then ddp_loan_details.pay_in_arrears_boolean := null;
1758 elsif p0_a30 = 0
1759 then ddp_loan_details.pay_in_arrears_boolean := false;
1760 else ddp_loan_details.pay_in_arrears_boolean := true;
1761 end if;
1762 ddp_loan_details.custom_schedule := p0_a31;
1763 ddp_loan_details.loan_status := p0_a32;
1764 ddp_loan_details.last_interest_accrual := p0_a33;
1765 ddp_loan_details.last_activity := p0_a34;
1766 ddp_loan_details.last_activity_date := p0_a35;
1767 ddp_loan_details.loan_currency := p0_a36;
1768 ddp_loan_details.currency_precision := p0_a37;
1769 ddp_loan_details.open_term := p0_a38;
1770 ddp_loan_details.open_term_period := p0_a39;
1771 ddp_loan_details.open_payment_frequency := p0_a40;
1772 ddp_loan_details.open_first_payment_date := p0_a41;
1773 ddp_loan_details.open_start_date := p0_a42;
1774 ddp_loan_details.open_maturity_date := p0_a43;
1775 ddp_loan_details.loan_phase := p0_a44;
1776 ddp_loan_details.balloon_payment_type := p0_a45;
1777 ddp_loan_details.balloon_payment_amount := p0_a46;
1778 ddp_loan_details.amortized_amount := p0_a47;
1779 ddp_loan_details.rate_type := p0_a48;
1780 ddp_loan_details.open_rate_chg_freq := p0_a49;
1781 ddp_loan_details.open_index_rate_id := p0_a50;
1782 ddp_loan_details.open_index_date := p0_a51;
1783 ddp_loan_details.open_ceiling_rate := p0_a52;
1784 ddp_loan_details.open_floor_rate := p0_a53;
1785 ddp_loan_details.open_first_percent_increase := p0_a54;
1786 ddp_loan_details.open_adj_percent_increase := p0_a55;
1787 ddp_loan_details.open_life_percent_increase := p0_a56;
1788 ddp_loan_details.term_rate_chg_freq := p0_a57;
1789 ddp_loan_details.term_index_rate_id := p0_a58;
1790 ddp_loan_details.term_index_date := p0_a59;
1791 ddp_loan_details.term_ceiling_rate := p0_a60;
1792 ddp_loan_details.term_floor_rate := p0_a61;
1793 ddp_loan_details.term_first_percent_increase := p0_a62;
1794 ddp_loan_details.term_adj_percent_increase := p0_a63;
1795 ddp_loan_details.term_life_percent_increase := p0_a64;
1796 ddp_loan_details.open_to_term_flag := p0_a65;
1797 ddp_loan_details.open_to_term_event := p0_a66;
1798 ddp_loan_details.multiple_funding_flag := p0_a67;
1799 ddp_loan_details.secondary_status := p0_a68;
1800 ddp_loan_details.open_projected_interest_rate := p0_a69;
1801 ddp_loan_details.term_projected_interest_rate := p0_a70;
1802 ddp_loan_details.initial_interest_rate := p0_a71;
1803 ddp_loan_details.last_interest_rate := p0_a72;
1804 ddp_loan_details.first_rate_change_date := p0_a73;
1805 ddp_loan_details.next_rate_change_date := p0_a74;
1806 ddp_loan_details.calculation_method := p0_a75;
1807 ddp_loan_details.interest_compounding_freq := p0_a76;
1808 ddp_loan_details.payment_calc_method := p0_a77;
1809 ddp_loan_details.orig_pay_calc_method := p0_a78;
1810 ddp_loan_details.prin_first_pay_date := p0_a79;
1811 ddp_loan_details.prin_payment_frequency := p0_a80;
1812 ddp_loan_details.prin_number_installments := p0_a81;
1813 ddp_loan_details.prin_amort_installments := p0_a82;
1814 ddp_loan_details.prin_pay_in_arrears := p0_a83;
1815 if p0_a84 is null
1816 then ddp_loan_details.prin_pay_in_arrears_bool := null;
1817 elsif p0_a84 = 0
1818 then ddp_loan_details.prin_pay_in_arrears_bool := false;
1819 else ddp_loan_details.prin_pay_in_arrears_bool := true;
1820 end if;
1821 ddp_loan_details.extend_from_installment := p0_a85;
1822 ddp_loan_details.orig_number_installments := p0_a86;
1823 ddp_loan_details.penal_int_rate := p0_a87;
1824 ddp_loan_details.penal_int_grace_days := p0_a88;
1825
1826 lns_financials_w.rosetta_table_copy_in_p1(ddp_rate_schedule, p1_a0
1827 , p1_a1
1828 , p1_a2
1829 , p1_a3
1830 , p1_a4
1831 , p1_a5
1832 , p1_a6
1833 , p1_a7
1834 , p1_a8
1835 , p1_a9
1836 );
1837
1838
1839
1840
1841 -- here's the delegated call to the old PL/SQL routine
1842 lns_financials.amortizeeploan(ddp_loan_details,
1843 ddp_rate_schedule,
1844 p_based_on_terms,
1845 p_installment_number,
1846 ddx_loan_amort_tbl);
1847
1848 -- copy data back from the local variables to OUT or IN-OUT args, if any
1849
1850
1851
1852
1853 lns_financials_w.rosetta_table_copy_out_p3(ddx_loan_amort_tbl, p4_a0
1854 , p4_a1
1855 , p4_a2
1856 , p4_a3
1857 , p4_a4
1858 , p4_a5
1859 , p4_a6
1860 , p4_a7
1861 , p4_a8
1862 , p4_a9
1863 , p4_a10
1864 , p4_a11
1865 , p4_a12
1866 , p4_a13
1867 , p4_a14
1868 , p4_a15
1869 , p4_a16
1870 , p4_a17
1871 , p4_a18
1872 , p4_a19
1873 , p4_a20
1874 , p4_a21
1875 , p4_a22
1876 , p4_a23
1877 , p4_a24
1878 , p4_a25
1879 , p4_a26
1880 );
1881 end;
1882
1883 procedure amortizeloan(p0_a0 NUMBER
1884 , p0_a1 NUMBER
1885 , p0_a2 VARCHAR2
1886 , p0_a3 NUMBER
1887 , p0_a4 VARCHAR2
1888 , p0_a5 VARCHAR2
1889 , p0_a6 VARCHAR2
1890 , p0_a7 DATE
1891 , p0_a8 DATE
1892 , p0_a9 NUMBER
1893 , p0_a10 NUMBER
1894 , p0_a11 NUMBER
1895 , p0_a12 NUMBER
1896 , p0_a13 NUMBER
1897 , p0_a14 NUMBER
1898 , p0_a15 NUMBER
1899 , p0_a16 NUMBER
1900 , p0_a17 NUMBER
1901 , p0_a18 DATE
1902 , p0_a19 NUMBER
1903 , p0_a20 NUMBER
1904 , p0_a21 VARCHAR2
1905 , p0_a22 VARCHAR2
1906 , p0_a23 VARCHAR2
1907 , p0_a24 NUMBER
1908 , p0_a25 NUMBER
1909 , p0_a26 NUMBER
1910 , p0_a27 NUMBER
1911 , p0_a28 VARCHAR2
1912 , p0_a29 VARCHAR2
1913 , p0_a30 NUMBER
1914 , p0_a31 VARCHAR2
1915 , p0_a32 VARCHAR2
1916 , p0_a33 DATE
1917 , p0_a34 VARCHAR2
1918 , p0_a35 DATE
1919 , p0_a36 VARCHAR2
1920 , p0_a37 NUMBER
1921 , p0_a38 NUMBER
1922 , p0_a39 VARCHAR2
1923 , p0_a40 VARCHAR2
1924 , p0_a41 DATE
1925 , p0_a42 DATE
1926 , p0_a43 DATE
1927 , p0_a44 VARCHAR2
1928 , p0_a45 VARCHAR2
1929 , p0_a46 NUMBER
1930 , p0_a47 NUMBER
1931 , p0_a48 VARCHAR2
1932 , p0_a49 VARCHAR2
1933 , p0_a50 NUMBER
1934 , p0_a51 DATE
1935 , p0_a52 NUMBER
1936 , p0_a53 NUMBER
1937 , p0_a54 NUMBER
1938 , p0_a55 NUMBER
1939 , p0_a56 NUMBER
1940 , p0_a57 VARCHAR2
1941 , p0_a58 NUMBER
1942 , p0_a59 DATE
1943 , p0_a60 NUMBER
1944 , p0_a61 NUMBER
1945 , p0_a62 NUMBER
1946 , p0_a63 NUMBER
1947 , p0_a64 NUMBER
1948 , p0_a65 VARCHAR2
1949 , p0_a66 VARCHAR2
1950 , p0_a67 VARCHAR2
1951 , p0_a68 VARCHAR2
1952 , p0_a69 NUMBER
1953 , p0_a70 NUMBER
1954 , p0_a71 NUMBER
1955 , p0_a72 NUMBER
1956 , p0_a73 DATE
1957 , p0_a74 DATE
1958 , p0_a75 VARCHAR2
1959 , p0_a76 VARCHAR2
1960 , p0_a77 VARCHAR2
1961 , p0_a78 VARCHAR2
1962 , p0_a79 DATE
1963 , p0_a80 VARCHAR2
1964 , p0_a81 NUMBER
1965 , p0_a82 NUMBER
1966 , p0_a83 VARCHAR2
1967 , p0_a84 NUMBER
1968 , p0_a85 NUMBER
1969 , p0_a86 NUMBER
1970 , p0_a87 NUMBER
1971 , p0_a88 NUMBER
1972 , p1_a0 JTF_NUMBER_TABLE
1973 , p1_a1 JTF_DATE_TABLE
1974 , p1_a2 JTF_DATE_TABLE
1975 , p1_a3 JTF_NUMBER_TABLE
1976 , p1_a4 JTF_NUMBER_TABLE
1977 , p1_a5 JTF_NUMBER_TABLE
1978 , p1_a6 JTF_NUMBER_TABLE
1979 , p1_a7 JTF_VARCHAR2_TABLE_100
1980 , p1_a8 JTF_VARCHAR2_TABLE_100
1981 , p1_a9 JTF_VARCHAR2_TABLE_100
1982 , p_based_on_terms VARCHAR2
1983 , p_installment_number NUMBER
1984 , p4_a0 out nocopy JTF_NUMBER_TABLE
1985 , p4_a1 out nocopy JTF_DATE_TABLE
1986 , p4_a2 out nocopy JTF_DATE_TABLE
1987 , p4_a3 out nocopy JTF_DATE_TABLE
1988 , p4_a4 out nocopy JTF_NUMBER_TABLE
1989 , p4_a5 out nocopy JTF_NUMBER_TABLE
1990 , p4_a6 out nocopy JTF_NUMBER_TABLE
1991 , p4_a7 out nocopy JTF_NUMBER_TABLE
1992 , p4_a8 out nocopy JTF_NUMBER_TABLE
1993 , p4_a9 out nocopy JTF_NUMBER_TABLE
1994 , p4_a10 out nocopy JTF_NUMBER_TABLE
1995 , p4_a11 out nocopy JTF_NUMBER_TABLE
1996 , p4_a12 out nocopy JTF_NUMBER_TABLE
1997 , p4_a13 out nocopy JTF_NUMBER_TABLE
1998 , p4_a14 out nocopy JTF_NUMBER_TABLE
1999 , p4_a15 out nocopy JTF_NUMBER_TABLE
2000 , p4_a16 out nocopy JTF_NUMBER_TABLE
2001 , p4_a17 out nocopy JTF_NUMBER_TABLE
2002 , p4_a18 out nocopy JTF_NUMBER_TABLE
2003 , p4_a19 out nocopy JTF_NUMBER_TABLE
2004 , p4_a20 out nocopy JTF_NUMBER_TABLE
2005 , p4_a21 out nocopy JTF_VARCHAR2_TABLE_100
2006 , p4_a22 out nocopy JTF_VARCHAR2_TABLE_100
2007 , p4_a23 out nocopy JTF_VARCHAR2_TABLE_100
2008 , p4_a24 out nocopy JTF_NUMBER_TABLE
2009 , p4_a25 out nocopy JTF_NUMBER_TABLE
2010 , p4_a26 out nocopy JTF_NUMBER_TABLE
2011 )
2012
2013 as
2014 ddp_loan_details lns_financials.loan_details_rec;
2015 ddp_rate_schedule lns_financials.rate_schedule_tbl;
2016 ddx_loan_amort_tbl lns_financials.amortization_tbl;
2017 ddindx binary_integer; indx binary_integer;
2018 begin
2019
2020 -- copy data to the local IN or IN-OUT args, if any
2021 ddp_loan_details.loan_id := p0_a0;
2022 ddp_loan_details.loan_term := p0_a1;
2023 ddp_loan_details.loan_term_period := p0_a2;
2024 ddp_loan_details.amortized_term := p0_a3;
2025 ddp_loan_details.amortized_term_period := p0_a4;
2026 ddp_loan_details.amortization_frequency := p0_a5;
2027 ddp_loan_details.payment_frequency := p0_a6;
2028 ddp_loan_details.first_payment_date := p0_a7;
2029 ddp_loan_details.loan_start_date := p0_a8;
2030 ddp_loan_details.requested_amount := p0_a9;
2031 ddp_loan_details.funded_amount := p0_a10;
2032 ddp_loan_details.remaining_balance := p0_a11;
2033 ddp_loan_details.principal_paid_to_date := p0_a12;
2034 ddp_loan_details.interest_paid_to_date := p0_a13;
2035 ddp_loan_details.fees_paid_to_date := p0_a14;
2036 ddp_loan_details.unpaid_principal := p0_a15;
2037 ddp_loan_details.unpaid_interest := p0_a16;
2038 ddp_loan_details.unbilled_principal := p0_a17;
2039 ddp_loan_details.maturity_date := p0_a18;
2040 ddp_loan_details.number_installments := p0_a19;
2041 ddp_loan_details.num_amortization_intervals := p0_a20;
2042 ddp_loan_details.reamortize_overpay := p0_a21;
2043 ddp_loan_details.reamortize_underpay := p0_a22;
2044 ddp_loan_details.reamortize_with_interest := p0_a23;
2045 ddp_loan_details.reamortize_amount := p0_a24;
2046 ddp_loan_details.reamortize_from_installment := p0_a25;
2047 ddp_loan_details.reamortize_to_installment := p0_a26;
2048 ddp_loan_details.last_installment_billed := p0_a27;
2049 ddp_loan_details.day_count_method := p0_a28;
2050 ddp_loan_details.pay_in_arrears := p0_a29;
2051 if p0_a30 is null
2052 then ddp_loan_details.pay_in_arrears_boolean := null;
2053 elsif p0_a30 = 0
2054 then ddp_loan_details.pay_in_arrears_boolean := false;
2055 else ddp_loan_details.pay_in_arrears_boolean := true;
2056 end if;
2057 ddp_loan_details.custom_schedule := p0_a31;
2058 ddp_loan_details.loan_status := p0_a32;
2059 ddp_loan_details.last_interest_accrual := p0_a33;
2060 ddp_loan_details.last_activity := p0_a34;
2061 ddp_loan_details.last_activity_date := p0_a35;
2062 ddp_loan_details.loan_currency := p0_a36;
2063 ddp_loan_details.currency_precision := p0_a37;
2064 ddp_loan_details.open_term := p0_a38;
2065 ddp_loan_details.open_term_period := p0_a39;
2066 ddp_loan_details.open_payment_frequency := p0_a40;
2067 ddp_loan_details.open_first_payment_date := p0_a41;
2068 ddp_loan_details.open_start_date := p0_a42;
2069 ddp_loan_details.open_maturity_date := p0_a43;
2070 ddp_loan_details.loan_phase := p0_a44;
2071 ddp_loan_details.balloon_payment_type := p0_a45;
2072 ddp_loan_details.balloon_payment_amount := p0_a46;
2073 ddp_loan_details.amortized_amount := p0_a47;
2074 ddp_loan_details.rate_type := p0_a48;
2075 ddp_loan_details.open_rate_chg_freq := p0_a49;
2076 ddp_loan_details.open_index_rate_id := p0_a50;
2077 ddp_loan_details.open_index_date := p0_a51;
2078 ddp_loan_details.open_ceiling_rate := p0_a52;
2079 ddp_loan_details.open_floor_rate := p0_a53;
2080 ddp_loan_details.open_first_percent_increase := p0_a54;
2081 ddp_loan_details.open_adj_percent_increase := p0_a55;
2082 ddp_loan_details.open_life_percent_increase := p0_a56;
2083 ddp_loan_details.term_rate_chg_freq := p0_a57;
2084 ddp_loan_details.term_index_rate_id := p0_a58;
2085 ddp_loan_details.term_index_date := p0_a59;
2086 ddp_loan_details.term_ceiling_rate := p0_a60;
2087 ddp_loan_details.term_floor_rate := p0_a61;
2088 ddp_loan_details.term_first_percent_increase := p0_a62;
2089 ddp_loan_details.term_adj_percent_increase := p0_a63;
2090 ddp_loan_details.term_life_percent_increase := p0_a64;
2091 ddp_loan_details.open_to_term_flag := p0_a65;
2092 ddp_loan_details.open_to_term_event := p0_a66;
2093 ddp_loan_details.multiple_funding_flag := p0_a67;
2094 ddp_loan_details.secondary_status := p0_a68;
2095 ddp_loan_details.open_projected_interest_rate := p0_a69;
2096 ddp_loan_details.term_projected_interest_rate := p0_a70;
2097 ddp_loan_details.initial_interest_rate := p0_a71;
2098 ddp_loan_details.last_interest_rate := p0_a72;
2099 ddp_loan_details.first_rate_change_date := p0_a73;
2100 ddp_loan_details.next_rate_change_date := p0_a74;
2101 ddp_loan_details.calculation_method := p0_a75;
2102 ddp_loan_details.interest_compounding_freq := p0_a76;
2103 ddp_loan_details.payment_calc_method := p0_a77;
2104 ddp_loan_details.orig_pay_calc_method := p0_a78;
2105 ddp_loan_details.prin_first_pay_date := p0_a79;
2106 ddp_loan_details.prin_payment_frequency := p0_a80;
2107 ddp_loan_details.prin_number_installments := p0_a81;
2108 ddp_loan_details.prin_amort_installments := p0_a82;
2109 ddp_loan_details.prin_pay_in_arrears := p0_a83;
2110 if p0_a84 is null
2111 then ddp_loan_details.prin_pay_in_arrears_bool := null;
2112 elsif p0_a84 = 0
2113 then ddp_loan_details.prin_pay_in_arrears_bool := false;
2114 else ddp_loan_details.prin_pay_in_arrears_bool := true;
2115 end if;
2116 ddp_loan_details.extend_from_installment := p0_a85;
2117 ddp_loan_details.orig_number_installments := p0_a86;
2118 ddp_loan_details.penal_int_rate := p0_a87;
2119 ddp_loan_details.penal_int_grace_days := p0_a88;
2120
2121 lns_financials_w.rosetta_table_copy_in_p1(ddp_rate_schedule, p1_a0
2122 , p1_a1
2123 , p1_a2
2124 , p1_a3
2125 , p1_a4
2126 , p1_a5
2127 , p1_a6
2128 , p1_a7
2129 , p1_a8
2130 , p1_a9
2131 );
2132
2133
2134
2135
2136 -- here's the delegated call to the old PL/SQL routine
2137 lns_financials.amortizeloan(ddp_loan_details,
2138 ddp_rate_schedule,
2139 p_based_on_terms,
2140 p_installment_number,
2141 ddx_loan_amort_tbl);
2142
2143 -- copy data back from the local variables to OUT or IN-OUT args, if any
2144
2145
2146
2147
2148 lns_financials_w.rosetta_table_copy_out_p3(ddx_loan_amort_tbl, p4_a0
2149 , p4_a1
2150 , p4_a2
2151 , p4_a3
2152 , p4_a4
2153 , p4_a5
2154 , p4_a6
2155 , p4_a7
2156 , p4_a8
2157 , p4_a9
2158 , p4_a10
2159 , p4_a11
2160 , p4_a12
2161 , p4_a13
2162 , p4_a14
2163 , p4_a15
2164 , p4_a16
2165 , p4_a17
2166 , p4_a18
2167 , p4_a19
2168 , p4_a20
2169 , p4_a21
2170 , p4_a22
2171 , p4_a23
2172 , p4_a24
2173 , p4_a25
2174 , p4_a26
2175 );
2176 end;
2177
2178 procedure amortizeloan(p_loan_id NUMBER
2179 , p_based_on_terms VARCHAR2
2180 , p_installment_number NUMBER
2181 , p3_a0 out nocopy JTF_NUMBER_TABLE
2182 , p3_a1 out nocopy JTF_DATE_TABLE
2183 , p3_a2 out nocopy JTF_DATE_TABLE
2184 , p3_a3 out nocopy JTF_DATE_TABLE
2185 , p3_a4 out nocopy JTF_NUMBER_TABLE
2186 , p3_a5 out nocopy JTF_NUMBER_TABLE
2187 , p3_a6 out nocopy JTF_NUMBER_TABLE
2188 , p3_a7 out nocopy JTF_NUMBER_TABLE
2189 , p3_a8 out nocopy JTF_NUMBER_TABLE
2190 , p3_a9 out nocopy JTF_NUMBER_TABLE
2191 , p3_a10 out nocopy JTF_NUMBER_TABLE
2192 , p3_a11 out nocopy JTF_NUMBER_TABLE
2193 , p3_a12 out nocopy JTF_NUMBER_TABLE
2194 , p3_a13 out nocopy JTF_NUMBER_TABLE
2195 , p3_a14 out nocopy JTF_NUMBER_TABLE
2196 , p3_a15 out nocopy JTF_NUMBER_TABLE
2197 , p3_a16 out nocopy JTF_NUMBER_TABLE
2198 , p3_a17 out nocopy JTF_NUMBER_TABLE
2199 , p3_a18 out nocopy JTF_NUMBER_TABLE
2200 , p3_a19 out nocopy JTF_NUMBER_TABLE
2201 , p3_a20 out nocopy JTF_NUMBER_TABLE
2202 , p3_a21 out nocopy JTF_VARCHAR2_TABLE_100
2203 , p3_a22 out nocopy JTF_VARCHAR2_TABLE_100
2204 , p3_a23 out nocopy JTF_VARCHAR2_TABLE_100
2205 , p3_a24 out nocopy JTF_NUMBER_TABLE
2206 , p3_a25 out nocopy JTF_NUMBER_TABLE
2207 , p3_a26 out nocopy JTF_NUMBER_TABLE
2208 )
2209
2210 as
2211 ddx_loan_amort_tbl lns_financials.amortization_tbl;
2212 ddindx binary_integer; indx binary_integer;
2213 begin
2214
2215 -- copy data to the local IN or IN-OUT args, if any
2216
2217
2218
2219
2220 -- here's the delegated call to the old PL/SQL routine
2221 lns_financials.amortizeloan(p_loan_id,
2222 p_based_on_terms,
2223 p_installment_number,
2224 ddx_loan_amort_tbl);
2225
2226 -- copy data back from the local variables to OUT or IN-OUT args, if any
2227
2228
2229
2230 lns_financials_w.rosetta_table_copy_out_p3(ddx_loan_amort_tbl, p3_a0
2231 , p3_a1
2232 , p3_a2
2233 , p3_a3
2234 , p3_a4
2235 , p3_a5
2236 , p3_a6
2237 , p3_a7
2238 , p3_a8
2239 , p3_a9
2240 , p3_a10
2241 , p3_a11
2242 , p3_a12
2243 , p3_a13
2244 , p3_a14
2245 , p3_a15
2246 , p3_a16
2247 , p3_a17
2248 , p3_a18
2249 , p3_a19
2250 , p3_a20
2251 , p3_a21
2252 , p3_a22
2253 , p3_a23
2254 , p3_a24
2255 , p3_a25
2256 , p3_a26
2257 );
2258 end;
2259
2260 procedure loanprojection(p0_a0 NUMBER
2261 , p0_a1 NUMBER
2262 , p0_a2 VARCHAR2
2263 , p0_a3 NUMBER
2264 , p0_a4 VARCHAR2
2265 , p0_a5 VARCHAR2
2266 , p0_a6 VARCHAR2
2267 , p0_a7 DATE
2268 , p0_a8 DATE
2269 , p0_a9 NUMBER
2270 , p0_a10 NUMBER
2271 , p0_a11 NUMBER
2272 , p0_a12 NUMBER
2273 , p0_a13 NUMBER
2274 , p0_a14 NUMBER
2275 , p0_a15 NUMBER
2276 , p0_a16 NUMBER
2277 , p0_a17 NUMBER
2278 , p0_a18 DATE
2279 , p0_a19 NUMBER
2280 , p0_a20 NUMBER
2281 , p0_a21 VARCHAR2
2282 , p0_a22 VARCHAR2
2283 , p0_a23 VARCHAR2
2284 , p0_a24 NUMBER
2285 , p0_a25 NUMBER
2286 , p0_a26 NUMBER
2287 , p0_a27 NUMBER
2288 , p0_a28 VARCHAR2
2289 , p0_a29 VARCHAR2
2290 , p0_a30 NUMBER
2291 , p0_a31 VARCHAR2
2292 , p0_a32 VARCHAR2
2293 , p0_a33 DATE
2294 , p0_a34 VARCHAR2
2295 , p0_a35 DATE
2296 , p0_a36 VARCHAR2
2297 , p0_a37 NUMBER
2298 , p0_a38 NUMBER
2299 , p0_a39 VARCHAR2
2300 , p0_a40 VARCHAR2
2301 , p0_a41 DATE
2302 , p0_a42 DATE
2303 , p0_a43 DATE
2304 , p0_a44 VARCHAR2
2305 , p0_a45 VARCHAR2
2306 , p0_a46 NUMBER
2307 , p0_a47 NUMBER
2308 , p0_a48 VARCHAR2
2309 , p0_a49 VARCHAR2
2310 , p0_a50 NUMBER
2311 , p0_a51 DATE
2312 , p0_a52 NUMBER
2313 , p0_a53 NUMBER
2314 , p0_a54 NUMBER
2315 , p0_a55 NUMBER
2316 , p0_a56 NUMBER
2317 , p0_a57 VARCHAR2
2318 , p0_a58 NUMBER
2319 , p0_a59 DATE
2320 , p0_a60 NUMBER
2321 , p0_a61 NUMBER
2322 , p0_a62 NUMBER
2323 , p0_a63 NUMBER
2324 , p0_a64 NUMBER
2325 , p0_a65 VARCHAR2
2326 , p0_a66 VARCHAR2
2327 , p0_a67 VARCHAR2
2328 , p0_a68 VARCHAR2
2329 , p0_a69 NUMBER
2330 , p0_a70 NUMBER
2331 , p0_a71 NUMBER
2332 , p0_a72 NUMBER
2333 , p0_a73 DATE
2334 , p0_a74 DATE
2335 , p0_a75 VARCHAR2
2336 , p0_a76 VARCHAR2
2337 , p0_a77 VARCHAR2
2338 , p0_a78 VARCHAR2
2339 , p0_a79 DATE
2340 , p0_a80 VARCHAR2
2341 , p0_a81 NUMBER
2342 , p0_a82 NUMBER
2343 , p0_a83 VARCHAR2
2344 , p0_a84 NUMBER
2345 , p0_a85 NUMBER
2346 , p0_a86 NUMBER
2347 , p0_a87 NUMBER
2348 , p0_a88 NUMBER
2349 , p1_a0 JTF_NUMBER_TABLE
2350 , p1_a1 JTF_DATE_TABLE
2351 , p1_a2 JTF_DATE_TABLE
2352 , p1_a3 JTF_NUMBER_TABLE
2353 , p1_a4 JTF_NUMBER_TABLE
2354 , p1_a5 JTF_NUMBER_TABLE
2355 , p1_a6 JTF_NUMBER_TABLE
2356 , p1_a7 JTF_VARCHAR2_TABLE_100
2357 , p1_a8 JTF_VARCHAR2_TABLE_100
2358 , p1_a9 JTF_VARCHAR2_TABLE_100
2359 , p2_a0 out nocopy JTF_NUMBER_TABLE
2360 , p2_a1 out nocopy JTF_DATE_TABLE
2361 , p2_a2 out nocopy JTF_DATE_TABLE
2362 , p2_a3 out nocopy JTF_DATE_TABLE
2363 , p2_a4 out nocopy JTF_NUMBER_TABLE
2364 , p2_a5 out nocopy JTF_NUMBER_TABLE
2365 , p2_a6 out nocopy JTF_NUMBER_TABLE
2366 , p2_a7 out nocopy JTF_NUMBER_TABLE
2367 , p2_a8 out nocopy JTF_NUMBER_TABLE
2368 , p2_a9 out nocopy JTF_NUMBER_TABLE
2369 , p2_a10 out nocopy JTF_NUMBER_TABLE
2370 , p2_a11 out nocopy JTF_NUMBER_TABLE
2371 , p2_a12 out nocopy JTF_NUMBER_TABLE
2372 , p2_a13 out nocopy JTF_NUMBER_TABLE
2373 , p2_a14 out nocopy JTF_NUMBER_TABLE
2374 , p2_a15 out nocopy JTF_NUMBER_TABLE
2375 , p2_a16 out nocopy JTF_NUMBER_TABLE
2376 , p2_a17 out nocopy JTF_NUMBER_TABLE
2377 , p2_a18 out nocopy JTF_NUMBER_TABLE
2378 , p2_a19 out nocopy JTF_NUMBER_TABLE
2379 , p2_a20 out nocopy JTF_NUMBER_TABLE
2380 , p2_a21 out nocopy JTF_VARCHAR2_TABLE_100
2381 , p2_a22 out nocopy JTF_VARCHAR2_TABLE_100
2382 , p2_a23 out nocopy JTF_VARCHAR2_TABLE_100
2383 , p2_a24 out nocopy JTF_NUMBER_TABLE
2384 , p2_a25 out nocopy JTF_NUMBER_TABLE
2385 , p2_a26 out nocopy JTF_NUMBER_TABLE
2386 )
2387
2388 as
2389 ddp_loan_details lns_financials.loan_details_rec;
2390 ddp_rate_schedule lns_financials.rate_schedule_tbl;
2391 ddx_loan_amort_tbl lns_financials.amortization_tbl;
2392 ddindx binary_integer; indx binary_integer;
2393 begin
2394
2395 -- copy data to the local IN or IN-OUT args, if any
2396 ddp_loan_details.loan_id := p0_a0;
2397 ddp_loan_details.loan_term := p0_a1;
2398 ddp_loan_details.loan_term_period := p0_a2;
2399 ddp_loan_details.amortized_term := p0_a3;
2400 ddp_loan_details.amortized_term_period := p0_a4;
2401 ddp_loan_details.amortization_frequency := p0_a5;
2402 ddp_loan_details.payment_frequency := p0_a6;
2403 ddp_loan_details.first_payment_date := p0_a7;
2404 ddp_loan_details.loan_start_date := p0_a8;
2405 ddp_loan_details.requested_amount := p0_a9;
2406 ddp_loan_details.funded_amount := p0_a10;
2407 ddp_loan_details.remaining_balance := p0_a11;
2408 ddp_loan_details.principal_paid_to_date := p0_a12;
2409 ddp_loan_details.interest_paid_to_date := p0_a13;
2410 ddp_loan_details.fees_paid_to_date := p0_a14;
2411 ddp_loan_details.unpaid_principal := p0_a15;
2412 ddp_loan_details.unpaid_interest := p0_a16;
2413 ddp_loan_details.unbilled_principal := p0_a17;
2414 ddp_loan_details.maturity_date := p0_a18;
2415 ddp_loan_details.number_installments := p0_a19;
2416 ddp_loan_details.num_amortization_intervals := p0_a20;
2417 ddp_loan_details.reamortize_overpay := p0_a21;
2418 ddp_loan_details.reamortize_underpay := p0_a22;
2419 ddp_loan_details.reamortize_with_interest := p0_a23;
2420 ddp_loan_details.reamortize_amount := p0_a24;
2421 ddp_loan_details.reamortize_from_installment := p0_a25;
2422 ddp_loan_details.reamortize_to_installment := p0_a26;
2423 ddp_loan_details.last_installment_billed := p0_a27;
2424 ddp_loan_details.day_count_method := p0_a28;
2425 ddp_loan_details.pay_in_arrears := p0_a29;
2426 if p0_a30 is null
2427 then ddp_loan_details.pay_in_arrears_boolean := null;
2428 elsif p0_a30 = 0
2429 then ddp_loan_details.pay_in_arrears_boolean := false;
2430 else ddp_loan_details.pay_in_arrears_boolean := true;
2431 end if;
2432 ddp_loan_details.custom_schedule := p0_a31;
2433 ddp_loan_details.loan_status := p0_a32;
2434 ddp_loan_details.last_interest_accrual := p0_a33;
2435 ddp_loan_details.last_activity := p0_a34;
2436 ddp_loan_details.last_activity_date := p0_a35;
2437 ddp_loan_details.loan_currency := p0_a36;
2438 ddp_loan_details.currency_precision := p0_a37;
2439 ddp_loan_details.open_term := p0_a38;
2440 ddp_loan_details.open_term_period := p0_a39;
2441 ddp_loan_details.open_payment_frequency := p0_a40;
2442 ddp_loan_details.open_first_payment_date := p0_a41;
2443 ddp_loan_details.open_start_date := p0_a42;
2444 ddp_loan_details.open_maturity_date := p0_a43;
2445 ddp_loan_details.loan_phase := p0_a44;
2446 ddp_loan_details.balloon_payment_type := p0_a45;
2447 ddp_loan_details.balloon_payment_amount := p0_a46;
2448 ddp_loan_details.amortized_amount := p0_a47;
2449 ddp_loan_details.rate_type := p0_a48;
2450 ddp_loan_details.open_rate_chg_freq := p0_a49;
2451 ddp_loan_details.open_index_rate_id := p0_a50;
2452 ddp_loan_details.open_index_date := p0_a51;
2453 ddp_loan_details.open_ceiling_rate := p0_a52;
2454 ddp_loan_details.open_floor_rate := p0_a53;
2455 ddp_loan_details.open_first_percent_increase := p0_a54;
2456 ddp_loan_details.open_adj_percent_increase := p0_a55;
2457 ddp_loan_details.open_life_percent_increase := p0_a56;
2458 ddp_loan_details.term_rate_chg_freq := p0_a57;
2459 ddp_loan_details.term_index_rate_id := p0_a58;
2460 ddp_loan_details.term_index_date := p0_a59;
2461 ddp_loan_details.term_ceiling_rate := p0_a60;
2462 ddp_loan_details.term_floor_rate := p0_a61;
2463 ddp_loan_details.term_first_percent_increase := p0_a62;
2464 ddp_loan_details.term_adj_percent_increase := p0_a63;
2465 ddp_loan_details.term_life_percent_increase := p0_a64;
2466 ddp_loan_details.open_to_term_flag := p0_a65;
2467 ddp_loan_details.open_to_term_event := p0_a66;
2468 ddp_loan_details.multiple_funding_flag := p0_a67;
2469 ddp_loan_details.secondary_status := p0_a68;
2470 ddp_loan_details.open_projected_interest_rate := p0_a69;
2471 ddp_loan_details.term_projected_interest_rate := p0_a70;
2472 ddp_loan_details.initial_interest_rate := p0_a71;
2473 ddp_loan_details.last_interest_rate := p0_a72;
2474 ddp_loan_details.first_rate_change_date := p0_a73;
2475 ddp_loan_details.next_rate_change_date := p0_a74;
2476 ddp_loan_details.calculation_method := p0_a75;
2477 ddp_loan_details.interest_compounding_freq := p0_a76;
2478 ddp_loan_details.payment_calc_method := p0_a77;
2479 ddp_loan_details.orig_pay_calc_method := p0_a78;
2480 ddp_loan_details.prin_first_pay_date := p0_a79;
2481 ddp_loan_details.prin_payment_frequency := p0_a80;
2482 ddp_loan_details.prin_number_installments := p0_a81;
2483 ddp_loan_details.prin_amort_installments := p0_a82;
2484 ddp_loan_details.prin_pay_in_arrears := p0_a83;
2485 if p0_a84 is null
2486 then ddp_loan_details.prin_pay_in_arrears_bool := null;
2487 elsif p0_a84 = 0
2488 then ddp_loan_details.prin_pay_in_arrears_bool := false;
2489 else ddp_loan_details.prin_pay_in_arrears_bool := true;
2490 end if;
2491 ddp_loan_details.extend_from_installment := p0_a85;
2492 ddp_loan_details.orig_number_installments := p0_a86;
2493 ddp_loan_details.penal_int_rate := p0_a87;
2494 ddp_loan_details.penal_int_grace_days := p0_a88;
2495
2496 lns_financials_w.rosetta_table_copy_in_p1(ddp_rate_schedule, p1_a0
2497 , p1_a1
2498 , p1_a2
2499 , p1_a3
2500 , p1_a4
2501 , p1_a5
2502 , p1_a6
2503 , p1_a7
2504 , p1_a8
2505 , p1_a9
2506 );
2507
2508
2509 -- here's the delegated call to the old PL/SQL routine
2510 lns_financials.loanprojection(ddp_loan_details,
2511 ddp_rate_schedule,
2512 ddx_loan_amort_tbl);
2513
2514 -- copy data back from the local variables to OUT or IN-OUT args, if any
2515
2516
2517 lns_financials_w.rosetta_table_copy_out_p3(ddx_loan_amort_tbl, p2_a0
2518 , p2_a1
2519 , p2_a2
2520 , p2_a3
2521 , p2_a4
2522 , p2_a5
2523 , p2_a6
2524 , p2_a7
2525 , p2_a8
2526 , p2_a9
2527 , p2_a10
2528 , p2_a11
2529 , p2_a12
2530 , p2_a13
2531 , p2_a14
2532 , p2_a15
2533 , p2_a16
2534 , p2_a17
2535 , p2_a18
2536 , p2_a19
2537 , p2_a20
2538 , p2_a21
2539 , p2_a22
2540 , p2_a23
2541 , p2_a24
2542 , p2_a25
2543 , p2_a26
2544 );
2545 end;
2546
2547 procedure runopenprojection(p_init_msg_list VARCHAR2
2548 , p_loan_id NUMBER
2549 , p_based_on_terms VARCHAR2
2550 , p3_a0 out nocopy JTF_NUMBER_TABLE
2551 , p3_a1 out nocopy JTF_DATE_TABLE
2552 , p3_a2 out nocopy JTF_DATE_TABLE
2553 , p3_a3 out nocopy JTF_DATE_TABLE
2554 , p3_a4 out nocopy JTF_NUMBER_TABLE
2555 , p3_a5 out nocopy JTF_NUMBER_TABLE
2556 , p3_a6 out nocopy JTF_NUMBER_TABLE
2557 , p3_a7 out nocopy JTF_NUMBER_TABLE
2558 , p3_a8 out nocopy JTF_NUMBER_TABLE
2559 , p3_a9 out nocopy JTF_NUMBER_TABLE
2560 , p3_a10 out nocopy JTF_NUMBER_TABLE
2561 , p3_a11 out nocopy JTF_NUMBER_TABLE
2562 , p3_a12 out nocopy JTF_NUMBER_TABLE
2563 , p3_a13 out nocopy JTF_NUMBER_TABLE
2564 , p3_a14 out nocopy JTF_NUMBER_TABLE
2565 , p3_a15 out nocopy JTF_NUMBER_TABLE
2566 , p3_a16 out nocopy JTF_NUMBER_TABLE
2567 , p3_a17 out nocopy JTF_NUMBER_TABLE
2568 , p3_a18 out nocopy JTF_NUMBER_TABLE
2569 , p3_a19 out nocopy JTF_NUMBER_TABLE
2570 , p3_a20 out nocopy JTF_NUMBER_TABLE
2571 , p3_a21 out nocopy JTF_VARCHAR2_TABLE_100
2572 , p3_a22 out nocopy JTF_VARCHAR2_TABLE_100
2573 , p3_a23 out nocopy JTF_VARCHAR2_TABLE_100
2574 , p3_a24 out nocopy JTF_NUMBER_TABLE
2575 , p3_a25 out nocopy JTF_NUMBER_TABLE
2576 , p3_a26 out nocopy JTF_NUMBER_TABLE
2577 , x_return_status out nocopy VARCHAR2
2578 , x_msg_count out nocopy NUMBER
2579 , x_msg_data out nocopy VARCHAR2
2580 )
2581
2582 as
2583 ddx_amort_tbl lns_financials.amortization_tbl;
2584 ddindx binary_integer; indx binary_integer;
2585 begin
2586
2587 -- copy data to the local IN or IN-OUT args, if any
2588
2589
2590
2591
2592
2593
2594
2595 -- here's the delegated call to the old PL/SQL routine
2596 lns_financials.runopenprojection(p_init_msg_list,
2597 p_loan_id,
2598 p_based_on_terms,
2599 ddx_amort_tbl,
2600 x_return_status,
2601 x_msg_count,
2602 x_msg_data);
2603
2604 -- copy data back from the local variables to OUT or IN-OUT args, if any
2605
2606
2607
2608 lns_financials_w.rosetta_table_copy_out_p3(ddx_amort_tbl, p3_a0
2609 , p3_a1
2610 , p3_a2
2611 , p3_a3
2612 , p3_a4
2613 , p3_a5
2614 , p3_a6
2615 , p3_a7
2616 , p3_a8
2617 , p3_a9
2618 , p3_a10
2619 , p3_a11
2620 , p3_a12
2621 , p3_a13
2622 , p3_a14
2623 , p3_a15
2624 , p3_a16
2625 , p3_a17
2626 , p3_a18
2627 , p3_a19
2628 , p3_a20
2629 , p3_a21
2630 , p3_a22
2631 , p3_a23
2632 , p3_a24
2633 , p3_a25
2634 , p3_a26
2635 );
2636
2637
2638
2639 end;
2640
2641 procedure runamortization(p_api_version NUMBER
2642 , p_init_msg_list VARCHAR2
2643 , p_commit VARCHAR2
2644 , p_loan_id NUMBER
2645 , p_based_on_terms VARCHAR2
2646 , p5_a0 out nocopy JTF_NUMBER_TABLE
2647 , p5_a1 out nocopy JTF_DATE_TABLE
2648 , p5_a2 out nocopy JTF_DATE_TABLE
2649 , p5_a3 out nocopy JTF_DATE_TABLE
2650 , p5_a4 out nocopy JTF_NUMBER_TABLE
2651 , p5_a5 out nocopy JTF_NUMBER_TABLE
2652 , p5_a6 out nocopy JTF_NUMBER_TABLE
2653 , p5_a7 out nocopy JTF_NUMBER_TABLE
2654 , p5_a8 out nocopy JTF_NUMBER_TABLE
2655 , p5_a9 out nocopy JTF_NUMBER_TABLE
2656 , p5_a10 out nocopy JTF_NUMBER_TABLE
2657 , p5_a11 out nocopy JTF_NUMBER_TABLE
2658 , p5_a12 out nocopy JTF_NUMBER_TABLE
2659 , p5_a13 out nocopy JTF_NUMBER_TABLE
2660 , p5_a14 out nocopy JTF_NUMBER_TABLE
2661 , p5_a15 out nocopy JTF_NUMBER_TABLE
2662 , p5_a16 out nocopy JTF_NUMBER_TABLE
2663 , p5_a17 out nocopy JTF_NUMBER_TABLE
2664 , p5_a18 out nocopy JTF_NUMBER_TABLE
2665 , p5_a19 out nocopy JTF_NUMBER_TABLE
2666 , p5_a20 out nocopy JTF_NUMBER_TABLE
2667 , p5_a21 out nocopy JTF_VARCHAR2_TABLE_100
2668 , p5_a22 out nocopy JTF_VARCHAR2_TABLE_100
2669 , p5_a23 out nocopy JTF_VARCHAR2_TABLE_100
2670 , p5_a24 out nocopy JTF_NUMBER_TABLE
2671 , p5_a25 out nocopy JTF_NUMBER_TABLE
2672 , p5_a26 out nocopy JTF_NUMBER_TABLE
2673 , x_return_status out nocopy VARCHAR2
2674 , x_msg_count out nocopy NUMBER
2675 , x_msg_data out nocopy VARCHAR2
2676 )
2677
2678 as
2679 ddx_amort_tbl lns_financials.amortization_tbl;
2680 ddindx binary_integer; indx binary_integer;
2681 begin
2682
2683 -- copy data to the local IN or IN-OUT args, if any
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693 -- here's the delegated call to the old PL/SQL routine
2694 lns_financials.runamortization(p_api_version,
2695 p_init_msg_list,
2696 p_commit,
2697 p_loan_id,
2698 p_based_on_terms,
2699 ddx_amort_tbl,
2700 x_return_status,
2701 x_msg_count,
2702 x_msg_data);
2703
2704 -- copy data back from the local variables to OUT or IN-OUT args, if any
2705
2706
2707
2708
2709
2710 lns_financials_w.rosetta_table_copy_out_p3(ddx_amort_tbl, p5_a0
2711 , p5_a1
2712 , p5_a2
2713 , p5_a3
2714 , p5_a4
2715 , p5_a5
2716 , p5_a6
2717 , p5_a7
2718 , p5_a8
2719 , p5_a9
2720 , p5_a10
2721 , p5_a11
2722 , p5_a12
2723 , p5_a13
2724 , p5_a14
2725 , p5_a15
2726 , p5_a16
2727 , p5_a17
2728 , p5_a18
2729 , p5_a19
2730 , p5_a20
2731 , p5_a21
2732 , p5_a22
2733 , p5_a23
2734 , p5_a24
2735 , p5_a25
2736 , p5_a26
2737 );
2738
2739
2740
2741 end;
2742
2743 procedure getinstallment(p_api_version NUMBER
2744 , p_init_msg_list VARCHAR2
2745 , p_commit VARCHAR2
2746 , p_loan_id NUMBER
2747 , p_installment_number NUMBER
2748 , p5_a0 out nocopy NUMBER
2749 , p5_a1 out nocopy DATE
2750 , p5_a2 out nocopy DATE
2751 , p5_a3 out nocopy DATE
2752 , p5_a4 out nocopy NUMBER
2753 , p5_a5 out nocopy NUMBER
2754 , p5_a6 out nocopy NUMBER
2755 , p5_a7 out nocopy NUMBER
2756 , p5_a8 out nocopy NUMBER
2757 , p5_a9 out nocopy NUMBER
2758 , p5_a10 out nocopy NUMBER
2759 , p5_a11 out nocopy NUMBER
2760 , p5_a12 out nocopy NUMBER
2761 , p5_a13 out nocopy NUMBER
2762 , p5_a14 out nocopy NUMBER
2763 , p5_a15 out nocopy NUMBER
2764 , p5_a16 out nocopy NUMBER
2765 , p5_a17 out nocopy NUMBER
2766 , p5_a18 out nocopy NUMBER
2767 , p5_a19 out nocopy NUMBER
2768 , p5_a20 out nocopy NUMBER
2769 , p5_a21 out nocopy VARCHAR2
2770 , p5_a22 out nocopy VARCHAR2
2771 , p5_a23 out nocopy VARCHAR2
2772 , p5_a24 out nocopy NUMBER
2773 , p5_a25 out nocopy NUMBER
2774 , p5_a26 out nocopy NUMBER
2775 , p6_a0 out nocopy JTF_NUMBER_TABLE
2776 , p6_a1 out nocopy JTF_VARCHAR2_TABLE_100
2777 , p6_a2 out nocopy JTF_NUMBER_TABLE
2778 , p6_a3 out nocopy JTF_NUMBER_TABLE
2779 , p6_a4 out nocopy JTF_VARCHAR2_TABLE_300
2780 , p6_a5 out nocopy JTF_NUMBER_TABLE
2781 , p6_a6 out nocopy JTF_VARCHAR2_TABLE_100
2782 , p6_a7 out nocopy JTF_NUMBER_TABLE
2783 , p6_a8 out nocopy JTF_VARCHAR2_TABLE_100
2784 , p6_a9 out nocopy JTF_VARCHAR2_TABLE_100
2785 , x_return_status out nocopy VARCHAR2
2786 , x_msg_count out nocopy NUMBER
2787 , x_msg_data out nocopy VARCHAR2
2788 )
2789
2790 as
2791 ddx_amortization_rec lns_financials.amortization_rec;
2792 ddx_fees_tbl lns_financials.fees_tbl;
2793 ddindx binary_integer; indx binary_integer;
2794 begin
2795
2796 -- copy data to the local IN or IN-OUT args, if any
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807 -- here's the delegated call to the old PL/SQL routine
2808 lns_financials.getinstallment(p_api_version,
2809 p_init_msg_list,
2810 p_commit,
2811 p_loan_id,
2812 p_installment_number,
2813 ddx_amortization_rec,
2814 ddx_fees_tbl,
2815 x_return_status,
2816 x_msg_count,
2817 x_msg_data);
2818
2819 -- copy data back from the local variables to OUT or IN-OUT args, if any
2820
2821
2822
2823
2824
2825 p5_a0 := ddx_amortization_rec.installment_number;
2826 p5_a1 := ddx_amortization_rec.due_date;
2827 p5_a2 := ddx_amortization_rec.period_start_date;
2828 p5_a3 := ddx_amortization_rec.period_end_date;
2829 p5_a4 := ddx_amortization_rec.principal_amount;
2830 p5_a5 := ddx_amortization_rec.interest_amount;
2831 p5_a6 := ddx_amortization_rec.normal_int_amount;
2832 p5_a7 := ddx_amortization_rec.add_prin_int_amount;
2833 p5_a8 := ddx_amortization_rec.add_int_int_amount;
2834 p5_a9 := ddx_amortization_rec.penal_int_amount;
2835 p5_a10 := ddx_amortization_rec.fee_amount;
2836 p5_a11 := ddx_amortization_rec.other_amount;
2837 p5_a12 := ddx_amortization_rec.begin_balance;
2838 p5_a13 := ddx_amortization_rec.end_balance;
2839 p5_a14 := ddx_amortization_rec.total;
2840 p5_a15 := ddx_amortization_rec.interest_cumulative;
2841 p5_a16 := ddx_amortization_rec.principal_cumulative;
2842 p5_a17 := ddx_amortization_rec.fees_cumulative;
2843 p5_a18 := ddx_amortization_rec.other_cumulative;
2844 p5_a19 := ddx_amortization_rec.rate_id;
2845 p5_a20 := ddx_amortization_rec.rate_unadj;
2846 p5_a21 := ddx_amortization_rec.rate_change_freq;
2847 p5_a22 := ddx_amortization_rec.source;
2848 p5_a23 := ddx_amortization_rec.grand_total_flag;
2849 p5_a24 := ddx_amortization_rec.unpaid_prin;
2850 p5_a25 := ddx_amortization_rec.unpaid_int;
2851 p5_a26 := ddx_amortization_rec.interest_rate;
2852
2853 lns_financials_w.rosetta_table_copy_out_p17(ddx_fees_tbl, p6_a0
2854 , p6_a1
2855 , p6_a2
2856 , p6_a3
2857 , p6_a4
2858 , p6_a5
2859 , p6_a6
2860 , p6_a7
2861 , p6_a8
2862 , p6_a9
2863 );
2864
2865
2866
2867 end;
2868
2869 procedure getopeninstallment(p_init_msg_list VARCHAR2
2870 , p_loan_id NUMBER
2871 , p_installment_number NUMBER
2872 , p3_a0 out nocopy NUMBER
2873 , p3_a1 out nocopy DATE
2874 , p3_a2 out nocopy DATE
2875 , p3_a3 out nocopy DATE
2876 , p3_a4 out nocopy NUMBER
2877 , p3_a5 out nocopy NUMBER
2878 , p3_a6 out nocopy NUMBER
2879 , p3_a7 out nocopy NUMBER
2880 , p3_a8 out nocopy NUMBER
2881 , p3_a9 out nocopy NUMBER
2882 , p3_a10 out nocopy NUMBER
2883 , p3_a11 out nocopy NUMBER
2884 , p3_a12 out nocopy NUMBER
2885 , p3_a13 out nocopy NUMBER
2886 , p3_a14 out nocopy NUMBER
2887 , p3_a15 out nocopy NUMBER
2888 , p3_a16 out nocopy NUMBER
2889 , p3_a17 out nocopy NUMBER
2890 , p3_a18 out nocopy NUMBER
2891 , p3_a19 out nocopy NUMBER
2892 , p3_a20 out nocopy NUMBER
2893 , p3_a21 out nocopy VARCHAR2
2894 , p3_a22 out nocopy VARCHAR2
2895 , p3_a23 out nocopy VARCHAR2
2896 , p3_a24 out nocopy NUMBER
2897 , p3_a25 out nocopy NUMBER
2898 , p3_a26 out nocopy NUMBER
2899 , p4_a0 out nocopy JTF_NUMBER_TABLE
2900 , p4_a1 out nocopy JTF_VARCHAR2_TABLE_100
2901 , p4_a2 out nocopy JTF_NUMBER_TABLE
2902 , p4_a3 out nocopy JTF_NUMBER_TABLE
2903 , p4_a4 out nocopy JTF_VARCHAR2_TABLE_300
2904 , p4_a5 out nocopy JTF_NUMBER_TABLE
2905 , p4_a6 out nocopy JTF_VARCHAR2_TABLE_100
2906 , p4_a7 out nocopy JTF_NUMBER_TABLE
2907 , p4_a8 out nocopy JTF_VARCHAR2_TABLE_100
2908 , p4_a9 out nocopy JTF_VARCHAR2_TABLE_100
2909 , x_return_status out nocopy VARCHAR2
2910 , x_msg_count out nocopy NUMBER
2911 , x_msg_data out nocopy VARCHAR2
2912 )
2913
2914 as
2915 ddx_amortization_rec lns_financials.amortization_rec;
2916 ddx_fees_tbl lns_financials.fees_tbl;
2917 ddindx binary_integer; indx binary_integer;
2918 begin
2919
2920 -- copy data to the local IN or IN-OUT args, if any
2921
2922
2923
2924
2925
2926
2927
2928
2929 -- here's the delegated call to the old PL/SQL routine
2930 lns_financials.getopeninstallment(p_init_msg_list,
2931 p_loan_id,
2932 p_installment_number,
2933 ddx_amortization_rec,
2934 ddx_fees_tbl,
2935 x_return_status,
2936 x_msg_count,
2937 x_msg_data);
2938
2939 -- copy data back from the local variables to OUT or IN-OUT args, if any
2940
2941
2942
2943 p3_a0 := ddx_amortization_rec.installment_number;
2944 p3_a1 := ddx_amortization_rec.due_date;
2945 p3_a2 := ddx_amortization_rec.period_start_date;
2946 p3_a3 := ddx_amortization_rec.period_end_date;
2947 p3_a4 := ddx_amortization_rec.principal_amount;
2948 p3_a5 := ddx_amortization_rec.interest_amount;
2949 p3_a6 := ddx_amortization_rec.normal_int_amount;
2950 p3_a7 := ddx_amortization_rec.add_prin_int_amount;
2951 p3_a8 := ddx_amortization_rec.add_int_int_amount;
2952 p3_a9 := ddx_amortization_rec.penal_int_amount;
2953 p3_a10 := ddx_amortization_rec.fee_amount;
2954 p3_a11 := ddx_amortization_rec.other_amount;
2955 p3_a12 := ddx_amortization_rec.begin_balance;
2956 p3_a13 := ddx_amortization_rec.end_balance;
2957 p3_a14 := ddx_amortization_rec.total;
2958 p3_a15 := ddx_amortization_rec.interest_cumulative;
2959 p3_a16 := ddx_amortization_rec.principal_cumulative;
2960 p3_a17 := ddx_amortization_rec.fees_cumulative;
2961 p3_a18 := ddx_amortization_rec.other_cumulative;
2962 p3_a19 := ddx_amortization_rec.rate_id;
2963 p3_a20 := ddx_amortization_rec.rate_unadj;
2964 p3_a21 := ddx_amortization_rec.rate_change_freq;
2965 p3_a22 := ddx_amortization_rec.source;
2966 p3_a23 := ddx_amortization_rec.grand_total_flag;
2967 p3_a24 := ddx_amortization_rec.unpaid_prin;
2968 p3_a25 := ddx_amortization_rec.unpaid_int;
2969 p3_a26 := ddx_amortization_rec.interest_rate;
2970
2971 lns_financials_w.rosetta_table_copy_out_p17(ddx_fees_tbl, p4_a0
2972 , p4_a1
2973 , p4_a2
2974 , p4_a3
2975 , p4_a4
2976 , p4_a5
2977 , p4_a6
2978 , p4_a7
2979 , p4_a8
2980 , p4_a9
2981 );
2982
2983
2984
2985 end;
2986
2987 procedure preprocessinstallment(p_api_version NUMBER
2988 , p_init_msg_list VARCHAR2
2989 , p_commit VARCHAR2
2990 , p_loan_id NUMBER
2991 , p_installment_number NUMBER
2992 , p5_a0 out nocopy NUMBER
2993 , p5_a1 out nocopy DATE
2994 , p5_a2 out nocopy DATE
2995 , p5_a3 out nocopy DATE
2996 , p5_a4 out nocopy NUMBER
2997 , p5_a5 out nocopy NUMBER
2998 , p5_a6 out nocopy NUMBER
2999 , p5_a7 out nocopy NUMBER
3000 , p5_a8 out nocopy NUMBER
3001 , p5_a9 out nocopy NUMBER
3002 , p5_a10 out nocopy NUMBER
3003 , p5_a11 out nocopy NUMBER
3004 , p5_a12 out nocopy NUMBER
3005 , p5_a13 out nocopy NUMBER
3006 , p5_a14 out nocopy NUMBER
3007 , p5_a15 out nocopy NUMBER
3008 , p5_a16 out nocopy NUMBER
3009 , p5_a17 out nocopy NUMBER
3010 , p5_a18 out nocopy NUMBER
3011 , p5_a19 out nocopy NUMBER
3012 , p5_a20 out nocopy NUMBER
3013 , p5_a21 out nocopy VARCHAR2
3014 , p5_a22 out nocopy VARCHAR2
3015 , p5_a23 out nocopy VARCHAR2
3016 , p5_a24 out nocopy NUMBER
3017 , p5_a25 out nocopy NUMBER
3018 , p5_a26 out nocopy NUMBER
3019 , x_return_status out nocopy VARCHAR2
3020 , x_msg_count out nocopy NUMBER
3021 , x_msg_data out nocopy VARCHAR2
3022 )
3023
3024 as
3025 ddx_amortization_rec lns_financials.amortization_rec;
3026 ddindx binary_integer; indx binary_integer;
3027 begin
3028
3029 -- copy data to the local IN or IN-OUT args, if any
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039 -- here's the delegated call to the old PL/SQL routine
3040 lns_financials.preprocessinstallment(p_api_version,
3041 p_init_msg_list,
3042 p_commit,
3043 p_loan_id,
3044 p_installment_number,
3045 ddx_amortization_rec,
3046 x_return_status,
3047 x_msg_count,
3048 x_msg_data);
3049
3050 -- copy data back from the local variables to OUT or IN-OUT args, if any
3051
3052
3053
3054
3055
3056 p5_a0 := ddx_amortization_rec.installment_number;
3057 p5_a1 := ddx_amortization_rec.due_date;
3058 p5_a2 := ddx_amortization_rec.period_start_date;
3059 p5_a3 := ddx_amortization_rec.period_end_date;
3060 p5_a4 := ddx_amortization_rec.principal_amount;
3061 p5_a5 := ddx_amortization_rec.interest_amount;
3062 p5_a6 := ddx_amortization_rec.normal_int_amount;
3063 p5_a7 := ddx_amortization_rec.add_prin_int_amount;
3064 p5_a8 := ddx_amortization_rec.add_int_int_amount;
3065 p5_a9 := ddx_amortization_rec.penal_int_amount;
3066 p5_a10 := ddx_amortization_rec.fee_amount;
3067 p5_a11 := ddx_amortization_rec.other_amount;
3068 p5_a12 := ddx_amortization_rec.begin_balance;
3069 p5_a13 := ddx_amortization_rec.end_balance;
3070 p5_a14 := ddx_amortization_rec.total;
3071 p5_a15 := ddx_amortization_rec.interest_cumulative;
3072 p5_a16 := ddx_amortization_rec.principal_cumulative;
3073 p5_a17 := ddx_amortization_rec.fees_cumulative;
3074 p5_a18 := ddx_amortization_rec.other_cumulative;
3075 p5_a19 := ddx_amortization_rec.rate_id;
3076 p5_a20 := ddx_amortization_rec.rate_unadj;
3077 p5_a21 := ddx_amortization_rec.rate_change_freq;
3078 p5_a22 := ddx_amortization_rec.source;
3079 p5_a23 := ddx_amortization_rec.grand_total_flag;
3080 p5_a24 := ddx_amortization_rec.unpaid_prin;
3081 p5_a25 := ddx_amortization_rec.unpaid_int;
3082 p5_a26 := ddx_amortization_rec.interest_rate;
3083
3084
3085
3086 end;
3087
3088 procedure preprocessopeninstallment(p_init_msg_list VARCHAR2
3089 , p_commit VARCHAR2
3090 , p_loan_id NUMBER
3091 , p_installment_number NUMBER
3092 , p4_a0 out nocopy NUMBER
3093 , p4_a1 out nocopy DATE
3094 , p4_a2 out nocopy DATE
3095 , p4_a3 out nocopy DATE
3096 , p4_a4 out nocopy NUMBER
3097 , p4_a5 out nocopy NUMBER
3098 , p4_a6 out nocopy NUMBER
3099 , p4_a7 out nocopy NUMBER
3100 , p4_a8 out nocopy NUMBER
3101 , p4_a9 out nocopy NUMBER
3102 , p4_a10 out nocopy NUMBER
3103 , p4_a11 out nocopy NUMBER
3104 , p4_a12 out nocopy NUMBER
3105 , p4_a13 out nocopy NUMBER
3106 , p4_a14 out nocopy NUMBER
3107 , p4_a15 out nocopy NUMBER
3108 , p4_a16 out nocopy NUMBER
3109 , p4_a17 out nocopy NUMBER
3110 , p4_a18 out nocopy NUMBER
3111 , p4_a19 out nocopy NUMBER
3112 , p4_a20 out nocopy NUMBER
3113 , p4_a21 out nocopy VARCHAR2
3114 , p4_a22 out nocopy VARCHAR2
3115 , p4_a23 out nocopy VARCHAR2
3116 , p4_a24 out nocopy NUMBER
3117 , p4_a25 out nocopy NUMBER
3118 , p4_a26 out nocopy NUMBER
3119 , x_return_status out nocopy VARCHAR2
3120 , x_msg_count out nocopy NUMBER
3121 , x_msg_data out nocopy VARCHAR2
3122 )
3123
3124 as
3125 ddx_amortization_rec lns_financials.amortization_rec;
3126 ddindx binary_integer; indx binary_integer;
3127 begin
3128
3129 -- copy data to the local IN or IN-OUT args, if any
3130
3131
3132
3133
3134
3135
3136
3137
3138 -- here's the delegated call to the old PL/SQL routine
3139 lns_financials.preprocessopeninstallment(p_init_msg_list,
3140 p_commit,
3141 p_loan_id,
3142 p_installment_number,
3143 ddx_amortization_rec,
3144 x_return_status,
3145 x_msg_count,
3146 x_msg_data);
3147
3148 -- copy data back from the local variables to OUT or IN-OUT args, if any
3149
3150
3151
3152
3153 p4_a0 := ddx_amortization_rec.installment_number;
3154 p4_a1 := ddx_amortization_rec.due_date;
3155 p4_a2 := ddx_amortization_rec.period_start_date;
3156 p4_a3 := ddx_amortization_rec.period_end_date;
3157 p4_a4 := ddx_amortization_rec.principal_amount;
3158 p4_a5 := ddx_amortization_rec.interest_amount;
3159 p4_a6 := ddx_amortization_rec.normal_int_amount;
3160 p4_a7 := ddx_amortization_rec.add_prin_int_amount;
3161 p4_a8 := ddx_amortization_rec.add_int_int_amount;
3162 p4_a9 := ddx_amortization_rec.penal_int_amount;
3163 p4_a10 := ddx_amortization_rec.fee_amount;
3164 p4_a11 := ddx_amortization_rec.other_amount;
3165 p4_a12 := ddx_amortization_rec.begin_balance;
3166 p4_a13 := ddx_amortization_rec.end_balance;
3167 p4_a14 := ddx_amortization_rec.total;
3168 p4_a15 := ddx_amortization_rec.interest_cumulative;
3169 p4_a16 := ddx_amortization_rec.principal_cumulative;
3170 p4_a17 := ddx_amortization_rec.fees_cumulative;
3171 p4_a18 := ddx_amortization_rec.other_cumulative;
3172 p4_a19 := ddx_amortization_rec.rate_id;
3173 p4_a20 := ddx_amortization_rec.rate_unadj;
3174 p4_a21 := ddx_amortization_rec.rate_change_freq;
3175 p4_a22 := ddx_amortization_rec.source;
3176 p4_a23 := ddx_amortization_rec.grand_total_flag;
3177 p4_a24 := ddx_amortization_rec.unpaid_prin;
3178 p4_a25 := ddx_amortization_rec.unpaid_int;
3179 p4_a26 := ddx_amortization_rec.interest_rate;
3180
3181
3182
3183 end;
3184
3185 function calculateeppayment(p_loan_amount NUMBER
3186 , p_num_intervals NUMBER
3187 , p_ending_balance NUMBER
3188 , p_pay_in_arrears number
3189 ) return number
3190
3191 as
3192 ddp_pay_in_arrears boolean;
3193 ddindx binary_integer; indx binary_integer;
3194 ddrosetta_retval number;
3195 begin
3196
3197 -- copy data to the local IN or IN-OUT args, if any
3198
3199
3200
3201 if p_pay_in_arrears is null
3202 then ddp_pay_in_arrears := null;
3203 elsif p_pay_in_arrears = 0
3204 then ddp_pay_in_arrears := false;
3205 else ddp_pay_in_arrears := true;
3206 end if;
3207
3208 -- here's the delegated call to the old PL/SQL routine
3209 ddrosetta_retval := lns_financials.calculateeppayment(p_loan_amount,
3210 p_num_intervals,
3211 p_ending_balance,
3212 ddp_pay_in_arrears);
3213
3214 -- copy data back from the local variables to OUT or IN-OUT args, if any
3215
3216
3217
3218
3219 return ddrosetta_retval;
3220 end;
3221
3222 function calculatepayment(p_loan_amount NUMBER
3223 , p_periodic_rate NUMBER
3224 , p_num_intervals NUMBER
3225 , p_ending_balance NUMBER
3226 , p_pay_in_arrears number
3227 ) return number
3228
3229 as
3230 ddp_pay_in_arrears boolean;
3231 ddindx binary_integer; indx binary_integer;
3232 ddrosetta_retval number;
3233 begin
3234
3235 -- copy data to the local IN or IN-OUT args, if any
3236
3237
3238
3239
3240 if p_pay_in_arrears is null
3241 then ddp_pay_in_arrears := null;
3242 elsif p_pay_in_arrears = 0
3243 then ddp_pay_in_arrears := false;
3244 else ddp_pay_in_arrears := true;
3245 end if;
3246
3247 -- here's the delegated call to the old PL/SQL routine
3248 ddrosetta_retval := lns_financials.calculatepayment(p_loan_amount,
3249 p_periodic_rate,
3250 p_num_intervals,
3251 p_ending_balance,
3252 ddp_pay_in_arrears);
3253
3254 -- copy data back from the local variables to OUT or IN-OUT args, if any
3255
3256
3257
3258
3259
3260 return ddrosetta_retval;
3261 end;
3262
3263 end lns_financials_w;