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