DBA Data[Home] [Help]

PACKAGE BODY: APPS.JTF_PERZ_DDF_PUB_W

Source


1 package body jtf_perz_ddf_pub_w as
2   /* $Header: jtfzwddb.pls 120.2 2005/11/02 23:00:25 skothe 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   function rosetta_g_miss_num_map(n number) return number as
7     a number := fnd_api.g_miss_num;
8     b number := 0-1962.0724;
9   begin
10     if n=a then return b; end if;
11     if n=b then return a; end if;
12     return n;
13   end;
14 
15   -- this is to workaround the JDBC bug regarding IN DATE of value GMiss
16   function rosetta_g_miss_date_in_map(d date) return date as
17   begin
18     if d = rosetta_g_mistake_date then return fnd_api.g_miss_date; end if;
19     return d;
20   end;
21 
22   procedure rosetta_table_copy_in_p1(t OUT NOCOPY /* file.sql.39 change */ jtf_perz_ddf_pub.ddf_out_tbl_type, a0 JTF_NUMBER_TABLE
23     , a1 JTF_VARCHAR2_TABLE_100
24     , a2 JTF_NUMBER_TABLE
25     , a3 JTF_NUMBER_TABLE
26     , a4 JTF_VARCHAR2_TABLE_100
27     , a5 JTF_NUMBER_TABLE
28     , a6 JTF_VARCHAR2_TABLE_100
29     , a7 JTF_VARCHAR2_TABLE_100
30     ) as
31     ddindx binary_integer; indx binary_integer;
32   begin
33   if a0 is not null and a0.count > 0 then
34       if a0.count > 0 then
35         indx := a0.first;
36         ddindx := 1;
37         while true loop
38           t(ddindx).perz_ddf_id := a0(indx);
39           t(ddindx).perz_ddf_context := a1(indx);
40           t(ddindx).profile_id := a2(indx);
41           t(ddindx).application_id := a3(indx);
42           t(ddindx).gui_object_name := a4(indx);
43           t(ddindx).gui_object_id := a5(indx);
44           t(ddindx).ddf_value := a6(indx);
45           t(ddindx).ddf_value_type := a7(indx);
46           ddindx := ddindx+1;
47           if a0.last =indx
48             then exit;
49           end if;
50           indx := a0.next(indx);
51         end loop;
52       end if;
53    end if;
54   end rosetta_table_copy_in_p1;
55   procedure rosetta_table_copy_out_p1(t jtf_perz_ddf_pub.ddf_out_tbl_type, a0 OUT NOCOPY /* file.sql.39 change */ JTF_NUMBER_TABLE
56     , a1 OUT NOCOPY /* file.sql.39 change */ JTF_VARCHAR2_TABLE_100
57     , a2 OUT NOCOPY /* file.sql.39 change */ JTF_NUMBER_TABLE
58     , a3 OUT NOCOPY /* file.sql.39 change */ JTF_NUMBER_TABLE
59     , a4 OUT NOCOPY /* file.sql.39 change */ JTF_VARCHAR2_TABLE_100
60     , a5 OUT NOCOPY /* file.sql.39 change */ JTF_NUMBER_TABLE
61     , a6 OUT NOCOPY /* file.sql.39 change */ JTF_VARCHAR2_TABLE_100
62     , a7 OUT NOCOPY /* file.sql.39 change */ JTF_VARCHAR2_TABLE_100
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_VARCHAR2_TABLE_100();
69     a2 := JTF_NUMBER_TABLE();
70     a3 := JTF_NUMBER_TABLE();
71     a4 := JTF_VARCHAR2_TABLE_100();
72     a5 := JTF_NUMBER_TABLE();
73     a6 := JTF_VARCHAR2_TABLE_100();
74     a7 := JTF_VARCHAR2_TABLE_100();
75   else
76       a0 := JTF_NUMBER_TABLE();
77       a1 := JTF_VARCHAR2_TABLE_100();
78       a2 := JTF_NUMBER_TABLE();
79       a3 := JTF_NUMBER_TABLE();
80       a4 := JTF_VARCHAR2_TABLE_100();
81       a5 := JTF_NUMBER_TABLE();
82       a6 := JTF_VARCHAR2_TABLE_100();
83       a7 := JTF_VARCHAR2_TABLE_100();
84       if t.count > 0 then
85         a0.extend(t.count);
86         a1.extend(t.count);
87         a2.extend(t.count);
88         a3.extend(t.count);
89         a4.extend(t.count);
90         a5.extend(t.count);
91         a6.extend(t.count);
92         a7.extend(t.count);
93         ddindx := t.first;
94         indx := 1;
95         while true loop
96           a0(indx) := t(ddindx).perz_ddf_id;
97           a1(indx) := t(ddindx).perz_ddf_context;
98           a2(indx) := t(ddindx).profile_id;
99           a3(indx) := t(ddindx).application_id;
100           a4(indx) := t(ddindx).gui_object_name;
101           a5(indx) := t(ddindx).gui_object_id;
102           a6(indx) := t(ddindx).ddf_value;
103           a7(indx) := t(ddindx).ddf_value_type;
104           indx := indx+1;
105           if t.last =ddindx
106             then exit;
107           end if;
108           ddindx := t.next(ddindx);
109         end loop;
110       end if;
111    end if;
112   end rosetta_table_copy_out_p1;
113 
114   procedure save_data_default(p_api_version_number  NUMBER
115     , p_init_msg_list  VARCHAR2
116     , p_commit  VARCHAR
117     , p_application_id  NUMBER
118     , p_profile_id  NUMBER
119     , p_profile_name  VARCHAR2
120     , p_profile_type  VARCHAR2
121     , p7_a0 JTF_NUMBER_TABLE
122     , p7_a1 JTF_NUMBER_TABLE
123     , p7_a2 JTF_VARCHAR2_TABLE_100
124     , p7_a3 JTF_VARCHAR2_TABLE_100
125     , p7_a4 JTF_VARCHAR2_TABLE_100
126     , p_perz_ddf_id  NUMBER
127     , p_perz_ddf_context  VARCHAR2
128     , p_gui_object_name  VARCHAR2
129     , p_gui_object_id  NUMBER
130     , p_ddf_value  VARCHAR2
131     , p_ddf_value_type  VARCHAR2
132     , x_perz_ddf_id OUT NOCOPY /* file.sql.39 change */  NUMBER
133     , x_return_status OUT NOCOPY /* file.sql.39 change */  VARCHAR2
134     , x_msg_count OUT NOCOPY /* file.sql.39 change */  NUMBER
135     , x_msg_data OUT NOCOPY /* file.sql.39 change */  VARCHAR2
136   )
137   as
138     ddp_profile_attrib jtf_perz_profile_pub.profile_attrib_tbl_type;
139     ddindx binary_integer; indx binary_integer;
140   begin
141 
142     -- copy data to the local IN or IN-OUT args, if any
143 
144 
145 
146 
147 
148 
149 
150     jtf_perz_profile_pub_w.rosetta_table_copy_in_p1(ddp_profile_attrib, p7_a0
151       , p7_a1
152       , p7_a2
153       , p7_a3
154       , p7_a4
155       );
156 
157 
158 
159 
160 
161 
162 
163 
164 
165 
166 
167     -- here's the delegated call to the old PL/SQL routine
168     jtf_perz_ddf_pub.save_data_default(p_api_version_number,
169       p_init_msg_list,
170       p_commit,
171       p_application_id,
172       p_profile_id,
173       p_profile_name,
174       p_profile_type,
175       ddp_profile_attrib,
176       p_perz_ddf_id,
177       p_perz_ddf_context,
178       p_gui_object_name,
179       p_gui_object_id,
180       p_ddf_value,
181       p_ddf_value_type,
182       x_perz_ddf_id,
183       x_return_status,
184       x_msg_count,
185       x_msg_data);
186 
187     -- copy data back from the local OUT or IN-OUT args, if any
188 
189 
190 
191 
192 
193 
194 
195 
196 
197 
198 
199 
200 
201 
202 
203 
204 
205   end;
206 
207   procedure get_data_default(p_api_version_number  NUMBER
208     , p_init_msg_list  VARCHAR2
209     , p_application_id  NUMBER
210     , p_profile_id  NUMBER
211     , p_profile_name  VARCHAR2
212     , p_perz_ddf_id  NUMBER
213     , p_perz_ddf_context  VARCHAR2
214     , p_gui_object_name  VARCHAR2
215     , p_gui_object_id  NUMBER
216     , p_ddf_value  VARCHAR2
217     , p_ddf_value_type  VARCHAR2
218     , p11_a0 OUT NOCOPY /* file.sql.39 change */ JTF_NUMBER_TABLE
219     , p11_a1 OUT NOCOPY /* file.sql.39 change */ JTF_VARCHAR2_TABLE_100
220     , p11_a2 OUT NOCOPY /* file.sql.39 change */ JTF_NUMBER_TABLE
221     , p11_a3 OUT NOCOPY /* file.sql.39 change */ JTF_NUMBER_TABLE
222     , p11_a4 OUT NOCOPY /* file.sql.39 change */ JTF_VARCHAR2_TABLE_100
223     , p11_a5 OUT NOCOPY /* file.sql.39 change */ JTF_NUMBER_TABLE
224     , p11_a6 OUT NOCOPY /* file.sql.39 change */ JTF_VARCHAR2_TABLE_100
225     , p11_a7 OUT NOCOPY /* file.sql.39 change */ JTF_VARCHAR2_TABLE_100
226     , x_return_status OUT NOCOPY /* file.sql.39 change */  VARCHAR2
227     , x_msg_count OUT NOCOPY /* file.sql.39 change */  NUMBER
228     , x_msg_data OUT NOCOPY /* file.sql.39 change */  VARCHAR2
229   )
230   as
231     ddx_ddf_out_tbl jtf_perz_ddf_pub.ddf_out_tbl_type;
232     ddindx binary_integer; indx binary_integer;
233   begin
234 
235     -- copy data to the local IN or IN-OUT args, if any
236 
237 
238 
239 
240 
241 
242 
243 
244 
245 
246 
247 
248 
249 
250 
251     -- here's the delegated call to the old PL/SQL routine
252     jtf_perz_ddf_pub.get_data_default(p_api_version_number,
253       p_init_msg_list,
254       p_application_id,
255       p_profile_id,
256       p_profile_name,
257       p_perz_ddf_id,
258       p_perz_ddf_context,
259       p_gui_object_name,
260       p_gui_object_id,
261       p_ddf_value,
262       p_ddf_value_type,
263       ddx_ddf_out_tbl,
264       x_return_status,
265       x_msg_count,
266       x_msg_data);
267 
268     -- copy data back from the local OUT  or IN-OUT args, if any
269 
270 
271 
272 
273 
274 
275 
276 
277 
278 
279 
280     jtf_perz_ddf_pub_w.rosetta_table_copy_out_p1(ddx_ddf_out_tbl, p11_a0
281       , p11_a1
282       , p11_a2
283       , p11_a3
284       , p11_a4
285       , p11_a5
286       , p11_a6
287       , p11_a7
288       );
289 
290 
291 
292   end;
293 
294 end jtf_perz_ddf_pub_w;