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