[Home] [Help]
PACKAGE BODY: APPS.OKL_CURE_REQ_AMT_PVT_W
Source
1 package body okl_cure_req_amt_pvt_w as
2 /* $Header: OKLECRKB.pls 115.0 2003/04/25 04:16:04 smereddy 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_p3(t out nocopy okl_cure_req_amt_pvt.cure_req_tbl_type, a0 JTF_NUMBER_TABLE
23 , a1 JTF_NUMBER_TABLE
24 , a2 JTF_NUMBER_TABLE
25 , a3 JTF_NUMBER_TABLE
26 ) as
27 ddindx binary_integer; indx binary_integer;
28 begin
29 if a0 is not null and a0.count > 0 then
30 if a0.count > 0 then
31 indx := a0.first;
32 ddindx := 1;
33 while true loop
34 t(ddindx).cure_amount_id := rosetta_g_miss_num_map(a0(indx));
35 t(ddindx).cure_report_id := rosetta_g_miss_num_map(a1(indx));
36 t(ddindx).chr_id := rosetta_g_miss_num_map(a2(indx));
37 t(ddindx).vendor_id := rosetta_g_miss_num_map(a3(indx));
38 ddindx := ddindx+1;
39 if a0.last =indx
40 then exit;
41 end if;
42 indx := a0.next(indx);
43 end loop;
44 end if;
45 end if;
46 end rosetta_table_copy_in_p3;
47 procedure rosetta_table_copy_out_p3(t okl_cure_req_amt_pvt.cure_req_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
48 , a1 out nocopy JTF_NUMBER_TABLE
49 , a2 out nocopy JTF_NUMBER_TABLE
50 , a3 out nocopy JTF_NUMBER_TABLE
51 ) as
52 ddindx binary_integer; indx binary_integer;
53 begin
54 if t is null or t.count = 0 then
55 a0 := JTF_NUMBER_TABLE();
56 a1 := JTF_NUMBER_TABLE();
57 a2 := JTF_NUMBER_TABLE();
58 a3 := JTF_NUMBER_TABLE();
59 else
60 a0 := JTF_NUMBER_TABLE();
61 a1 := JTF_NUMBER_TABLE();
62 a2 := JTF_NUMBER_TABLE();
63 a3 := JTF_NUMBER_TABLE();
64 if t.count > 0 then
65 a0.extend(t.count);
66 a1.extend(t.count);
67 a2.extend(t.count);
68 a3.extend(t.count);
69 ddindx := t.first;
70 indx := 1;
71 while true loop
72 a0(indx) := rosetta_g_miss_num_map(t(ddindx).cure_amount_id);
73 a1(indx) := rosetta_g_miss_num_map(t(ddindx).cure_report_id);
74 a2(indx) := rosetta_g_miss_num_map(t(ddindx).chr_id);
75 a3(indx) := rosetta_g_miss_num_map(t(ddindx).vendor_id);
76 indx := indx+1;
77 if t.last =ddindx
78 then exit;
79 end if;
80 ddindx := t.next(ddindx);
81 end loop;
82 end if;
83 end if;
84 end rosetta_table_copy_out_p3;
85
86 procedure update_cure_request(p_api_version NUMBER
87 , p_init_msg_list VARCHAR2
88 , x_return_status out nocopy VARCHAR2
89 , x_msg_count out nocopy NUMBER
90 , x_msg_data out nocopy VARCHAR2
91 , p5_a0 JTF_NUMBER_TABLE
92 , p5_a1 JTF_NUMBER_TABLE
93 , p5_a2 JTF_NUMBER_TABLE
94 , p5_a3 JTF_NUMBER_TABLE
95 , p6_a0 out nocopy JTF_NUMBER_TABLE
96 , p6_a1 out nocopy JTF_NUMBER_TABLE
97 , p6_a2 out nocopy JTF_NUMBER_TABLE
98 , p6_a3 out nocopy JTF_NUMBER_TABLE
99 )
100
101 as
102 ddp_cure_req_tbl okl_cure_req_amt_pvt.cure_req_tbl_type;
103 ddx_cure_req_tbl okl_cure_req_amt_pvt.cure_req_tbl_type;
104 ddindx binary_integer; indx binary_integer;
105 begin
106
107 -- copy data to the local IN or IN-OUT args, if any
108
109
110
111
112
113 okl_cure_req_amt_pvt_w.rosetta_table_copy_in_p3(ddp_cure_req_tbl, p5_a0
114 , p5_a1
115 , p5_a2
116 , p5_a3
117 );
118
119
120 -- here's the delegated call to the old PL/SQL routine
121 okl_cure_req_amt_pvt.update_cure_request(p_api_version,
122 p_init_msg_list,
123 x_return_status,
124 x_msg_count,
125 x_msg_data,
126 ddp_cure_req_tbl,
127 ddx_cure_req_tbl);
128
129 -- copy data back from the local variables to OUT or IN-OUT args, if any
130
131
132
133
134
135
136 okl_cure_req_amt_pvt_w.rosetta_table_copy_out_p3(ddx_cure_req_tbl, p6_a0
137 , p6_a1
138 , p6_a2
139 , p6_a3
140 );
141 end;
142
143 end okl_cure_req_amt_pvt_w;