DBA Data[Home] [Help]

PACKAGE BODY: APPS.AMV_CONTENT_TYPE_PVT_W

Source


1 package body amv_content_type_pvt_w as
2   /* $Header: amvwctpb.pls 120.2 2005/06/30 07:56 appldev 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 
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_p4(t out nocopy amv_content_type_pvt.amv_content_type_obj_varray, a0 JTF_NUMBER_TABLE
23     , a1 JTF_NUMBER_TABLE
24     , a2 JTF_VARCHAR2_TABLE_100
25     , a3 JTF_VARCHAR2_TABLE_2000
26     , a4 JTF_VARCHAR2_TABLE_100
27     , a5 JTF_VARCHAR2_TABLE_100
28     , a6 JTF_DATE_TABLE
29     , a7 JTF_NUMBER_TABLE
30     , a8 JTF_DATE_TABLE
31     , a9 JTF_NUMBER_TABLE
32     , a10 JTF_NUMBER_TABLE
33     ) as
34     ddindx binary_integer; indx binary_integer;
35   begin
36   if a0 is not null and a0.count=0 then
37     t := amv_content_type_pvt.amv_content_type_obj_varray();
38   elsif a0 is not null and a0.count > 0 then
39       if a0.count > 0 then
40       t := amv_content_type_pvt.amv_content_type_obj_varray();
41       t.extend(a0.count);
42         indx := a0.first;
43         ddindx := 1;
44         while true loop
45           t(ddindx).content_type_id := rosetta_g_miss_num_map(a0(indx));
46           t(ddindx).object_version_number := rosetta_g_miss_num_map(a1(indx));
47           t(ddindx).content_type_name := a2(indx);
48           t(ddindx).description := a3(indx);
49           t(ddindx).language := a4(indx);
50           t(ddindx).source_lang := a5(indx);
51           t(ddindx).creation_date := rosetta_g_miss_date_in_map(a6(indx));
52           t(ddindx).created_by := rosetta_g_miss_num_map(a7(indx));
53           t(ddindx).last_update_date := rosetta_g_miss_date_in_map(a8(indx));
54           t(ddindx).last_updated_by := rosetta_g_miss_num_map(a9(indx));
55           t(ddindx).last_update_login := rosetta_g_miss_num_map(a10(indx));
56           ddindx := ddindx+1;
57           if a0.last =indx
58             then exit;
59           end if;
60           indx := a0.next(indx);
61         end loop;
62       end if;
63    end if;
64   end rosetta_table_copy_in_p4;
65   procedure rosetta_table_copy_out_p4(t amv_content_type_pvt.amv_content_type_obj_varray, a0 out nocopy JTF_NUMBER_TABLE
66     , a1 out nocopy JTF_NUMBER_TABLE
67     , a2 out nocopy JTF_VARCHAR2_TABLE_100
68     , a3 out nocopy JTF_VARCHAR2_TABLE_2000
69     , a4 out nocopy JTF_VARCHAR2_TABLE_100
70     , a5 out nocopy JTF_VARCHAR2_TABLE_100
71     , a6 out nocopy JTF_DATE_TABLE
72     , a7 out nocopy JTF_NUMBER_TABLE
73     , a8 out nocopy JTF_DATE_TABLE
74     , a9 out nocopy JTF_NUMBER_TABLE
75     , a10 out nocopy JTF_NUMBER_TABLE
76     ) as
77     ddindx binary_integer; indx binary_integer;
78   begin
79   if t is null then
80     a0 := null;
81     a1 := null;
82     a2 := null;
83     a3 := null;
84     a4 := null;
85     a5 := null;
86     a6 := null;
87     a7 := null;
88     a8 := null;
89     a9 := null;
90     a10 := null;
91   elsif t.count = 0 then
92     a0 := JTF_NUMBER_TABLE();
93     a1 := JTF_NUMBER_TABLE();
94     a2 := JTF_VARCHAR2_TABLE_100();
95     a3 := JTF_VARCHAR2_TABLE_2000();
96     a4 := JTF_VARCHAR2_TABLE_100();
97     a5 := JTF_VARCHAR2_TABLE_100();
98     a6 := JTF_DATE_TABLE();
99     a7 := JTF_NUMBER_TABLE();
100     a8 := JTF_DATE_TABLE();
101     a9 := JTF_NUMBER_TABLE();
102     a10 := JTF_NUMBER_TABLE();
103   else
104       a0 := JTF_NUMBER_TABLE();
105       a1 := JTF_NUMBER_TABLE();
106       a2 := JTF_VARCHAR2_TABLE_100();
107       a3 := JTF_VARCHAR2_TABLE_2000();
108       a4 := JTF_VARCHAR2_TABLE_100();
109       a5 := JTF_VARCHAR2_TABLE_100();
110       a6 := JTF_DATE_TABLE();
111       a7 := JTF_NUMBER_TABLE();
112       a8 := JTF_DATE_TABLE();
113       a9 := JTF_NUMBER_TABLE();
114       a10 := JTF_NUMBER_TABLE();
115       if t.count > 0 then
116         a0.extend(t.count);
117         a1.extend(t.count);
118         a2.extend(t.count);
119         a3.extend(t.count);
120         a4.extend(t.count);
121         a5.extend(t.count);
122         a6.extend(t.count);
123         a7.extend(t.count);
124         a8.extend(t.count);
125         a9.extend(t.count);
126         a10.extend(t.count);
127         ddindx := t.first;
128         indx := 1;
129         while true loop
130           a0(indx) := rosetta_g_miss_num_map(t(ddindx).content_type_id);
131           a1(indx) := rosetta_g_miss_num_map(t(ddindx).object_version_number);
132           a2(indx) := t(ddindx).content_type_name;
133           a3(indx) := t(ddindx).description;
134           a4(indx) := t(ddindx).language;
135           a5(indx) := t(ddindx).source_lang;
136           a6(indx) := t(ddindx).creation_date;
137           a7(indx) := rosetta_g_miss_num_map(t(ddindx).created_by);
138           a8(indx) := t(ddindx).last_update_date;
139           a9(indx) := rosetta_g_miss_num_map(t(ddindx).last_updated_by);
140           a10(indx) := rosetta_g_miss_num_map(t(ddindx).last_update_login);
141           indx := indx+1;
142           if t.last =ddindx
143             then exit;
144           end if;
145           ddindx := t.next(ddindx);
146         end loop;
147       end if;
148    end if;
149   end rosetta_table_copy_out_p4;
150 
151   procedure get_contenttype(p_api_version  NUMBER
152     , p_init_msg_list  VARCHAR2
153     , p_validation_level  NUMBER
154     , x_return_status out nocopy  VARCHAR2
155     , x_msg_count out nocopy  NUMBER
156     , x_msg_data out nocopy  VARCHAR2
157     , p_check_login_user  VARCHAR2
158     , p_content_type_id  NUMBER
159     , p_content_type_name  VARCHAR2
160     , p9_a0 out nocopy  NUMBER
161     , p9_a1 out nocopy  NUMBER
162     , p9_a2 out nocopy  VARCHAR2
163     , p9_a3 out nocopy  VARCHAR2
164     , p9_a4 out nocopy  VARCHAR2
165     , p9_a5 out nocopy  VARCHAR2
166     , p9_a6 out nocopy  DATE
167     , p9_a7 out nocopy  NUMBER
168     , p9_a8 out nocopy  DATE
169     , p9_a9 out nocopy  NUMBER
170     , p9_a10 out nocopy  NUMBER
171   )
172 
173   as
174     ddx_content_type_obj amv_content_type_pvt.amv_content_type_obj_type;
175     ddindx binary_integer; indx binary_integer;
176   begin
177 
178     -- copy data to the local IN or IN-OUT args, if any
179 
180 
181 
182 
183 
184 
185 
186 
187 
188 
189     -- here's the delegated call to the old PL/SQL routine
190     amv_content_type_pvt.get_contenttype(p_api_version,
191       p_init_msg_list,
192       p_validation_level,
193       x_return_status,
194       x_msg_count,
195       x_msg_data,
196       p_check_login_user,
197       p_content_type_id,
198       p_content_type_name,
199       ddx_content_type_obj);
200 
201     -- copy data back from the local variables to OUT or IN-OUT args, if any
202 
203 
204 
205 
206 
207 
208 
209 
210 
211     p9_a0 := rosetta_g_miss_num_map(ddx_content_type_obj.content_type_id);
212     p9_a1 := rosetta_g_miss_num_map(ddx_content_type_obj.object_version_number);
213     p9_a2 := ddx_content_type_obj.content_type_name;
214     p9_a3 := ddx_content_type_obj.description;
215     p9_a4 := ddx_content_type_obj.language;
216     p9_a5 := ddx_content_type_obj.source_lang;
217     p9_a6 := ddx_content_type_obj.creation_date;
218     p9_a7 := rosetta_g_miss_num_map(ddx_content_type_obj.created_by);
219     p9_a8 := ddx_content_type_obj.last_update_date;
220     p9_a9 := rosetta_g_miss_num_map(ddx_content_type_obj.last_updated_by);
221     p9_a10 := rosetta_g_miss_num_map(ddx_content_type_obj.last_update_login);
222   end;
223 
224   procedure find_contenttype(p_api_version  NUMBER
225     , p_init_msg_list  VARCHAR2
226     , p_validation_level  NUMBER
227     , x_return_status out nocopy  VARCHAR2
228     , x_msg_count out nocopy  NUMBER
229     , x_msg_data out nocopy  VARCHAR2
230     , p_check_login_user  VARCHAR2
231     , p_content_type_name  VARCHAR2
232     , p_cnt_type_description  VARCHAR2
233     , p10_a0 out nocopy  NUMBER
234     , p10_a1 out nocopy  NUMBER
235     , p10_a2 out nocopy  NUMBER
236     , p11_a0 out nocopy JTF_NUMBER_TABLE
237     , p11_a1 out nocopy JTF_NUMBER_TABLE
238     , p11_a2 out nocopy JTF_VARCHAR2_TABLE_100
239     , p11_a3 out nocopy JTF_VARCHAR2_TABLE_2000
240     , p11_a4 out nocopy JTF_VARCHAR2_TABLE_100
241     , p11_a5 out nocopy JTF_VARCHAR2_TABLE_100
242     , p11_a6 out nocopy JTF_DATE_TABLE
243     , p11_a7 out nocopy JTF_NUMBER_TABLE
244     , p11_a8 out nocopy JTF_DATE_TABLE
245     , p11_a9 out nocopy JTF_NUMBER_TABLE
246     , p11_a10 out nocopy JTF_NUMBER_TABLE
247     , p9_a0  NUMBER := 0-1962.0724
248     , p9_a1  NUMBER := 0-1962.0724
249     , p9_a2  VARCHAR2 := fnd_api.g_miss_char
250   )
251 
252   as
253     ddp_subset_request_obj amv_content_type_pvt.amv_request_obj_type;
254     ddx_subset_return_obj amv_content_type_pvt.amv_return_obj_type;
255     ddx_content_type_obj_varray amv_content_type_pvt.amv_content_type_obj_varray;
256     ddindx binary_integer; indx binary_integer;
257   begin
258 
259     -- copy data to the local IN or IN-OUT args, if any
260 
261 
262 
263 
264 
265 
266 
267 
268 
269     ddp_subset_request_obj.records_requested := rosetta_g_miss_num_map(p9_a0);
270     ddp_subset_request_obj.start_record_position := rosetta_g_miss_num_map(p9_a1);
271     ddp_subset_request_obj.return_total_count_flag := p9_a2;
272 
273 
274 
275     -- here's the delegated call to the old PL/SQL routine
276     amv_content_type_pvt.find_contenttype(p_api_version,
277       p_init_msg_list,
278       p_validation_level,
279       x_return_status,
280       x_msg_count,
281       x_msg_data,
282       p_check_login_user,
283       p_content_type_name,
284       p_cnt_type_description,
285       ddp_subset_request_obj,
286       ddx_subset_return_obj,
287       ddx_content_type_obj_varray);
288 
289     -- copy data back from the local variables to OUT or IN-OUT args, if any
290 
291 
292 
293 
294 
295 
296 
297 
298 
299 
300     p10_a0 := rosetta_g_miss_num_map(ddx_subset_return_obj.returned_record_count);
301     p10_a1 := rosetta_g_miss_num_map(ddx_subset_return_obj.next_record_position);
302     p10_a2 := rosetta_g_miss_num_map(ddx_subset_return_obj.total_record_count);
303 
304     amv_content_type_pvt_w.rosetta_table_copy_out_p4(ddx_content_type_obj_varray, p11_a0
305       , p11_a1
306       , p11_a2
307       , p11_a3
308       , p11_a4
309       , p11_a5
310       , p11_a6
311       , p11_a7
312       , p11_a8
313       , p11_a9
314       , p11_a10
315       );
316   end;
317 
318 end amv_content_type_pvt_w;