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