[Home] [Help]
PACKAGE BODY: APPS.HZ_DUP_PVT_W
Source
1 package body hz_dup_pvt_w as
2 /* $Header: ARHWDUPB.pls 120.3 2005/06/18 04:28:09 jhuang 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 -- this is to workaround the JDBC bug regarding IN DATE of value GMiss
7 function rosetta_g_miss_date_in_map(d date) return date as
8 begin
9 if d = rosetta_g_mistake_date then return fnd_api.g_miss_date; end if;
10 return d;
11 end;
12
13 procedure rosetta_table_copy_in_p1(t out nocopy hz_dup_pvt.dup_party_tbl_type, a0 JTF_NUMBER_TABLE
14 , a1 JTF_NUMBER_TABLE
15 , a2 JTF_VARCHAR2_TABLE_100
16 , a3 JTF_VARCHAR2_TABLE_100
17 , a4 JTF_NUMBER_TABLE
18 , a5 JTF_NUMBER_TABLE
19 , a6 JTF_VARCHAR2_TABLE_100
20 ) as
21 ddindx binary_integer; indx binary_integer;
22 begin
23 if a0 is not null and a0.count > 0 then
24 if a0.count > 0 then
25 indx := a0.first;
26 ddindx := 1;
27 while true loop
28 t(ddindx).party_id := a0(indx);
29 t(ddindx).score := a1(indx);
30 t(ddindx).merge_flag := a2(indx);
31 t(ddindx).not_dup := a3(indx);
32 t(ddindx).merge_seq_id := a4(indx);
33 t(ddindx).merge_batch_id := a5(indx);
34 t(ddindx).merge_batch_name := a6(indx);
35 ddindx := ddindx+1;
36 if a0.last =indx
37 then exit;
38 end if;
39 indx := a0.next(indx);
40 end loop;
41 end if;
42 end if;
43 end rosetta_table_copy_in_p1;
44 procedure rosetta_table_copy_out_p1(t hz_dup_pvt.dup_party_tbl_type, a0 out nocopy JTF_NUMBER_TABLE
45 , a1 out nocopy JTF_NUMBER_TABLE
46 , a2 out nocopy JTF_VARCHAR2_TABLE_100
47 , a3 out nocopy JTF_VARCHAR2_TABLE_100
48 , a4 out nocopy JTF_NUMBER_TABLE
49 , a5 out nocopy JTF_NUMBER_TABLE
50 , a6 out nocopy JTF_VARCHAR2_TABLE_100
51 ) as
52 ddindx binary_integer; indx binary_integer;
53 begin
54 if t is null or t.count = 0 then
55 a0 := JTF_NUMBER_TABLE();
56 a1 := JTF_NUMBER_TABLE();
57 a2 := JTF_VARCHAR2_TABLE_100();
58 a3 := JTF_VARCHAR2_TABLE_100();
59 a4 := JTF_NUMBER_TABLE();
60 a5 := JTF_NUMBER_TABLE();
61 a6 := JTF_VARCHAR2_TABLE_100();
62 else
63 a0 := JTF_NUMBER_TABLE();
64 a1 := JTF_NUMBER_TABLE();
65 a2 := JTF_VARCHAR2_TABLE_100();
66 a3 := JTF_VARCHAR2_TABLE_100();
67 a4 := JTF_NUMBER_TABLE();
68 a5 := JTF_NUMBER_TABLE();
69 a6 := JTF_VARCHAR2_TABLE_100();
70 if t.count > 0 then
71 a0.extend(t.count);
72 a1.extend(t.count);
73 a2.extend(t.count);
74 a3.extend(t.count);
75 a4.extend(t.count);
76 a5.extend(t.count);
77 a6.extend(t.count);
78 ddindx := t.first;
79 indx := 1;
80 while true loop
81 a0(indx) := t(ddindx).party_id;
82 a1(indx) := t(ddindx).score;
83 a2(indx) := t(ddindx).merge_flag;
84 a3(indx) := t(ddindx).not_dup;
85 a4(indx) := t(ddindx).merge_seq_id;
86 a5(indx) := t(ddindx).merge_batch_id;
87 a6(indx) := t(ddindx).merge_batch_name;
88 indx := indx+1;
89 if t.last =ddindx
90 then exit;
91 end if;
92 ddindx := t.next(ddindx);
93 end loop;
94 end if;
95 end if;
96 end rosetta_table_copy_out_p1;
97
98 procedure create_dup_set_1(p0_a0 NUMBER
99 , p0_a1 NUMBER
100 , p0_a2 VARCHAR2
101 , p0_a3 NUMBER
102 , p0_a4 VARCHAR2
103 , p1_a0 JTF_NUMBER_TABLE
104 , p1_a1 JTF_NUMBER_TABLE
105 , p1_a2 JTF_VARCHAR2_TABLE_100
106 , p1_a3 JTF_VARCHAR2_TABLE_100
107 , p1_a4 JTF_NUMBER_TABLE
108 , p1_a5 JTF_NUMBER_TABLE
109 , p1_a6 JTF_VARCHAR2_TABLE_100
110 , x_dup_set_id out nocopy NUMBER
111 , x_return_status out nocopy VARCHAR2
112 , x_msg_count out nocopy NUMBER
113 , x_msg_data out nocopy VARCHAR2
114 )
115
116 as
117 ddp_dup_set_rec hz_dup_pvt.dup_set_rec_type;
118 ddp_dup_party_tbl hz_dup_pvt.dup_party_tbl_type;
119 ddindx binary_integer; indx binary_integer;
120 begin
121
122 -- copy data to the local IN or IN-OUT args, if any
123 ddp_dup_set_rec.dup_batch_id := p0_a0;
124 ddp_dup_set_rec.winner_party_id := p0_a1;
125 ddp_dup_set_rec.status := p0_a2;
126 ddp_dup_set_rec.assigned_to_user_id := p0_a3;
127 ddp_dup_set_rec.merge_type := p0_a4;
128
129 hz_dup_pvt_w.rosetta_table_copy_in_p1(ddp_dup_party_tbl, p1_a0
130 , p1_a1
131 , p1_a2
132 , p1_a3
133 , p1_a4
134 , p1_a5
135 , p1_a6
136 );
137
138
139
140
141
142 -- here's the delegated call to the old PL/SQL routine
143 hz_dup_pvt.create_dup_set(ddp_dup_set_rec,
144 ddp_dup_party_tbl,
145 x_dup_set_id,
146 x_return_status,
147 x_msg_count,
148 x_msg_data);
149
150 -- copy data back from the local variables to OUT or IN-OUT args, if any
151
152
153
154
155
156 end;
157
158 procedure create_dup_batch_2(p0_a0 VARCHAR2
159 , p0_a1 NUMBER
160 , p0_a2 NUMBER
161 , p0_a3 VARCHAR2
162 , p1_a0 NUMBER
163 , p1_a1 NUMBER
164 , p1_a2 VARCHAR2
165 , p1_a3 NUMBER
166 , p1_a4 VARCHAR2
167 , p2_a0 JTF_NUMBER_TABLE
168 , p2_a1 JTF_NUMBER_TABLE
169 , p2_a2 JTF_VARCHAR2_TABLE_100
170 , p2_a3 JTF_VARCHAR2_TABLE_100
171 , p2_a4 JTF_NUMBER_TABLE
172 , p2_a5 JTF_NUMBER_TABLE
173 , p2_a6 JTF_VARCHAR2_TABLE_100
174 , x_dup_batch_id out nocopy NUMBER
175 , x_dup_set_id out nocopy NUMBER
176 , x_return_status out nocopy VARCHAR2
177 , x_msg_count out nocopy NUMBER
178 , x_msg_data out nocopy VARCHAR2
179 )
180
181 as
182 ddp_dup_batch_rec hz_dup_pvt.dup_batch_rec_type;
183 ddp_dup_set_rec hz_dup_pvt.dup_set_rec_type;
184 ddp_dup_party_tbl hz_dup_pvt.dup_party_tbl_type;
185 ddindx binary_integer; indx binary_integer;
186 begin
187
188 -- copy data to the local IN or IN-OUT args, if any
189 ddp_dup_batch_rec.dup_batch_name := p0_a0;
190 ddp_dup_batch_rec.match_rule_id := p0_a1;
191 ddp_dup_batch_rec.application_id := p0_a2;
192 ddp_dup_batch_rec.request_type := p0_a3;
193
194 ddp_dup_set_rec.dup_batch_id := p1_a0;
195 ddp_dup_set_rec.winner_party_id := p1_a1;
196 ddp_dup_set_rec.status := p1_a2;
197 ddp_dup_set_rec.assigned_to_user_id := p1_a3;
198 ddp_dup_set_rec.merge_type := p1_a4;
199
200 hz_dup_pvt_w.rosetta_table_copy_in_p1(ddp_dup_party_tbl, p2_a0
201 , p2_a1
202 , p2_a2
203 , p2_a3
204 , p2_a4
205 , p2_a5
206 , p2_a6
207 );
208
209
210
211
212
213
214 -- here's the delegated call to the old PL/SQL routine
215 hz_dup_pvt.create_dup_batch(ddp_dup_batch_rec,
216 ddp_dup_set_rec,
217 ddp_dup_party_tbl,
218 x_dup_batch_id,
219 x_dup_set_id,
220 x_return_status,
221 x_msg_count,
222 x_msg_data);
223
224 -- copy data back from the local variables to OUT or IN-OUT args, if any
225
226
227
228
229
230
231
232 end;
233
234 end hz_dup_pvt_w;