[Home] [Help]
PACKAGE BODY: APPS.JTF_TASK_RECURRENCES_PUB_W
Source
1 package body jtf_task_recurrences_pub_w as
2 /* $Header: jtfbtkcb.pls 120.2 2006/04/26 04:24 knayyar 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 rosetta_g_mistake_date_high date := to_date('01/01/+4710', 'MM/DD/SYYYY');
6 rosetta_g_mistake_date_low date := to_date('01/01/-4710', 'MM/DD/SYYYY');
7
8 -- this is to workaround the JDBC bug regarding IN DATE of value GMiss
9 function rosetta_g_miss_date_in_map(d date) return date as
10 begin
11 if d > rosetta_g_mistake_date_high then return fnd_api.g_miss_date; end if;
12 if d < rosetta_g_mistake_date_low then return fnd_api.g_miss_date; end if;
13 return d;
14 end;
15
16 procedure rosetta_table_copy_in_p1(t out nocopy jtf_task_recurrences_pub.output_dates_rec, a0 JTF_DATE_TABLE) as
17 ddindx binary_integer; indx binary_integer;
18 begin
19 if a0 is not null and a0.count > 0 then
20 if a0.count > 0 then
21 indx := a0.first;
22 ddindx := 1;
23 while true loop
24 t(ddindx) := rosetta_g_miss_date_in_map(a0(indx));
25 ddindx := ddindx+1;
26 if a0.last =indx
27 then exit;
28 end if;
29 indx := a0.next(indx);
30 end loop;
31 end if;
32 end if;
33 end rosetta_table_copy_in_p1;
34 procedure rosetta_table_copy_out_p1(t jtf_task_recurrences_pub.output_dates_rec, a0 out nocopy JTF_DATE_TABLE) as
35 ddindx binary_integer; indx binary_integer;
36 begin
37 if t is null or t.count = 0 then
38 a0 := JTF_DATE_TABLE();
39 else
40 a0 := JTF_DATE_TABLE();
41 if t.count > 0 then
42 a0.extend(t.count);
43 ddindx := t.first;
44 indx := 1;
45 while true loop
46 a0(indx) := rosetta_g_miss_date_in_map(t(ddindx));
47 indx := indx+1;
48 if t.last =ddindx
49 then exit;
50 end if;
51 ddindx := t.next(ddindx);
52 end loop;
53 end if;
54 end if;
55 end rosetta_table_copy_out_p1;
56
57 procedure create_task_recurrence(p_api_version NUMBER
58 , p_init_msg_list VARCHAR2
59 , p_commit VARCHAR2
60 , p_task_id NUMBER
61 , p_task_number VARCHAR2
62 , p_occurs_which INTEGER
63 , p_template_flag VARCHAR2
64 , p_day_of_week INTEGER
65 , p_date_of_month INTEGER
66 , p_occurs_month INTEGER
67 , p_occurs_uom VARCHAR2
68 , p_occurs_every INTEGER
69 , p_occurs_number INTEGER
70 , p_start_date_active date
71 , p_end_date_active date
72 , x_return_status out nocopy VARCHAR2
73 , x_msg_count out nocopy NUMBER
74 , x_msg_data out nocopy VARCHAR2
75 , x_recurrence_rule_id out nocopy NUMBER
76 , p19_a0 out nocopy NUMBER
77 , p19_a1 out nocopy NUMBER
78 , p19_a2 out nocopy VARCHAR2
79 , x_reccurences_generated out nocopy INTEGER
80 , p_attribute1 VARCHAR2
81 , p_attribute2 VARCHAR2
82 , p_attribute3 VARCHAR2
83 , p_attribute4 VARCHAR2
84 , p_attribute5 VARCHAR2
85 , p_attribute6 VARCHAR2
86 , p_attribute7 VARCHAR2
87 , p_attribute8 VARCHAR2
88 , p_attribute9 VARCHAR2
89 , p_attribute10 VARCHAR2
90 , p_attribute11 VARCHAR2
91 , p_attribute12 VARCHAR2
92 , p_attribute13 VARCHAR2
93 , p_attribute14 VARCHAR2
94 , p_attribute15 VARCHAR2
95 , p_attribute_category VARCHAR2
96 , p_sunday VARCHAR2
97 , p_monday VARCHAR2
98 , p_tuesday VARCHAR2
99 , p_wednesday VARCHAR2
100 , p_thursday VARCHAR2
101 , p_friday VARCHAR2
102 , p_saturday VARCHAR2
103 )
104
105 as
106 ddp_start_date_active date;
107 ddp_end_date_active date;
108 ddx_task_rec jtf_task_recurrences_pub.task_details_rec;
109 ddindx binary_integer; indx binary_integer;
110 begin
111
112 -- copy data to the local IN or IN-OUT args, if any
113
114
115
116
117
118
119
120
121
122
123
124
125
126 ddp_start_date_active := rosetta_g_miss_date_in_map(p_start_date_active);
127
128 ddp_end_date_active := rosetta_g_miss_date_in_map(p_end_date_active);
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159 -- here's the delegated call to the old PL/SQL routine
160 jtf_task_recurrences_pub.create_task_recurrence(p_api_version,
161 p_init_msg_list,
162 p_commit,
163 p_task_id,
164 p_task_number,
165 p_occurs_which,
166 p_template_flag,
167 p_day_of_week,
168 p_date_of_month,
169 p_occurs_month,
170 p_occurs_uom,
171 p_occurs_every,
172 p_occurs_number,
173 ddp_start_date_active,
174 ddp_end_date_active,
175 x_return_status,
176 x_msg_count,
177 x_msg_data,
178 x_recurrence_rule_id,
179 ddx_task_rec,
180 x_reccurences_generated,
181 p_attribute1,
182 p_attribute2,
183 p_attribute3,
184 p_attribute4,
185 p_attribute5,
186 p_attribute6,
187 p_attribute7,
191 p_attribute11,
188 p_attribute8,
189 p_attribute9,
190 p_attribute10,
192 p_attribute12,
193 p_attribute13,
194 p_attribute14,
195 p_attribute15,
196 p_attribute_category,
197 p_sunday,
198 p_monday,
199 p_tuesday,
200 p_wednesday,
201 p_thursday,
202 p_friday,
203 p_saturday);
204
205 -- copy data back from the local variables to OUT or IN-OUT args, if any
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225 p19_a0 := ddx_task_rec.task_id;
226 p19_a1 := ddx_task_rec.task_number;
227 p19_a2 := ddx_task_rec.task_name;
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252 end;
253
254 procedure update_task_recurrence(p_api_version NUMBER
255 , p_init_msg_list VARCHAR2
256 , p_commit VARCHAR2
257 , p_task_id NUMBER
258 , p_recurrence_rule_id NUMBER
259 , p_occurs_which INTEGER
260 , p_day_of_week INTEGER
261 , p_date_of_month INTEGER
262 , p_occurs_month INTEGER
263 , p_occurs_uom VARCHAR2
264 , p_occurs_every INTEGER
265 , p_occurs_number INTEGER
266 , p_start_date_active date
267 , p_end_date_active date
268 , p_template_flag VARCHAR2
269 , p_attribute1 VARCHAR2
270 , p_attribute2 VARCHAR2
271 , p_attribute3 VARCHAR2
272 , p_attribute4 VARCHAR2
273 , p_attribute5 VARCHAR2
274 , p_attribute6 VARCHAR2
275 , p_attribute7 VARCHAR2
276 , p_attribute8 VARCHAR2
277 , p_attribute9 VARCHAR2
278 , p_attribute10 VARCHAR2
279 , p_attribute11 VARCHAR2
280 , p_attribute12 VARCHAR2
281 , p_attribute13 VARCHAR2
282 , p_attribute14 VARCHAR2
283 , p_attribute15 VARCHAR2
284 , p_attribute_category VARCHAR2
285 , p_sunday VARCHAR2
286 , p_monday VARCHAR2
287 , p_tuesday VARCHAR2
288 , p_wednesday VARCHAR2
289 , p_thursday VARCHAR2
290 , p_friday VARCHAR2
291 , p_saturday VARCHAR2
292 , x_new_recurrence_rule_id out nocopy NUMBER
293 , x_return_status out nocopy VARCHAR2
294 , x_msg_count out nocopy NUMBER
295 , x_msg_data out nocopy VARCHAR2
296 )
297
298 as
299 ddp_start_date_active date;
300 ddp_end_date_active date;
301 ddindx binary_integer; indx binary_integer;
302 begin
303
304 -- copy data to the local IN or IN-OUT args, if any
305
306
307
308
309
310
311
312
313
314
315
316
317 ddp_start_date_active := rosetta_g_miss_date_in_map(p_start_date_active);
318
319 ddp_end_date_active := rosetta_g_miss_date_in_map(p_end_date_active);
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349 -- here's the delegated call to the old PL/SQL routine
350 jtf_task_recurrences_pub.update_task_recurrence(p_api_version,
351 p_init_msg_list,
352 p_commit,
353 p_task_id,
354 p_recurrence_rule_id,
355 p_occurs_which,
356 p_day_of_week,
357 p_date_of_month,
358 p_occurs_month,
359 p_occurs_uom,
360 p_occurs_every,
361 p_occurs_number,
362 ddp_start_date_active,
363 ddp_end_date_active,
364 p_template_flag,
365 p_attribute1,
366 p_attribute2,
367 p_attribute3,
368 p_attribute4,
369 p_attribute5,
370 p_attribute6,
371 p_attribute7,
372 p_attribute8,
373 p_attribute9,
374 p_attribute10,
375 p_attribute11,
376 p_attribute12,
377 p_attribute13,
378 p_attribute14,
379 p_attribute15,
380 p_attribute_category,
381 p_sunday,
382 p_monday,
383 p_tuesday,
384 p_wednesday,
385 p_thursday,
386 p_friday,
387 p_saturday,
388 x_new_recurrence_rule_id,
389 x_return_status,
390 x_msg_count,
391 x_msg_data);
392
393 -- copy data back from the local variables to OUT or IN-OUT args, if any
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435 end;
436
437 end jtf_task_recurrences_pub_w;