DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_K_RATE_PARAMS_PVT_W

Source


1 package body okl_k_rate_params_pvt_w as
2   /* $Header: OKLUKRPB.pls 120.2 2005/11/22 23:41:07 ramurt noship $ */
3   rosetta_g_mistake_date date := to_date('01/01/+4713', 'MM/DD/SYYYY');
4   rosetta_g_miss_date date := to_date('01/01/-4712', 'MM/DD/SYYYY');
5 
6   -- this is to workaround the JDBC bug regarding IN DATE of value GMiss
7   function rosetta_g_miss_date_in_map(d date) return date as
8   begin
9     if d = rosetta_g_mistake_date then return fnd_api.g_miss_date; end if;
10     return d;
11   end;
12 
13   function rosetta_g_miss_num_map(n number) return number as
14     a number := fnd_api.g_miss_num;
15     b number := 0-1962.0724;
16   begin
17     if n=a then return b; end if;
18     if n=b then return a; end if;
19     return n;
20   end;
21 
22   procedure rosetta_table_copy_in_p1(t out nocopy okl_k_rate_params_pvt.krpdel_tbl_type, a0 JTF_NUMBER_TABLE
23     , a1 JTF_VARCHAR2_TABLE_100
24     , a2 JTF_DATE_TABLE
25     ) as
26     ddindx binary_integer; indx binary_integer;
27   begin
28   if a0 is not null and a0.count > 0 then
29       if a0.count > 0 then
30         indx := a0.first;
31         ddindx := 1;
32         while true loop
33           t(ddindx).khr_id := rosetta_g_miss_num_map(a0(indx));
34           t(ddindx).rate_type := a1(indx);
35           t(ddindx).effective_from_date := rosetta_g_miss_date_in_map(a2(indx));
36           ddindx := ddindx+1;
37           if a0.last =indx
38             then exit;
39           end if;
40           indx := a0.next(indx);
41         end loop;
42       end if;
43    end if;
44   end rosetta_table_copy_in_p1;
45   procedure rosetta_table_copy_out_p1(t okl_k_rate_params_pvt.krpdel_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
46     , a1 out nocopy JTF_VARCHAR2_TABLE_100
47     , a2 out nocopy JTF_DATE_TABLE
48     ) as
49     ddindx binary_integer; indx binary_integer;
50   begin
51   if t is null or t.count = 0 then
52     a0 := JTF_NUMBER_TABLE();
53     a1 := JTF_VARCHAR2_TABLE_100();
54     a2 := JTF_DATE_TABLE();
55   else
56       a0 := JTF_NUMBER_TABLE();
57       a1 := JTF_VARCHAR2_TABLE_100();
58       a2 := JTF_DATE_TABLE();
59       if t.count > 0 then
60         a0.extend(t.count);
61         a1.extend(t.count);
62         a2.extend(t.count);
63         ddindx := t.first;
64         indx := 1;
65         while true loop
66           a0(indx) := rosetta_g_miss_num_map(t(ddindx).khr_id);
67           a1(indx) := t(ddindx).rate_type;
68           a2(indx) := t(ddindx).effective_from_date;
69           indx := indx+1;
70           if t.last =ddindx
71             then exit;
72           end if;
73           ddindx := t.next(ddindx);
74         end loop;
75       end if;
76    end if;
77   end rosetta_table_copy_out_p1;
78 
79   procedure rosetta_table_copy_in_p6(t out nocopy okl_k_rate_params_pvt.var_prm_tbl_type, a0 JTF_VARCHAR2_TABLE_100
80     , a1 JTF_VARCHAR2_TABLE_100
81     , a2 JTF_VARCHAR2_TABLE_100
82     , a3 JTF_NUMBER_TABLE
83     , a4 JTF_DATE_TABLE
84     , a5 JTF_DATE_TABLE
85     ) as
86     ddindx binary_integer; indx binary_integer;
87   begin
88   if a0 is not null and a0.count > 0 then
89       if a0.count > 0 then
90         indx := a0.first;
91         ddindx := 1;
92         while true loop
93           t(ddindx).param_identifier := a0(indx);
94           t(ddindx).param_identifier_meaning := a1(indx);
95           t(ddindx).parameter_type_code := a2(indx);
96           t(ddindx).interest_index_id := rosetta_g_miss_num_map(a3(indx));
97           t(ddindx).effective_from_date := rosetta_g_miss_date_in_map(a4(indx));
98           t(ddindx).effective_to_date := rosetta_g_miss_date_in_map(a5(indx));
99           ddindx := ddindx+1;
100           if a0.last =indx
101             then exit;
102           end if;
103           indx := a0.next(indx);
104         end loop;
105       end if;
106    end if;
107   end rosetta_table_copy_in_p6;
108   procedure rosetta_table_copy_out_p6(t okl_k_rate_params_pvt.var_prm_tbl_type, a0 out nocopy JTF_VARCHAR2_TABLE_100
109     , a1 out nocopy JTF_VARCHAR2_TABLE_100
110     , a2 out nocopy JTF_VARCHAR2_TABLE_100
111     , a3 out nocopy JTF_NUMBER_TABLE
112     , a4 out nocopy JTF_DATE_TABLE
113     , a5 out nocopy JTF_DATE_TABLE
114     ) as
115     ddindx binary_integer; indx binary_integer;
116   begin
117   if t is null or t.count = 0 then
118     a0 := JTF_VARCHAR2_TABLE_100();
119     a1 := JTF_VARCHAR2_TABLE_100();
120     a2 := JTF_VARCHAR2_TABLE_100();
121     a3 := JTF_NUMBER_TABLE();
122     a4 := JTF_DATE_TABLE();
123     a5 := JTF_DATE_TABLE();
124   else
125       a0 := JTF_VARCHAR2_TABLE_100();
126       a1 := JTF_VARCHAR2_TABLE_100();
127       a2 := JTF_VARCHAR2_TABLE_100();
128       a3 := JTF_NUMBER_TABLE();
129       a4 := JTF_DATE_TABLE();
130       a5 := JTF_DATE_TABLE();
131       if t.count > 0 then
132         a0.extend(t.count);
133         a1.extend(t.count);
134         a2.extend(t.count);
135         a3.extend(t.count);
136         a4.extend(t.count);
137         a5.extend(t.count);
138         ddindx := t.first;
139         indx := 1;
140         while true loop
141           a0(indx) := t(ddindx).param_identifier;
142           a1(indx) := t(ddindx).param_identifier_meaning;
143           a2(indx) := t(ddindx).parameter_type_code;
144           a3(indx) := rosetta_g_miss_num_map(t(ddindx).interest_index_id);
145           a4(indx) := t(ddindx).effective_from_date;
146           a5(indx) := t(ddindx).effective_to_date;
147           indx := indx+1;
148           if t.last =ddindx
149             then exit;
150           end if;
151           ddindx := t.next(ddindx);
152         end loop;
153       end if;
154    end if;
155   end rosetta_table_copy_out_p6;
156 
157   procedure get_product(p_api_version  NUMBER
158     , p_init_msg_list  VARCHAR2
159     , x_return_status out nocopy  VARCHAR2
160     , x_msg_count out nocopy  NUMBER
161     , x_msg_data out nocopy  VARCHAR2
162     , p_khr_id  NUMBER
163     , p6_a0 out nocopy  NUMBER
164     , p6_a1 out nocopy  VARCHAR2
165     , p6_a2 out nocopy  DATE
166     , p6_a3 out nocopy  DATE
167     , p6_a4 out nocopy  VARCHAR2
168     , p6_a5 out nocopy  NUMBER
169     , p6_a6 out nocopy  NUMBER
170     , p6_a7 out nocopy  NUMBER
171     , p6_a8 out nocopy  VARCHAR2
172     , p6_a9 out nocopy  VARCHAR2
173     , p6_a10 out nocopy  VARCHAR2
174     , p6_a11 out nocopy  VARCHAR2
175     , p6_a12 out nocopy  VARCHAR2
176     , p6_a13 out nocopy  VARCHAR2
177     , p6_a14 out nocopy  VARCHAR2
178     , p6_a15 out nocopy  VARCHAR2
179     , p6_a16 out nocopy  VARCHAR2
180     , p6_a17 out nocopy  VARCHAR2
181     , p6_a18 out nocopy  VARCHAR2
182     , p6_a19 out nocopy  VARCHAR2
183     , p6_a20 out nocopy  VARCHAR2
184     , p6_a21 out nocopy  VARCHAR2
185     , p6_a22 out nocopy  VARCHAR2
186     , p6_a23 out nocopy  VARCHAR2
187     , p6_a24 out nocopy  VARCHAR2
188     , p6_a25 out nocopy  VARCHAR2
189     , p6_a26 out nocopy  VARCHAR2
190     , p6_a27 out nocopy  VARCHAR2
191     , p6_a28 out nocopy  VARCHAR2
192     , p6_a29 out nocopy  VARCHAR2
193     , p6_a30 out nocopy  NUMBER
194     , p6_a31 out nocopy  VARCHAR2
195   )
196 
197   as
198     ddx_pdt_parameter_rec okl_setupproducts_pub.pdt_parameters_rec_type;
199     ddindx binary_integer; indx binary_integer;
200   begin
201 
202     -- copy data to the local IN or IN-OUT args, if any
203 
204 
205 
206 
207 
208 
209 
210     -- here's the delegated call to the old PL/SQL routine
211     okl_k_rate_params_pvt.get_product(p_api_version,
212       p_init_msg_list,
213       x_return_status,
214       x_msg_count,
215       x_msg_data,
216       p_khr_id,
217       ddx_pdt_parameter_rec);
218 
219     -- copy data back from the local variables to OUT or IN-OUT args, if any
220 
221 
222 
223 
224 
225 
226     p6_a0 := rosetta_g_miss_num_map(ddx_pdt_parameter_rec.id);
227     p6_a1 := ddx_pdt_parameter_rec.name;
228     p6_a2 := ddx_pdt_parameter_rec.from_date;
229     p6_a3 := ddx_pdt_parameter_rec.to_date;
230     p6_a4 := ddx_pdt_parameter_rec.version;
231     p6_a5 := rosetta_g_miss_num_map(ddx_pdt_parameter_rec.object_version_number);
232     p6_a6 := rosetta_g_miss_num_map(ddx_pdt_parameter_rec.aes_id);
233     p6_a7 := rosetta_g_miss_num_map(ddx_pdt_parameter_rec.ptl_id);
234     p6_a8 := ddx_pdt_parameter_rec.legacy_product_yn;
235     p6_a9 := ddx_pdt_parameter_rec.attribute_category;
236     p6_a10 := ddx_pdt_parameter_rec.attribute1;
237     p6_a11 := ddx_pdt_parameter_rec.attribute2;
238     p6_a12 := ddx_pdt_parameter_rec.attribute3;
239     p6_a13 := ddx_pdt_parameter_rec.attribute4;
240     p6_a14 := ddx_pdt_parameter_rec.attribute5;
241     p6_a15 := ddx_pdt_parameter_rec.attribute6;
242     p6_a16 := ddx_pdt_parameter_rec.attribute7;
243     p6_a17 := ddx_pdt_parameter_rec.attribute8;
244     p6_a18 := ddx_pdt_parameter_rec.attribute9;
245     p6_a19 := ddx_pdt_parameter_rec.attribute10;
246     p6_a20 := ddx_pdt_parameter_rec.attribute11;
247     p6_a21 := ddx_pdt_parameter_rec.attribute12;
248     p6_a22 := ddx_pdt_parameter_rec.attribute13;
249     p6_a23 := ddx_pdt_parameter_rec.attribute14;
250     p6_a24 := ddx_pdt_parameter_rec.attribute15;
251     p6_a25 := ddx_pdt_parameter_rec.product_subclass;
252     p6_a26 := ddx_pdt_parameter_rec.deal_type;
253     p6_a27 := ddx_pdt_parameter_rec.tax_owner;
254     p6_a28 := ddx_pdt_parameter_rec.revenue_recognition_method;
255     p6_a29 := ddx_pdt_parameter_rec.interest_calculation_basis;
256     p6_a30 := rosetta_g_miss_num_map(ddx_pdt_parameter_rec.reporting_pdt_id);
257     p6_a31 := ddx_pdt_parameter_rec.reporting_product;
258   end;
259 
260   procedure create_k_rate_params(p_api_version  NUMBER
261     , p_init_msg_list  VARCHAR2
262     , x_return_status out nocopy  VARCHAR2
263     , x_msg_count out nocopy  NUMBER
264     , x_msg_data out nocopy  VARCHAR2
265     , p6_a0 out nocopy  NUMBER
266     , p6_a1 out nocopy  VARCHAR2
267     , p6_a2 out nocopy  DATE
268     , p6_a3 out nocopy  DATE
269     , p6_a4 out nocopy  NUMBER
270     , p6_a5 out nocopy  NUMBER
271     , p6_a6 out nocopy  DATE
272     , p6_a7 out nocopy  NUMBER
273     , p6_a8 out nocopy  NUMBER
274     , p6_a9 out nocopy  NUMBER
275     , p6_a10 out nocopy  VARCHAR2
276     , p6_a11 out nocopy  VARCHAR2
277     , p6_a12 out nocopy  VARCHAR2
278     , p6_a13 out nocopy  VARCHAR2
279     , p6_a14 out nocopy  VARCHAR2
280     , p6_a15 out nocopy  NUMBER
281     , p6_a16 out nocopy  VARCHAR2
282     , p6_a17 out nocopy  NUMBER
283     , p6_a18 out nocopy  VARCHAR2
284     , p6_a19 out nocopy  DATE
285     , p6_a20 out nocopy  VARCHAR2
286     , p6_a21 out nocopy  DATE
287     , p6_a22 out nocopy  VARCHAR2
288     , p6_a23 out nocopy  NUMBER
289     , p6_a24 out nocopy  VARCHAR2
290     , p6_a25 out nocopy  DATE
291     , p6_a26 out nocopy  VARCHAR2
292     , p6_a27 out nocopy  VARCHAR2
293     , p6_a28 out nocopy  VARCHAR2
294     , p6_a29 out nocopy  VARCHAR2
295     , p6_a30 out nocopy  VARCHAR2
296     , p6_a31 out nocopy  VARCHAR2
297     , p6_a32 out nocopy  VARCHAR2
298     , p6_a33 out nocopy  VARCHAR2
299     , p6_a34 out nocopy  VARCHAR2
300     , p6_a35 out nocopy  VARCHAR2
301     , p6_a36 out nocopy  VARCHAR2
302     , p6_a37 out nocopy  VARCHAR2
303     , p6_a38 out nocopy  VARCHAR2
304     , p6_a39 out nocopy  VARCHAR2
305     , p6_a40 out nocopy  VARCHAR2
306     , p6_a41 out nocopy  VARCHAR2
307     , p6_a42 out nocopy  VARCHAR2
308     , p6_a43 out nocopy  NUMBER
309     , p6_a44 out nocopy  DATE
310     , p6_a45 out nocopy  NUMBER
311     , p6_a46 out nocopy  DATE
312     , p6_a47 out nocopy  NUMBER
313     , p6_a48 out nocopy  VARCHAR2
314     , p_validate_flag  VARCHAR2
315     , p5_a0  NUMBER := 0-1962.0724
316     , p5_a1  VARCHAR2 := fnd_api.g_miss_char
317     , p5_a2  DATE := fnd_api.g_miss_date
318     , p5_a3  DATE := fnd_api.g_miss_date
319     , p5_a4  NUMBER := 0-1962.0724
320     , p5_a5  NUMBER := 0-1962.0724
321     , p5_a6  DATE := fnd_api.g_miss_date
322     , p5_a7  NUMBER := 0-1962.0724
323     , p5_a8  NUMBER := 0-1962.0724
324     , p5_a9  NUMBER := 0-1962.0724
325     , p5_a10  VARCHAR2 := fnd_api.g_miss_char
326     , p5_a11  VARCHAR2 := fnd_api.g_miss_char
327     , p5_a12  VARCHAR2 := fnd_api.g_miss_char
328     , p5_a13  VARCHAR2 := fnd_api.g_miss_char
329     , p5_a14  VARCHAR2 := fnd_api.g_miss_char
330     , p5_a15  NUMBER := 0-1962.0724
331     , p5_a16  VARCHAR2 := fnd_api.g_miss_char
332     , p5_a17  NUMBER := 0-1962.0724
333     , p5_a18  VARCHAR2 := fnd_api.g_miss_char
334     , p5_a19  DATE := fnd_api.g_miss_date
335     , p5_a20  VARCHAR2 := fnd_api.g_miss_char
336     , p5_a21  DATE := fnd_api.g_miss_date
337     , p5_a22  VARCHAR2 := fnd_api.g_miss_char
338     , p5_a23  NUMBER := 0-1962.0724
339     , p5_a24  VARCHAR2 := fnd_api.g_miss_char
340     , p5_a25  DATE := fnd_api.g_miss_date
341     , p5_a26  VARCHAR2 := fnd_api.g_miss_char
342     , p5_a27  VARCHAR2 := fnd_api.g_miss_char
343     , p5_a28  VARCHAR2 := fnd_api.g_miss_char
344     , p5_a29  VARCHAR2 := fnd_api.g_miss_char
345     , p5_a30  VARCHAR2 := fnd_api.g_miss_char
346     , p5_a31  VARCHAR2 := fnd_api.g_miss_char
347     , p5_a32  VARCHAR2 := fnd_api.g_miss_char
348     , p5_a33  VARCHAR2 := fnd_api.g_miss_char
349     , p5_a34  VARCHAR2 := fnd_api.g_miss_char
350     , p5_a35  VARCHAR2 := fnd_api.g_miss_char
351     , p5_a36  VARCHAR2 := fnd_api.g_miss_char
352     , p5_a37  VARCHAR2 := fnd_api.g_miss_char
353     , p5_a38  VARCHAR2 := fnd_api.g_miss_char
354     , p5_a39  VARCHAR2 := fnd_api.g_miss_char
355     , p5_a40  VARCHAR2 := fnd_api.g_miss_char
356     , p5_a41  VARCHAR2 := fnd_api.g_miss_char
357     , p5_a42  VARCHAR2 := fnd_api.g_miss_char
358     , p5_a43  NUMBER := 0-1962.0724
359     , p5_a44  DATE := fnd_api.g_miss_date
360     , p5_a45  NUMBER := 0-1962.0724
361     , p5_a46  DATE := fnd_api.g_miss_date
362     , p5_a47  NUMBER := 0-1962.0724
363     , p5_a48  VARCHAR2 := fnd_api.g_miss_char
364   )
365 
366   as
367     ddp_krpv_rec okl_k_rate_params_pvt.krpv_rec_type;
368     ddx_krpv_rec okl_k_rate_params_pvt.krpv_rec_type;
369     ddindx binary_integer; indx binary_integer;
370   begin
371 
372     -- copy data to the local IN or IN-OUT args, if any
373 
374 
375 
376 
377 
378     ddp_krpv_rec.khr_id := rosetta_g_miss_num_map(p5_a0);
379     ddp_krpv_rec.parameter_type_code := p5_a1;
380     ddp_krpv_rec.effective_from_date := rosetta_g_miss_date_in_map(p5_a2);
381     ddp_krpv_rec.effective_to_date := rosetta_g_miss_date_in_map(p5_a3);
382     ddp_krpv_rec.interest_index_id := rosetta_g_miss_num_map(p5_a4);
383     ddp_krpv_rec.base_rate := rosetta_g_miss_num_map(p5_a5);
384     ddp_krpv_rec.interest_start_date := rosetta_g_miss_date_in_map(p5_a6);
385     ddp_krpv_rec.adder_rate := rosetta_g_miss_num_map(p5_a7);
386     ddp_krpv_rec.maximum_rate := rosetta_g_miss_num_map(p5_a8);
387     ddp_krpv_rec.minimum_rate := rosetta_g_miss_num_map(p5_a9);
388     ddp_krpv_rec.principal_basis_code := p5_a10;
389     ddp_krpv_rec.days_in_a_month_code := p5_a11;
390     ddp_krpv_rec.days_in_a_year_code := p5_a12;
391     ddp_krpv_rec.interest_basis_code := p5_a13;
392     ddp_krpv_rec.rate_delay_code := p5_a14;
393     ddp_krpv_rec.rate_delay_frequency := rosetta_g_miss_num_map(p5_a15);
394     ddp_krpv_rec.compounding_frequency_code := p5_a16;
395     ddp_krpv_rec.calculation_formula_id := rosetta_g_miss_num_map(p5_a17);
396     ddp_krpv_rec.catchup_basis_code := p5_a18;
397     ddp_krpv_rec.catchup_start_date := rosetta_g_miss_date_in_map(p5_a19);
398     ddp_krpv_rec.catchup_settlement_code := p5_a20;
399     ddp_krpv_rec.rate_change_start_date := rosetta_g_miss_date_in_map(p5_a21);
400     ddp_krpv_rec.rate_change_frequency_code := p5_a22;
401     ddp_krpv_rec.rate_change_value := rosetta_g_miss_num_map(p5_a23);
402     ddp_krpv_rec.conversion_option_code := p5_a24;
403     ddp_krpv_rec.next_conversion_date := rosetta_g_miss_date_in_map(p5_a25);
404     ddp_krpv_rec.conversion_type_code := p5_a26;
405     ddp_krpv_rec.attribute_category := p5_a27;
406     ddp_krpv_rec.attribute1 := p5_a28;
407     ddp_krpv_rec.attribute2 := p5_a29;
408     ddp_krpv_rec.attribute3 := p5_a30;
409     ddp_krpv_rec.attribute4 := p5_a31;
410     ddp_krpv_rec.attribute5 := p5_a32;
411     ddp_krpv_rec.attribute6 := p5_a33;
412     ddp_krpv_rec.attribute7 := p5_a34;
413     ddp_krpv_rec.attribute8 := p5_a35;
414     ddp_krpv_rec.attribute9 := p5_a36;
415     ddp_krpv_rec.attribute10 := p5_a37;
416     ddp_krpv_rec.attribute11 := p5_a38;
417     ddp_krpv_rec.attribute12 := p5_a39;
418     ddp_krpv_rec.attribute13 := p5_a40;
419     ddp_krpv_rec.attribute14 := p5_a41;
420     ddp_krpv_rec.attribute15 := p5_a42;
421     ddp_krpv_rec.created_by := rosetta_g_miss_num_map(p5_a43);
422     ddp_krpv_rec.creation_date := rosetta_g_miss_date_in_map(p5_a44);
423     ddp_krpv_rec.last_updated_by := rosetta_g_miss_num_map(p5_a45);
424     ddp_krpv_rec.last_update_date := rosetta_g_miss_date_in_map(p5_a46);
425     ddp_krpv_rec.last_update_login := rosetta_g_miss_num_map(p5_a47);
426     ddp_krpv_rec.catchup_frequency_code := p5_a48;
427 
428 
429 
430     -- here's the delegated call to the old PL/SQL routine
431     okl_k_rate_params_pvt.create_k_rate_params(p_api_version,
432       p_init_msg_list,
433       x_return_status,
434       x_msg_count,
435       x_msg_data,
436       ddp_krpv_rec,
437       ddx_krpv_rec,
438       p_validate_flag);
439 
440     -- copy data back from the local variables to OUT or IN-OUT args, if any
441 
442 
443 
444 
445 
446 
447     p6_a0 := rosetta_g_miss_num_map(ddx_krpv_rec.khr_id);
448     p6_a1 := ddx_krpv_rec.parameter_type_code;
449     p6_a2 := ddx_krpv_rec.effective_from_date;
450     p6_a3 := ddx_krpv_rec.effective_to_date;
451     p6_a4 := rosetta_g_miss_num_map(ddx_krpv_rec.interest_index_id);
452     p6_a5 := rosetta_g_miss_num_map(ddx_krpv_rec.base_rate);
453     p6_a6 := ddx_krpv_rec.interest_start_date;
454     p6_a7 := rosetta_g_miss_num_map(ddx_krpv_rec.adder_rate);
455     p6_a8 := rosetta_g_miss_num_map(ddx_krpv_rec.maximum_rate);
456     p6_a9 := rosetta_g_miss_num_map(ddx_krpv_rec.minimum_rate);
457     p6_a10 := ddx_krpv_rec.principal_basis_code;
458     p6_a11 := ddx_krpv_rec.days_in_a_month_code;
459     p6_a12 := ddx_krpv_rec.days_in_a_year_code;
460     p6_a13 := ddx_krpv_rec.interest_basis_code;
461     p6_a14 := ddx_krpv_rec.rate_delay_code;
462     p6_a15 := rosetta_g_miss_num_map(ddx_krpv_rec.rate_delay_frequency);
463     p6_a16 := ddx_krpv_rec.compounding_frequency_code;
464     p6_a17 := rosetta_g_miss_num_map(ddx_krpv_rec.calculation_formula_id);
465     p6_a18 := ddx_krpv_rec.catchup_basis_code;
466     p6_a19 := ddx_krpv_rec.catchup_start_date;
467     p6_a20 := ddx_krpv_rec.catchup_settlement_code;
468     p6_a21 := ddx_krpv_rec.rate_change_start_date;
469     p6_a22 := ddx_krpv_rec.rate_change_frequency_code;
470     p6_a23 := rosetta_g_miss_num_map(ddx_krpv_rec.rate_change_value);
471     p6_a24 := ddx_krpv_rec.conversion_option_code;
472     p6_a25 := ddx_krpv_rec.next_conversion_date;
473     p6_a26 := ddx_krpv_rec.conversion_type_code;
474     p6_a27 := ddx_krpv_rec.attribute_category;
475     p6_a28 := ddx_krpv_rec.attribute1;
476     p6_a29 := ddx_krpv_rec.attribute2;
477     p6_a30 := ddx_krpv_rec.attribute3;
478     p6_a31 := ddx_krpv_rec.attribute4;
479     p6_a32 := ddx_krpv_rec.attribute5;
480     p6_a33 := ddx_krpv_rec.attribute6;
481     p6_a34 := ddx_krpv_rec.attribute7;
482     p6_a35 := ddx_krpv_rec.attribute8;
483     p6_a36 := ddx_krpv_rec.attribute9;
484     p6_a37 := ddx_krpv_rec.attribute10;
485     p6_a38 := ddx_krpv_rec.attribute11;
486     p6_a39 := ddx_krpv_rec.attribute12;
487     p6_a40 := ddx_krpv_rec.attribute13;
488     p6_a41 := ddx_krpv_rec.attribute14;
489     p6_a42 := ddx_krpv_rec.attribute15;
490     p6_a43 := rosetta_g_miss_num_map(ddx_krpv_rec.created_by);
491     p6_a44 := ddx_krpv_rec.creation_date;
492     p6_a45 := rosetta_g_miss_num_map(ddx_krpv_rec.last_updated_by);
493     p6_a46 := ddx_krpv_rec.last_update_date;
494     p6_a47 := rosetta_g_miss_num_map(ddx_krpv_rec.last_update_login);
495     p6_a48 := ddx_krpv_rec.catchup_frequency_code;
496 
497   end;
498 
499   procedure create_k_rate_params(p_api_version  NUMBER
500     , p_init_msg_list  VARCHAR2
501     , x_return_status out nocopy  VARCHAR2
502     , x_msg_count out nocopy  NUMBER
503     , x_msg_data out nocopy  VARCHAR2
504     , p6_a0 out nocopy  NUMBER
505     , p6_a1 out nocopy  VARCHAR2
506     , p6_a2 out nocopy  DATE
507     , p6_a3 out nocopy  DATE
508     , p6_a4 out nocopy  NUMBER
509     , p6_a5 out nocopy  NUMBER
510     , p6_a6 out nocopy  DATE
511     , p6_a7 out nocopy  NUMBER
512     , p6_a8 out nocopy  NUMBER
513     , p6_a9 out nocopy  NUMBER
514     , p6_a10 out nocopy  VARCHAR2
515     , p6_a11 out nocopy  VARCHAR2
516     , p6_a12 out nocopy  VARCHAR2
517     , p6_a13 out nocopy  VARCHAR2
518     , p5_a0  NUMBER := 0-1962.0724
519     , p5_a1  VARCHAR2 := fnd_api.g_miss_char
520     , p5_a2  DATE := fnd_api.g_miss_date
521     , p5_a3  DATE := fnd_api.g_miss_date
522     , p5_a4  NUMBER := 0-1962.0724
523     , p5_a5  NUMBER := 0-1962.0724
524     , p5_a6  DATE := fnd_api.g_miss_date
525     , p5_a7  NUMBER := 0-1962.0724
526     , p5_a8  NUMBER := 0-1962.0724
527     , p5_a9  NUMBER := 0-1962.0724
528     , p5_a10  VARCHAR2 := fnd_api.g_miss_char
529     , p5_a11  VARCHAR2 := fnd_api.g_miss_char
530     , p5_a12  VARCHAR2 := fnd_api.g_miss_char
531     , p5_a13  VARCHAR2 := fnd_api.g_miss_char
532   )
533 
534   as
535     ddp_krpr_rec okl_k_rate_params_pvt.krpr_rec_type;
536     ddx_krpr_rec okl_k_rate_params_pvt.krpr_rec_type;
537     ddindx binary_integer; indx binary_integer;
538   begin
539 
540     -- copy data to the local IN or IN-OUT args, if any
541 
542 
543 
544 
545 
546     ddp_krpr_rec.khr_id := rosetta_g_miss_num_map(p5_a0);
547     ddp_krpr_rec.parameter_type_code := p5_a1;
548     ddp_krpr_rec.effective_from_date := rosetta_g_miss_date_in_map(p5_a2);
549     ddp_krpr_rec.effective_to_date := rosetta_g_miss_date_in_map(p5_a3);
550     ddp_krpr_rec.interest_index_id := rosetta_g_miss_num_map(p5_a4);
551     ddp_krpr_rec.base_rate := rosetta_g_miss_num_map(p5_a5);
552     ddp_krpr_rec.interest_start_date := rosetta_g_miss_date_in_map(p5_a6);
553     ddp_krpr_rec.adder_rate := rosetta_g_miss_num_map(p5_a7);
554     ddp_krpr_rec.maximum_rate := rosetta_g_miss_num_map(p5_a8);
555     ddp_krpr_rec.minimum_rate := rosetta_g_miss_num_map(p5_a9);
556     ddp_krpr_rec.principal_basis_code := p5_a10;
557     ddp_krpr_rec.days_in_a_month_code := p5_a11;
558     ddp_krpr_rec.days_in_a_year_code := p5_a12;
559     ddp_krpr_rec.interest_basis_code := p5_a13;
560 
561 
562     -- here's the delegated call to the old PL/SQL routine
563     okl_k_rate_params_pvt.create_k_rate_params(p_api_version,
564       p_init_msg_list,
565       x_return_status,
566       x_msg_count,
567       x_msg_data,
568       ddp_krpr_rec,
569       ddx_krpr_rec);
570 
571     -- copy data back from the local variables to OUT or IN-OUT args, if any
572 
573 
574 
575 
576 
577 
578     p6_a0 := rosetta_g_miss_num_map(ddx_krpr_rec.khr_id);
579     p6_a1 := ddx_krpr_rec.parameter_type_code;
580     p6_a2 := ddx_krpr_rec.effective_from_date;
581     p6_a3 := ddx_krpr_rec.effective_to_date;
582     p6_a4 := rosetta_g_miss_num_map(ddx_krpr_rec.interest_index_id);
583     p6_a5 := rosetta_g_miss_num_map(ddx_krpr_rec.base_rate);
584     p6_a6 := ddx_krpr_rec.interest_start_date;
585     p6_a7 := rosetta_g_miss_num_map(ddx_krpr_rec.adder_rate);
586     p6_a8 := rosetta_g_miss_num_map(ddx_krpr_rec.maximum_rate);
587     p6_a9 := rosetta_g_miss_num_map(ddx_krpr_rec.minimum_rate);
588     p6_a10 := ddx_krpr_rec.principal_basis_code;
589     p6_a11 := ddx_krpr_rec.days_in_a_month_code;
590     p6_a12 := ddx_krpr_rec.days_in_a_year_code;
591     p6_a13 := ddx_krpr_rec.interest_basis_code;
592   end;
593 
594   procedure create_k_rate_params(p_api_version  NUMBER
595     , p_init_msg_list  VARCHAR2
596     , x_return_status out nocopy  VARCHAR2
597     , x_msg_count out nocopy  NUMBER
598     , x_msg_data out nocopy  VARCHAR2
599     , p6_a0 out nocopy  NUMBER
600     , p6_a1 out nocopy  VARCHAR2
601     , p6_a2 out nocopy  DATE
602     , p6_a3 out nocopy  DATE
603     , p6_a4 out nocopy  VARCHAR2
604     , p6_a5 out nocopy  NUMBER
605     , p6_a6 out nocopy  VARCHAR2
606     , p6_a7 out nocopy  NUMBER
607     , p6_a8 out nocopy  VARCHAR2
608     , p6_a9 out nocopy  DATE
609     , p6_a10 out nocopy  VARCHAR2
610     , p6_a11 out nocopy  DATE
611     , p6_a12 out nocopy  VARCHAR2
612     , p6_a13 out nocopy  NUMBER
613     , p5_a0  NUMBER := 0-1962.0724
614     , p5_a1  VARCHAR2 := fnd_api.g_miss_char
615     , p5_a2  DATE := fnd_api.g_miss_date
616     , p5_a3  DATE := fnd_api.g_miss_date
617     , p5_a4  VARCHAR2 := fnd_api.g_miss_char
618     , p5_a5  NUMBER := 0-1962.0724
619     , p5_a6  VARCHAR2 := fnd_api.g_miss_char
620     , p5_a7  NUMBER := 0-1962.0724
621     , p5_a8  VARCHAR2 := fnd_api.g_miss_char
622     , p5_a9  DATE := fnd_api.g_miss_date
623     , p5_a10  VARCHAR2 := fnd_api.g_miss_char
624     , p5_a11  DATE := fnd_api.g_miss_date
625     , p5_a12  VARCHAR2 := fnd_api.g_miss_char
626     , p5_a13  NUMBER := 0-1962.0724
627   )
628 
629   as
630     ddp_krpar_rec okl_k_rate_params_pvt.krpar_rec_type;
631     ddx_krpar_rec okl_k_rate_params_pvt.krpar_rec_type;
632     ddindx binary_integer; indx binary_integer;
633   begin
634 
635     -- copy data to the local IN or IN-OUT args, if any
636 
637 
638 
639 
640 
641     ddp_krpar_rec.khr_id := rosetta_g_miss_num_map(p5_a0);
642     ddp_krpar_rec.parameter_type_code := p5_a1;
643     ddp_krpar_rec.effective_from_date := rosetta_g_miss_date_in_map(p5_a2);
644     ddp_krpar_rec.effective_to_date := rosetta_g_miss_date_in_map(p5_a3);
645     ddp_krpar_rec.rate_delay_code := p5_a4;
646     ddp_krpar_rec.rate_delay_frequency := rosetta_g_miss_num_map(p5_a5);
647     ddp_krpar_rec.compounding_frequency_code := p5_a6;
648     ddp_krpar_rec.calculation_formula_id := rosetta_g_miss_num_map(p5_a7);
649     ddp_krpar_rec.catchup_basis_code := p5_a8;
650     ddp_krpar_rec.catchup_start_date := rosetta_g_miss_date_in_map(p5_a9);
651     ddp_krpar_rec.catchup_settlement_code := p5_a10;
652     ddp_krpar_rec.rate_change_start_date := rosetta_g_miss_date_in_map(p5_a11);
653     ddp_krpar_rec.rate_change_frequency_code := p5_a12;
654     ddp_krpar_rec.rate_change_value := rosetta_g_miss_num_map(p5_a13);
655 
656 
657     -- here's the delegated call to the old PL/SQL routine
658     okl_k_rate_params_pvt.create_k_rate_params(p_api_version,
659       p_init_msg_list,
660       x_return_status,
661       x_msg_count,
662       x_msg_data,
663       ddp_krpar_rec,
664       ddx_krpar_rec);
665 
666     -- copy data back from the local variables to OUT or IN-OUT args, if any
667 
668 
669 
670 
671 
672 
673     p6_a0 := rosetta_g_miss_num_map(ddx_krpar_rec.khr_id);
674     p6_a1 := ddx_krpar_rec.parameter_type_code;
675     p6_a2 := ddx_krpar_rec.effective_from_date;
676     p6_a3 := ddx_krpar_rec.effective_to_date;
677     p6_a4 := ddx_krpar_rec.rate_delay_code;
678     p6_a5 := rosetta_g_miss_num_map(ddx_krpar_rec.rate_delay_frequency);
679     p6_a6 := ddx_krpar_rec.compounding_frequency_code;
680     p6_a7 := rosetta_g_miss_num_map(ddx_krpar_rec.calculation_formula_id);
681     p6_a8 := ddx_krpar_rec.catchup_basis_code;
682     p6_a9 := ddx_krpar_rec.catchup_start_date;
683     p6_a10 := ddx_krpar_rec.catchup_settlement_code;
684     p6_a11 := ddx_krpar_rec.rate_change_start_date;
685     p6_a12 := ddx_krpar_rec.rate_change_frequency_code;
686     p6_a13 := rosetta_g_miss_num_map(ddx_krpar_rec.rate_change_value);
687   end;
688 
689   procedure create_k_rate_params(p_api_version  NUMBER
690     , p_init_msg_list  VARCHAR2
691     , x_return_status out nocopy  VARCHAR2
692     , x_msg_count out nocopy  NUMBER
693     , x_msg_data out nocopy  VARCHAR2
694     , p6_a0 out nocopy  NUMBER
695     , p6_a1 out nocopy  VARCHAR2
696     , p6_a2 out nocopy  DATE
697     , p6_a3 out nocopy  DATE
698     , p6_a4 out nocopy  VARCHAR2
699     , p6_a5 out nocopy  DATE
700     , p6_a6 out nocopy  VARCHAR2
701     , p5_a0  NUMBER := 0-1962.0724
702     , p5_a1  VARCHAR2 := fnd_api.g_miss_char
703     , p5_a2  DATE := fnd_api.g_miss_date
704     , p5_a3  DATE := fnd_api.g_miss_date
705     , p5_a4  VARCHAR2 := fnd_api.g_miss_char
706     , p5_a5  DATE := fnd_api.g_miss_date
707     , p5_a6  VARCHAR2 := fnd_api.g_miss_char
708   )
709 
710   as
711     ddp_krpc_rec okl_k_rate_params_pvt.krpc_rec_type;
712     ddx_krpc_rec okl_k_rate_params_pvt.krpc_rec_type;
713     ddindx binary_integer; indx binary_integer;
714   begin
715 
716     -- copy data to the local IN or IN-OUT args, if any
717 
718 
719 
720 
721 
722     ddp_krpc_rec.khr_id := rosetta_g_miss_num_map(p5_a0);
723     ddp_krpc_rec.parameter_type_code := p5_a1;
724     ddp_krpc_rec.effective_from_date := rosetta_g_miss_date_in_map(p5_a2);
725     ddp_krpc_rec.effective_to_date := rosetta_g_miss_date_in_map(p5_a3);
726     ddp_krpc_rec.conversion_option_code := p5_a4;
727     ddp_krpc_rec.next_conversion_date := rosetta_g_miss_date_in_map(p5_a5);
728     ddp_krpc_rec.conversion_type_code := p5_a6;
729 
730 
731     -- here's the delegated call to the old PL/SQL routine
732     okl_k_rate_params_pvt.create_k_rate_params(p_api_version,
733       p_init_msg_list,
734       x_return_status,
735       x_msg_count,
736       x_msg_data,
737       ddp_krpc_rec,
738       ddx_krpc_rec);
739 
740     -- copy data back from the local variables to OUT or IN-OUT args, if any
741 
742 
743 
744 
745 
746 
747     p6_a0 := rosetta_g_miss_num_map(ddx_krpc_rec.khr_id);
748     p6_a1 := ddx_krpc_rec.parameter_type_code;
749     p6_a2 := ddx_krpc_rec.effective_from_date;
750     p6_a3 := ddx_krpc_rec.effective_to_date;
751     p6_a4 := ddx_krpc_rec.conversion_option_code;
752     p6_a5 := ddx_krpc_rec.next_conversion_date;
753     p6_a6 := ddx_krpc_rec.conversion_type_code;
754   end;
755 
756   procedure update_k_rate_params(p_api_version  NUMBER
757     , p_init_msg_list  VARCHAR2
758     , x_return_status out nocopy  VARCHAR2
759     , x_msg_count out nocopy  NUMBER
760     , x_msg_data out nocopy  VARCHAR2
761     , p6_a0 out nocopy  NUMBER
762     , p6_a1 out nocopy  VARCHAR2
763     , p6_a2 out nocopy  DATE
764     , p6_a3 out nocopy  DATE
765     , p6_a4 out nocopy  NUMBER
766     , p6_a5 out nocopy  NUMBER
767     , p6_a6 out nocopy  DATE
768     , p6_a7 out nocopy  NUMBER
769     , p6_a8 out nocopy  NUMBER
770     , p6_a9 out nocopy  NUMBER
771     , p6_a10 out nocopy  VARCHAR2
772     , p6_a11 out nocopy  VARCHAR2
773     , p6_a12 out nocopy  VARCHAR2
774     , p6_a13 out nocopy  VARCHAR2
775     , p6_a14 out nocopy  VARCHAR2
776     , p6_a15 out nocopy  NUMBER
777     , p6_a16 out nocopy  VARCHAR2
778     , p6_a17 out nocopy  NUMBER
779     , p6_a18 out nocopy  VARCHAR2
780     , p6_a19 out nocopy  DATE
781     , p6_a20 out nocopy  VARCHAR2
782     , p6_a21 out nocopy  DATE
783     , p6_a22 out nocopy  VARCHAR2
784     , p6_a23 out nocopy  NUMBER
785     , p6_a24 out nocopy  VARCHAR2
786     , p6_a25 out nocopy  DATE
787     , p6_a26 out nocopy  VARCHAR2
788     , p6_a27 out nocopy  VARCHAR2
789     , p6_a28 out nocopy  VARCHAR2
790     , p6_a29 out nocopy  VARCHAR2
791     , p6_a30 out nocopy  VARCHAR2
792     , p6_a31 out nocopy  VARCHAR2
793     , p6_a32 out nocopy  VARCHAR2
794     , p6_a33 out nocopy  VARCHAR2
795     , p6_a34 out nocopy  VARCHAR2
796     , p6_a35 out nocopy  VARCHAR2
797     , p6_a36 out nocopy  VARCHAR2
798     , p6_a37 out nocopy  VARCHAR2
799     , p6_a38 out nocopy  VARCHAR2
800     , p6_a39 out nocopy  VARCHAR2
801     , p6_a40 out nocopy  VARCHAR2
802     , p6_a41 out nocopy  VARCHAR2
803     , p6_a42 out nocopy  VARCHAR2
804     , p6_a43 out nocopy  NUMBER
805     , p6_a44 out nocopy  DATE
806     , p6_a45 out nocopy  NUMBER
807     , p6_a46 out nocopy  DATE
808     , p6_a47 out nocopy  NUMBER
809     , p6_a48 out nocopy  VARCHAR2
810     , p5_a0  NUMBER := 0-1962.0724
811     , p5_a1  VARCHAR2 := fnd_api.g_miss_char
812     , p5_a2  DATE := fnd_api.g_miss_date
813     , p5_a3  DATE := fnd_api.g_miss_date
814     , p5_a4  NUMBER := 0-1962.0724
815     , p5_a5  NUMBER := 0-1962.0724
816     , p5_a6  DATE := fnd_api.g_miss_date
817     , p5_a7  NUMBER := 0-1962.0724
818     , p5_a8  NUMBER := 0-1962.0724
819     , p5_a9  NUMBER := 0-1962.0724
820     , p5_a10  VARCHAR2 := fnd_api.g_miss_char
821     , p5_a11  VARCHAR2 := fnd_api.g_miss_char
822     , p5_a12  VARCHAR2 := fnd_api.g_miss_char
823     , p5_a13  VARCHAR2 := fnd_api.g_miss_char
824     , p5_a14  VARCHAR2 := fnd_api.g_miss_char
825     , p5_a15  NUMBER := 0-1962.0724
826     , p5_a16  VARCHAR2 := fnd_api.g_miss_char
827     , p5_a17  NUMBER := 0-1962.0724
828     , p5_a18  VARCHAR2 := fnd_api.g_miss_char
829     , p5_a19  DATE := fnd_api.g_miss_date
830     , p5_a20  VARCHAR2 := fnd_api.g_miss_char
831     , p5_a21  DATE := fnd_api.g_miss_date
832     , p5_a22  VARCHAR2 := fnd_api.g_miss_char
833     , p5_a23  NUMBER := 0-1962.0724
834     , p5_a24  VARCHAR2 := fnd_api.g_miss_char
835     , p5_a25  DATE := fnd_api.g_miss_date
836     , p5_a26  VARCHAR2 := fnd_api.g_miss_char
837     , p5_a27  VARCHAR2 := fnd_api.g_miss_char
838     , p5_a28  VARCHAR2 := fnd_api.g_miss_char
839     , p5_a29  VARCHAR2 := fnd_api.g_miss_char
840     , p5_a30  VARCHAR2 := fnd_api.g_miss_char
841     , p5_a31  VARCHAR2 := fnd_api.g_miss_char
842     , p5_a32  VARCHAR2 := fnd_api.g_miss_char
843     , p5_a33  VARCHAR2 := fnd_api.g_miss_char
844     , p5_a34  VARCHAR2 := fnd_api.g_miss_char
845     , p5_a35  VARCHAR2 := fnd_api.g_miss_char
846     , p5_a36  VARCHAR2 := fnd_api.g_miss_char
847     , p5_a37  VARCHAR2 := fnd_api.g_miss_char
848     , p5_a38  VARCHAR2 := fnd_api.g_miss_char
849     , p5_a39  VARCHAR2 := fnd_api.g_miss_char
850     , p5_a40  VARCHAR2 := fnd_api.g_miss_char
851     , p5_a41  VARCHAR2 := fnd_api.g_miss_char
852     , p5_a42  VARCHAR2 := fnd_api.g_miss_char
853     , p5_a43  NUMBER := 0-1962.0724
854     , p5_a44  DATE := fnd_api.g_miss_date
855     , p5_a45  NUMBER := 0-1962.0724
856     , p5_a46  DATE := fnd_api.g_miss_date
857     , p5_a47  NUMBER := 0-1962.0724
858     , p5_a48  VARCHAR2 := fnd_api.g_miss_char
859   )
860 
861   as
862     ddp_krpv_rec okl_k_rate_params_pvt.krpv_rec_type;
863     ddx_krpv_rec okl_k_rate_params_pvt.krpv_rec_type;
864     ddindx binary_integer; indx binary_integer;
865   begin
866 
867     -- copy data to the local IN or IN-OUT args, if any
868 
869 
870 
871 
872 
873     ddp_krpv_rec.khr_id := rosetta_g_miss_num_map(p5_a0);
874     ddp_krpv_rec.parameter_type_code := p5_a1;
875     ddp_krpv_rec.effective_from_date := rosetta_g_miss_date_in_map(p5_a2);
876     ddp_krpv_rec.effective_to_date := rosetta_g_miss_date_in_map(p5_a3);
877     ddp_krpv_rec.interest_index_id := rosetta_g_miss_num_map(p5_a4);
878     ddp_krpv_rec.base_rate := rosetta_g_miss_num_map(p5_a5);
879     ddp_krpv_rec.interest_start_date := rosetta_g_miss_date_in_map(p5_a6);
880     ddp_krpv_rec.adder_rate := rosetta_g_miss_num_map(p5_a7);
881     ddp_krpv_rec.maximum_rate := rosetta_g_miss_num_map(p5_a8);
882     ddp_krpv_rec.minimum_rate := rosetta_g_miss_num_map(p5_a9);
883     ddp_krpv_rec.principal_basis_code := p5_a10;
884     ddp_krpv_rec.days_in_a_month_code := p5_a11;
885     ddp_krpv_rec.days_in_a_year_code := p5_a12;
886     ddp_krpv_rec.interest_basis_code := p5_a13;
887     ddp_krpv_rec.rate_delay_code := p5_a14;
888     ddp_krpv_rec.rate_delay_frequency := rosetta_g_miss_num_map(p5_a15);
889     ddp_krpv_rec.compounding_frequency_code := p5_a16;
890     ddp_krpv_rec.calculation_formula_id := rosetta_g_miss_num_map(p5_a17);
891     ddp_krpv_rec.catchup_basis_code := p5_a18;
892     ddp_krpv_rec.catchup_start_date := rosetta_g_miss_date_in_map(p5_a19);
893     ddp_krpv_rec.catchup_settlement_code := p5_a20;
894     ddp_krpv_rec.rate_change_start_date := rosetta_g_miss_date_in_map(p5_a21);
895     ddp_krpv_rec.rate_change_frequency_code := p5_a22;
896     ddp_krpv_rec.rate_change_value := rosetta_g_miss_num_map(p5_a23);
897     ddp_krpv_rec.conversion_option_code := p5_a24;
898     ddp_krpv_rec.next_conversion_date := rosetta_g_miss_date_in_map(p5_a25);
899     ddp_krpv_rec.conversion_type_code := p5_a26;
900     ddp_krpv_rec.attribute_category := p5_a27;
901     ddp_krpv_rec.attribute1 := p5_a28;
902     ddp_krpv_rec.attribute2 := p5_a29;
903     ddp_krpv_rec.attribute3 := p5_a30;
904     ddp_krpv_rec.attribute4 := p5_a31;
905     ddp_krpv_rec.attribute5 := p5_a32;
906     ddp_krpv_rec.attribute6 := p5_a33;
907     ddp_krpv_rec.attribute7 := p5_a34;
908     ddp_krpv_rec.attribute8 := p5_a35;
909     ddp_krpv_rec.attribute9 := p5_a36;
910     ddp_krpv_rec.attribute10 := p5_a37;
911     ddp_krpv_rec.attribute11 := p5_a38;
912     ddp_krpv_rec.attribute12 := p5_a39;
913     ddp_krpv_rec.attribute13 := p5_a40;
914     ddp_krpv_rec.attribute14 := p5_a41;
915     ddp_krpv_rec.attribute15 := p5_a42;
916     ddp_krpv_rec.created_by := rosetta_g_miss_num_map(p5_a43);
917     ddp_krpv_rec.creation_date := rosetta_g_miss_date_in_map(p5_a44);
918     ddp_krpv_rec.last_updated_by := rosetta_g_miss_num_map(p5_a45);
919     ddp_krpv_rec.last_update_date := rosetta_g_miss_date_in_map(p5_a46);
920     ddp_krpv_rec.last_update_login := rosetta_g_miss_num_map(p5_a47);
921     ddp_krpv_rec.catchup_frequency_code := p5_a48;
922 
923 
924     -- here's the delegated call to the old PL/SQL routine
925     okl_k_rate_params_pvt.update_k_rate_params(p_api_version,
926       p_init_msg_list,
927       x_return_status,
928       x_msg_count,
929       x_msg_data,
930       ddp_krpv_rec,
931       ddx_krpv_rec);
932 
933     -- copy data back from the local variables to OUT or IN-OUT args, if any
934 
935 
936 
937 
938 
939 
940     p6_a0 := rosetta_g_miss_num_map(ddx_krpv_rec.khr_id);
941     p6_a1 := ddx_krpv_rec.parameter_type_code;
942     p6_a2 := ddx_krpv_rec.effective_from_date;
943     p6_a3 := ddx_krpv_rec.effective_to_date;
944     p6_a4 := rosetta_g_miss_num_map(ddx_krpv_rec.interest_index_id);
945     p6_a5 := rosetta_g_miss_num_map(ddx_krpv_rec.base_rate);
946     p6_a6 := ddx_krpv_rec.interest_start_date;
947     p6_a7 := rosetta_g_miss_num_map(ddx_krpv_rec.adder_rate);
948     p6_a8 := rosetta_g_miss_num_map(ddx_krpv_rec.maximum_rate);
949     p6_a9 := rosetta_g_miss_num_map(ddx_krpv_rec.minimum_rate);
950     p6_a10 := ddx_krpv_rec.principal_basis_code;
951     p6_a11 := ddx_krpv_rec.days_in_a_month_code;
952     p6_a12 := ddx_krpv_rec.days_in_a_year_code;
953     p6_a13 := ddx_krpv_rec.interest_basis_code;
954     p6_a14 := ddx_krpv_rec.rate_delay_code;
955     p6_a15 := rosetta_g_miss_num_map(ddx_krpv_rec.rate_delay_frequency);
956     p6_a16 := ddx_krpv_rec.compounding_frequency_code;
957     p6_a17 := rosetta_g_miss_num_map(ddx_krpv_rec.calculation_formula_id);
958     p6_a18 := ddx_krpv_rec.catchup_basis_code;
959     p6_a19 := ddx_krpv_rec.catchup_start_date;
960     p6_a20 := ddx_krpv_rec.catchup_settlement_code;
961     p6_a21 := ddx_krpv_rec.rate_change_start_date;
962     p6_a22 := ddx_krpv_rec.rate_change_frequency_code;
963     p6_a23 := rosetta_g_miss_num_map(ddx_krpv_rec.rate_change_value);
964     p6_a24 := ddx_krpv_rec.conversion_option_code;
965     p6_a25 := ddx_krpv_rec.next_conversion_date;
966     p6_a26 := ddx_krpv_rec.conversion_type_code;
967     p6_a27 := ddx_krpv_rec.attribute_category;
968     p6_a28 := ddx_krpv_rec.attribute1;
969     p6_a29 := ddx_krpv_rec.attribute2;
970     p6_a30 := ddx_krpv_rec.attribute3;
971     p6_a31 := ddx_krpv_rec.attribute4;
972     p6_a32 := ddx_krpv_rec.attribute5;
973     p6_a33 := ddx_krpv_rec.attribute6;
974     p6_a34 := ddx_krpv_rec.attribute7;
975     p6_a35 := ddx_krpv_rec.attribute8;
976     p6_a36 := ddx_krpv_rec.attribute9;
977     p6_a37 := ddx_krpv_rec.attribute10;
978     p6_a38 := ddx_krpv_rec.attribute11;
979     p6_a39 := ddx_krpv_rec.attribute12;
980     p6_a40 := ddx_krpv_rec.attribute13;
981     p6_a41 := ddx_krpv_rec.attribute14;
982     p6_a42 := ddx_krpv_rec.attribute15;
983     p6_a43 := rosetta_g_miss_num_map(ddx_krpv_rec.created_by);
984     p6_a44 := ddx_krpv_rec.creation_date;
985     p6_a45 := rosetta_g_miss_num_map(ddx_krpv_rec.last_updated_by);
986     p6_a46 := ddx_krpv_rec.last_update_date;
987     p6_a47 := rosetta_g_miss_num_map(ddx_krpv_rec.last_update_login);
988     p6_a48 := ddx_krpv_rec.catchup_frequency_code;
989   end;
990 
991   procedure update_k_rate_params(p_api_version  NUMBER
992     , p_init_msg_list  VARCHAR2
993     , x_return_status out nocopy  VARCHAR2
994     , x_msg_count out nocopy  NUMBER
995     , x_msg_data out nocopy  VARCHAR2
996     , p6_a0 out nocopy  NUMBER
997     , p6_a1 out nocopy  VARCHAR2
998     , p6_a2 out nocopy  DATE
999     , p6_a3 out nocopy  DATE
1000     , p6_a4 out nocopy  NUMBER
1001     , p6_a5 out nocopy  NUMBER
1002     , p6_a6 out nocopy  DATE
1003     , p6_a7 out nocopy  NUMBER
1004     , p6_a8 out nocopy  NUMBER
1005     , p6_a9 out nocopy  NUMBER
1006     , p6_a10 out nocopy  VARCHAR2
1007     , p6_a11 out nocopy  VARCHAR2
1008     , p6_a12 out nocopy  VARCHAR2
1009     , p6_a13 out nocopy  VARCHAR2
1010     , p5_a0  NUMBER := 0-1962.0724
1011     , p5_a1  VARCHAR2 := fnd_api.g_miss_char
1012     , p5_a2  DATE := fnd_api.g_miss_date
1013     , p5_a3  DATE := fnd_api.g_miss_date
1014     , p5_a4  NUMBER := 0-1962.0724
1015     , p5_a5  NUMBER := 0-1962.0724
1016     , p5_a6  DATE := fnd_api.g_miss_date
1017     , p5_a7  NUMBER := 0-1962.0724
1018     , p5_a8  NUMBER := 0-1962.0724
1019     , p5_a9  NUMBER := 0-1962.0724
1020     , p5_a10  VARCHAR2 := fnd_api.g_miss_char
1021     , p5_a11  VARCHAR2 := fnd_api.g_miss_char
1022     , p5_a12  VARCHAR2 := fnd_api.g_miss_char
1023     , p5_a13  VARCHAR2 := fnd_api.g_miss_char
1024   )
1025 
1026   as
1027     ddp_krpr_rec okl_k_rate_params_pvt.krpr_rec_type;
1028     ddx_krpr_rec okl_k_rate_params_pvt.krpr_rec_type;
1029     ddindx binary_integer; indx binary_integer;
1030   begin
1031 
1032     -- copy data to the local IN or IN-OUT args, if any
1033 
1034 
1035 
1036 
1037 
1038     ddp_krpr_rec.khr_id := rosetta_g_miss_num_map(p5_a0);
1039     ddp_krpr_rec.parameter_type_code := p5_a1;
1040     ddp_krpr_rec.effective_from_date := rosetta_g_miss_date_in_map(p5_a2);
1041     ddp_krpr_rec.effective_to_date := rosetta_g_miss_date_in_map(p5_a3);
1042     ddp_krpr_rec.interest_index_id := rosetta_g_miss_num_map(p5_a4);
1043     ddp_krpr_rec.base_rate := rosetta_g_miss_num_map(p5_a5);
1044     ddp_krpr_rec.interest_start_date := rosetta_g_miss_date_in_map(p5_a6);
1045     ddp_krpr_rec.adder_rate := rosetta_g_miss_num_map(p5_a7);
1046     ddp_krpr_rec.maximum_rate := rosetta_g_miss_num_map(p5_a8);
1047     ddp_krpr_rec.minimum_rate := rosetta_g_miss_num_map(p5_a9);
1048     ddp_krpr_rec.principal_basis_code := p5_a10;
1049     ddp_krpr_rec.days_in_a_month_code := p5_a11;
1050     ddp_krpr_rec.days_in_a_year_code := p5_a12;
1051     ddp_krpr_rec.interest_basis_code := p5_a13;
1052 
1053 
1054     -- here's the delegated call to the old PL/SQL routine
1055     okl_k_rate_params_pvt.update_k_rate_params(p_api_version,
1056       p_init_msg_list,
1057       x_return_status,
1058       x_msg_count,
1059       x_msg_data,
1060       ddp_krpr_rec,
1061       ddx_krpr_rec);
1062 
1063     -- copy data back from the local variables to OUT or IN-OUT args, if any
1064 
1065 
1066 
1067 
1068 
1069 
1070     p6_a0 := rosetta_g_miss_num_map(ddx_krpr_rec.khr_id);
1071     p6_a1 := ddx_krpr_rec.parameter_type_code;
1072     p6_a2 := ddx_krpr_rec.effective_from_date;
1073     p6_a3 := ddx_krpr_rec.effective_to_date;
1074     p6_a4 := rosetta_g_miss_num_map(ddx_krpr_rec.interest_index_id);
1075     p6_a5 := rosetta_g_miss_num_map(ddx_krpr_rec.base_rate);
1076     p6_a6 := ddx_krpr_rec.interest_start_date;
1077     p6_a7 := rosetta_g_miss_num_map(ddx_krpr_rec.adder_rate);
1078     p6_a8 := rosetta_g_miss_num_map(ddx_krpr_rec.maximum_rate);
1079     p6_a9 := rosetta_g_miss_num_map(ddx_krpr_rec.minimum_rate);
1080     p6_a10 := ddx_krpr_rec.principal_basis_code;
1081     p6_a11 := ddx_krpr_rec.days_in_a_month_code;
1082     p6_a12 := ddx_krpr_rec.days_in_a_year_code;
1083     p6_a13 := ddx_krpr_rec.interest_basis_code;
1084   end;
1085 
1086   procedure update_k_rate_params(p_api_version  NUMBER
1087     , p_init_msg_list  VARCHAR2
1088     , x_return_status out nocopy  VARCHAR2
1089     , x_msg_count out nocopy  NUMBER
1090     , x_msg_data out nocopy  VARCHAR2
1091     , p6_a0 out nocopy  NUMBER
1092     , p6_a1 out nocopy  VARCHAR2
1093     , p6_a2 out nocopy  DATE
1094     , p6_a3 out nocopy  DATE
1095     , p6_a4 out nocopy  VARCHAR2
1096     , p6_a5 out nocopy  NUMBER
1097     , p6_a6 out nocopy  VARCHAR2
1098     , p6_a7 out nocopy  NUMBER
1099     , p6_a8 out nocopy  VARCHAR2
1100     , p6_a9 out nocopy  DATE
1101     , p6_a10 out nocopy  VARCHAR2
1102     , p6_a11 out nocopy  DATE
1103     , p6_a12 out nocopy  VARCHAR2
1104     , p6_a13 out nocopy  NUMBER
1105     , p5_a0  NUMBER := 0-1962.0724
1106     , p5_a1  VARCHAR2 := fnd_api.g_miss_char
1107     , p5_a2  DATE := fnd_api.g_miss_date
1108     , p5_a3  DATE := fnd_api.g_miss_date
1109     , p5_a4  VARCHAR2 := fnd_api.g_miss_char
1110     , p5_a5  NUMBER := 0-1962.0724
1111     , p5_a6  VARCHAR2 := fnd_api.g_miss_char
1112     , p5_a7  NUMBER := 0-1962.0724
1113     , p5_a8  VARCHAR2 := fnd_api.g_miss_char
1114     , p5_a9  DATE := fnd_api.g_miss_date
1115     , p5_a10  VARCHAR2 := fnd_api.g_miss_char
1116     , p5_a11  DATE := fnd_api.g_miss_date
1117     , p5_a12  VARCHAR2 := fnd_api.g_miss_char
1118     , p5_a13  NUMBER := 0-1962.0724
1119   )
1120 
1121   as
1122     ddp_krpar_rec okl_k_rate_params_pvt.krpar_rec_type;
1123     ddx_krpar_rec okl_k_rate_params_pvt.krpar_rec_type;
1124     ddindx binary_integer; indx binary_integer;
1125   begin
1126 
1127     -- copy data to the local IN or IN-OUT args, if any
1128 
1129 
1130 
1131 
1132 
1133     ddp_krpar_rec.khr_id := rosetta_g_miss_num_map(p5_a0);
1134     ddp_krpar_rec.parameter_type_code := p5_a1;
1135     ddp_krpar_rec.effective_from_date := rosetta_g_miss_date_in_map(p5_a2);
1136     ddp_krpar_rec.effective_to_date := rosetta_g_miss_date_in_map(p5_a3);
1137     ddp_krpar_rec.rate_delay_code := p5_a4;
1138     ddp_krpar_rec.rate_delay_frequency := rosetta_g_miss_num_map(p5_a5);
1139     ddp_krpar_rec.compounding_frequency_code := p5_a6;
1140     ddp_krpar_rec.calculation_formula_id := rosetta_g_miss_num_map(p5_a7);
1141     ddp_krpar_rec.catchup_basis_code := p5_a8;
1142     ddp_krpar_rec.catchup_start_date := rosetta_g_miss_date_in_map(p5_a9);
1143     ddp_krpar_rec.catchup_settlement_code := p5_a10;
1144     ddp_krpar_rec.rate_change_start_date := rosetta_g_miss_date_in_map(p5_a11);
1145     ddp_krpar_rec.rate_change_frequency_code := p5_a12;
1146     ddp_krpar_rec.rate_change_value := rosetta_g_miss_num_map(p5_a13);
1147 
1148 
1149     -- here's the delegated call to the old PL/SQL routine
1150     okl_k_rate_params_pvt.update_k_rate_params(p_api_version,
1151       p_init_msg_list,
1152       x_return_status,
1153       x_msg_count,
1154       x_msg_data,
1155       ddp_krpar_rec,
1156       ddx_krpar_rec);
1157 
1158     -- copy data back from the local variables to OUT or IN-OUT args, if any
1159 
1160 
1161 
1162 
1163 
1164 
1165     p6_a0 := rosetta_g_miss_num_map(ddx_krpar_rec.khr_id);
1166     p6_a1 := ddx_krpar_rec.parameter_type_code;
1167     p6_a2 := ddx_krpar_rec.effective_from_date;
1168     p6_a3 := ddx_krpar_rec.effective_to_date;
1169     p6_a4 := ddx_krpar_rec.rate_delay_code;
1170     p6_a5 := rosetta_g_miss_num_map(ddx_krpar_rec.rate_delay_frequency);
1171     p6_a6 := ddx_krpar_rec.compounding_frequency_code;
1172     p6_a7 := rosetta_g_miss_num_map(ddx_krpar_rec.calculation_formula_id);
1173     p6_a8 := ddx_krpar_rec.catchup_basis_code;
1174     p6_a9 := ddx_krpar_rec.catchup_start_date;
1175     p6_a10 := ddx_krpar_rec.catchup_settlement_code;
1176     p6_a11 := ddx_krpar_rec.rate_change_start_date;
1177     p6_a12 := ddx_krpar_rec.rate_change_frequency_code;
1178     p6_a13 := rosetta_g_miss_num_map(ddx_krpar_rec.rate_change_value);
1179   end;
1180 
1181   procedure update_k_rate_params(p_api_version  NUMBER
1182     , p_init_msg_list  VARCHAR2
1183     , x_return_status out nocopy  VARCHAR2
1184     , x_msg_count out nocopy  NUMBER
1185     , x_msg_data out nocopy  VARCHAR2
1186     , p6_a0 out nocopy  NUMBER
1187     , p6_a1 out nocopy  VARCHAR2
1188     , p6_a2 out nocopy  DATE
1189     , p6_a3 out nocopy  DATE
1190     , p6_a4 out nocopy  VARCHAR2
1191     , p6_a5 out nocopy  DATE
1192     , p6_a6 out nocopy  VARCHAR2
1193     , p5_a0  NUMBER := 0-1962.0724
1194     , p5_a1  VARCHAR2 := fnd_api.g_miss_char
1195     , p5_a2  DATE := fnd_api.g_miss_date
1196     , p5_a3  DATE := fnd_api.g_miss_date
1197     , p5_a4  VARCHAR2 := fnd_api.g_miss_char
1198     , p5_a5  DATE := fnd_api.g_miss_date
1199     , p5_a6  VARCHAR2 := fnd_api.g_miss_char
1200   )
1201 
1202   as
1203     ddp_krpc_rec okl_k_rate_params_pvt.krpc_rec_type;
1204     ddx_krpc_rec okl_k_rate_params_pvt.krpc_rec_type;
1205     ddindx binary_integer; indx binary_integer;
1206   begin
1207 
1208     -- copy data to the local IN or IN-OUT args, if any
1209 
1210 
1211 
1212 
1213 
1214     ddp_krpc_rec.khr_id := rosetta_g_miss_num_map(p5_a0);
1215     ddp_krpc_rec.parameter_type_code := p5_a1;
1216     ddp_krpc_rec.effective_from_date := rosetta_g_miss_date_in_map(p5_a2);
1217     ddp_krpc_rec.effective_to_date := rosetta_g_miss_date_in_map(p5_a3);
1218     ddp_krpc_rec.conversion_option_code := p5_a4;
1219     ddp_krpc_rec.next_conversion_date := rosetta_g_miss_date_in_map(p5_a5);
1220     ddp_krpc_rec.conversion_type_code := p5_a6;
1221 
1222 
1223     -- here's the delegated call to the old PL/SQL routine
1224     okl_k_rate_params_pvt.update_k_rate_params(p_api_version,
1225       p_init_msg_list,
1226       x_return_status,
1227       x_msg_count,
1228       x_msg_data,
1229       ddp_krpc_rec,
1230       ddx_krpc_rec);
1231 
1232     -- copy data back from the local variables to OUT or IN-OUT args, if any
1233 
1234 
1235 
1236 
1237 
1238 
1239     p6_a0 := rosetta_g_miss_num_map(ddx_krpc_rec.khr_id);
1240     p6_a1 := ddx_krpc_rec.parameter_type_code;
1241     p6_a2 := ddx_krpc_rec.effective_from_date;
1242     p6_a3 := ddx_krpc_rec.effective_to_date;
1243     p6_a4 := ddx_krpc_rec.conversion_option_code;
1244     p6_a5 := ddx_krpc_rec.next_conversion_date;
1245     p6_a6 := ddx_krpc_rec.conversion_type_code;
1246   end;
1247 
1248   procedure delete_k_rate_params(p_api_version  NUMBER
1249     , p_init_msg_list  VARCHAR2
1250     , x_return_status out nocopy  VARCHAR2
1251     , x_msg_count out nocopy  NUMBER
1252     , x_msg_data out nocopy  VARCHAR2
1253     , p5_a0 JTF_NUMBER_TABLE
1254     , p5_a1 JTF_VARCHAR2_TABLE_100
1255     , p5_a2 JTF_DATE_TABLE
1256   )
1257 
1258   as
1259     ddp_krpdel_tbl okl_k_rate_params_pvt.krpdel_tbl_type;
1260     ddindx binary_integer; indx binary_integer;
1261   begin
1262 
1263     -- copy data to the local IN or IN-OUT args, if any
1264 
1265 
1266 
1267 
1268 
1269     okl_k_rate_params_pvt_w.rosetta_table_copy_in_p1(ddp_krpdel_tbl, p5_a0
1270       , p5_a1
1271       , p5_a2
1272       );
1273 
1274     -- here's the delegated call to the old PL/SQL routine
1275     okl_k_rate_params_pvt.delete_k_rate_params(p_api_version,
1276       p_init_msg_list,
1277       x_return_status,
1278       x_msg_count,
1279       x_msg_data,
1280       ddp_krpdel_tbl);
1281 
1282     -- copy data back from the local variables to OUT or IN-OUT args, if any
1283 
1284 
1285 
1286 
1287 
1288   end;
1289 
1290   procedure validate_k_rate_params(p_api_version  NUMBER
1291     , p_init_msg_list  VARCHAR2
1292     , x_return_status out nocopy  VARCHAR2
1293     , x_msg_count out nocopy  NUMBER
1294     , x_msg_data out nocopy  VARCHAR2
1295     , p_product_id  NUMBER
1296     , p6_a0 JTF_NUMBER_TABLE
1297     , p6_a1 JTF_VARCHAR2_TABLE_100
1298     , p6_a2 JTF_DATE_TABLE
1299     , p6_a3 JTF_DATE_TABLE
1300     , p6_a4 JTF_NUMBER_TABLE
1301     , p6_a5 JTF_NUMBER_TABLE
1302     , p6_a6 JTF_DATE_TABLE
1303     , p6_a7 JTF_NUMBER_TABLE
1304     , p6_a8 JTF_NUMBER_TABLE
1305     , p6_a9 JTF_NUMBER_TABLE
1306     , p6_a10 JTF_VARCHAR2_TABLE_100
1307     , p6_a11 JTF_VARCHAR2_TABLE_100
1308     , p6_a12 JTF_VARCHAR2_TABLE_100
1309     , p6_a13 JTF_VARCHAR2_TABLE_100
1310     , p6_a14 JTF_VARCHAR2_TABLE_100
1311     , p6_a15 JTF_NUMBER_TABLE
1312     , p6_a16 JTF_VARCHAR2_TABLE_100
1313     , p6_a17 JTF_NUMBER_TABLE
1314     , p6_a18 JTF_VARCHAR2_TABLE_100
1315     , p6_a19 JTF_DATE_TABLE
1316     , p6_a20 JTF_VARCHAR2_TABLE_100
1317     , p6_a21 JTF_DATE_TABLE
1318     , p6_a22 JTF_VARCHAR2_TABLE_100
1319     , p6_a23 JTF_NUMBER_TABLE
1320     , p6_a24 JTF_VARCHAR2_TABLE_100
1321     , p6_a25 JTF_DATE_TABLE
1322     , p6_a26 JTF_VARCHAR2_TABLE_100
1323     , p6_a27 JTF_VARCHAR2_TABLE_100
1324     , p6_a28 JTF_VARCHAR2_TABLE_500
1325     , p6_a29 JTF_VARCHAR2_TABLE_500
1326     , p6_a30 JTF_VARCHAR2_TABLE_500
1327     , p6_a31 JTF_VARCHAR2_TABLE_500
1328     , p6_a32 JTF_VARCHAR2_TABLE_500
1329     , p6_a33 JTF_VARCHAR2_TABLE_500
1330     , p6_a34 JTF_VARCHAR2_TABLE_500
1331     , p6_a35 JTF_VARCHAR2_TABLE_500
1332     , p6_a36 JTF_VARCHAR2_TABLE_500
1333     , p6_a37 JTF_VARCHAR2_TABLE_500
1334     , p6_a38 JTF_VARCHAR2_TABLE_500
1335     , p6_a39 JTF_VARCHAR2_TABLE_500
1336     , p6_a40 JTF_VARCHAR2_TABLE_500
1337     , p6_a41 JTF_VARCHAR2_TABLE_500
1338     , p6_a42 JTF_VARCHAR2_TABLE_500
1339     , p6_a43 JTF_NUMBER_TABLE
1340     , p6_a44 JTF_DATE_TABLE
1341     , p6_a45 JTF_NUMBER_TABLE
1342     , p6_a46 JTF_DATE_TABLE
1343     , p6_a47 JTF_NUMBER_TABLE
1344     , p6_a48 JTF_VARCHAR2_TABLE_100
1345   )
1346 
1347   as
1348     ddp_k_rate_tbl okl_k_rate_params_pvt.krpv_tbl_type;
1349     ddindx binary_integer; indx binary_integer;
1350   begin
1351 
1352     -- copy data to the local IN or IN-OUT args, if any
1353 
1354 
1355 
1356 
1357 
1358 
1359     okl_krp_pvt_w.rosetta_table_copy_in_p2(ddp_k_rate_tbl, p6_a0
1360       , p6_a1
1361       , p6_a2
1362       , p6_a3
1363       , p6_a4
1364       , p6_a5
1365       , p6_a6
1366       , p6_a7
1367       , p6_a8
1368       , p6_a9
1369       , p6_a10
1370       , p6_a11
1371       , p6_a12
1372       , p6_a13
1373       , p6_a14
1374       , p6_a15
1375       , p6_a16
1376       , p6_a17
1377       , p6_a18
1378       , p6_a19
1379       , p6_a20
1380       , p6_a21
1381       , p6_a22
1382       , p6_a23
1383       , p6_a24
1384       , p6_a25
1385       , p6_a26
1386       , p6_a27
1387       , p6_a28
1388       , p6_a29
1389       , p6_a30
1390       , p6_a31
1391       , p6_a32
1392       , p6_a33
1393       , p6_a34
1394       , p6_a35
1395       , p6_a36
1396       , p6_a37
1397       , p6_a38
1398       , p6_a39
1399       , p6_a40
1400       , p6_a41
1401       , p6_a42
1402       , p6_a43
1403       , p6_a44
1404       , p6_a45
1405       , p6_a46
1406       , p6_a47
1407       , p6_a48
1408       );
1409 
1410     -- here's the delegated call to the old PL/SQL routine
1411     okl_k_rate_params_pvt.validate_k_rate_params(p_api_version,
1412       p_init_msg_list,
1413       x_return_status,
1414       x_msg_count,
1415       x_msg_data,
1416       p_product_id,
1417       ddp_k_rate_tbl);
1418 
1419     -- copy data back from the local variables to OUT or IN-OUT args, if any
1420 
1421 
1422 
1423 
1424 
1425 
1426   end;
1427 
1428   procedure generate_rate_summary(p_api_version  NUMBER
1429     , p_init_msg_list  VARCHAR2
1430     , x_return_status out nocopy  VARCHAR2
1431     , x_msg_count out nocopy  NUMBER
1432     , x_msg_data out nocopy  VARCHAR2
1433     , p_chr_id  NUMBER
1434     , p6_a0 out nocopy JTF_VARCHAR2_TABLE_100
1435     , p6_a1 out nocopy JTF_VARCHAR2_TABLE_100
1436     , p6_a2 out nocopy JTF_VARCHAR2_TABLE_100
1437     , p6_a3 out nocopy JTF_NUMBER_TABLE
1438     , p6_a4 out nocopy JTF_DATE_TABLE
1439     , p6_a5 out nocopy JTF_DATE_TABLE
1440   )
1441 
1442   as
1443     ddx_var_par_tbl okl_k_rate_params_pvt.var_prm_tbl_type;
1444     ddindx binary_integer; indx binary_integer;
1445   begin
1446 
1447     -- copy data to the local IN or IN-OUT args, if any
1448 
1449 
1450 
1451 
1452 
1453 
1454 
1455     -- here's the delegated call to the old PL/SQL routine
1456     okl_k_rate_params_pvt.generate_rate_summary(p_api_version,
1457       p_init_msg_list,
1458       x_return_status,
1459       x_msg_count,
1460       x_msg_data,
1461       p_chr_id,
1462       ddx_var_par_tbl);
1463 
1464     -- copy data back from the local variables to OUT or IN-OUT args, if any
1465 
1466 
1467 
1468 
1469 
1470 
1471     okl_k_rate_params_pvt_w.rosetta_table_copy_out_p6(ddx_var_par_tbl, p6_a0
1472       , p6_a1
1473       , p6_a2
1474       , p6_a3
1475       , p6_a4
1476       , p6_a5
1477       );
1478   end;
1479 
1480   procedure default_k_rate_params(p_api_version  NUMBER
1481     , p_init_msg_list  VARCHAR2
1482     , x_return_status out nocopy  VARCHAR2
1483     , x_msg_count out nocopy  NUMBER
1484     , x_msg_data out nocopy  VARCHAR2
1485     , p_deal_type  VARCHAR2
1486     , p_rev_rec_method  VARCHAR2
1487     , p_int_calc_basis  VARCHAR2
1488     , p_column_name  VARCHAR2
1489     , p9_a0 in out nocopy  NUMBER
1490     , p9_a1 in out nocopy  VARCHAR2
1491     , p9_a2 in out nocopy  DATE
1492     , p9_a3 in out nocopy  DATE
1493     , p9_a4 in out nocopy  NUMBER
1494     , p9_a5 in out nocopy  NUMBER
1495     , p9_a6 in out nocopy  DATE
1496     , p9_a7 in out nocopy  NUMBER
1497     , p9_a8 in out nocopy  NUMBER
1498     , p9_a9 in out nocopy  NUMBER
1499     , p9_a10 in out nocopy  VARCHAR2
1500     , p9_a11 in out nocopy  VARCHAR2
1501     , p9_a12 in out nocopy  VARCHAR2
1502     , p9_a13 in out nocopy  VARCHAR2
1503     , p9_a14 in out nocopy  VARCHAR2
1504     , p9_a15 in out nocopy  NUMBER
1505     , p9_a16 in out nocopy  VARCHAR2
1506     , p9_a17 in out nocopy  NUMBER
1507     , p9_a18 in out nocopy  VARCHAR2
1508     , p9_a19 in out nocopy  DATE
1509     , p9_a20 in out nocopy  VARCHAR2
1510     , p9_a21 in out nocopy  DATE
1511     , p9_a22 in out nocopy  VARCHAR2
1512     , p9_a23 in out nocopy  NUMBER
1513     , p9_a24 in out nocopy  VARCHAR2
1514     , p9_a25 in out nocopy  DATE
1515     , p9_a26 in out nocopy  VARCHAR2
1516     , p9_a27 in out nocopy  VARCHAR2
1517     , p9_a28 in out nocopy  VARCHAR2
1518     , p9_a29 in out nocopy  VARCHAR2
1519     , p9_a30 in out nocopy  VARCHAR2
1520     , p9_a31 in out nocopy  VARCHAR2
1521     , p9_a32 in out nocopy  VARCHAR2
1522     , p9_a33 in out nocopy  VARCHAR2
1523     , p9_a34 in out nocopy  VARCHAR2
1524     , p9_a35 in out nocopy  VARCHAR2
1525     , p9_a36 in out nocopy  VARCHAR2
1526     , p9_a37 in out nocopy  VARCHAR2
1527     , p9_a38 in out nocopy  VARCHAR2
1528     , p9_a39 in out nocopy  VARCHAR2
1529     , p9_a40 in out nocopy  VARCHAR2
1530     , p9_a41 in out nocopy  VARCHAR2
1531     , p9_a42 in out nocopy  VARCHAR2
1532     , p9_a43 in out nocopy  NUMBER
1533     , p9_a44 in out nocopy  DATE
1534     , p9_a45 in out nocopy  NUMBER
1535     , p9_a46 in out nocopy  DATE
1536     , p9_a47 in out nocopy  NUMBER
1537     , p9_a48 in out nocopy  VARCHAR2
1538   )
1539 
1540   as
1541     ddp_krpv_rec okl_k_rate_params_pvt.krpv_rec_type;
1542     ddindx binary_integer; indx binary_integer;
1543   begin
1544 
1545     -- copy data to the local IN or IN-OUT args, if any
1546 
1547 
1548 
1549 
1550 
1551 
1552 
1553 
1554 
1555     ddp_krpv_rec.khr_id := rosetta_g_miss_num_map(p9_a0);
1556     ddp_krpv_rec.parameter_type_code := p9_a1;
1557     ddp_krpv_rec.effective_from_date := rosetta_g_miss_date_in_map(p9_a2);
1558     ddp_krpv_rec.effective_to_date := rosetta_g_miss_date_in_map(p9_a3);
1559     ddp_krpv_rec.interest_index_id := rosetta_g_miss_num_map(p9_a4);
1560     ddp_krpv_rec.base_rate := rosetta_g_miss_num_map(p9_a5);
1561     ddp_krpv_rec.interest_start_date := rosetta_g_miss_date_in_map(p9_a6);
1562     ddp_krpv_rec.adder_rate := rosetta_g_miss_num_map(p9_a7);
1563     ddp_krpv_rec.maximum_rate := rosetta_g_miss_num_map(p9_a8);
1564     ddp_krpv_rec.minimum_rate := rosetta_g_miss_num_map(p9_a9);
1565     ddp_krpv_rec.principal_basis_code := p9_a10;
1566     ddp_krpv_rec.days_in_a_month_code := p9_a11;
1567     ddp_krpv_rec.days_in_a_year_code := p9_a12;
1568     ddp_krpv_rec.interest_basis_code := p9_a13;
1569     ddp_krpv_rec.rate_delay_code := p9_a14;
1570     ddp_krpv_rec.rate_delay_frequency := rosetta_g_miss_num_map(p9_a15);
1571     ddp_krpv_rec.compounding_frequency_code := p9_a16;
1572     ddp_krpv_rec.calculation_formula_id := rosetta_g_miss_num_map(p9_a17);
1573     ddp_krpv_rec.catchup_basis_code := p9_a18;
1574     ddp_krpv_rec.catchup_start_date := rosetta_g_miss_date_in_map(p9_a19);
1575     ddp_krpv_rec.catchup_settlement_code := p9_a20;
1576     ddp_krpv_rec.rate_change_start_date := rosetta_g_miss_date_in_map(p9_a21);
1577     ddp_krpv_rec.rate_change_frequency_code := p9_a22;
1578     ddp_krpv_rec.rate_change_value := rosetta_g_miss_num_map(p9_a23);
1579     ddp_krpv_rec.conversion_option_code := p9_a24;
1580     ddp_krpv_rec.next_conversion_date := rosetta_g_miss_date_in_map(p9_a25);
1581     ddp_krpv_rec.conversion_type_code := p9_a26;
1582     ddp_krpv_rec.attribute_category := p9_a27;
1583     ddp_krpv_rec.attribute1 := p9_a28;
1584     ddp_krpv_rec.attribute2 := p9_a29;
1585     ddp_krpv_rec.attribute3 := p9_a30;
1586     ddp_krpv_rec.attribute4 := p9_a31;
1587     ddp_krpv_rec.attribute5 := p9_a32;
1588     ddp_krpv_rec.attribute6 := p9_a33;
1589     ddp_krpv_rec.attribute7 := p9_a34;
1590     ddp_krpv_rec.attribute8 := p9_a35;
1591     ddp_krpv_rec.attribute9 := p9_a36;
1592     ddp_krpv_rec.attribute10 := p9_a37;
1593     ddp_krpv_rec.attribute11 := p9_a38;
1594     ddp_krpv_rec.attribute12 := p9_a39;
1595     ddp_krpv_rec.attribute13 := p9_a40;
1596     ddp_krpv_rec.attribute14 := p9_a41;
1597     ddp_krpv_rec.attribute15 := p9_a42;
1598     ddp_krpv_rec.created_by := rosetta_g_miss_num_map(p9_a43);
1599     ddp_krpv_rec.creation_date := rosetta_g_miss_date_in_map(p9_a44);
1600     ddp_krpv_rec.last_updated_by := rosetta_g_miss_num_map(p9_a45);
1601     ddp_krpv_rec.last_update_date := rosetta_g_miss_date_in_map(p9_a46);
1602     ddp_krpv_rec.last_update_login := rosetta_g_miss_num_map(p9_a47);
1603     ddp_krpv_rec.catchup_frequency_code := p9_a48;
1604 
1605     -- here's the delegated call to the old PL/SQL routine
1606     okl_k_rate_params_pvt.default_k_rate_params(p_api_version,
1607       p_init_msg_list,
1608       x_return_status,
1609       x_msg_count,
1610       x_msg_data,
1611       p_deal_type,
1612       p_rev_rec_method,
1613       p_int_calc_basis,
1614       p_column_name,
1615       ddp_krpv_rec);
1616 
1617     -- copy data back from the local variables to OUT or IN-OUT args, if any
1618 
1619 
1620 
1621 
1622 
1623 
1624 
1625 
1626 
1627     p9_a0 := rosetta_g_miss_num_map(ddp_krpv_rec.khr_id);
1628     p9_a1 := ddp_krpv_rec.parameter_type_code;
1629     p9_a2 := ddp_krpv_rec.effective_from_date;
1630     p9_a3 := ddp_krpv_rec.effective_to_date;
1631     p9_a4 := rosetta_g_miss_num_map(ddp_krpv_rec.interest_index_id);
1632     p9_a5 := rosetta_g_miss_num_map(ddp_krpv_rec.base_rate);
1633     p9_a6 := ddp_krpv_rec.interest_start_date;
1634     p9_a7 := rosetta_g_miss_num_map(ddp_krpv_rec.adder_rate);
1635     p9_a8 := rosetta_g_miss_num_map(ddp_krpv_rec.maximum_rate);
1636     p9_a9 := rosetta_g_miss_num_map(ddp_krpv_rec.minimum_rate);
1637     p9_a10 := ddp_krpv_rec.principal_basis_code;
1638     p9_a11 := ddp_krpv_rec.days_in_a_month_code;
1639     p9_a12 := ddp_krpv_rec.days_in_a_year_code;
1640     p9_a13 := ddp_krpv_rec.interest_basis_code;
1641     p9_a14 := ddp_krpv_rec.rate_delay_code;
1642     p9_a15 := rosetta_g_miss_num_map(ddp_krpv_rec.rate_delay_frequency);
1643     p9_a16 := ddp_krpv_rec.compounding_frequency_code;
1644     p9_a17 := rosetta_g_miss_num_map(ddp_krpv_rec.calculation_formula_id);
1645     p9_a18 := ddp_krpv_rec.catchup_basis_code;
1646     p9_a19 := ddp_krpv_rec.catchup_start_date;
1647     p9_a20 := ddp_krpv_rec.catchup_settlement_code;
1648     p9_a21 := ddp_krpv_rec.rate_change_start_date;
1649     p9_a22 := ddp_krpv_rec.rate_change_frequency_code;
1650     p9_a23 := rosetta_g_miss_num_map(ddp_krpv_rec.rate_change_value);
1651     p9_a24 := ddp_krpv_rec.conversion_option_code;
1652     p9_a25 := ddp_krpv_rec.next_conversion_date;
1653     p9_a26 := ddp_krpv_rec.conversion_type_code;
1654     p9_a27 := ddp_krpv_rec.attribute_category;
1655     p9_a28 := ddp_krpv_rec.attribute1;
1656     p9_a29 := ddp_krpv_rec.attribute2;
1657     p9_a30 := ddp_krpv_rec.attribute3;
1658     p9_a31 := ddp_krpv_rec.attribute4;
1659     p9_a32 := ddp_krpv_rec.attribute5;
1660     p9_a33 := ddp_krpv_rec.attribute6;
1661     p9_a34 := ddp_krpv_rec.attribute7;
1662     p9_a35 := ddp_krpv_rec.attribute8;
1663     p9_a36 := ddp_krpv_rec.attribute9;
1664     p9_a37 := ddp_krpv_rec.attribute10;
1665     p9_a38 := ddp_krpv_rec.attribute11;
1666     p9_a39 := ddp_krpv_rec.attribute12;
1667     p9_a40 := ddp_krpv_rec.attribute13;
1668     p9_a41 := ddp_krpv_rec.attribute14;
1669     p9_a42 := ddp_krpv_rec.attribute15;
1670     p9_a43 := rosetta_g_miss_num_map(ddp_krpv_rec.created_by);
1671     p9_a44 := ddp_krpv_rec.creation_date;
1672     p9_a45 := rosetta_g_miss_num_map(ddp_krpv_rec.last_updated_by);
1673     p9_a46 := ddp_krpv_rec.last_update_date;
1674     p9_a47 := rosetta_g_miss_num_map(ddp_krpv_rec.last_update_login);
1675     p9_a48 := ddp_krpv_rec.catchup_frequency_code;
1676   end;
1677 
1678   procedure cascade_contract_start_date(p_api_version  NUMBER
1679     , p_init_msg_list  VARCHAR2
1680     , x_return_status out nocopy  VARCHAR2
1681     , x_msg_count out nocopy  NUMBER
1682     , x_msg_data out nocopy  VARCHAR2
1683     , p_chr_id  NUMBER
1684     , p_new_start_date  date
1685   )
1686 
1687   as
1688     ddp_new_start_date date;
1689     ddindx binary_integer; indx binary_integer;
1690   begin
1691 
1692     -- copy data to the local IN or IN-OUT args, if any
1693 
1694 
1695 
1696 
1697 
1698 
1699     ddp_new_start_date := rosetta_g_miss_date_in_map(p_new_start_date);
1700 
1701     -- here's the delegated call to the old PL/SQL routine
1702     okl_k_rate_params_pvt.cascade_contract_start_date(p_api_version,
1703       p_init_msg_list,
1704       x_return_status,
1705       x_msg_count,
1706       x_msg_data,
1707       p_chr_id,
1708       ddp_new_start_date);
1709 
1710     -- copy data back from the local variables to OUT or IN-OUT args, if any
1711 
1712 
1713 
1714 
1715 
1716 
1717   end;
1718 
1719   procedure get_rate_rec(p_chr_id  NUMBER
1720     , p_parameter_type_code  VARCHAR2
1721     , p_effective_from_date  date
1722     , p3_a0 out nocopy  NUMBER
1723     , p3_a1 out nocopy  VARCHAR2
1724     , p3_a2 out nocopy  DATE
1725     , p3_a3 out nocopy  DATE
1726     , p3_a4 out nocopy  NUMBER
1727     , p3_a5 out nocopy  NUMBER
1728     , p3_a6 out nocopy  DATE
1729     , p3_a7 out nocopy  NUMBER
1730     , p3_a8 out nocopy  NUMBER
1731     , p3_a9 out nocopy  NUMBER
1732     , p3_a10 out nocopy  VARCHAR2
1733     , p3_a11 out nocopy  VARCHAR2
1734     , p3_a12 out nocopy  VARCHAR2
1735     , p3_a13 out nocopy  VARCHAR2
1736     , p3_a14 out nocopy  VARCHAR2
1737     , p3_a15 out nocopy  NUMBER
1738     , p3_a16 out nocopy  VARCHAR2
1739     , p3_a17 out nocopy  NUMBER
1740     , p3_a18 out nocopy  VARCHAR2
1741     , p3_a19 out nocopy  DATE
1742     , p3_a20 out nocopy  VARCHAR2
1743     , p3_a21 out nocopy  DATE
1744     , p3_a22 out nocopy  VARCHAR2
1745     , p3_a23 out nocopy  NUMBER
1746     , p3_a24 out nocopy  VARCHAR2
1747     , p3_a25 out nocopy  DATE
1748     , p3_a26 out nocopy  VARCHAR2
1749     , p3_a27 out nocopy  VARCHAR2
1750     , p3_a28 out nocopy  VARCHAR2
1751     , p3_a29 out nocopy  VARCHAR2
1752     , p3_a30 out nocopy  VARCHAR2
1753     , p3_a31 out nocopy  VARCHAR2
1754     , p3_a32 out nocopy  VARCHAR2
1755     , p3_a33 out nocopy  VARCHAR2
1756     , p3_a34 out nocopy  VARCHAR2
1757     , p3_a35 out nocopy  VARCHAR2
1758     , p3_a36 out nocopy  VARCHAR2
1759     , p3_a37 out nocopy  VARCHAR2
1760     , p3_a38 out nocopy  VARCHAR2
1761     , p3_a39 out nocopy  VARCHAR2
1762     , p3_a40 out nocopy  VARCHAR2
1763     , p3_a41 out nocopy  VARCHAR2
1764     , p3_a42 out nocopy  VARCHAR2
1765     , p3_a43 out nocopy  NUMBER
1766     , p3_a44 out nocopy  DATE
1767     , p3_a45 out nocopy  NUMBER
1768     , p3_a46 out nocopy  DATE
1769     , p3_a47 out nocopy  NUMBER
1770     , p3_a48 out nocopy  VARCHAR2
1771     , x_no_data_found out nocopy  number
1772   )
1773 
1774   as
1775     ddp_effective_from_date date;
1776     ddx_krpv_rec okl_k_rate_params_pvt.krpv_rec_type;
1777     ddx_no_data_found boolean;
1778     ddindx binary_integer; indx binary_integer;
1779   begin
1780 
1781     -- copy data to the local IN or IN-OUT args, if any
1782 
1783 
1784     ddp_effective_from_date := rosetta_g_miss_date_in_map(p_effective_from_date);
1785 
1786 
1787 
1788     -- here's the delegated call to the old PL/SQL routine
1789     okl_k_rate_params_pvt.get_rate_rec(p_chr_id,
1790       p_parameter_type_code,
1791       ddp_effective_from_date,
1792       ddx_krpv_rec,
1793       ddx_no_data_found);
1794 
1795     -- copy data back from the local variables to OUT or IN-OUT args, if any
1796 
1797 
1798 
1799     p3_a0 := rosetta_g_miss_num_map(ddx_krpv_rec.khr_id);
1800     p3_a1 := ddx_krpv_rec.parameter_type_code;
1801     p3_a2 := ddx_krpv_rec.effective_from_date;
1802     p3_a3 := ddx_krpv_rec.effective_to_date;
1803     p3_a4 := rosetta_g_miss_num_map(ddx_krpv_rec.interest_index_id);
1804     p3_a5 := rosetta_g_miss_num_map(ddx_krpv_rec.base_rate);
1805     p3_a6 := ddx_krpv_rec.interest_start_date;
1806     p3_a7 := rosetta_g_miss_num_map(ddx_krpv_rec.adder_rate);
1807     p3_a8 := rosetta_g_miss_num_map(ddx_krpv_rec.maximum_rate);
1808     p3_a9 := rosetta_g_miss_num_map(ddx_krpv_rec.minimum_rate);
1809     p3_a10 := ddx_krpv_rec.principal_basis_code;
1810     p3_a11 := ddx_krpv_rec.days_in_a_month_code;
1811     p3_a12 := ddx_krpv_rec.days_in_a_year_code;
1812     p3_a13 := ddx_krpv_rec.interest_basis_code;
1813     p3_a14 := ddx_krpv_rec.rate_delay_code;
1814     p3_a15 := rosetta_g_miss_num_map(ddx_krpv_rec.rate_delay_frequency);
1815     p3_a16 := ddx_krpv_rec.compounding_frequency_code;
1816     p3_a17 := rosetta_g_miss_num_map(ddx_krpv_rec.calculation_formula_id);
1817     p3_a18 := ddx_krpv_rec.catchup_basis_code;
1818     p3_a19 := ddx_krpv_rec.catchup_start_date;
1819     p3_a20 := ddx_krpv_rec.catchup_settlement_code;
1820     p3_a21 := ddx_krpv_rec.rate_change_start_date;
1821     p3_a22 := ddx_krpv_rec.rate_change_frequency_code;
1822     p3_a23 := rosetta_g_miss_num_map(ddx_krpv_rec.rate_change_value);
1823     p3_a24 := ddx_krpv_rec.conversion_option_code;
1824     p3_a25 := ddx_krpv_rec.next_conversion_date;
1825     p3_a26 := ddx_krpv_rec.conversion_type_code;
1826     p3_a27 := ddx_krpv_rec.attribute_category;
1827     p3_a28 := ddx_krpv_rec.attribute1;
1828     p3_a29 := ddx_krpv_rec.attribute2;
1829     p3_a30 := ddx_krpv_rec.attribute3;
1830     p3_a31 := ddx_krpv_rec.attribute4;
1831     p3_a32 := ddx_krpv_rec.attribute5;
1832     p3_a33 := ddx_krpv_rec.attribute6;
1833     p3_a34 := ddx_krpv_rec.attribute7;
1834     p3_a35 := ddx_krpv_rec.attribute8;
1835     p3_a36 := ddx_krpv_rec.attribute9;
1836     p3_a37 := ddx_krpv_rec.attribute10;
1837     p3_a38 := ddx_krpv_rec.attribute11;
1838     p3_a39 := ddx_krpv_rec.attribute12;
1839     p3_a40 := ddx_krpv_rec.attribute13;
1840     p3_a41 := ddx_krpv_rec.attribute14;
1841     p3_a42 := ddx_krpv_rec.attribute15;
1842     p3_a43 := rosetta_g_miss_num_map(ddx_krpv_rec.created_by);
1843     p3_a44 := ddx_krpv_rec.creation_date;
1844     p3_a45 := rosetta_g_miss_num_map(ddx_krpv_rec.last_updated_by);
1845     p3_a46 := ddx_krpv_rec.last_update_date;
1846     p3_a47 := rosetta_g_miss_num_map(ddx_krpv_rec.last_update_login);
1847     p3_a48 := ddx_krpv_rec.catchup_frequency_code;
1848 
1849   if ddx_no_data_found is null
1850     then x_no_data_found := null;
1851   elsif ddx_no_data_found
1852     then x_no_data_found := 1;
1853   else x_no_data_found := 0;
1854   end if;
1855   end;
1856 
1857   procedure check_rebook_allowed(p_api_version  NUMBER
1858     , p_init_msg_list  VARCHAR2
1859     , x_return_status out nocopy  VARCHAR2
1860     , x_msg_count out nocopy  NUMBER
1861     , x_msg_data out nocopy  VARCHAR2
1862     , p_chr_id  NUMBER
1863     , p_rebook_date  date
1864   )
1865 
1866   as
1867     ddp_rebook_date date;
1868     ddindx binary_integer; indx binary_integer;
1869   begin
1870 
1871     -- copy data to the local IN or IN-OUT args, if any
1872 
1873 
1874 
1875 
1876 
1877 
1878     ddp_rebook_date := rosetta_g_miss_date_in_map(p_rebook_date);
1879 
1880     -- here's the delegated call to the old PL/SQL routine
1881     okl_k_rate_params_pvt.check_rebook_allowed(p_api_version,
1882       p_init_msg_list,
1883       x_return_status,
1884       x_msg_count,
1885       x_msg_data,
1886       p_chr_id,
1887       ddp_rebook_date);
1888 
1889     -- copy data back from the local variables to OUT or IN-OUT args, if any
1890 
1891 
1892 
1893 
1894 
1895 
1896   end;
1897 
1898   procedure check_base_rate(p_khr_id  NUMBER
1899     , x_base_rate_defined out nocopy  number
1900     , x_return_status out nocopy  VARCHAR2
1901   )
1902 
1903   as
1904     ddx_base_rate_defined boolean;
1905     ddindx binary_integer; indx binary_integer;
1906   begin
1907 
1908     -- copy data to the local IN or IN-OUT args, if any
1909 
1910 
1911 
1912     -- here's the delegated call to the old PL/SQL routine
1913     okl_k_rate_params_pvt.check_base_rate(p_khr_id,
1914       ddx_base_rate_defined,
1915       x_return_status);
1916 
1917     -- copy data back from the local variables to OUT or IN-OUT args, if any
1918 
1919   if ddx_base_rate_defined is null
1920     then x_base_rate_defined := null;
1921   elsif ddx_base_rate_defined
1922     then x_base_rate_defined := 1;
1923   else x_base_rate_defined := 0;
1924   end if;
1925 
1926   end;
1927 
1928   procedure check_principal_payment(p_api_version  NUMBER
1929     , p_init_msg_list  VARCHAR2
1930     , x_return_status out nocopy  VARCHAR2
1931     , x_msg_count out nocopy  NUMBER
1932     , x_msg_data out nocopy  VARCHAR2
1933     , p_chr_id  NUMBER
1934     , x_principal_payment_defined out nocopy  number
1935   )
1936 
1937   as
1938     ddx_principal_payment_defined boolean;
1939     ddindx binary_integer; indx binary_integer;
1940   begin
1941 
1942     -- copy data to the local IN or IN-OUT args, if any
1943 
1944 
1945 
1946 
1947 
1948 
1949 
1950     -- here's the delegated call to the old PL/SQL routine
1951     okl_k_rate_params_pvt.check_principal_payment(p_api_version,
1952       p_init_msg_list,
1953       x_return_status,
1954       x_msg_count,
1955       x_msg_data,
1956       p_chr_id,
1957       ddx_principal_payment_defined);
1958 
1959     -- copy data back from the local variables to OUT or IN-OUT args, if any
1960 
1961 
1962 
1963 
1964 
1965 
1966   if ddx_principal_payment_defined is null
1967     then x_principal_payment_defined := null;
1968   elsif ddx_principal_payment_defined
1969     then x_principal_payment_defined := 1;
1970   else x_principal_payment_defined := 0;
1971   end if;
1972   end;
1973 
1974   procedure copy_k_rate_params(p_api_version  NUMBER
1975     , p_init_msg_list  VARCHAR2
1976     , x_return_status out nocopy  VARCHAR2
1977     , x_msg_count out nocopy  NUMBER
1978     , x_msg_data out nocopy  VARCHAR2
1979     , p_khr_id  NUMBER
1980     , p_effective_from_date  date
1981     , p_rate_type  VARCHAR2
1982     , p8_a0 out nocopy  NUMBER
1983     , p8_a1 out nocopy  VARCHAR2
1984     , p8_a2 out nocopy  DATE
1985     , p8_a3 out nocopy  DATE
1986     , p8_a4 out nocopy  NUMBER
1987     , p8_a5 out nocopy  NUMBER
1988     , p8_a6 out nocopy  DATE
1989     , p8_a7 out nocopy  NUMBER
1990     , p8_a8 out nocopy  NUMBER
1991     , p8_a9 out nocopy  NUMBER
1992     , p8_a10 out nocopy  VARCHAR2
1993     , p8_a11 out nocopy  VARCHAR2
1994     , p8_a12 out nocopy  VARCHAR2
1995     , p8_a13 out nocopy  VARCHAR2
1996     , p8_a14 out nocopy  VARCHAR2
1997     , p8_a15 out nocopy  NUMBER
1998     , p8_a16 out nocopy  VARCHAR2
1999     , p8_a17 out nocopy  NUMBER
2000     , p8_a18 out nocopy  VARCHAR2
2001     , p8_a19 out nocopy  DATE
2002     , p8_a20 out nocopy  VARCHAR2
2003     , p8_a21 out nocopy  DATE
2004     , p8_a22 out nocopy  VARCHAR2
2005     , p8_a23 out nocopy  NUMBER
2006     , p8_a24 out nocopy  VARCHAR2
2007     , p8_a25 out nocopy  DATE
2008     , p8_a26 out nocopy  VARCHAR2
2009     , p8_a27 out nocopy  VARCHAR2
2010     , p8_a28 out nocopy  VARCHAR2
2011     , p8_a29 out nocopy  VARCHAR2
2012     , p8_a30 out nocopy  VARCHAR2
2013     , p8_a31 out nocopy  VARCHAR2
2014     , p8_a32 out nocopy  VARCHAR2
2015     , p8_a33 out nocopy  VARCHAR2
2016     , p8_a34 out nocopy  VARCHAR2
2017     , p8_a35 out nocopy  VARCHAR2
2018     , p8_a36 out nocopy  VARCHAR2
2019     , p8_a37 out nocopy  VARCHAR2
2020     , p8_a38 out nocopy  VARCHAR2
2021     , p8_a39 out nocopy  VARCHAR2
2022     , p8_a40 out nocopy  VARCHAR2
2023     , p8_a41 out nocopy  VARCHAR2
2024     , p8_a42 out nocopy  VARCHAR2
2025     , p8_a43 out nocopy  NUMBER
2026     , p8_a44 out nocopy  DATE
2027     , p8_a45 out nocopy  NUMBER
2028     , p8_a46 out nocopy  DATE
2029     , p8_a47 out nocopy  NUMBER
2030     , p8_a48 out nocopy  VARCHAR2
2031   )
2032 
2033   as
2034     ddp_effective_from_date date;
2035     ddx_krpv_rec okl_k_rate_params_pvt.krpv_rec_type;
2036     ddindx binary_integer; indx binary_integer;
2037   begin
2038 
2039     -- copy data to the local IN or IN-OUT args, if any
2040 
2041 
2042 
2043 
2044 
2045 
2046     ddp_effective_from_date := rosetta_g_miss_date_in_map(p_effective_from_date);
2047 
2048 
2049 
2050     -- here's the delegated call to the old PL/SQL routine
2051     okl_k_rate_params_pvt.copy_k_rate_params(p_api_version,
2052       p_init_msg_list,
2053       x_return_status,
2054       x_msg_count,
2055       x_msg_data,
2056       p_khr_id,
2057       ddp_effective_from_date,
2058       p_rate_type,
2059       ddx_krpv_rec);
2060 
2061     -- copy data back from the local variables to OUT or IN-OUT args, if any
2062 
2063 
2064 
2065 
2066 
2067 
2068 
2069 
2070     p8_a0 := rosetta_g_miss_num_map(ddx_krpv_rec.khr_id);
2071     p8_a1 := ddx_krpv_rec.parameter_type_code;
2072     p8_a2 := ddx_krpv_rec.effective_from_date;
2073     p8_a3 := ddx_krpv_rec.effective_to_date;
2074     p8_a4 := rosetta_g_miss_num_map(ddx_krpv_rec.interest_index_id);
2075     p8_a5 := rosetta_g_miss_num_map(ddx_krpv_rec.base_rate);
2076     p8_a6 := ddx_krpv_rec.interest_start_date;
2077     p8_a7 := rosetta_g_miss_num_map(ddx_krpv_rec.adder_rate);
2078     p8_a8 := rosetta_g_miss_num_map(ddx_krpv_rec.maximum_rate);
2079     p8_a9 := rosetta_g_miss_num_map(ddx_krpv_rec.minimum_rate);
2080     p8_a10 := ddx_krpv_rec.principal_basis_code;
2081     p8_a11 := ddx_krpv_rec.days_in_a_month_code;
2082     p8_a12 := ddx_krpv_rec.days_in_a_year_code;
2083     p8_a13 := ddx_krpv_rec.interest_basis_code;
2084     p8_a14 := ddx_krpv_rec.rate_delay_code;
2085     p8_a15 := rosetta_g_miss_num_map(ddx_krpv_rec.rate_delay_frequency);
2086     p8_a16 := ddx_krpv_rec.compounding_frequency_code;
2087     p8_a17 := rosetta_g_miss_num_map(ddx_krpv_rec.calculation_formula_id);
2088     p8_a18 := ddx_krpv_rec.catchup_basis_code;
2089     p8_a19 := ddx_krpv_rec.catchup_start_date;
2090     p8_a20 := ddx_krpv_rec.catchup_settlement_code;
2091     p8_a21 := ddx_krpv_rec.rate_change_start_date;
2092     p8_a22 := ddx_krpv_rec.rate_change_frequency_code;
2093     p8_a23 := rosetta_g_miss_num_map(ddx_krpv_rec.rate_change_value);
2094     p8_a24 := ddx_krpv_rec.conversion_option_code;
2095     p8_a25 := ddx_krpv_rec.next_conversion_date;
2096     p8_a26 := ddx_krpv_rec.conversion_type_code;
2097     p8_a27 := ddx_krpv_rec.attribute_category;
2098     p8_a28 := ddx_krpv_rec.attribute1;
2099     p8_a29 := ddx_krpv_rec.attribute2;
2100     p8_a30 := ddx_krpv_rec.attribute3;
2101     p8_a31 := ddx_krpv_rec.attribute4;
2102     p8_a32 := ddx_krpv_rec.attribute5;
2103     p8_a33 := ddx_krpv_rec.attribute6;
2104     p8_a34 := ddx_krpv_rec.attribute7;
2105     p8_a35 := ddx_krpv_rec.attribute8;
2106     p8_a36 := ddx_krpv_rec.attribute9;
2107     p8_a37 := ddx_krpv_rec.attribute10;
2108     p8_a38 := ddx_krpv_rec.attribute11;
2109     p8_a39 := ddx_krpv_rec.attribute12;
2110     p8_a40 := ddx_krpv_rec.attribute13;
2111     p8_a41 := ddx_krpv_rec.attribute14;
2112     p8_a42 := ddx_krpv_rec.attribute15;
2113     p8_a43 := rosetta_g_miss_num_map(ddx_krpv_rec.created_by);
2114     p8_a44 := ddx_krpv_rec.creation_date;
2115     p8_a45 := rosetta_g_miss_num_map(ddx_krpv_rec.last_updated_by);
2116     p8_a46 := ddx_krpv_rec.last_update_date;
2117     p8_a47 := rosetta_g_miss_num_map(ddx_krpv_rec.last_update_login);
2118     p8_a48 := ddx_krpv_rec.catchup_frequency_code;
2119   end;
2120 
2121 end okl_k_rate_params_pvt_w;