[Home] [Help]
PACKAGE BODY: APPS.EAM_CONSTRUCTION_UNIT_PUB_W
Source
1 package body eam_construction_unit_pub_w as
2 /* $Header: EAMPCUWB.pls 120.0.12010000.2 2008/11/20 04:37:58 dsingire 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 rosetta_g_mistake_date_high date := to_date('01/01/+4710', 'MM/DD/SYYYY');
6 rosetta_g_mistake_date_low date := to_date('01/01/-4710', 'MM/DD/SYYYY');
7
8 -- this is to workaround the JDBC bug regarding IN DATE of value GMiss
9 function rosetta_g_miss_date_in_map(d date) return date as
10 begin
11 if d > rosetta_g_mistake_date_high then return fnd_api.g_miss_date; end if;
12 if d < rosetta_g_mistake_date_low then return fnd_api.g_miss_date; end if;
13 return d;
14 end;
15
16 function rosetta_g_miss_num_map(n number) return number as
17 a number := fnd_api.g_miss_num;
18 b number := 0-1962.0724;
19 begin
20 if n=a then return b; end if;
21 if n=b then return a; end if;
22 return n;
23 end;
24
25 procedure rosetta_table_copy_in_p2(t out nocopy eam_construction_unit_pub.cu_activity_tbl, a0 JTF_NUMBER_TABLE
26 , a1 JTF_NUMBER_TABLE
27 , a2 JTF_VARCHAR2_TABLE_100
28 , a3 JTF_NUMBER_TABLE
29 , a4 JTF_NUMBER_TABLE
30 , a5 JTF_DATE_TABLE
31 , a6 JTF_DATE_TABLE
32 , a7 JTF_VARCHAR2_TABLE_100
33 ) as
34 ddindx binary_integer; indx binary_integer;
35 begin
36 if a0 is not null and a0.count > 0 then
37 if a0.count > 0 then
38 indx := a0.first;
39 ddindx := 1;
40 while true loop
41 t(ddindx).cu_detail_id := rosetta_g_miss_num_map(a0(indx));
42 t(ddindx).cu_id := rosetta_g_miss_num_map(a1(indx));
43 t(ddindx).acct_class_code := a2(indx);
44 t(ddindx).activity_id := rosetta_g_miss_num_map(a3(indx));
45 t(ddindx).cu_activity_qty := rosetta_g_miss_num_map(a4(indx));
46 t(ddindx).cu_activity_effective_from := rosetta_g_miss_date_in_map(a5(indx));
47 t(ddindx).cu_activity_effective_to := rosetta_g_miss_date_in_map(a6(indx));
48 t(ddindx).cu_assign_to_org := a7(indx);
49 ddindx := ddindx+1;
50 if a0.last =indx
51 then exit;
52 end if;
53 indx := a0.next(indx);
54 end loop;
55 end if;
56 end if;
57 end rosetta_table_copy_in_p2;
58 procedure rosetta_table_copy_out_p2(t eam_construction_unit_pub.cu_activity_tbl, a0 out nocopy JTF_NUMBER_TABLE
59 , a1 out nocopy JTF_NUMBER_TABLE
60 , a2 out nocopy JTF_VARCHAR2_TABLE_100
61 , a3 out nocopy JTF_NUMBER_TABLE
62 , a4 out nocopy JTF_NUMBER_TABLE
63 , a5 out nocopy JTF_DATE_TABLE
64 , a6 out nocopy JTF_DATE_TABLE
65 , a7 out nocopy JTF_VARCHAR2_TABLE_100
66 ) as
67 ddindx binary_integer; indx binary_integer;
68 begin
69 if t is null or t.count = 0 then
70 a0 := JTF_NUMBER_TABLE();
71 a1 := JTF_NUMBER_TABLE();
72 a2 := JTF_VARCHAR2_TABLE_100();
73 a3 := JTF_NUMBER_TABLE();
74 a4 := JTF_NUMBER_TABLE();
75 a5 := JTF_DATE_TABLE();
76 a6 := JTF_DATE_TABLE();
77 a7 := JTF_VARCHAR2_TABLE_100();
78 else
79 a0 := JTF_NUMBER_TABLE();
80 a1 := JTF_NUMBER_TABLE();
81 a2 := JTF_VARCHAR2_TABLE_100();
82 a3 := JTF_NUMBER_TABLE();
83 a4 := JTF_NUMBER_TABLE();
84 a5 := JTF_DATE_TABLE();
85 a6 := JTF_DATE_TABLE();
86 a7 := JTF_VARCHAR2_TABLE_100();
87 if t.count > 0 then
88 a0.extend(t.count);
89 a1.extend(t.count);
90 a2.extend(t.count);
91 a3.extend(t.count);
92 a4.extend(t.count);
93 a5.extend(t.count);
94 a6.extend(t.count);
95 a7.extend(t.count);
96 ddindx := t.first;
97 indx := 1;
98 while true loop
99 a0(indx) := rosetta_g_miss_num_map(t(ddindx).cu_detail_id);
100 a1(indx) := rosetta_g_miss_num_map(t(ddindx).cu_id);
101 a2(indx) := t(ddindx).acct_class_code;
102 a3(indx) := rosetta_g_miss_num_map(t(ddindx).activity_id);
103 a4(indx) := rosetta_g_miss_num_map(t(ddindx).cu_activity_qty);
104 a5(indx) := t(ddindx).cu_activity_effective_from;
105 a6(indx) := t(ddindx).cu_activity_effective_to;
106 a7(indx) := t(ddindx).cu_assign_to_org;
107 indx := indx+1;
108 if t.last =ddindx
109 then exit;
110 end if;
111 ddindx := t.next(ddindx);
112 end loop;
113 end if;
114 end if;
115 end rosetta_table_copy_out_p2;
116
117 procedure rosetta_table_copy_in_p4(t out nocopy eam_construction_unit_pub.cu_id_tbl, a0 JTF_NUMBER_TABLE
118 ) as
119 ddindx binary_integer; indx binary_integer;
120 begin
121 if a0 is not null and a0.count > 0 then
122 if a0.count > 0 then
123 indx := a0.first;
124 ddindx := 1;
125 while true loop
126 t(ddindx).cu_id := rosetta_g_miss_num_map(a0(indx));
127 ddindx := ddindx+1;
128 if a0.last =indx
129 then exit;
130 end if;
131 indx := a0.next(indx);
132 end loop;
133 end if;
134 end if;
135 end rosetta_table_copy_in_p4;
136 procedure rosetta_table_copy_out_p4(t eam_construction_unit_pub.cu_id_tbl, a0 out nocopy JTF_NUMBER_TABLE
137 ) as
138 ddindx binary_integer; indx binary_integer;
139 begin
140 if t is null or t.count = 0 then
141 a0 := JTF_NUMBER_TABLE();
142 else
143 a0 := JTF_NUMBER_TABLE();
144 if t.count > 0 then
145 a0.extend(t.count);
146 ddindx := t.first;
147 indx := 1;
148 while true loop
149 a0(indx) := rosetta_g_miss_num_map(t(ddindx).cu_id);
150 indx := indx+1;
151 if t.last =ddindx
152 then exit;
153 end if;
154 ddindx := t.next(ddindx);
155 end loop;
156 end if;
157 end if;
158 end rosetta_table_copy_out_p4;
159
160 procedure create_construction_unit(p_api_version NUMBER
161 , p_commit VARCHAR2
162 , p3_a0 JTF_NUMBER_TABLE
163 , p3_a1 JTF_NUMBER_TABLE
164 , p3_a2 JTF_VARCHAR2_TABLE_100
165 , p3_a3 JTF_NUMBER_TABLE
166 , p3_a4 JTF_NUMBER_TABLE
167 , p3_a5 JTF_DATE_TABLE
168 , p3_a6 JTF_DATE_TABLE
169 , p3_a7 JTF_VARCHAR2_TABLE_100
170 , x_cu_id out nocopy NUMBER
171 , x_return_status out nocopy VARCHAR2
172 , x_msg_count out nocopy NUMBER
173 , x_msg_data out nocopy VARCHAR2
174 , p2_a0 NUMBER := 0-1962.0724
175 , p2_a1 VARCHAR2 := fnd_api.g_miss_char
176 , p2_a2 VARCHAR2 := fnd_api.g_miss_char
177 , p2_a3 NUMBER := 0-1962.0724
178 , p2_a4 DATE := fnd_api.g_miss_date
179 , p2_a5 DATE := fnd_api.g_miss_date
180 , p2_a6 VARCHAR2 := fnd_api.g_miss_char
181 , p2_a7 VARCHAR2 := fnd_api.g_miss_char
182 , p2_a8 VARCHAR2 := fnd_api.g_miss_char
183 , p2_a9 VARCHAR2 := fnd_api.g_miss_char
184 , p2_a10 VARCHAR2 := fnd_api.g_miss_char
185 , p2_a11 VARCHAR2 := fnd_api.g_miss_char
186 , p2_a12 VARCHAR2 := fnd_api.g_miss_char
187 , p2_a13 VARCHAR2 := fnd_api.g_miss_char
188 , p2_a14 VARCHAR2 := fnd_api.g_miss_char
189 , p2_a15 VARCHAR2 := fnd_api.g_miss_char
190 , p2_a16 VARCHAR2 := fnd_api.g_miss_char
191 , p2_a17 VARCHAR2 := fnd_api.g_miss_char
192 , p2_a18 VARCHAR2 := fnd_api.g_miss_char
193 , p2_a19 VARCHAR2 := fnd_api.g_miss_char
194 , p2_a20 VARCHAR2 := fnd_api.g_miss_char
195 , p2_a21 VARCHAR2 := fnd_api.g_miss_char
196 )
197
198 as
199 ddp_cu_rec eam_construction_unit_pub.cu_rec;
200 ddp_cu_activity_tbl eam_construction_unit_pub.cu_activity_tbl;
201 ddindx binary_integer; indx binary_integer;
202 begin
203
204 -- copy data to the local IN or IN-OUT args, if any
205
206
207 ddp_cu_rec.cu_id := rosetta_g_miss_num_map(p2_a0);
208 ddp_cu_rec.cu_name := p2_a1;
209 ddp_cu_rec.description := p2_a2;
210 ddp_cu_rec.organization_id := rosetta_g_miss_num_map(p2_a3);
211 ddp_cu_rec.cu_effective_from := rosetta_g_miss_date_in_map(p2_a4);
212 ddp_cu_rec.cu_effective_to := rosetta_g_miss_date_in_map(p2_a5);
213 ddp_cu_rec.attribute_category := p2_a6;
214 ddp_cu_rec.attribute1 := p2_a7;
215 ddp_cu_rec.attribute2 := p2_a8;
216 ddp_cu_rec.attribute3 := p2_a9;
217 ddp_cu_rec.attribute4 := p2_a10;
218 ddp_cu_rec.attribute5 := p2_a11;
219 ddp_cu_rec.attribute6 := p2_a12;
220 ddp_cu_rec.attribute7 := p2_a13;
221 ddp_cu_rec.attribute8 := p2_a14;
222 ddp_cu_rec.attribute9 := p2_a15;
223 ddp_cu_rec.attribute10 := p2_a16;
224 ddp_cu_rec.attribute11 := p2_a17;
225 ddp_cu_rec.attribute12 := p2_a18;
226 ddp_cu_rec.attribute13 := p2_a19;
227 ddp_cu_rec.attribute14 := p2_a20;
228 ddp_cu_rec.attribute15 := p2_a21;
229
230 eam_construction_unit_pub_w.rosetta_table_copy_in_p2(ddp_cu_activity_tbl, p3_a0
231 , p3_a1
232 , p3_a2
233 , p3_a3
234 , p3_a4
235 , p3_a5
236 , p3_a6
237 , p3_a7
238 );
239
240
241
242
243
244 -- here's the delegated call to the old PL/SQL routine
245 eam_construction_unit_pub.create_construction_unit(p_api_version,
246 p_commit,
247 ddp_cu_rec,
248 ddp_cu_activity_tbl,
249 x_cu_id,
250 x_return_status,
251 x_msg_count,
252 x_msg_data);
253
254 -- copy data back from the local variables to OUT or IN-OUT args, if any
255
256
257
258
259
260
261
262 end;
263
264 procedure update_construction_unit(p_api_version NUMBER
265 , p_commit VARCHAR2
266 , p3_a0 JTF_NUMBER_TABLE
267 , p3_a1 JTF_NUMBER_TABLE
268 , p3_a2 JTF_VARCHAR2_TABLE_100
269 , p3_a3 JTF_NUMBER_TABLE
270 , p3_a4 JTF_NUMBER_TABLE
271 , p3_a5 JTF_DATE_TABLE
272 , p3_a6 JTF_DATE_TABLE
273 , p3_a7 JTF_VARCHAR2_TABLE_100
274 , x_cu_id out nocopy NUMBER
275 , x_return_status out nocopy VARCHAR2
276 , x_msg_count out nocopy NUMBER
277 , x_msg_data out nocopy VARCHAR2
278 , p2_a0 NUMBER := 0-1962.0724
279 , p2_a1 VARCHAR2 := fnd_api.g_miss_char
280 , p2_a2 VARCHAR2 := fnd_api.g_miss_char
281 , p2_a3 NUMBER := 0-1962.0724
282 , p2_a4 DATE := fnd_api.g_miss_date
283 , p2_a5 DATE := fnd_api.g_miss_date
284 , p2_a6 VARCHAR2 := fnd_api.g_miss_char
285 , p2_a7 VARCHAR2 := fnd_api.g_miss_char
286 , p2_a8 VARCHAR2 := fnd_api.g_miss_char
287 , p2_a9 VARCHAR2 := fnd_api.g_miss_char
288 , p2_a10 VARCHAR2 := fnd_api.g_miss_char
289 , p2_a11 VARCHAR2 := fnd_api.g_miss_char
290 , p2_a12 VARCHAR2 := fnd_api.g_miss_char
291 , p2_a13 VARCHAR2 := fnd_api.g_miss_char
292 , p2_a14 VARCHAR2 := fnd_api.g_miss_char
293 , p2_a15 VARCHAR2 := fnd_api.g_miss_char
294 , p2_a16 VARCHAR2 := fnd_api.g_miss_char
295 , p2_a17 VARCHAR2 := fnd_api.g_miss_char
296 , p2_a18 VARCHAR2 := fnd_api.g_miss_char
297 , p2_a19 VARCHAR2 := fnd_api.g_miss_char
298 , p2_a20 VARCHAR2 := fnd_api.g_miss_char
299 , p2_a21 VARCHAR2 := fnd_api.g_miss_char
300 )
301
302 as
303 ddp_cu_rec eam_construction_unit_pub.cu_rec;
304 ddp_cu_activity_tbl eam_construction_unit_pub.cu_activity_tbl;
305 ddindx binary_integer; indx binary_integer;
306 begin
307
308 -- copy data to the local IN or IN-OUT args, if any
309
310
311 ddp_cu_rec.cu_id := rosetta_g_miss_num_map(p2_a0);
312 ddp_cu_rec.cu_name := p2_a1;
313 ddp_cu_rec.description := p2_a2;
314 ddp_cu_rec.organization_id := rosetta_g_miss_num_map(p2_a3);
315 ddp_cu_rec.cu_effective_from := rosetta_g_miss_date_in_map(p2_a4);
316 ddp_cu_rec.cu_effective_to := rosetta_g_miss_date_in_map(p2_a5);
317 ddp_cu_rec.attribute_category := p2_a6;
318 ddp_cu_rec.attribute1 := p2_a7;
319 ddp_cu_rec.attribute2 := p2_a8;
320 ddp_cu_rec.attribute3 := p2_a9;
321 ddp_cu_rec.attribute4 := p2_a10;
322 ddp_cu_rec.attribute5 := p2_a11;
323 ddp_cu_rec.attribute6 := p2_a12;
324 ddp_cu_rec.attribute7 := p2_a13;
325 ddp_cu_rec.attribute8 := p2_a14;
326 ddp_cu_rec.attribute9 := p2_a15;
327 ddp_cu_rec.attribute10 := p2_a16;
328 ddp_cu_rec.attribute11 := p2_a17;
329 ddp_cu_rec.attribute12 := p2_a18;
330 ddp_cu_rec.attribute13 := p2_a19;
331 ddp_cu_rec.attribute14 := p2_a20;
332 ddp_cu_rec.attribute15 := p2_a21;
333
334 eam_construction_unit_pub_w.rosetta_table_copy_in_p2(ddp_cu_activity_tbl, p3_a0
335 , p3_a1
336 , p3_a2
337 , p3_a3
338 , p3_a4
339 , p3_a5
340 , p3_a6
341 , p3_a7
342 );
343
344
345
346
347
348 -- here's the delegated call to the old PL/SQL routine
349 eam_construction_unit_pub.update_construction_unit(p_api_version,
350 p_commit,
351 ddp_cu_rec,
352 ddp_cu_activity_tbl,
353 x_cu_id,
354 x_return_status,
355 x_msg_count,
356 x_msg_data);
357
358 -- copy data back from the local variables to OUT or IN-OUT args, if any
359
360
361
362
363
364
365
366 end;
367
368 procedure copy_construction_unit(p_api_version NUMBER
369 , p_commit VARCHAR2
370 , p3_a0 JTF_NUMBER_TABLE
371 , p3_a1 JTF_NUMBER_TABLE
372 , p3_a2 JTF_VARCHAR2_TABLE_100
373 , p3_a3 JTF_NUMBER_TABLE
374 , p3_a4 JTF_NUMBER_TABLE
375 , p3_a5 JTF_DATE_TABLE
376 , p3_a6 JTF_DATE_TABLE
377 , p3_a7 JTF_VARCHAR2_TABLE_100
378 , p4_a0 JTF_NUMBER_TABLE
379 , x_cu_id out nocopy NUMBER
380 , x_return_status out nocopy VARCHAR2
381 , x_msg_count out nocopy NUMBER
382 , x_msg_data out nocopy VARCHAR2
383 , p2_a0 NUMBER := 0-1962.0724
384 , p2_a1 VARCHAR2 := fnd_api.g_miss_char
385 , p2_a2 VARCHAR2 := fnd_api.g_miss_char
386 , p2_a3 NUMBER := 0-1962.0724
387 , p2_a4 DATE := fnd_api.g_miss_date
388 , p2_a5 DATE := fnd_api.g_miss_date
389 , p2_a6 VARCHAR2 := fnd_api.g_miss_char
390 , p2_a7 VARCHAR2 := fnd_api.g_miss_char
391 , p2_a8 VARCHAR2 := fnd_api.g_miss_char
392 , p2_a9 VARCHAR2 := fnd_api.g_miss_char
393 , p2_a10 VARCHAR2 := fnd_api.g_miss_char
394 , p2_a11 VARCHAR2 := fnd_api.g_miss_char
395 , p2_a12 VARCHAR2 := fnd_api.g_miss_char
396 , p2_a13 VARCHAR2 := fnd_api.g_miss_char
397 , p2_a14 VARCHAR2 := fnd_api.g_miss_char
398 , p2_a15 VARCHAR2 := fnd_api.g_miss_char
399 , p2_a16 VARCHAR2 := fnd_api.g_miss_char
400 , p2_a17 VARCHAR2 := fnd_api.g_miss_char
401 , p2_a18 VARCHAR2 := fnd_api.g_miss_char
402 , p2_a19 VARCHAR2 := fnd_api.g_miss_char
403 , p2_a20 VARCHAR2 := fnd_api.g_miss_char
404 , p2_a21 VARCHAR2 := fnd_api.g_miss_char
405 )
406
407 as
408 ddp_cu_rec eam_construction_unit_pub.cu_rec;
409 ddp_cu_activity_tbl eam_construction_unit_pub.cu_activity_tbl;
410 ddp_source_cu_id_tbl eam_construction_unit_pub.cu_id_tbl;
411 ddindx binary_integer; indx binary_integer;
412 begin
413
414 -- copy data to the local IN or IN-OUT args, if any
415
416
417 ddp_cu_rec.cu_id := rosetta_g_miss_num_map(p2_a0);
418 ddp_cu_rec.cu_name := p2_a1;
419 ddp_cu_rec.description := p2_a2;
420 ddp_cu_rec.organization_id := rosetta_g_miss_num_map(p2_a3);
421 ddp_cu_rec.cu_effective_from := rosetta_g_miss_date_in_map(p2_a4);
422 ddp_cu_rec.cu_effective_to := rosetta_g_miss_date_in_map(p2_a5);
423 ddp_cu_rec.attribute_category := p2_a6;
424 ddp_cu_rec.attribute1 := p2_a7;
425 ddp_cu_rec.attribute2 := p2_a8;
426 ddp_cu_rec.attribute3 := p2_a9;
427 ddp_cu_rec.attribute4 := p2_a10;
428 ddp_cu_rec.attribute5 := p2_a11;
429 ddp_cu_rec.attribute6 := p2_a12;
430 ddp_cu_rec.attribute7 := p2_a13;
431 ddp_cu_rec.attribute8 := p2_a14;
432 ddp_cu_rec.attribute9 := p2_a15;
433 ddp_cu_rec.attribute10 := p2_a16;
434 ddp_cu_rec.attribute11 := p2_a17;
435 ddp_cu_rec.attribute12 := p2_a18;
436 ddp_cu_rec.attribute13 := p2_a19;
437 ddp_cu_rec.attribute14 := p2_a20;
438 ddp_cu_rec.attribute15 := p2_a21;
439
440 eam_construction_unit_pub_w.rosetta_table_copy_in_p2(ddp_cu_activity_tbl, p3_a0
441 , p3_a1
442 , p3_a2
443 , p3_a3
444 , p3_a4
445 , p3_a5
446 , p3_a6
447 , p3_a7
448 );
449
450 eam_construction_unit_pub_w.rosetta_table_copy_in_p4(ddp_source_cu_id_tbl, p4_a0
451 );
452
453
454
455
456
457 -- here's the delegated call to the old PL/SQL routine
458 eam_construction_unit_pub.copy_construction_unit(p_api_version,
459 p_commit,
460 ddp_cu_rec,
461 ddp_cu_activity_tbl,
462 ddp_source_cu_id_tbl,
463 x_cu_id,
464 x_return_status,
465 x_msg_count,
466 x_msg_data);
467
468 -- copy data back from the local variables to OUT or IN-OUT args, if any
469
470
471
472
473
474
475
476
477 end;
478
479 end eam_construction_unit_pub_w;