[Home] [Help]
PACKAGE BODY: APPS.AMS_RULE_GROUP_PVT_W
Source
1 package body ams_rule_group_pvt_w as
2 /* $Header: amswrgpb.pls 120.0 2005/06/01 01:20:30 appldev 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
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_p3(t OUT NOCOPY ams_rule_group_pvt.rule_group_tbl_type, a0 JTF_NUMBER_TABLE
23 , a1 JTF_NUMBER_TABLE
24 , a2 JTF_VARCHAR2_TABLE_100
25 , a3 JTF_NUMBER_TABLE
26 , a4 JTF_DATE_TABLE
27 , a5 JTF_NUMBER_TABLE
28 , a6 JTF_NUMBER_TABLE
29 , a7 JTF_DATE_TABLE
30 , a8 JTF_NUMBER_TABLE
31 , a9 JTF_NUMBER_TABLE
32 , a10 JTF_VARCHAR2_TABLE_100
33 , a11 JTF_VARCHAR2_TABLE_1000
34 ) as
35 ddindx binary_integer; indx binary_integer;
36 begin
37 if a0 is not null and a0.count > 0 then
38 if a0.count > 0 then
39 indx := a0.first;
40 ddindx := 1;
41 while true loop
42 t(ddindx).rulegroup_id := rosetta_g_miss_num_map(a0(indx));
43 t(ddindx).posting_id := rosetta_g_miss_num_map(a1(indx));
44 t(ddindx).strategy_type := a2(indx);
45 t(ddindx).exec_priority := rosetta_g_miss_num_map(a3(indx));
46 t(ddindx).last_update_date := rosetta_g_miss_date_in_map(a4(indx));
47 t(ddindx).last_update_login := rosetta_g_miss_num_map(a5(indx));
48 t(ddindx).created_by := rosetta_g_miss_num_map(a6(indx));
49 t(ddindx).creation_date := rosetta_g_miss_date_in_map(a7(indx));
50 t(ddindx).last_updated_by := rosetta_g_miss_num_map(a8(indx));
51 t(ddindx).object_version_number := rosetta_g_miss_num_map(a9(indx));
52 t(ddindx).rule_name := a10(indx);
53 t(ddindx).rule_description := a11(indx);
54 ddindx := ddindx+1;
55 if a0.last =indx
56 then exit;
57 end if;
58 indx := a0.next(indx);
59 end loop;
60 end if;
61 end if;
62 end rosetta_table_copy_in_p3;
63 procedure rosetta_table_copy_out_p3(t ams_rule_group_pvt.rule_group_tbl_type, a0 OUT NOCOPY JTF_NUMBER_TABLE
64 , a1 OUT NOCOPY JTF_NUMBER_TABLE
65 , a2 OUT NOCOPY JTF_VARCHAR2_TABLE_100
66 , a3 OUT NOCOPY JTF_NUMBER_TABLE
67 , a4 OUT NOCOPY JTF_DATE_TABLE
68 , a5 OUT NOCOPY JTF_NUMBER_TABLE
69 , a6 OUT NOCOPY JTF_NUMBER_TABLE
70 , a7 OUT NOCOPY JTF_DATE_TABLE
71 , a8 OUT NOCOPY JTF_NUMBER_TABLE
72 , a9 OUT NOCOPY JTF_NUMBER_TABLE
73 , a10 OUT NOCOPY JTF_VARCHAR2_TABLE_100
74 , a11 OUT NOCOPY JTF_VARCHAR2_TABLE_1000
75 ) as
76 ddindx binary_integer; indx binary_integer;
77 begin
78 if t is null or t.count = 0 then
79 a0 := JTF_NUMBER_TABLE();
80 a1 := JTF_NUMBER_TABLE();
81 a2 := JTF_VARCHAR2_TABLE_100();
82 a3 := JTF_NUMBER_TABLE();
83 a4 := JTF_DATE_TABLE();
84 a5 := JTF_NUMBER_TABLE();
85 a6 := JTF_NUMBER_TABLE();
86 a7 := JTF_DATE_TABLE();
87 a8 := JTF_NUMBER_TABLE();
88 a9 := JTF_NUMBER_TABLE();
89 a10 := JTF_VARCHAR2_TABLE_100();
90 a11 := JTF_VARCHAR2_TABLE_1000();
91 else
92 a0 := JTF_NUMBER_TABLE();
93 a1 := JTF_NUMBER_TABLE();
94 a2 := JTF_VARCHAR2_TABLE_100();
95 a3 := JTF_NUMBER_TABLE();
96 a4 := JTF_DATE_TABLE();
97 a5 := JTF_NUMBER_TABLE();
98 a6 := JTF_NUMBER_TABLE();
99 a7 := JTF_DATE_TABLE();
100 a8 := JTF_NUMBER_TABLE();
101 a9 := JTF_NUMBER_TABLE();
102 a10 := JTF_VARCHAR2_TABLE_100();
103 a11 := JTF_VARCHAR2_TABLE_1000();
104 if t.count > 0 then
105 a0.extend(t.count);
106 a1.extend(t.count);
107 a2.extend(t.count);
108 a3.extend(t.count);
109 a4.extend(t.count);
110 a5.extend(t.count);
111 a6.extend(t.count);
112 a7.extend(t.count);
113 a8.extend(t.count);
114 a9.extend(t.count);
115 a10.extend(t.count);
116 a11.extend(t.count);
117 ddindx := t.first;
118 indx := 1;
119 while true loop
120 a0(indx) := rosetta_g_miss_num_map(t(ddindx).rulegroup_id);
121 a1(indx) := rosetta_g_miss_num_map(t(ddindx).posting_id);
122 a2(indx) := t(ddindx).strategy_type;
123 a3(indx) := rosetta_g_miss_num_map(t(ddindx).exec_priority);
124 a4(indx) := t(ddindx).last_update_date;
125 a5(indx) := rosetta_g_miss_num_map(t(ddindx).last_update_login);
126 a6(indx) := rosetta_g_miss_num_map(t(ddindx).created_by);
127 a7(indx) := t(ddindx).creation_date;
128 a8(indx) := rosetta_g_miss_num_map(t(ddindx).last_updated_by);
129 a9(indx) := rosetta_g_miss_num_map(t(ddindx).object_version_number);
130 a10(indx) := t(ddindx).rule_name;
131 a11(indx) := t(ddindx).rule_description;
132 indx := indx+1;
133 if t.last =ddindx
134 then exit;
135 end if;
136 ddindx := t.next(ddindx);
137 end loop;
138 end if;
139 end if;
140 end rosetta_table_copy_out_p3;
141
142 procedure create_rule_group(p_api_version_number NUMBER
143 , p_init_msg_list VARCHAR2
144 , p_commit VARCHAR2
145 , p_validation_level NUMBER
146 , x_return_status OUT NOCOPY VARCHAR2
147 , x_msg_count OUT NOCOPY NUMBER
148 , x_msg_data OUT NOCOPY VARCHAR2
149 , x_rulegroup_id OUT NOCOPY NUMBER
150 , p7_a0 NUMBER := 0-1962.0724
151 , p7_a1 NUMBER := 0-1962.0724
152 , p7_a2 VARCHAR2 := fnd_api.g_miss_char
153 , p7_a3 NUMBER := 0-1962.0724
154 , p7_a4 DATE := fnd_api.g_miss_date
155 , p7_a5 NUMBER := 0-1962.0724
156 , p7_a6 NUMBER := 0-1962.0724
157 , p7_a7 DATE := fnd_api.g_miss_date
158 , p7_a8 NUMBER := 0-1962.0724
159 , p7_a9 NUMBER := 0-1962.0724
160 , p7_a10 VARCHAR2 := fnd_api.g_miss_char
161 , p7_a11 VARCHAR2 := fnd_api.g_miss_char
162 )
163 as
164 ddp_rule_group_rec ams_rule_group_pvt.rule_group_rec_type;
165 ddindx binary_integer; indx binary_integer;
166 begin
167
168 -- copy data to the local IN or IN-OUT args, if any
169
170
171
172
173
174
175
176 ddp_rule_group_rec.rulegroup_id := rosetta_g_miss_num_map(p7_a0);
177 ddp_rule_group_rec.posting_id := rosetta_g_miss_num_map(p7_a1);
178 ddp_rule_group_rec.strategy_type := p7_a2;
179 ddp_rule_group_rec.exec_priority := rosetta_g_miss_num_map(p7_a3);
180 ddp_rule_group_rec.last_update_date := rosetta_g_miss_date_in_map(p7_a4);
181 ddp_rule_group_rec.last_update_login := rosetta_g_miss_num_map(p7_a5);
182 ddp_rule_group_rec.created_by := rosetta_g_miss_num_map(p7_a6);
183 ddp_rule_group_rec.creation_date := rosetta_g_miss_date_in_map(p7_a7);
184 ddp_rule_group_rec.last_updated_by := rosetta_g_miss_num_map(p7_a8);
185 ddp_rule_group_rec.object_version_number := rosetta_g_miss_num_map(p7_a9);
186 ddp_rule_group_rec.rule_name := p7_a10;
187 ddp_rule_group_rec.rule_description := p7_a11;
188
189
190 -- here's the delegated call to the old PL/SQL routine
191 ams_rule_group_pvt.create_rule_group(p_api_version_number,
192 p_init_msg_list,
193 p_commit,
194 p_validation_level,
195 x_return_status,
196 x_msg_count,
197 x_msg_data,
198 ddp_rule_group_rec,
199 x_rulegroup_id);
200
201 -- copy data back from the local OUT or IN-OUT args, if any
202
203
204
205
206
207
208
209
210 end;
211
212 procedure update_rule_group(p_api_version_number NUMBER
213 , p_init_msg_list VARCHAR2
214 , p_commit VARCHAR2
215 , p_validation_level NUMBER
216 , x_return_status OUT NOCOPY VARCHAR2
217 , x_msg_count OUT NOCOPY NUMBER
218 , x_msg_data OUT NOCOPY VARCHAR2
219 , x_object_version_number OUT NOCOPY NUMBER
220 , p7_a0 NUMBER := 0-1962.0724
221 , p7_a1 NUMBER := 0-1962.0724
222 , p7_a2 VARCHAR2 := fnd_api.g_miss_char
223 , p7_a3 NUMBER := 0-1962.0724
224 , p7_a4 DATE := fnd_api.g_miss_date
225 , p7_a5 NUMBER := 0-1962.0724
226 , p7_a6 NUMBER := 0-1962.0724
227 , p7_a7 DATE := fnd_api.g_miss_date
228 , p7_a8 NUMBER := 0-1962.0724
229 , p7_a9 NUMBER := 0-1962.0724
230 , p7_a10 VARCHAR2 := fnd_api.g_miss_char
231 , p7_a11 VARCHAR2 := fnd_api.g_miss_char
232 )
233 as
234 ddp_rule_group_rec ams_rule_group_pvt.rule_group_rec_type;
235 ddindx binary_integer; indx binary_integer;
236 begin
237
238 -- copy data to the local IN or IN-OUT args, if any
239
240
241
242
243
244
245
246 ddp_rule_group_rec.rulegroup_id := rosetta_g_miss_num_map(p7_a0);
247 ddp_rule_group_rec.posting_id := rosetta_g_miss_num_map(p7_a1);
248 ddp_rule_group_rec.strategy_type := p7_a2;
249 ddp_rule_group_rec.exec_priority := rosetta_g_miss_num_map(p7_a3);
250 ddp_rule_group_rec.last_update_date := rosetta_g_miss_date_in_map(p7_a4);
251 ddp_rule_group_rec.last_update_login := rosetta_g_miss_num_map(p7_a5);
252 ddp_rule_group_rec.created_by := rosetta_g_miss_num_map(p7_a6);
253 ddp_rule_group_rec.creation_date := rosetta_g_miss_date_in_map(p7_a7);
254 ddp_rule_group_rec.last_updated_by := rosetta_g_miss_num_map(p7_a8);
255 ddp_rule_group_rec.object_version_number := rosetta_g_miss_num_map(p7_a9);
256 ddp_rule_group_rec.rule_name := p7_a10;
257 ddp_rule_group_rec.rule_description := p7_a11;
258
259
260 -- here's the delegated call to the old PL/SQL routine
261 ams_rule_group_pvt.update_rule_group(p_api_version_number,
262 p_init_msg_list,
263 p_commit,
264 p_validation_level,
265 x_return_status,
266 x_msg_count,
267 x_msg_data,
268 ddp_rule_group_rec,
269 x_object_version_number);
270
271 -- copy data back from the local OUT or IN-OUT args, if any
272
273
274
275
276
277
278
279
280 end;
281
282 procedure validate_rule_group(p_api_version_number NUMBER
283 , p_init_msg_list VARCHAR2
284 , p_validation_level NUMBER
285 , x_return_status OUT NOCOPY VARCHAR2
286 , x_msg_count OUT NOCOPY NUMBER
287 , x_msg_data OUT NOCOPY VARCHAR2
288 , p3_a0 NUMBER := 0-1962.0724
289 , p3_a1 NUMBER := 0-1962.0724
290 , p3_a2 VARCHAR2 := fnd_api.g_miss_char
291 , p3_a3 NUMBER := 0-1962.0724
292 , p3_a4 DATE := fnd_api.g_miss_date
293 , p3_a5 NUMBER := 0-1962.0724
294 , p3_a6 NUMBER := 0-1962.0724
295 , p3_a7 DATE := fnd_api.g_miss_date
296 , p3_a8 NUMBER := 0-1962.0724
297 , p3_a9 NUMBER := 0-1962.0724
298 , p3_a10 VARCHAR2 := fnd_api.g_miss_char
299 , p3_a11 VARCHAR2 := fnd_api.g_miss_char
300 )
301 as
302 ddp_rule_group_rec ams_rule_group_pvt.rule_group_rec_type;
303 ddindx binary_integer; indx binary_integer;
304 begin
305
306 -- copy data to the local IN or IN-OUT args, if any
307
308
309
310 ddp_rule_group_rec.rulegroup_id := rosetta_g_miss_num_map(p3_a0);
311 ddp_rule_group_rec.posting_id := rosetta_g_miss_num_map(p3_a1);
312 ddp_rule_group_rec.strategy_type := p3_a2;
313 ddp_rule_group_rec.exec_priority := rosetta_g_miss_num_map(p3_a3);
314 ddp_rule_group_rec.last_update_date := rosetta_g_miss_date_in_map(p3_a4);
315 ddp_rule_group_rec.last_update_login := rosetta_g_miss_num_map(p3_a5);
316 ddp_rule_group_rec.created_by := rosetta_g_miss_num_map(p3_a6);
317 ddp_rule_group_rec.creation_date := rosetta_g_miss_date_in_map(p3_a7);
318 ddp_rule_group_rec.last_updated_by := rosetta_g_miss_num_map(p3_a8);
319 ddp_rule_group_rec.object_version_number := rosetta_g_miss_num_map(p3_a9);
320 ddp_rule_group_rec.rule_name := p3_a10;
321 ddp_rule_group_rec.rule_description := p3_a11;
322
323
324
325
326 -- here's the delegated call to the old PL/SQL routine
327 ams_rule_group_pvt.validate_rule_group(p_api_version_number,
328 p_init_msg_list,
329 p_validation_level,
330 ddp_rule_group_rec,
331 x_return_status,
332 x_msg_count,
333 x_msg_data);
334
335 -- copy data back from the local OUT or IN-OUT args, if any
336
337
338
339
340
341
342 end;
343
344 procedure check_rule_group_items(p_validation_mode VARCHAR2
345 , x_return_status OUT NOCOPY VARCHAR2
346 , p0_a0 NUMBER := 0-1962.0724
347 , p0_a1 NUMBER := 0-1962.0724
348 , p0_a2 VARCHAR2 := fnd_api.g_miss_char
349 , p0_a3 NUMBER := 0-1962.0724
350 , p0_a4 DATE := fnd_api.g_miss_date
351 , p0_a5 NUMBER := 0-1962.0724
352 , p0_a6 NUMBER := 0-1962.0724
353 , p0_a7 DATE := fnd_api.g_miss_date
354 , p0_a8 NUMBER := 0-1962.0724
355 , p0_a9 NUMBER := 0-1962.0724
356 , p0_a10 VARCHAR2 := fnd_api.g_miss_char
357 , p0_a11 VARCHAR2 := fnd_api.g_miss_char
358 )
359 as
360 ddp_rule_group_rec ams_rule_group_pvt.rule_group_rec_type;
361 ddindx binary_integer; indx binary_integer;
362 begin
363
364 -- copy data to the local IN or IN-OUT args, if any
365 ddp_rule_group_rec.rulegroup_id := rosetta_g_miss_num_map(p0_a0);
366 ddp_rule_group_rec.posting_id := rosetta_g_miss_num_map(p0_a1);
367 ddp_rule_group_rec.strategy_type := p0_a2;
368 ddp_rule_group_rec.exec_priority := rosetta_g_miss_num_map(p0_a3);
369 ddp_rule_group_rec.last_update_date := rosetta_g_miss_date_in_map(p0_a4);
370 ddp_rule_group_rec.last_update_login := rosetta_g_miss_num_map(p0_a5);
371 ddp_rule_group_rec.created_by := rosetta_g_miss_num_map(p0_a6);
372 ddp_rule_group_rec.creation_date := rosetta_g_miss_date_in_map(p0_a7);
373 ddp_rule_group_rec.last_updated_by := rosetta_g_miss_num_map(p0_a8);
374 ddp_rule_group_rec.object_version_number := rosetta_g_miss_num_map(p0_a9);
375 ddp_rule_group_rec.rule_name := p0_a10;
376 ddp_rule_group_rec.rule_description := p0_a11;
377
378
379
380 -- here's the delegated call to the old PL/SQL routine
381 ams_rule_group_pvt.check_rule_group_items(ddp_rule_group_rec,
382 p_validation_mode,
383 x_return_status);
384
385 -- copy data back from the local OUT or IN-OUT args, if any
386
387
388 end;
389
390 procedure validate_rule_group_rec(p_api_version_number NUMBER
391 , p_init_msg_list VARCHAR2
392 , x_return_status OUT NOCOPY VARCHAR2
393 , x_msg_count OUT NOCOPY NUMBER
394 , x_msg_data OUT NOCOPY VARCHAR2
395 , p5_a0 NUMBER := 0-1962.0724
396 , p5_a1 NUMBER := 0-1962.0724
397 , p5_a2 VARCHAR2 := fnd_api.g_miss_char
398 , p5_a3 NUMBER := 0-1962.0724
399 , p5_a4 DATE := fnd_api.g_miss_date
400 , p5_a5 NUMBER := 0-1962.0724
401 , p5_a6 NUMBER := 0-1962.0724
402 , p5_a7 DATE := fnd_api.g_miss_date
403 , p5_a8 NUMBER := 0-1962.0724
404 , p5_a9 NUMBER := 0-1962.0724
405 , p5_a10 VARCHAR2 := fnd_api.g_miss_char
406 , p5_a11 VARCHAR2 := fnd_api.g_miss_char
407 )
408 as
409 ddp_rule_group_rec ams_rule_group_pvt.rule_group_rec_type;
410 ddindx binary_integer; indx binary_integer;
411 begin
412
413 -- copy data to the local IN or IN-OUT args, if any
414
415
416
417
418
419 ddp_rule_group_rec.rulegroup_id := rosetta_g_miss_num_map(p5_a0);
420 ddp_rule_group_rec.posting_id := rosetta_g_miss_num_map(p5_a1);
421 ddp_rule_group_rec.strategy_type := p5_a2;
422 ddp_rule_group_rec.exec_priority := rosetta_g_miss_num_map(p5_a3);
423 ddp_rule_group_rec.last_update_date := rosetta_g_miss_date_in_map(p5_a4);
424 ddp_rule_group_rec.last_update_login := rosetta_g_miss_num_map(p5_a5);
425 ddp_rule_group_rec.created_by := rosetta_g_miss_num_map(p5_a6);
426 ddp_rule_group_rec.creation_date := rosetta_g_miss_date_in_map(p5_a7);
427 ddp_rule_group_rec.last_updated_by := rosetta_g_miss_num_map(p5_a8);
428 ddp_rule_group_rec.object_version_number := rosetta_g_miss_num_map(p5_a9);
429 ddp_rule_group_rec.rule_name := p5_a10;
430 ddp_rule_group_rec.rule_description := p5_a11;
431
432 -- here's the delegated call to the old PL/SQL routine
433 ams_rule_group_pvt.validate_rule_group_rec(p_api_version_number,
434 p_init_msg_list,
435 x_return_status,
436 x_msg_count,
437 x_msg_data,
438 ddp_rule_group_rec);
439
440 -- copy data back from the local OUT or IN-OUT args, if any
441
442
443
444
445
446 end;
447
448 end ams_rule_group_pvt_w;