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