[Home] [Help]
PACKAGE BODY: APPS.PV_ASSIGN_UTIL_PVT_W
Source
1 package body pv_assign_util_pvt_w as
2 /* $Header: pvwautlb.pls 115.14 2002/12/26 16:05:06 vansub 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_p4(t out nocopy pv_assign_util_pvt.resource_details_tbl_type, a0 JTF_VARCHAR2_TABLE_100
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_VARCHAR2_TABLE_100
28 , a6 JTF_NUMBER_TABLE
29 ) as
30 ddindx binary_integer; indx binary_integer;
31 begin
32 if a0 is not null and a0.count=0 then
33 t := pv_assign_util_pvt.resource_details_tbl_type();
34 elsif a0 is not null and a0.count > 0 then
35 if a0.count > 0 then
36 t := pv_assign_util_pvt.resource_details_tbl_type();
37 t.extend(a0.count);
38 indx := a0.first;
39 ddindx := 1;
40 while true loop
41 t(ddindx).notification_type := a0(indx);
42 t(ddindx).decision_maker_flag := a1(indx);
43 t(ddindx).user_id := rosetta_g_miss_num_map(a2(indx));
44 t(ddindx).person_id := rosetta_g_miss_num_map(a3(indx));
45 t(ddindx).person_type := a4(indx);
46 t(ddindx).user_name := a5(indx);
47 t(ddindx).resource_id := rosetta_g_miss_num_map(a6(indx));
48 ddindx := ddindx+1;
49 if a0.last =indx
50 then exit;
51 end if;
52 indx := a0.next(indx);
53 end loop;
54 end if;
55 end if;
56 end rosetta_table_copy_in_p4;
57 procedure rosetta_table_copy_out_p4(t pv_assign_util_pvt.resource_details_tbl_type, a0 out nocopy JTF_VARCHAR2_TABLE_100
58 , a1 out nocopy JTF_VARCHAR2_TABLE_100
59 , a2 out nocopy JTF_NUMBER_TABLE
60 , a3 out nocopy JTF_NUMBER_TABLE
61 , a4 out nocopy JTF_VARCHAR2_TABLE_100
62 , a5 out nocopy JTF_VARCHAR2_TABLE_100
63 , a6 out nocopy JTF_NUMBER_TABLE
64 ) as
65 ddindx binary_integer; indx binary_integer;
66 begin
67 if t is null then
68 a0 := null;
69 a1 := null;
70 a2 := null;
71 a3 := null;
72 a4 := null;
73 a5 := null;
74 a6 := null;
75 elsif t.count = 0 then
76 a0 := JTF_VARCHAR2_TABLE_100();
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_VARCHAR2_TABLE_100();
82 a6 := JTF_NUMBER_TABLE();
83 else
84 a0 := JTF_VARCHAR2_TABLE_100();
85 a1 := JTF_VARCHAR2_TABLE_100();
86 a2 := JTF_NUMBER_TABLE();
87 a3 := JTF_NUMBER_TABLE();
88 a4 := JTF_VARCHAR2_TABLE_100();
89 a5 := JTF_VARCHAR2_TABLE_100();
90 a6 := JTF_NUMBER_TABLE();
91 if t.count > 0 then
92 a0.extend(t.count);
93 a1.extend(t.count);
94 a2.extend(t.count);
95 a3.extend(t.count);
96 a4.extend(t.count);
97 a5.extend(t.count);
98 a6.extend(t.count);
99 ddindx := t.first;
100 indx := 1;
101 while true loop
102 a0(indx) := t(ddindx).notification_type;
103 a1(indx) := t(ddindx).decision_maker_flag;
104 a2(indx) := rosetta_g_miss_num_map(t(ddindx).user_id);
105 a3(indx) := rosetta_g_miss_num_map(t(ddindx).person_id);
106 a4(indx) := t(ddindx).person_type;
107 a5(indx) := t(ddindx).user_name;
108 a6(indx) := rosetta_g_miss_num_map(t(ddindx).resource_id);
109 indx := indx+1;
110 if t.last =ddindx
111 then exit;
112 end if;
113 ddindx := t.next(ddindx);
114 end loop;
115 end if;
116 end if;
117 end rosetta_table_copy_out_p4;
118
119 procedure create_party_notification(p_api_version_number NUMBER
120 , p_init_msg_list VARCHAR2
121 , p_commit VARCHAR2
122 , p_validation_level NUMBER
123 , p4_a0 NUMBER := 0-1962.0724
124 , p4_a1 DATE := fnd_api.g_miss_date
125 , p4_a2 NUMBER := 0-1962.0724
126 , p4_a3 DATE := fnd_api.g_miss_date
127 , p4_a4 NUMBER := 0-1962.0724
128 , p4_a5 NUMBER := 0-1962.0724
129 , p4_a6 NUMBER := 0-1962.0724
130 , p4_a7 NUMBER := 0-1962.0724
131 , p4_a8 NUMBER := 0-1962.0724
132 , p4_a9 NUMBER := 0-1962.0724
133 , p4_a10 DATE := fnd_api.g_miss_date
134 , p4_a11 NUMBER := 0-1962.0724
135 , p4_a12 VARCHAR2 := fnd_api.g_miss_char
136 , p4_a13 NUMBER := 0-1962.0724
137 , p4_a14 VARCHAR2 := fnd_api.g_miss_char
138 , p4_a15 VARCHAR2 := fnd_api.g_miss_char
139 , p4_a16 NUMBER := 0-1962.0724
140 , p4_a17 VARCHAR2 := fnd_api.g_miss_char
141 , p4_a18 NUMBER := 0-1962.0724
142 , p4_a19 VARCHAR2 := fnd_api.g_miss_char
143 , p4_a20 VARCHAR2 := fnd_api.g_miss_char
144 , p4_a21 DATE := fnd_api.g_miss_date
145 , p4_a22 VARCHAR2 := fnd_api.g_miss_char
146 , p4_a23 VARCHAR2 := fnd_api.g_miss_char
147 , p4_a24 VARCHAR2 := fnd_api.g_miss_char
148 , p4_a25 VARCHAR2 := fnd_api.g_miss_char
149 , p4_a26 VARCHAR2 := fnd_api.g_miss_char
150 , p4_a27 VARCHAR2 := fnd_api.g_miss_char
151 , p4_a28 VARCHAR2 := fnd_api.g_miss_char
152 , p4_a29 VARCHAR2 := fnd_api.g_miss_char
153 , p4_a30 VARCHAR2 := fnd_api.g_miss_char
154 , p4_a31 VARCHAR2 := fnd_api.g_miss_char
155 , p4_a32 VARCHAR2 := fnd_api.g_miss_char
156 , p4_a33 VARCHAR2 := fnd_api.g_miss_char
157 , p4_a34 VARCHAR2 := fnd_api.g_miss_char
158 , p4_a35 VARCHAR2 := fnd_api.g_miss_char
159 , p4_a36 VARCHAR2 := fnd_api.g_miss_char
160 , p4_a37 VARCHAR2 := fnd_api.g_miss_char
161 , x_party_notification_id out nocopy NUMBER
162 , x_return_status out nocopy VARCHAR2
163 , x_msg_count out nocopy NUMBER
164 , x_msg_data out nocopy VARCHAR2
165 )
166 as
167 ddp_party_notify_rec pv_assign_util_pvt.party_notify_rec_type;
168 ddindx binary_integer; indx binary_integer;
169 begin
170
171 -- copy data to the local IN or IN-OUT args, if any
172
173
174
175
176 ddp_party_notify_rec.party_notification_id := rosetta_g_miss_num_map(p4_a0);
177 ddp_party_notify_rec.last_update_date := rosetta_g_miss_date_in_map(p4_a1);
178 ddp_party_notify_rec.last_updated_by := rosetta_g_miss_num_map(p4_a2);
179 ddp_party_notify_rec.creation_date := rosetta_g_miss_date_in_map(p4_a3);
180 ddp_party_notify_rec.created_by := rosetta_g_miss_num_map(p4_a4);
181 ddp_party_notify_rec.last_update_login := rosetta_g_miss_num_map(p4_a5);
182 ddp_party_notify_rec.object_version_number := rosetta_g_miss_num_map(p4_a6);
183 ddp_party_notify_rec.request_id := rosetta_g_miss_num_map(p4_a7);
184 ddp_party_notify_rec.program_application_id := rosetta_g_miss_num_map(p4_a8);
185 ddp_party_notify_rec.program_id := rosetta_g_miss_num_map(p4_a9);
186 ddp_party_notify_rec.program_update_date := rosetta_g_miss_date_in_map(p4_a10);
187 ddp_party_notify_rec.notification_id := rosetta_g_miss_num_map(p4_a11);
188 ddp_party_notify_rec.notification_type := p4_a12;
189 ddp_party_notify_rec.lead_assignment_id := rosetta_g_miss_num_map(p4_a13);
190 ddp_party_notify_rec.wf_item_type := p4_a14;
191 ddp_party_notify_rec.wf_item_key := p4_a15;
192 ddp_party_notify_rec.user_id := rosetta_g_miss_num_map(p4_a16);
193 ddp_party_notify_rec.user_name := p4_a17;
194 ddp_party_notify_rec.resource_id := rosetta_g_miss_num_map(p4_a18);
195 ddp_party_notify_rec.decision_maker_flag := p4_a19;
196 ddp_party_notify_rec.resource_response := p4_a20;
197 ddp_party_notify_rec.response_date := rosetta_g_miss_date_in_map(p4_a21);
198 ddp_party_notify_rec.attribute_category := p4_a22;
199 ddp_party_notify_rec.attribute1 := p4_a23;
200 ddp_party_notify_rec.attribute2 := p4_a24;
201 ddp_party_notify_rec.attribute3 := p4_a25;
202 ddp_party_notify_rec.attribute4 := p4_a26;
203 ddp_party_notify_rec.attribute5 := p4_a27;
204 ddp_party_notify_rec.attribute6 := p4_a28;
205 ddp_party_notify_rec.attribute7 := p4_a29;
206 ddp_party_notify_rec.attribute8 := p4_a30;
207 ddp_party_notify_rec.attribute9 := p4_a31;
208 ddp_party_notify_rec.attribute10 := p4_a32;
209 ddp_party_notify_rec.attribute11 := p4_a33;
210 ddp_party_notify_rec.attribute12 := p4_a34;
211 ddp_party_notify_rec.attribute13 := p4_a35;
212 ddp_party_notify_rec.attribute14 := p4_a36;
213 ddp_party_notify_rec.attribute15 := p4_a37;
214
215
216
217
218
219 -- here's the delegated call to the old PL/SQL routine
220 pv_assign_util_pvt.create_party_notification(p_api_version_number,
221 p_init_msg_list,
222 p_commit,
223 p_validation_level,
224 ddp_party_notify_rec,
225 x_party_notification_id,
226 x_return_status,
227 x_msg_count,
228 x_msg_data);
229
230 -- copy data back from the local OUT or IN-OUT args, if any
231
232
233
234
235
236
237
238
239 end;
240
241 procedure create_lead_workflow_row(p_api_version_number NUMBER
242 , p_init_msg_list VARCHAR2
243 , p_commit VARCHAR2
244 , p_validation_level NUMBER
245 , p4_a0 NUMBER := 0-1962.0724
246 , p4_a1 DATE := fnd_api.g_miss_date
247 , p4_a2 NUMBER := 0-1962.0724
248 , p4_a3 DATE := fnd_api.g_miss_date
249 , p4_a4 NUMBER := 0-1962.0724
250 , p4_a5 NUMBER := 0-1962.0724
251 , p4_a6 NUMBER := 0-1962.0724
252 , p4_a7 VARCHAR2 := fnd_api.g_miss_char
253 , p4_a8 NUMBER := 0-1962.0724
254 , p4_a9 VARCHAR2 := fnd_api.g_miss_char
255 , p4_a10 VARCHAR2 := fnd_api.g_miss_char
256 , p4_a11 VARCHAR2 := fnd_api.g_miss_char
257 , p4_a12 DATE := fnd_api.g_miss_date
258 , p4_a13 DATE := fnd_api.g_miss_date
259 , p4_a14 VARCHAR2 := fnd_api.g_miss_char
260 , p4_a15 VARCHAR2 := fnd_api.g_miss_char
261 , p4_a16 VARCHAR2 := fnd_api.g_miss_char
262 , x_itemkey out nocopy VARCHAR2
263 , x_return_status out nocopy VARCHAR2
264 , x_msg_count out nocopy NUMBER
265 , x_msg_data out nocopy VARCHAR2
266 )
267 as
268 ddp_workflow_rec pv_assign_util_pvt.lead_workflow_rec_type;
269 ddindx binary_integer; indx binary_integer;
270 begin
271
272 -- copy data to the local IN or IN-OUT args, if any
273
274
275
276
277 ddp_workflow_rec.lead_workflow_id := rosetta_g_miss_num_map(p4_a0);
278 ddp_workflow_rec.last_update_date := rosetta_g_miss_date_in_map(p4_a1);
279 ddp_workflow_rec.last_updated_by := rosetta_g_miss_num_map(p4_a2);
280 ddp_workflow_rec.creation_date := rosetta_g_miss_date_in_map(p4_a3);
281 ddp_workflow_rec.created_by := rosetta_g_miss_num_map(p4_a4);
282 ddp_workflow_rec.last_update_login := rosetta_g_miss_num_map(p4_a5);
283 ddp_workflow_rec.object_version_number := rosetta_g_miss_num_map(p4_a6);
284 ddp_workflow_rec.entity := p4_a7;
285 ddp_workflow_rec.lead_id := rosetta_g_miss_num_map(p4_a8);
286 ddp_workflow_rec.wf_item_type := p4_a9;
287 ddp_workflow_rec.wf_item_key := p4_a10;
288 ddp_workflow_rec.wf_status := p4_a11;
289 ddp_workflow_rec.matched_due_date := rosetta_g_miss_date_in_map(p4_a12);
290 ddp_workflow_rec.offered_due_date := rosetta_g_miss_date_in_map(p4_a13);
291 ddp_workflow_rec.bypass_cm_ok_flag := p4_a14;
292 ddp_workflow_rec.latest_routing_flag := p4_a15;
293 ddp_workflow_rec.routing_status := p4_a16;
294
295
296
297
298
299 -- here's the delegated call to the old PL/SQL routine
300 pv_assign_util_pvt.create_lead_workflow_row(p_api_version_number,
301 p_init_msg_list,
302 p_commit,
303 p_validation_level,
304 ddp_workflow_rec,
305 x_itemkey,
306 x_return_status,
307 x_msg_count,
308 x_msg_data);
309
310 -- copy data back from the local OUT or IN-OUT args, if any
311
312
313
314
315
316
317
318
319 end;
320
321 procedure create_lead_assignment_row(p_api_version_number NUMBER
322 , p_init_msg_list VARCHAR2
323 , p_commit VARCHAR2
324 , p_validation_level NUMBER
325 , p4_a0 NUMBER := 0-1962.0724
326 , p4_a1 DATE := fnd_api.g_miss_date
327 , p4_a2 NUMBER := 0-1962.0724
328 , p4_a3 DATE := fnd_api.g_miss_date
329 , p4_a4 NUMBER := 0-1962.0724
330 , p4_a5 NUMBER := 0-1962.0724
331 , p4_a6 NUMBER := 0-1962.0724
332 , p4_a7 NUMBER := 0-1962.0724
333 , p4_a8 NUMBER := 0-1962.0724
334 , p4_a9 VARCHAR2 := fnd_api.g_miss_char
335 , p4_a10 NUMBER := 0-1962.0724
336 , p4_a11 VARCHAR2 := fnd_api.g_miss_char
337 , p4_a12 NUMBER := 0-1962.0724
338 , p4_a13 DATE := fnd_api.g_miss_date
339 , p4_a14 VARCHAR2 := fnd_api.g_miss_char
340 , p4_a15 VARCHAR2 := fnd_api.g_miss_char
341 , p4_a16 VARCHAR2 := fnd_api.g_miss_char
342 , p4_a17 VARCHAR2 := fnd_api.g_miss_char
343 , p4_a18 VARCHAR2 := fnd_api.g_miss_char
344 , p4_a19 VARCHAR2 := fnd_api.g_miss_char
345 , x_lead_assignment_id out nocopy NUMBER
346 , x_return_status out nocopy VARCHAR2
347 , x_msg_count out nocopy NUMBER
348 , x_msg_data out nocopy VARCHAR2
349 )
350 as
351 ddp_assignment_rec pv_assign_util_pvt.assignment_rec_type;
352 ddindx binary_integer; indx binary_integer;
353 begin
354
355 -- copy data to the local IN or IN-OUT args, if any
356
357
358
359
360 ddp_assignment_rec.lead_assignment_id := rosetta_g_miss_num_map(p4_a0);
361 ddp_assignment_rec.last_update_date := rosetta_g_miss_date_in_map(p4_a1);
362 ddp_assignment_rec.last_updated_by := rosetta_g_miss_num_map(p4_a2);
363 ddp_assignment_rec.creation_date := rosetta_g_miss_date_in_map(p4_a3);
364 ddp_assignment_rec.created_by := rosetta_g_miss_num_map(p4_a4);
365 ddp_assignment_rec.last_update_login := rosetta_g_miss_num_map(p4_a5);
366 ddp_assignment_rec.object_version_number := rosetta_g_miss_num_map(p4_a6);
367 ddp_assignment_rec.lead_id := rosetta_g_miss_num_map(p4_a7);
368 ddp_assignment_rec.partner_id := rosetta_g_miss_num_map(p4_a8);
369 ddp_assignment_rec.partner_access_code := p4_a9;
370 ddp_assignment_rec.related_party_id := rosetta_g_miss_num_map(p4_a10);
371 ddp_assignment_rec.related_party_access_code := p4_a11;
372 ddp_assignment_rec.assign_sequence := rosetta_g_miss_num_map(p4_a12);
373 ddp_assignment_rec.status_date := rosetta_g_miss_date_in_map(p4_a13);
374 ddp_assignment_rec.status := p4_a14;
375 ddp_assignment_rec.reason_code := p4_a15;
376 ddp_assignment_rec.source_type := p4_a16;
377 ddp_assignment_rec.wf_item_type := p4_a17;
378 ddp_assignment_rec.wf_item_key := p4_a18;
379 ddp_assignment_rec.error_txt := p4_a19;
380
381
382
383
384
385 -- here's the delegated call to the old PL/SQL routine
386 pv_assign_util_pvt.create_lead_assignment_row(p_api_version_number,
387 p_init_msg_list,
388 p_commit,
389 p_validation_level,
390 ddp_assignment_rec,
391 x_lead_assignment_id,
392 x_return_status,
393 x_msg_count,
394 x_msg_data);
395
396 -- copy data back from the local OUT or IN-OUT args, if any
397
398
399
400
401
402
403
404
405 end;
406
407 procedure get_partner_info(p_api_version_number NUMBER
408 , p_init_msg_list VARCHAR2
409 , p_commit VARCHAR2
410 , p_validation_level NUMBER
411 , p_mode VARCHAR2
412 , p_partner_id NUMBER
413 , p_entity VARCHAR2
414 , p_entity_id NUMBER
415 , p_retrieve_mode VARCHAR2
416 , p9_a0 in out nocopy JTF_VARCHAR2_TABLE_100
417 , p9_a1 in out nocopy JTF_VARCHAR2_TABLE_100
418 , p9_a2 in out nocopy JTF_NUMBER_TABLE
419 , p9_a3 in out nocopy JTF_NUMBER_TABLE
420 , p9_a4 in out nocopy JTF_VARCHAR2_TABLE_100
421 , p9_a5 in out nocopy JTF_VARCHAR2_TABLE_100
422 , p9_a6 in out nocopy JTF_NUMBER_TABLE
423 , x_vad_id out nocopy NUMBER
424 , x_return_status out nocopy VARCHAR2
425 , x_msg_count out nocopy NUMBER
426 , x_msg_data out nocopy VARCHAR2
427 )
428 as
429 ddx_rs_details_tbl pv_assign_util_pvt.resource_details_tbl_type;
430 ddindx binary_integer; indx binary_integer;
431 begin
432
433 -- copy data to the local IN or IN-OUT args, if any
434
435
436
437
438
439
440
441
442
443 pv_assign_util_pvt_w.rosetta_table_copy_in_p4(ddx_rs_details_tbl, p9_a0
444 , p9_a1
445 , p9_a2
446 , p9_a3
447 , p9_a4
448 , p9_a5
449 , p9_a6
450 );
451
452
453
454
455
456 -- here's the delegated call to the old PL/SQL routine
457 pv_assign_util_pvt.get_partner_info(p_api_version_number,
458 p_init_msg_list,
459 p_commit,
460 p_validation_level,
461 p_mode,
462 p_partner_id,
463 p_entity,
464 p_entity_id,
465 p_retrieve_mode,
466 ddx_rs_details_tbl,
467 x_vad_id,
468 x_return_status,
469 x_msg_count,
470 x_msg_data);
471
472 -- copy data back from the local OUT or IN-OUT args, if any
473
474
475
476
477
478
479
480
481
482 pv_assign_util_pvt_w.rosetta_table_copy_out_p4(ddx_rs_details_tbl, p9_a0
483 , p9_a1
484 , p9_a2
485 , p9_a3
486 , p9_a4
487 , p9_a5
488 , p9_a6
489 );
490
491
492
493
494 end;
495
496 end pv_assign_util_pvt_w;