DBA Data[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;