[Home] [Help]
PACKAGE BODY: APPS.OZF_SPLIT_CLAIM_PVT_W
Source
1 package body ozf_split_claim_pvt_w as
2 /* $Header: ozfwspcb.pls 120.4 2011/09/22 09:21:10 bkunjan ship $ */
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 rosetta_g_mistake_date_high date := to_date('01/01/+4710', 'MM/DD/SYYYY');
6 rosetta_g_mistake_date_low date := to_date('01/01/-4710', 'MM/DD/SYYYY');
7
8 -- this is to workaround the JDBC bug regarding IN DATE of value GMiss
9 function rosetta_g_miss_date_in_map(d date) return date as
10 begin
11 if d > rosetta_g_mistake_date_high then return fnd_api.g_miss_date; end if;
12 if d < rosetta_g_mistake_date_low then return fnd_api.g_miss_date; end if;
13 return d;
14 end;
15
16 procedure rosetta_table_copy_in_p1(t out nocopy ozf_split_claim_pvt.child_claim_tbl_type, a0 JTF_NUMBER_TABLE
17 , a1 JTF_NUMBER_TABLE
18 , a2 JTF_NUMBER_TABLE
19 , a3 JTF_NUMBER_TABLE
20 , a4 JTF_NUMBER_TABLE
21 , a5 JTF_NUMBER_TABLE
22 , a6 JTF_NUMBER_TABLE
23 , a7 JTF_NUMBER_TABLE
24 , a8 JTF_VARCHAR2_TABLE_4000
25 , a9 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).claim_id := a0(indx);
35 t(ddindx).object_version_number := a1(indx);
36 t(ddindx).claim_type_id := a2(indx);
37 t(ddindx).amount := a3(indx);
38 t(ddindx).line_amount_sum := a4(indx);
39 t(ddindx).reason_code_id := a5(indx);
40 t(ddindx).parent_claim_id := a6(indx);
41 t(ddindx).parent_object_ver_num := a7(indx);
42 t(ddindx).line_table := a8(indx);
43 t(ddindx).child_claim_id := a9(indx);
44 ddindx := ddindx+1;
45 if a0.last =indx
46 then exit;
47 end if;
48 indx := a0.next(indx);
49 end loop;
50 end if;
51 end if;
52 end rosetta_table_copy_in_p1;
53 procedure rosetta_table_copy_out_p1(t ozf_split_claim_pvt.child_claim_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
54 , a1 out nocopy JTF_NUMBER_TABLE
55 , a2 out nocopy JTF_NUMBER_TABLE
56 , a3 out nocopy JTF_NUMBER_TABLE
57 , a4 out nocopy JTF_NUMBER_TABLE
58 , a5 out nocopy JTF_NUMBER_TABLE
59 , a6 out nocopy JTF_NUMBER_TABLE
60 , a7 out nocopy JTF_NUMBER_TABLE
61 , a8 out nocopy JTF_VARCHAR2_TABLE_4000
62 , a9 out nocopy JTF_NUMBER_TABLE
63 ) as
64 ddindx binary_integer; indx binary_integer;
65 begin
66 if t is null or t.count = 0 then
67 a0 := JTF_NUMBER_TABLE();
68 a1 := JTF_NUMBER_TABLE();
69 a2 := JTF_NUMBER_TABLE();
70 a3 := JTF_NUMBER_TABLE();
71 a4 := JTF_NUMBER_TABLE();
72 a5 := JTF_NUMBER_TABLE();
73 a6 := JTF_NUMBER_TABLE();
74 a7 := JTF_NUMBER_TABLE();
75 a8 := JTF_VARCHAR2_TABLE_4000();
76 a9 := JTF_NUMBER_TABLE();
77 else
78 a0 := JTF_NUMBER_TABLE();
79 a1 := JTF_NUMBER_TABLE();
80 a2 := JTF_NUMBER_TABLE();
81 a3 := JTF_NUMBER_TABLE();
82 a4 := JTF_NUMBER_TABLE();
83 a5 := JTF_NUMBER_TABLE();
84 a6 := JTF_NUMBER_TABLE();
85 a7 := JTF_NUMBER_TABLE();
86 a8 := JTF_VARCHAR2_TABLE_4000();
87 a9 := JTF_NUMBER_TABLE();
88 if t.count > 0 then
89 a0.extend(t.count);
90 a1.extend(t.count);
91 a2.extend(t.count);
92 a3.extend(t.count);
93 a4.extend(t.count);
94 a5.extend(t.count);
95 a6.extend(t.count);
96 a7.extend(t.count);
97 a8.extend(t.count);
98 a9.extend(t.count);
99 ddindx := t.first;
100 indx := 1;
101 while true loop
102 a0(indx) := t(ddindx).claim_id;
103 a1(indx) := t(ddindx).object_version_number;
104 a2(indx) := t(ddindx).claim_type_id;
105 a3(indx) := t(ddindx).amount;
106 a4(indx) := t(ddindx).line_amount_sum;
107 a5(indx) := t(ddindx).reason_code_id;
108 a6(indx) := t(ddindx).parent_claim_id;
109 a7(indx) := t(ddindx).parent_object_ver_num;
110 a8(indx) := t(ddindx).line_table;
111 a9(indx) := t(ddindx).child_claim_id;
112 indx := indx+1;
113 if t.last =ddindx
114 then exit;
115 end if;
116 ddindx := t.next(ddindx);
117 end loop;
118 end if;
119 end if;
120 end rosetta_table_copy_out_p1;
121
122 procedure create_child_claim_tbl(p_api_version NUMBER
123 , p_init_msg_list VARCHAR2
124 , p_commit VARCHAR2
125 , p_validation_level NUMBER
126 , x_return_status out nocopy VARCHAR2
127 , x_msg_data out nocopy VARCHAR2
128 , x_msg_count out nocopy NUMBER
129 , p7_a0 in out nocopy JTF_NUMBER_TABLE
130 , p7_a1 in out nocopy JTF_NUMBER_TABLE
131 , p7_a2 in out nocopy JTF_NUMBER_TABLE
132 , p7_a3 in out nocopy JTF_NUMBER_TABLE
133 , p7_a4 in out nocopy JTF_NUMBER_TABLE
134 , p7_a5 in out nocopy JTF_NUMBER_TABLE
135 , p7_a6 in out nocopy JTF_NUMBER_TABLE
136 , p7_a7 in out nocopy JTF_NUMBER_TABLE
137 , p7_a8 in out nocopy JTF_VARCHAR2_TABLE_4000
138 , p7_a9 in out nocopy JTF_NUMBER_TABLE
139 , p_mode VARCHAR2
140 )
141
142 as
143 ddpx_child_claim_tbl ozf_split_claim_pvt.child_claim_tbl_type;
144 ddindx binary_integer; indx binary_integer;
145 begin
146
147 -- copy data to the local IN or IN-OUT args, if any
148
149
150
151
152
153
154
155 ozf_split_claim_pvt_w.rosetta_table_copy_in_p1(ddpx_child_claim_tbl, p7_a0
156 , p7_a1
157 , p7_a2
158 , p7_a3
159 , p7_a4
160 , p7_a5
161 , p7_a6
162 , p7_a7
163 , p7_a8
164 , p7_a9
165 );
166
167
168 -- here's the delegated call to the old PL/SQL routine
169 ozf_split_claim_pvt.create_child_claim_tbl(p_api_version,
170 p_init_msg_list,
171 p_commit,
172 p_validation_level,
173 x_return_status,
174 x_msg_data,
175 x_msg_count,
176 ddpx_child_claim_tbl,
177 p_mode);
178
179 -- copy data back from the local variables to OUT or IN-OUT args, if any
180
181
182
183
184
185
186
187 ozf_split_claim_pvt_w.rosetta_table_copy_out_p1(ddpx_child_claim_tbl, p7_a0
188 , p7_a1
189 , p7_a2
190 , p7_a3
191 , p7_a4
192 , p7_a5
193 , p7_a6
194 , p7_a7
195 , p7_a8
196 , p7_a9
197 );
198
199 end;
200
201 procedure update_child_claim_tbl(p_api_version NUMBER
202 , p_init_msg_list VARCHAR2
203 , p_commit VARCHAR2
204 , p_validation_level NUMBER
205 , x_return_status out nocopy VARCHAR2
206 , x_msg_data out nocopy VARCHAR2
207 , x_msg_count out nocopy NUMBER
208 , p7_a0 JTF_NUMBER_TABLE
209 , p7_a1 JTF_NUMBER_TABLE
210 , p7_a2 JTF_NUMBER_TABLE
211 , p7_a3 JTF_NUMBER_TABLE
212 , p7_a4 JTF_NUMBER_TABLE
213 , p7_a5 JTF_NUMBER_TABLE
214 , p7_a6 JTF_NUMBER_TABLE
215 , p7_a7 JTF_NUMBER_TABLE
216 , p7_a8 JTF_VARCHAR2_TABLE_4000
217 , p7_a9 JTF_NUMBER_TABLE
218 , p_mode VARCHAR2
219 )
220
221 as
222 ddp_child_claim_tbl ozf_split_claim_pvt.child_claim_tbl_type;
223 ddindx binary_integer; indx binary_integer;
224 begin
225
226 -- copy data to the local IN or IN-OUT args, if any
227
228
229
230
231
232
233
234 ozf_split_claim_pvt_w.rosetta_table_copy_in_p1(ddp_child_claim_tbl, p7_a0
235 , p7_a1
236 , p7_a2
237 , p7_a3
238 , p7_a4
239 , p7_a5
240 , p7_a6
241 , p7_a7
242 , p7_a8
243 , p7_a9
244 );
245
246
247 -- here's the delegated call to the old PL/SQL routine
248 ozf_split_claim_pvt.update_child_claim_tbl(p_api_version,
249 p_init_msg_list,
250 p_commit,
251 p_validation_level,
252 x_return_status,
253 x_msg_data,
254 x_msg_count,
255 ddp_child_claim_tbl,
256 p_mode);
257
258 -- copy data back from the local variables to OUT or IN-OUT args, if any
259
260
261
262
263
264
265
266
267 end;
268
269 end ozf_split_claim_pvt_w;