DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_COPY_CONTRACT_PVT_W

Source


1 package body okl_copy_contract_pvt_w as
2   /* $Header: OKLECOPB.pls 120.1 2005/07/08 12:20:48 dkagrawa 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_p29(t out nocopy okl_copy_contract_pvt.api_components_tbl, a0 JTF_NUMBER_TABLE
23     , a1 JTF_NUMBER_TABLE
24     , a2 JTF_VARCHAR2_TABLE_100
25     , a3 JTF_VARCHAR2_TABLE_100
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).id := rosetta_g_miss_num_map(a0(indx));
35           t(ddindx).to_k := rosetta_g_miss_num_map(a1(indx));
36           t(ddindx).component_type := a2(indx);
37           t(ddindx).attribute1 := 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_p29;
47   procedure rosetta_table_copy_out_p29(t okl_copy_contract_pvt.api_components_tbl, a0 out nocopy JTF_NUMBER_TABLE
48     , a1 out nocopy JTF_NUMBER_TABLE
49     , a2 out nocopy JTF_VARCHAR2_TABLE_100
50     , a3 out nocopy JTF_VARCHAR2_TABLE_100
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_VARCHAR2_TABLE_100();
58     a3 := JTF_VARCHAR2_TABLE_100();
59   else
60       a0 := JTF_NUMBER_TABLE();
61       a1 := JTF_NUMBER_TABLE();
62       a2 := JTF_VARCHAR2_TABLE_100();
63       a3 := JTF_VARCHAR2_TABLE_100();
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).id);
73           a1(indx) := rosetta_g_miss_num_map(t(ddindx).to_k);
74           a2(indx) := t(ddindx).component_type;
75           a3(indx) := t(ddindx).attribute1;
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_p29;
85 
86   procedure rosetta_table_copy_in_p31(t out nocopy okl_copy_contract_pvt.api_lines_tbl, a0 JTF_NUMBER_TABLE
87     , a1 JTF_NUMBER_TABLE
88     , a2 JTF_NUMBER_TABLE
89     , a3 JTF_NUMBER_TABLE
90     , a4 JTF_VARCHAR2_TABLE_100
91     ) as
92     ddindx binary_integer; indx binary_integer;
93   begin
94   if a0 is not null and a0.count > 0 then
95       if a0.count > 0 then
96         indx := a0.first;
97         ddindx := 1;
98         while true loop
99           t(ddindx).id := rosetta_g_miss_num_map(a0(indx));
100           t(ddindx).to_k := rosetta_g_miss_num_map(a1(indx));
101           t(ddindx).to_line := rosetta_g_miss_num_map(a2(indx));
102           t(ddindx).lse_id := rosetta_g_miss_num_map(a3(indx));
103           t(ddindx).line_exists_yn := a4(indx);
104           ddindx := ddindx+1;
105           if a0.last =indx
106             then exit;
107           end if;
108           indx := a0.next(indx);
109         end loop;
110       end if;
111    end if;
112   end rosetta_table_copy_in_p31;
113   procedure rosetta_table_copy_out_p31(t okl_copy_contract_pvt.api_lines_tbl, a0 out nocopy JTF_NUMBER_TABLE
114     , a1 out nocopy JTF_NUMBER_TABLE
115     , a2 out nocopy JTF_NUMBER_TABLE
116     , a3 out nocopy JTF_NUMBER_TABLE
117     , a4 out nocopy JTF_VARCHAR2_TABLE_100
118     ) as
119     ddindx binary_integer; indx binary_integer;
120   begin
121   if t is null or t.count = 0 then
122     a0 := JTF_NUMBER_TABLE();
123     a1 := JTF_NUMBER_TABLE();
124     a2 := JTF_NUMBER_TABLE();
125     a3 := JTF_NUMBER_TABLE();
126     a4 := JTF_VARCHAR2_TABLE_100();
127   else
128       a0 := JTF_NUMBER_TABLE();
129       a1 := JTF_NUMBER_TABLE();
130       a2 := JTF_NUMBER_TABLE();
131       a3 := JTF_NUMBER_TABLE();
132       a4 := JTF_VARCHAR2_TABLE_100();
133       if t.count > 0 then
134         a0.extend(t.count);
135         a1.extend(t.count);
136         a2.extend(t.count);
137         a3.extend(t.count);
138         a4.extend(t.count);
139         ddindx := t.first;
140         indx := 1;
141         while true loop
142           a0(indx) := rosetta_g_miss_num_map(t(ddindx).id);
143           a1(indx) := rosetta_g_miss_num_map(t(ddindx).to_k);
144           a2(indx) := rosetta_g_miss_num_map(t(ddindx).to_line);
145           a3(indx) := rosetta_g_miss_num_map(t(ddindx).lse_id);
146           a4(indx) := t(ddindx).line_exists_yn;
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_p31;
156 
157   procedure is_copy_allowed(p_chr_id  NUMBER
158     , p_sts_code  VARCHAR2
159     , ddrosetta_retval_bool OUT NOCOPY NUMBER
160   )
161 
162   as
163     ddindx binary_integer; indx binary_integer;
164     ddrosetta_retval boolean;
165   begin
166 
167     -- copy data to the local IN or IN-OUT args, if any
168 
169 
170     -- here's the delegated call to the old PL/SQL routine
171     ddrosetta_retval := okl_copy_contract_pvt.is_copy_allowed(p_chr_id,
172       p_sts_code);
173 
174     -- copy data back from the local variables to OUT or IN-OUT args, if any
175     if ddrosetta_retval is null
176       then ddrosetta_retval_bool := null;
177     elsif ddrosetta_retval
178       then ddrosetta_retval_bool := 1;
179     else ddrosetta_retval_bool := 0;
180     end if;
181 
182   end;
183 
184   procedure is_subcontract_allowed(p_chr_id  NUMBER
185     , p_sts_code  VARCHAR2
186     , ddrosetta_retval_bool OUT NOCOPY NUMBER
187   )
188 
189   as
190     ddindx binary_integer; indx binary_integer;
191     ddrosetta_retval boolean;
192   begin
193 
194     -- copy data to the local IN or IN-OUT args, if any
195 
196 
197     -- here's the delegated call to the old PL/SQL routine
198     ddrosetta_retval := okl_copy_contract_pvt.is_subcontract_allowed(p_chr_id,
199       p_sts_code);
200 
201     -- copy data back from the local variables to OUT or IN-OUT args, if any
202     if ddrosetta_retval is null
203       then ddrosetta_retval_bool := null;
204     elsif ddrosetta_retval
205       then ddrosetta_retval_bool := 1;
206     else ddrosetta_retval_bool := 0;
207     end if;
208 
209   end;
210 
211   procedure update_target_contract(p_chr_id  NUMBER
212     , ddrosetta_retval_bool OUT NOCOPY NUMBER
213   )
214 
215   as
216     ddindx binary_integer; indx binary_integer;
217     ddrosetta_retval boolean;
218   begin
219 
220     -- copy data to the local IN or IN-OUT args, if any
221 
222     -- here's the delegated call to the old PL/SQL routine
223     ddrosetta_retval := okl_copy_contract_pvt.update_target_contract(p_chr_id);
224 
225     -- copy data back from the local variables to OUT or IN-OUT args, if any
226     if ddrosetta_retval is null
227       then ddrosetta_retval_bool := null;
228     elsif ddrosetta_retval
229       then ddrosetta_retval_bool := 1;
230     else ddrosetta_retval_bool := 0;
231     end if;
232   end;
233 
234   procedure copy_components(p_api_version  NUMBER
235     , p_init_msg_list  VARCHAR2
236     , x_return_status out nocopy  VARCHAR2
237     , x_msg_count out nocopy  NUMBER
238     , x_msg_data out nocopy  VARCHAR2
239     , p_from_chr_id  NUMBER
240     , p_to_chr_id  NUMBER
241     , p_contract_number  VARCHAR2
242     , p_contract_number_modifier  VARCHAR2
243     , p_to_template_yn  VARCHAR2
244     , p_copy_reference  VARCHAR2
245     , p_copy_line_party_yn  VARCHAR2
246     , p_scs_code  VARCHAR2
247     , p_intent  VARCHAR2
248     , p_prospect  VARCHAR2
249     , p15_a0 JTF_NUMBER_TABLE
250     , p15_a1 JTF_NUMBER_TABLE
251     , p15_a2 JTF_VARCHAR2_TABLE_100
252     , p15_a3 JTF_VARCHAR2_TABLE_100
253     , p16_a0 JTF_NUMBER_TABLE
254     , p16_a1 JTF_NUMBER_TABLE
255     , p16_a2 JTF_NUMBER_TABLE
256     , p16_a3 JTF_NUMBER_TABLE
257     , p16_a4 JTF_VARCHAR2_TABLE_100
258     , x_chr_id out nocopy  NUMBER
259   )
260 
261   as
262     ddp_components_tbl okl_copy_contract_pvt.api_components_tbl;
263     ddp_lines_tbl okl_copy_contract_pvt.api_lines_tbl;
264     ddindx binary_integer; indx binary_integer;
265   begin
266 
267     -- copy data to the local IN or IN-OUT args, if any
268 
269 
270 
271 
272 
273 
274 
275 
276 
277 
278 
279 
280 
281 
282 
283     okl_copy_contract_pvt_w.rosetta_table_copy_in_p29(ddp_components_tbl, p15_a0
284       , p15_a1
285       , p15_a2
286       , p15_a3
287       );
288 
289     okl_copy_contract_pvt_w.rosetta_table_copy_in_p31(ddp_lines_tbl, p16_a0
290       , p16_a1
291       , p16_a2
292       , p16_a3
293       , p16_a4
294       );
295 
296 
297     -- here's the delegated call to the old PL/SQL routine
298     okl_copy_contract_pvt.copy_components(p_api_version,
299       p_init_msg_list,
300       x_return_status,
301       x_msg_count,
302       x_msg_data,
303       p_from_chr_id,
304       p_to_chr_id,
305       p_contract_number,
306       p_contract_number_modifier,
307       p_to_template_yn,
308       p_copy_reference,
309       p_copy_line_party_yn,
310       p_scs_code,
311       p_intent,
312       p_prospect,
313       ddp_components_tbl,
314       ddp_lines_tbl,
315       x_chr_id);
316 
317     -- copy data back from the local variables to OUT or IN-OUT args, if any
318 
319 
320 
321 
322 
323 
324 
325 
326 
327 
328 
329 
330 
331 
332 
333 
334 
335   end;
336 
337 end okl_copy_contract_pvt_w;