DBA Data[Home] [Help]

PACKAGE BODY: APPS.HZ_GNR_PVT_W

Source


1 package body hz_gnr_pvt_w as
2   /* $Header: ARHGNRWB.pls 120.4 2006/02/09 21:51:33 nsinghai 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_p4(t out nocopy hz_gnr_pvt.geo_struct_tbl_type, a0 JTF_VARCHAR2_TABLE_100
23     , a1 JTF_VARCHAR2_TABLE_100
24     , a2 JTF_VARCHAR2_TABLE_100
25     , a3 JTF_NUMBER_TABLE
26     , a4 JTF_VARCHAR2_TABLE_300
27     , a5 JTF_VARCHAR2_TABLE_100
28     ) as
29     ddindx binary_integer; indx binary_integer;
30   begin
31   if a0 is not null and a0.count > 0 then
32       if a0.count > 0 then
33         indx := a0.first;
34         ddindx := 1;
35         while true loop
36           t(ddindx).v_tab_col := a0(indx);
37           t(ddindx).v_geo_type := a1(indx);
38           t(ddindx).v_element_col := a2(indx);
39           t(ddindx).v_level := rosetta_g_miss_num_map(a3(indx));
40           t(ddindx).v_param_value := a4(indx);
41           t(ddindx).v_valid_for_usage := a5(indx);
42           ddindx := ddindx+1;
43           if a0.last =indx
44             then exit;
45           end if;
46           indx := a0.next(indx);
47         end loop;
48       end if;
49    end if;
50   end rosetta_table_copy_in_p4;
51   procedure rosetta_table_copy_out_p4(t hz_gnr_pvt.geo_struct_tbl_type, a0 out nocopy JTF_VARCHAR2_TABLE_100
52     , a1 out nocopy JTF_VARCHAR2_TABLE_100
53     , a2 out nocopy JTF_VARCHAR2_TABLE_100
54     , a3 out nocopy JTF_NUMBER_TABLE
55     , a4 out nocopy JTF_VARCHAR2_TABLE_300
56     , a5 out nocopy JTF_VARCHAR2_TABLE_100
57     ) as
58     ddindx binary_integer; indx binary_integer;
59   begin
60   if t is null or t.count = 0 then
61     a0 := JTF_VARCHAR2_TABLE_100();
62     a1 := JTF_VARCHAR2_TABLE_100();
63     a2 := JTF_VARCHAR2_TABLE_100();
64     a3 := JTF_NUMBER_TABLE();
65     a4 := JTF_VARCHAR2_TABLE_300();
66     a5 := JTF_VARCHAR2_TABLE_100();
67   else
68       a0 := JTF_VARCHAR2_TABLE_100();
69       a1 := JTF_VARCHAR2_TABLE_100();
70       a2 := JTF_VARCHAR2_TABLE_100();
71       a3 := JTF_NUMBER_TABLE();
72       a4 := JTF_VARCHAR2_TABLE_300();
73       a5 := JTF_VARCHAR2_TABLE_100();
74       if t.count > 0 then
75         a0.extend(t.count);
76         a1.extend(t.count);
77         a2.extend(t.count);
78         a3.extend(t.count);
79         a4.extend(t.count);
80         a5.extend(t.count);
81         ddindx := t.first;
82         indx := 1;
83         while true loop
84           a0(indx) := t(ddindx).v_tab_col;
85           a1(indx) := t(ddindx).v_geo_type;
86           a2(indx) := t(ddindx).v_element_col;
87           a3(indx) := rosetta_g_miss_num_map(t(ddindx).v_level);
88           a4(indx) := t(ddindx).v_param_value;
89           a5(indx) := t(ddindx).v_valid_for_usage;
90           indx := indx+1;
91           if t.last =ddindx
92             then exit;
93           end if;
94           ddindx := t.next(ddindx);
95         end loop;
96       end if;
97    end if;
98   end rosetta_table_copy_out_p4;
99 
100   procedure rosetta_table_copy_in_p6(t out nocopy hz_gnr_pvt.geo_suggest_tbl_type, a0 JTF_VARCHAR2_TABLE_100
101     , a1 JTF_VARCHAR2_TABLE_100
102     , a2 JTF_NUMBER_TABLE
103     , a3 JTF_VARCHAR2_TABLE_100
104     , a4 JTF_VARCHAR2_TABLE_100
105     , a5 JTF_VARCHAR2_TABLE_100
106     , a6 JTF_NUMBER_TABLE
107     , a7 JTF_VARCHAR2_TABLE_100
108     , a8 JTF_VARCHAR2_TABLE_100
109     , a9 JTF_VARCHAR2_TABLE_100
110     , a10 JTF_NUMBER_TABLE
111     , a11 JTF_VARCHAR2_TABLE_100
112     , a12 JTF_VARCHAR2_TABLE_100
113     , a13 JTF_NUMBER_TABLE
114     , a14 JTF_VARCHAR2_TABLE_100
115     , a15 JTF_VARCHAR2_TABLE_100
116     , a16 JTF_NUMBER_TABLE
117     , a17 JTF_VARCHAR2_TABLE_100
118     , a18 JTF_VARCHAR2_TABLE_100
119     , a19 JTF_NUMBER_TABLE
120     , a20 JTF_VARCHAR2_TABLE_100
121     , a21 JTF_VARCHAR2_TABLE_100
122     , a22 JTF_NUMBER_TABLE
123     , a23 JTF_VARCHAR2_TABLE_100
124     , a24 JTF_VARCHAR2_TABLE_200
125     , a25 JTF_NUMBER_TABLE
126     , a26 JTF_VARCHAR2_TABLE_100
127     , a27 JTF_VARCHAR2_TABLE_200
128     , a28 JTF_NUMBER_TABLE
129     , a29 JTF_VARCHAR2_TABLE_100
130     , a30 JTF_VARCHAR2_TABLE_200
131     , a31 JTF_NUMBER_TABLE
132     , a32 JTF_VARCHAR2_TABLE_100
133     , a33 JTF_VARCHAR2_TABLE_200
134     , a34 JTF_NUMBER_TABLE
135     , a35 JTF_VARCHAR2_TABLE_100
136     , a36 JTF_VARCHAR2_TABLE_200
137     , a37 JTF_NUMBER_TABLE
138     , a38 JTF_VARCHAR2_TABLE_100
139     , a39 JTF_VARCHAR2_TABLE_200
140     , a40 JTF_NUMBER_TABLE
141     , a41 JTF_VARCHAR2_TABLE_100
142     , a42 JTF_VARCHAR2_TABLE_200
143     , a43 JTF_NUMBER_TABLE
144     , a44 JTF_VARCHAR2_TABLE_100
145     , a45 JTF_VARCHAR2_TABLE_200
146     , a46 JTF_NUMBER_TABLE
147     , a47 JTF_VARCHAR2_TABLE_100
148     , a48 JTF_VARCHAR2_TABLE_200
149     , a49 JTF_NUMBER_TABLE
150     , a50 JTF_VARCHAR2_TABLE_100
151     , a51 JTF_VARCHAR2_TABLE_200
152     , a52 JTF_NUMBER_TABLE
153     , a53 JTF_VARCHAR2_TABLE_100
154     , a54 JTF_VARCHAR2_TABLE_4000
155     ) as
156     ddindx binary_integer; indx binary_integer;
157   begin
158   if a0 is not null and a0.count > 0 then
159       if a0.count > 0 then
160         indx := a0.first;
161         ddindx := 1;
162         while true loop
163           t(ddindx).country := a0(indx);
164           t(ddindx).country_code := a1(indx);
165           t(ddindx).country_geo_id := rosetta_g_miss_num_map(a2(indx));
166           t(ddindx).country_geo_type := a3(indx);
167           t(ddindx).state := a4(indx);
168           t(ddindx).state_code := a5(indx);
169           t(ddindx).state_geo_id := rosetta_g_miss_num_map(a6(indx));
170           t(ddindx).state_geo_type := a7(indx);
171           t(ddindx).province := a8(indx);
172           t(ddindx).province_code := a9(indx);
173           t(ddindx).province_geo_id := rosetta_g_miss_num_map(a10(indx));
174           t(ddindx).province_geo_type := a11(indx);
175           t(ddindx).county := a12(indx);
176           t(ddindx).county_geo_id := rosetta_g_miss_num_map(a13(indx));
177           t(ddindx).county_geo_type := a14(indx);
178           t(ddindx).city := a15(indx);
179           t(ddindx).city_geo_id := rosetta_g_miss_num_map(a16(indx));
180           t(ddindx).city_geo_type := a17(indx);
181           t(ddindx).postal_code := a18(indx);
182           t(ddindx).postal_code_geo_id := rosetta_g_miss_num_map(a19(indx));
183           t(ddindx).postal_code_geo_type := a20(indx);
184           t(ddindx).postal_plus4_code := a21(indx);
185           t(ddindx).postal_plus4_code_geo_id := rosetta_g_miss_num_map(a22(indx));
186           t(ddindx).postal_plus4_code_geo_type := a23(indx);
187           t(ddindx).attribute1 := a24(indx);
188           t(ddindx).attribute1_geo_id := rosetta_g_miss_num_map(a25(indx));
189           t(ddindx).attribute1_geo_type := a26(indx);
190           t(ddindx).attribute2 := a27(indx);
191           t(ddindx).attribute2_geo_id := rosetta_g_miss_num_map(a28(indx));
192           t(ddindx).attribute2_geo_type := a29(indx);
193           t(ddindx).attribute3 := a30(indx);
194           t(ddindx).attribute3_geo_id := rosetta_g_miss_num_map(a31(indx));
195           t(ddindx).attribute3_geo_type := a32(indx);
196           t(ddindx).attribute4 := a33(indx);
197           t(ddindx).attribute4_geo_id := rosetta_g_miss_num_map(a34(indx));
198           t(ddindx).attribute4_geo_type := a35(indx);
199           t(ddindx).attribute5 := a36(indx);
200           t(ddindx).attribute5_geo_id := rosetta_g_miss_num_map(a37(indx));
201           t(ddindx).attribute5_geo_type := a38(indx);
202           t(ddindx).attribute6 := a39(indx);
203           t(ddindx).attribute6_geo_id := rosetta_g_miss_num_map(a40(indx));
204           t(ddindx).attribute6_geo_type := a41(indx);
205           t(ddindx).attribute7 := a42(indx);
206           t(ddindx).attribute7_geo_id := rosetta_g_miss_num_map(a43(indx));
207           t(ddindx).attribute7_geo_type := a44(indx);
208           t(ddindx).attribute8 := a45(indx);
209           t(ddindx).attribute8_geo_id := rosetta_g_miss_num_map(a46(indx));
210           t(ddindx).attribute8_geo_type := a47(indx);
211           t(ddindx).attribute9 := a48(indx);
212           t(ddindx).attribute9_geo_id := rosetta_g_miss_num_map(a49(indx));
213           t(ddindx).attribute9_geo_type := a50(indx);
214           t(ddindx).attribute10 := a51(indx);
215           t(ddindx).attribute10_geo_id := rosetta_g_miss_num_map(a52(indx));
216           t(ddindx).attribute10_geo_type := a53(indx);
217           t(ddindx).suggestion_list := a54(indx);
218           ddindx := ddindx+1;
219           if a0.last =indx
220             then exit;
221           end if;
222           indx := a0.next(indx);
223         end loop;
224       end if;
225    end if;
226   end rosetta_table_copy_in_p6;
227   procedure rosetta_table_copy_out_p6(t hz_gnr_pvt.geo_suggest_tbl_type, a0 out nocopy JTF_VARCHAR2_TABLE_100
228     , a1 out nocopy JTF_VARCHAR2_TABLE_100
229     , a2 out nocopy JTF_NUMBER_TABLE
230     , a3 out nocopy JTF_VARCHAR2_TABLE_100
231     , a4 out nocopy JTF_VARCHAR2_TABLE_100
232     , a5 out nocopy JTF_VARCHAR2_TABLE_100
233     , a6 out nocopy JTF_NUMBER_TABLE
234     , a7 out nocopy JTF_VARCHAR2_TABLE_100
235     , a8 out nocopy JTF_VARCHAR2_TABLE_100
236     , a9 out nocopy JTF_VARCHAR2_TABLE_100
237     , a10 out nocopy JTF_NUMBER_TABLE
238     , a11 out nocopy JTF_VARCHAR2_TABLE_100
239     , a12 out nocopy JTF_VARCHAR2_TABLE_100
240     , a13 out nocopy JTF_NUMBER_TABLE
241     , a14 out nocopy JTF_VARCHAR2_TABLE_100
242     , a15 out nocopy JTF_VARCHAR2_TABLE_100
243     , a16 out nocopy JTF_NUMBER_TABLE
244     , a17 out nocopy JTF_VARCHAR2_TABLE_100
245     , a18 out nocopy JTF_VARCHAR2_TABLE_100
246     , a19 out nocopy JTF_NUMBER_TABLE
247     , a20 out nocopy JTF_VARCHAR2_TABLE_100
248     , a21 out nocopy JTF_VARCHAR2_TABLE_100
249     , a22 out nocopy JTF_NUMBER_TABLE
250     , a23 out nocopy JTF_VARCHAR2_TABLE_100
251     , a24 out nocopy JTF_VARCHAR2_TABLE_200
252     , a25 out nocopy JTF_NUMBER_TABLE
253     , a26 out nocopy JTF_VARCHAR2_TABLE_100
254     , a27 out nocopy JTF_VARCHAR2_TABLE_200
255     , a28 out nocopy JTF_NUMBER_TABLE
256     , a29 out nocopy JTF_VARCHAR2_TABLE_100
257     , a30 out nocopy JTF_VARCHAR2_TABLE_200
258     , a31 out nocopy JTF_NUMBER_TABLE
259     , a32 out nocopy JTF_VARCHAR2_TABLE_100
260     , a33 out nocopy JTF_VARCHAR2_TABLE_200
261     , a34 out nocopy JTF_NUMBER_TABLE
262     , a35 out nocopy JTF_VARCHAR2_TABLE_100
263     , a36 out nocopy JTF_VARCHAR2_TABLE_200
264     , a37 out nocopy JTF_NUMBER_TABLE
265     , a38 out nocopy JTF_VARCHAR2_TABLE_100
266     , a39 out nocopy JTF_VARCHAR2_TABLE_200
267     , a40 out nocopy JTF_NUMBER_TABLE
268     , a41 out nocopy JTF_VARCHAR2_TABLE_100
269     , a42 out nocopy JTF_VARCHAR2_TABLE_200
270     , a43 out nocopy JTF_NUMBER_TABLE
271     , a44 out nocopy JTF_VARCHAR2_TABLE_100
272     , a45 out nocopy JTF_VARCHAR2_TABLE_200
273     , a46 out nocopy JTF_NUMBER_TABLE
274     , a47 out nocopy JTF_VARCHAR2_TABLE_100
275     , a48 out nocopy JTF_VARCHAR2_TABLE_200
276     , a49 out nocopy JTF_NUMBER_TABLE
277     , a50 out nocopy JTF_VARCHAR2_TABLE_100
278     , a51 out nocopy JTF_VARCHAR2_TABLE_200
279     , a52 out nocopy JTF_NUMBER_TABLE
280     , a53 out nocopy JTF_VARCHAR2_TABLE_100
281     , a54 out nocopy JTF_VARCHAR2_TABLE_4000
282     ) as
283     ddindx binary_integer; indx binary_integer;
284   begin
285   if t is null or t.count = 0 then
286     a0 := JTF_VARCHAR2_TABLE_100();
287     a1 := JTF_VARCHAR2_TABLE_100();
288     a2 := JTF_NUMBER_TABLE();
289     a3 := JTF_VARCHAR2_TABLE_100();
290     a4 := JTF_VARCHAR2_TABLE_100();
291     a5 := JTF_VARCHAR2_TABLE_100();
292     a6 := JTF_NUMBER_TABLE();
293     a7 := JTF_VARCHAR2_TABLE_100();
294     a8 := JTF_VARCHAR2_TABLE_100();
295     a9 := JTF_VARCHAR2_TABLE_100();
296     a10 := JTF_NUMBER_TABLE();
297     a11 := JTF_VARCHAR2_TABLE_100();
298     a12 := JTF_VARCHAR2_TABLE_100();
299     a13 := JTF_NUMBER_TABLE();
300     a14 := JTF_VARCHAR2_TABLE_100();
301     a15 := JTF_VARCHAR2_TABLE_100();
302     a16 := JTF_NUMBER_TABLE();
303     a17 := JTF_VARCHAR2_TABLE_100();
304     a18 := JTF_VARCHAR2_TABLE_100();
305     a19 := JTF_NUMBER_TABLE();
306     a20 := JTF_VARCHAR2_TABLE_100();
307     a21 := JTF_VARCHAR2_TABLE_100();
308     a22 := JTF_NUMBER_TABLE();
309     a23 := JTF_VARCHAR2_TABLE_100();
310     a24 := JTF_VARCHAR2_TABLE_200();
311     a25 := JTF_NUMBER_TABLE();
312     a26 := JTF_VARCHAR2_TABLE_100();
313     a27 := JTF_VARCHAR2_TABLE_200();
314     a28 := JTF_NUMBER_TABLE();
315     a29 := JTF_VARCHAR2_TABLE_100();
316     a30 := JTF_VARCHAR2_TABLE_200();
317     a31 := JTF_NUMBER_TABLE();
318     a32 := JTF_VARCHAR2_TABLE_100();
319     a33 := JTF_VARCHAR2_TABLE_200();
320     a34 := JTF_NUMBER_TABLE();
321     a35 := JTF_VARCHAR2_TABLE_100();
322     a36 := JTF_VARCHAR2_TABLE_200();
323     a37 := JTF_NUMBER_TABLE();
324     a38 := JTF_VARCHAR2_TABLE_100();
325     a39 := JTF_VARCHAR2_TABLE_200();
326     a40 := JTF_NUMBER_TABLE();
327     a41 := JTF_VARCHAR2_TABLE_100();
328     a42 := JTF_VARCHAR2_TABLE_200();
329     a43 := JTF_NUMBER_TABLE();
330     a44 := JTF_VARCHAR2_TABLE_100();
331     a45 := JTF_VARCHAR2_TABLE_200();
332     a46 := JTF_NUMBER_TABLE();
333     a47 := JTF_VARCHAR2_TABLE_100();
334     a48 := JTF_VARCHAR2_TABLE_200();
335     a49 := JTF_NUMBER_TABLE();
336     a50 := JTF_VARCHAR2_TABLE_100();
337     a51 := JTF_VARCHAR2_TABLE_200();
338     a52 := JTF_NUMBER_TABLE();
339     a53 := JTF_VARCHAR2_TABLE_100();
340     a54 := JTF_VARCHAR2_TABLE_4000();
341   else
342       a0 := JTF_VARCHAR2_TABLE_100();
343       a1 := JTF_VARCHAR2_TABLE_100();
344       a2 := JTF_NUMBER_TABLE();
345       a3 := JTF_VARCHAR2_TABLE_100();
346       a4 := JTF_VARCHAR2_TABLE_100();
347       a5 := JTF_VARCHAR2_TABLE_100();
348       a6 := JTF_NUMBER_TABLE();
349       a7 := JTF_VARCHAR2_TABLE_100();
350       a8 := JTF_VARCHAR2_TABLE_100();
351       a9 := JTF_VARCHAR2_TABLE_100();
352       a10 := JTF_NUMBER_TABLE();
353       a11 := JTF_VARCHAR2_TABLE_100();
354       a12 := JTF_VARCHAR2_TABLE_100();
355       a13 := JTF_NUMBER_TABLE();
356       a14 := JTF_VARCHAR2_TABLE_100();
357       a15 := JTF_VARCHAR2_TABLE_100();
358       a16 := JTF_NUMBER_TABLE();
359       a17 := JTF_VARCHAR2_TABLE_100();
360       a18 := JTF_VARCHAR2_TABLE_100();
361       a19 := JTF_NUMBER_TABLE();
362       a20 := JTF_VARCHAR2_TABLE_100();
363       a21 := JTF_VARCHAR2_TABLE_100();
364       a22 := JTF_NUMBER_TABLE();
365       a23 := JTF_VARCHAR2_TABLE_100();
366       a24 := JTF_VARCHAR2_TABLE_200();
367       a25 := JTF_NUMBER_TABLE();
368       a26 := JTF_VARCHAR2_TABLE_100();
369       a27 := JTF_VARCHAR2_TABLE_200();
370       a28 := JTF_NUMBER_TABLE();
371       a29 := JTF_VARCHAR2_TABLE_100();
372       a30 := JTF_VARCHAR2_TABLE_200();
373       a31 := JTF_NUMBER_TABLE();
374       a32 := JTF_VARCHAR2_TABLE_100();
375       a33 := JTF_VARCHAR2_TABLE_200();
376       a34 := JTF_NUMBER_TABLE();
377       a35 := JTF_VARCHAR2_TABLE_100();
378       a36 := JTF_VARCHAR2_TABLE_200();
379       a37 := JTF_NUMBER_TABLE();
380       a38 := JTF_VARCHAR2_TABLE_100();
381       a39 := JTF_VARCHAR2_TABLE_200();
382       a40 := JTF_NUMBER_TABLE();
383       a41 := JTF_VARCHAR2_TABLE_100();
384       a42 := JTF_VARCHAR2_TABLE_200();
385       a43 := JTF_NUMBER_TABLE();
386       a44 := JTF_VARCHAR2_TABLE_100();
387       a45 := JTF_VARCHAR2_TABLE_200();
388       a46 := JTF_NUMBER_TABLE();
389       a47 := JTF_VARCHAR2_TABLE_100();
390       a48 := JTF_VARCHAR2_TABLE_200();
391       a49 := JTF_NUMBER_TABLE();
392       a50 := JTF_VARCHAR2_TABLE_100();
393       a51 := JTF_VARCHAR2_TABLE_200();
394       a52 := JTF_NUMBER_TABLE();
395       a53 := JTF_VARCHAR2_TABLE_100();
396       a54 := JTF_VARCHAR2_TABLE_4000();
397       if t.count > 0 then
398         a0.extend(t.count);
399         a1.extend(t.count);
400         a2.extend(t.count);
401         a3.extend(t.count);
402         a4.extend(t.count);
403         a5.extend(t.count);
404         a6.extend(t.count);
405         a7.extend(t.count);
406         a8.extend(t.count);
407         a9.extend(t.count);
408         a10.extend(t.count);
409         a11.extend(t.count);
410         a12.extend(t.count);
411         a13.extend(t.count);
412         a14.extend(t.count);
413         a15.extend(t.count);
414         a16.extend(t.count);
415         a17.extend(t.count);
416         a18.extend(t.count);
417         a19.extend(t.count);
418         a20.extend(t.count);
419         a21.extend(t.count);
420         a22.extend(t.count);
421         a23.extend(t.count);
422         a24.extend(t.count);
423         a25.extend(t.count);
424         a26.extend(t.count);
425         a27.extend(t.count);
426         a28.extend(t.count);
427         a29.extend(t.count);
428         a30.extend(t.count);
429         a31.extend(t.count);
430         a32.extend(t.count);
431         a33.extend(t.count);
432         a34.extend(t.count);
433         a35.extend(t.count);
434         a36.extend(t.count);
435         a37.extend(t.count);
436         a38.extend(t.count);
437         a39.extend(t.count);
438         a40.extend(t.count);
439         a41.extend(t.count);
440         a42.extend(t.count);
441         a43.extend(t.count);
442         a44.extend(t.count);
443         a45.extend(t.count);
444         a46.extend(t.count);
445         a47.extend(t.count);
446         a48.extend(t.count);
447         a49.extend(t.count);
448         a50.extend(t.count);
449         a51.extend(t.count);
450         a52.extend(t.count);
451         a53.extend(t.count);
452         a54.extend(t.count);
453         ddindx := t.first;
454         indx := 1;
455         while true loop
456           a0(indx) := t(ddindx).country;
457           a1(indx) := t(ddindx).country_code;
458           a2(indx) := rosetta_g_miss_num_map(t(ddindx).country_geo_id);
459           a3(indx) := t(ddindx).country_geo_type;
460           a4(indx) := t(ddindx).state;
461           a5(indx) := t(ddindx).state_code;
462           a6(indx) := rosetta_g_miss_num_map(t(ddindx).state_geo_id);
463           a7(indx) := t(ddindx).state_geo_type;
464           a8(indx) := t(ddindx).province;
465           a9(indx) := t(ddindx).province_code;
466           a10(indx) := rosetta_g_miss_num_map(t(ddindx).province_geo_id);
467           a11(indx) := t(ddindx).province_geo_type;
468           a12(indx) := t(ddindx).county;
469           a13(indx) := rosetta_g_miss_num_map(t(ddindx).county_geo_id);
470           a14(indx) := t(ddindx).county_geo_type;
471           a15(indx) := t(ddindx).city;
472           a16(indx) := rosetta_g_miss_num_map(t(ddindx).city_geo_id);
473           a17(indx) := t(ddindx).city_geo_type;
474           a18(indx) := t(ddindx).postal_code;
475           a19(indx) := rosetta_g_miss_num_map(t(ddindx).postal_code_geo_id);
476           a20(indx) := t(ddindx).postal_code_geo_type;
477           a21(indx) := t(ddindx).postal_plus4_code;
478           a22(indx) := rosetta_g_miss_num_map(t(ddindx).postal_plus4_code_geo_id);
479           a23(indx) := t(ddindx).postal_plus4_code_geo_type;
480           a24(indx) := t(ddindx).attribute1;
481           a25(indx) := rosetta_g_miss_num_map(t(ddindx).attribute1_geo_id);
482           a26(indx) := t(ddindx).attribute1_geo_type;
483           a27(indx) := t(ddindx).attribute2;
484           a28(indx) := rosetta_g_miss_num_map(t(ddindx).attribute2_geo_id);
485           a29(indx) := t(ddindx).attribute2_geo_type;
486           a30(indx) := t(ddindx).attribute3;
487           a31(indx) := rosetta_g_miss_num_map(t(ddindx).attribute3_geo_id);
488           a32(indx) := t(ddindx).attribute3_geo_type;
489           a33(indx) := t(ddindx).attribute4;
490           a34(indx) := rosetta_g_miss_num_map(t(ddindx).attribute4_geo_id);
491           a35(indx) := t(ddindx).attribute4_geo_type;
492           a36(indx) := t(ddindx).attribute5;
493           a37(indx) := rosetta_g_miss_num_map(t(ddindx).attribute5_geo_id);
494           a38(indx) := t(ddindx).attribute5_geo_type;
495           a39(indx) := t(ddindx).attribute6;
496           a40(indx) := rosetta_g_miss_num_map(t(ddindx).attribute6_geo_id);
497           a41(indx) := t(ddindx).attribute6_geo_type;
498           a42(indx) := t(ddindx).attribute7;
499           a43(indx) := rosetta_g_miss_num_map(t(ddindx).attribute7_geo_id);
500           a44(indx) := t(ddindx).attribute7_geo_type;
501           a45(indx) := t(ddindx).attribute8;
502           a46(indx) := rosetta_g_miss_num_map(t(ddindx).attribute8_geo_id);
503           a47(indx) := t(ddindx).attribute8_geo_type;
504           a48(indx) := t(ddindx).attribute9;
505           a49(indx) := rosetta_g_miss_num_map(t(ddindx).attribute9_geo_id);
506           a50(indx) := t(ddindx).attribute9_geo_type;
507           a51(indx) := t(ddindx).attribute10;
508           a52(indx) := rosetta_g_miss_num_map(t(ddindx).attribute10_geo_id);
509           a53(indx) := t(ddindx).attribute10_geo_type;
510           a54(indx) := t(ddindx).suggestion_list;
511           indx := indx+1;
512           if t.last =ddindx
513             then exit;
514           end if;
515           ddindx := t.next(ddindx);
516         end loop;
517       end if;
518    end if;
519   end rosetta_table_copy_out_p6;
520 
521   procedure search_geographies(p_table_name  VARCHAR2
522     , p_address_style  VARCHAR2
523     , p_address_usage  VARCHAR2
524     , p_country_code  VARCHAR2
525     , p_state  VARCHAR2
526     , p_province  VARCHAR2
527     , p_county  VARCHAR2
528     , p_city  VARCHAR2
529     , p_postal_code  VARCHAR2
530     , p_postal_plus4_code  VARCHAR2
531     , p_attribute1  VARCHAR2
532     , p_attribute2  VARCHAR2
533     , p_attribute3  VARCHAR2
534     , p_attribute4  VARCHAR2
535     , p_attribute5  VARCHAR2
536     , p_attribute6  VARCHAR2
537     , p_attribute7  VARCHAR2
538     , p_attribute8  VARCHAR2
539     , p_attribute9  VARCHAR2
540     , p_attribute10  VARCHAR2
541     , x_mapped_struct_count out nocopy  NUMBER
542     , x_records_count out nocopy  NUMBER
543     , x_return_code out nocopy  NUMBER
544     , x_validation_level out nocopy  VARCHAR2
545     , p24_a0 out nocopy JTF_VARCHAR2_TABLE_100
546     , p24_a1 out nocopy JTF_VARCHAR2_TABLE_100
547     , p24_a2 out nocopy JTF_NUMBER_TABLE
548     , p24_a3 out nocopy JTF_VARCHAR2_TABLE_100
549     , p24_a4 out nocopy JTF_VARCHAR2_TABLE_100
550     , p24_a5 out nocopy JTF_VARCHAR2_TABLE_100
551     , p24_a6 out nocopy JTF_NUMBER_TABLE
552     , p24_a7 out nocopy JTF_VARCHAR2_TABLE_100
553     , p24_a8 out nocopy JTF_VARCHAR2_TABLE_100
554     , p24_a9 out nocopy JTF_VARCHAR2_TABLE_100
555     , p24_a10 out nocopy JTF_NUMBER_TABLE
556     , p24_a11 out nocopy JTF_VARCHAR2_TABLE_100
557     , p24_a12 out nocopy JTF_VARCHAR2_TABLE_100
558     , p24_a13 out nocopy JTF_NUMBER_TABLE
559     , p24_a14 out nocopy JTF_VARCHAR2_TABLE_100
560     , p24_a15 out nocopy JTF_VARCHAR2_TABLE_100
561     , p24_a16 out nocopy JTF_NUMBER_TABLE
562     , p24_a17 out nocopy JTF_VARCHAR2_TABLE_100
563     , p24_a18 out nocopy JTF_VARCHAR2_TABLE_100
564     , p24_a19 out nocopy JTF_NUMBER_TABLE
565     , p24_a20 out nocopy JTF_VARCHAR2_TABLE_100
566     , p24_a21 out nocopy JTF_VARCHAR2_TABLE_100
567     , p24_a22 out nocopy JTF_NUMBER_TABLE
568     , p24_a23 out nocopy JTF_VARCHAR2_TABLE_100
569     , p24_a24 out nocopy JTF_VARCHAR2_TABLE_200
570     , p24_a25 out nocopy JTF_NUMBER_TABLE
571     , p24_a26 out nocopy JTF_VARCHAR2_TABLE_100
572     , p24_a27 out nocopy JTF_VARCHAR2_TABLE_200
573     , p24_a28 out nocopy JTF_NUMBER_TABLE
574     , p24_a29 out nocopy JTF_VARCHAR2_TABLE_100
575     , p24_a30 out nocopy JTF_VARCHAR2_TABLE_200
576     , p24_a31 out nocopy JTF_NUMBER_TABLE
577     , p24_a32 out nocopy JTF_VARCHAR2_TABLE_100
578     , p24_a33 out nocopy JTF_VARCHAR2_TABLE_200
579     , p24_a34 out nocopy JTF_NUMBER_TABLE
580     , p24_a35 out nocopy JTF_VARCHAR2_TABLE_100
581     , p24_a36 out nocopy JTF_VARCHAR2_TABLE_200
582     , p24_a37 out nocopy JTF_NUMBER_TABLE
583     , p24_a38 out nocopy JTF_VARCHAR2_TABLE_100
584     , p24_a39 out nocopy JTF_VARCHAR2_TABLE_200
585     , p24_a40 out nocopy JTF_NUMBER_TABLE
586     , p24_a41 out nocopy JTF_VARCHAR2_TABLE_100
587     , p24_a42 out nocopy JTF_VARCHAR2_TABLE_200
588     , p24_a43 out nocopy JTF_NUMBER_TABLE
589     , p24_a44 out nocopy JTF_VARCHAR2_TABLE_100
590     , p24_a45 out nocopy JTF_VARCHAR2_TABLE_200
591     , p24_a46 out nocopy JTF_NUMBER_TABLE
592     , p24_a47 out nocopy JTF_VARCHAR2_TABLE_100
593     , p24_a48 out nocopy JTF_VARCHAR2_TABLE_200
594     , p24_a49 out nocopy JTF_NUMBER_TABLE
595     , p24_a50 out nocopy JTF_VARCHAR2_TABLE_100
596     , p24_a51 out nocopy JTF_VARCHAR2_TABLE_200
597     , p24_a52 out nocopy JTF_NUMBER_TABLE
598     , p24_a53 out nocopy JTF_VARCHAR2_TABLE_100
599     , p24_a54 out nocopy JTF_VARCHAR2_TABLE_4000
600     , p25_a0 out nocopy JTF_VARCHAR2_TABLE_100
601     , p25_a1 out nocopy JTF_VARCHAR2_TABLE_100
602     , p25_a2 out nocopy JTF_VARCHAR2_TABLE_100
603     , p25_a3 out nocopy JTF_NUMBER_TABLE
604     , p25_a4 out nocopy JTF_VARCHAR2_TABLE_300
605     , p25_a5 out nocopy JTF_VARCHAR2_TABLE_100
606     , p26_a0 out nocopy  VARCHAR2
607     , x_return_status out nocopy  VARCHAR2
608     , x_msg_count out nocopy  NUMBER
609     , x_msg_data out nocopy  VARCHAR2
610   )
611 
612   as
613     ddx_geo_suggest_tbl hz_gnr_pvt.geo_suggest_tbl_type;
614     ddx_geo_struct_tbl hz_gnr_pvt.geo_struct_tbl_type;
615     ddx_geo_suggest_misc_rec hz_gnr_pvt.geo_suggest_misc_rec;
616     ddindx binary_integer; indx binary_integer;
617   begin
618 
619     -- copy data to the local IN or IN-OUT args, if any
620 
621 
622 
623 
624 
625 
626 
627 
628 
629 
630 
631 
632 
633 
634 
635 
636 
637 
638 
639 
640 
641 
642 
643 
644 
645 
646 
647 
648 
649 
650     -- here's the delegated call to the old PL/SQL routine
651     hz_gnr_pvt.search_geographies(p_table_name,
652       p_address_style,
653       p_address_usage,
654       p_country_code,
655       p_state,
656       p_province,
657       p_county,
658       p_city,
659       p_postal_code,
660       p_postal_plus4_code,
661       p_attribute1,
662       p_attribute2,
663       p_attribute3,
664       p_attribute4,
665       p_attribute5,
666       p_attribute6,
667       p_attribute7,
668       p_attribute8,
669       p_attribute9,
670       p_attribute10,
671       x_mapped_struct_count,
672       x_records_count,
673       x_return_code,
674       x_validation_level,
675       ddx_geo_suggest_tbl,
676       ddx_geo_struct_tbl,
677       ddx_geo_suggest_misc_rec,
678       x_return_status,
679       x_msg_count,
680       x_msg_data);
681 
682     -- copy data back from the local variables to OUT or IN-OUT args, if any
683 
684 
685 
686 
687 
688 
689 
690 
691 
692 
693 
694 
695 
696 
697 
698 
699 
700 
701 
702 
703 
704 
705 
706 
707     hz_gnr_pvt_w.rosetta_table_copy_out_p6(ddx_geo_suggest_tbl, p24_a0
708       , p24_a1
709       , p24_a2
710       , p24_a3
711       , p24_a4
712       , p24_a5
713       , p24_a6
714       , p24_a7
715       , p24_a8
716       , p24_a9
717       , p24_a10
718       , p24_a11
719       , p24_a12
720       , p24_a13
721       , p24_a14
722       , p24_a15
723       , p24_a16
724       , p24_a17
725       , p24_a18
726       , p24_a19
727       , p24_a20
728       , p24_a21
729       , p24_a22
730       , p24_a23
731       , p24_a24
732       , p24_a25
733       , p24_a26
734       , p24_a27
735       , p24_a28
736       , p24_a29
737       , p24_a30
738       , p24_a31
739       , p24_a32
740       , p24_a33
741       , p24_a34
742       , p24_a35
743       , p24_a36
744       , p24_a37
745       , p24_a38
746       , p24_a39
747       , p24_a40
748       , p24_a41
749       , p24_a42
750       , p24_a43
751       , p24_a44
752       , p24_a45
753       , p24_a46
754       , p24_a47
755       , p24_a48
756       , p24_a49
757       , p24_a50
758       , p24_a51
759       , p24_a52
760       , p24_a53
761       , p24_a54
762       );
763 
764     hz_gnr_pvt_w.rosetta_table_copy_out_p4(ddx_geo_struct_tbl, p25_a0
765       , p25_a1
766       , p25_a2
767       , p25_a3
768       , p25_a4
769       , p25_a5
770       );
771 
772     p26_a0 := ddx_geo_suggest_misc_rec.v_suggestion_msg_text;
773 
774 
775 
776   end;
777 
778 end hz_gnr_pvt_w;