[Home] [Help]
PACKAGE BODY: APPS.JTF_TASK_TEMP_GROUP_PVT
Source
1 PACKAGE BODY jtf_task_temp_group_pvt AS
2 /* $Header: jtfvtkgb.pls 120.1.12020000.2 2012/12/27 05:42:23 srguntur ship $ */
3 v_select VARCHAR2(6000);
4 v_tbl jtf_task_temp_group_pub.task_temp_group_tbl;
5
6 PROCEDURE create_task_template_group (
7 p_commit IN VARCHAR2,
8 p_template_group_name IN VARCHAR2,
9 p_source_object_type_code IN VARCHAR2,
10 p_start_date_active IN DATE,
11 p_end_date_active IN DATE,
12 p_description IN VARCHAR2,
13 p_attribute1 IN VARCHAR2,
14 p_attribute2 IN VARCHAR2,
15 p_attribute3 IN VARCHAR2,
16 p_attribute4 IN VARCHAR2,
17 p_attribute5 IN VARCHAR2,
18 p_attribute6 IN VARCHAR2,
19 p_attribute7 IN VARCHAR2,
20 p_attribute8 IN VARCHAR2,
21 p_attribute9 IN VARCHAR2,
22 p_attribute10 IN VARCHAR2,
23 p_attribute11 IN VARCHAR2,
24 p_attribute12 IN VARCHAR2,
25 p_attribute13 IN VARCHAR2,
26 p_attribute14 IN VARCHAR2,
27 p_attribute15 IN VARCHAR2,
28 p_attribute_category IN VARCHAR2,
29 x_return_status OUT NOCOPY VARCHAR2,
30 x_msg_count OUT NOCOPY NUMBER,
31 x_msg_data OUT NOCOPY VARCHAR2,
32 x_task_template_group_id OUT NOCOPY NUMBER,
33 p_application_id IN NUMBER DEFAULT NULL
34 )
35 IS
36 l_api_name VARCHAR2(30)
37 := 'CREATE_TASK_TEMPLATE_GROUP';
38 v_rowid VARCHAR2(24);
39 v_task_template_group_id jtf_task_temp_groups_b.task_template_group_id%TYPE;
40 BEGIN
41 x_return_status := fnd_api.g_ret_sts_success;
42 SAVEPOINT create_template_group_pvt;
43 SELECT jtf_task_temp_groups_s.nextval
44 INTO v_task_template_group_id
45 FROM dual;
46 -- call table handler to insert into jtf_tasks_temp_groups
47 jtf_task_temp_groups_pkg.insert_row (
48 v_rowid,
49 v_task_template_group_id,
50 p_source_object_type_code,
51 p_start_date_active,
52 p_end_date_active,
53 p_attribute1,
54 p_attribute2,
55 p_attribute3,
56 p_attribute4,
57 p_attribute5,
58 p_attribute6,
59 p_attribute7,
60 p_attribute8,
61 p_attribute9,
62 p_attribute10,
63 p_attribute11,
64 p_attribute12,
65 p_attribute13,
66 p_attribute14,
67 p_attribute15,
68 p_attribute_category,
69 p_template_group_name,
70 p_description,
71 SYSDATE,
72 fnd_global.user_id,
73 SYSDATE,
74 fnd_global.user_id,
75 fnd_global.login_id,
76 p_application_id
77 );
78
79 -- standard check of p_commit
80 IF (fnd_api.to_boolean (p_commit))
81 THEN
82 COMMIT WORK;
83 END IF;
84
85 x_task_template_group_id := v_task_template_group_id;
86 EXCEPTION
87 WHEN fnd_api.g_exc_error
88 THEN
89 ROLLBACK TO create_template_group_pvt;
90 x_return_status := fnd_api.g_ret_sts_error;
91 fnd_msg_pub.count_and_get (
92 p_count => x_msg_count,
93 p_data => x_msg_data
94 );
95 WHEN fnd_api.g_exc_unexpected_error
96 THEN
97 ROLLBACK TO create_template_group_pvt;
98 x_return_status := fnd_api.g_ret_sts_unexp_error;
99 fnd_msg_pub.count_and_get (
100 p_count => x_msg_count,
101 p_data => x_msg_data
102 );
103 WHEN OTHERS
104 THEN
105 ROLLBACK TO create_template_group_pvt;
106 x_return_status := fnd_api.g_ret_sts_unexp_error;
107
108 IF fnd_msg_pub.check_msg_level (fnd_msg_pub.g_msg_lvl_unexp_error)
109 THEN
110 fnd_msg_pub.add_exc_msg (g_pkg_name, l_api_name);
111 END IF;
112
113 fnd_msg_pub.count_and_get (
114 p_count => x_msg_count,
115 p_data => x_msg_data
116 );
117 END create_task_template_group;
118
119 PROCEDURE update_task_template_group (
120 p_commit IN VARCHAR2,
121 p_task_template_group_id IN NUMBER,
122 p_template_group_name IN VARCHAR2,
123 p_source_object_type_code IN VARCHAR2,
124 p_start_date_active IN DATE,
125 p_end_date_active IN DATE,
126 p_description IN VARCHAR2,
127 p_attribute1 IN VARCHAR2,
128 p_attribute2 IN VARCHAR2,
129 p_attribute3 IN VARCHAR2,
130 p_attribute4 IN VARCHAR2,
131 p_attribute5 IN VARCHAR2,
132 p_attribute6 IN VARCHAR2,
133 p_attribute7 IN VARCHAR2,
134 p_attribute8 IN VARCHAR2,
135 p_attribute9 IN VARCHAR2,
136 p_attribute10 IN VARCHAR2,
137 p_attribute11 IN VARCHAR2,
138 p_attribute12 IN VARCHAR2,
139 p_attribute13 IN VARCHAR2,
140 p_attribute14 IN VARCHAR2,
141 p_attribute15 IN VARCHAR2,
142 p_attribute_category IN VARCHAR2,
143 x_return_status OUT NOCOPY VARCHAR2,
144 x_msg_count OUT NOCOPY NUMBER,
145 x_msg_data OUT NOCOPY VARCHAR2,
146 x_object_version_number IN OUT NOCOPY NUMBER,
147 p_application_id IN NUMBER DEFAULT NULL
148 )
149 IS
150 l_api_name VARCHAR2(30) := 'UPDATE_TASK_TEMPLATE_GROUP';
151 BEGIN
152 x_return_status := fnd_api.g_ret_sts_success;
153 SAVEPOINT update_template_group_pvt;
154 -- call locking table handler
155 jtf_task_temp_groups_pkg.lock_row (
156 p_task_template_group_id,
157 x_object_version_number
158 );
159 -- call table handler to insert into jtf_tasks_temp_groups
160 jtf_task_temp_groups_pkg.update_row (
161 p_task_template_group_id,
162 x_object_version_number,
163 p_source_object_type_code,
164 p_start_date_active,
165 p_end_date_active,
166 p_attribute1,
167 p_attribute2,
168 p_attribute3,
169 p_attribute4,
170 p_attribute5,
171 p_attribute6,
172 p_attribute7,
173 p_attribute8,
174 p_attribute9,
175 p_attribute10,
176 p_attribute11,
177 p_attribute12,
178 p_attribute13,
179 p_attribute14,
180 p_attribute15,
181 p_attribute_category,
182 p_template_group_name,
183 p_description,
184 SYSDATE,
185 fnd_global.user_id,
186 fnd_global.login_id,
187 p_application_id
188 );
189
190 -- standard check of p_commit
191 IF (fnd_api.to_boolean (p_commit))
192 THEN
193 COMMIT WORK;
194 END IF;
195
196 x_object_version_number := x_object_version_number + 1;
197
198 EXCEPTION
199 WHEN fnd_api.g_exc_error
200 THEN
201 ROLLBACK TO update_template_group_pvt;
202 x_return_status := fnd_api.g_ret_sts_error;
203 fnd_msg_pub.count_and_get (
204 p_count => x_msg_count,
205 p_data => x_msg_data
206 );
207 WHEN fnd_api.g_exc_unexpected_error
208 THEN
209 ROLLBACK TO update_template_group_pvt;
210 x_return_status := fnd_api.g_ret_sts_unexp_error;
211 fnd_msg_pub.count_and_get (
212 p_count => x_msg_count,
213 p_data => x_msg_data
214 );
215 WHEN OTHERS
216 THEN
217 ROLLBACK TO update_template_group_pvt;
218 x_return_status := fnd_api.g_ret_sts_unexp_error;
219
220 IF fnd_msg_pub.check_msg_level (fnd_msg_pub.g_msg_lvl_unexp_error)
221 THEN
222 fnd_msg_pub.add_exc_msg (g_pkg_name, l_api_name);
223 END IF;
224
225 fnd_msg_pub.count_and_get (
226 p_count => x_msg_count,
227 p_data => x_msg_data
228 );
229 END update_task_template_group;
230
231 PROCEDURE delete_task_template_group (
232 p_commit IN VARCHAR2,
233 p_task_template_group_id IN NUMBER,
234 x_return_status OUT NOCOPY VARCHAR2,
235 x_msg_count OUT NOCOPY NUMBER,
236 x_msg_data OUT NOCOPY VARCHAR2
237 )
238 IS
239 l_api_name VARCHAR2(30) := 'DELETE_TASK_TEMPLATE_GROUP';
240 BEGIN
241 x_return_status := fnd_api.g_ret_sts_success;
242 SAVEPOINT delete_template_group_pvt;
243 -- call table handler to insert into jtf_tasks_temp_groups
244 jtf_task_temp_groups_pkg.delete_row (p_task_template_group_id);
245
246 -- standard check of p_commit
247 IF (fnd_api.to_boolean (p_commit))
248 THEN
249 COMMIT WORK;
250 END IF;
251 EXCEPTION
252 WHEN fnd_api.g_exc_error
253 THEN
254 ROLLBACK TO delete_template_group_pvt;
255 x_return_status := fnd_api.g_ret_sts_error;
256 fnd_msg_pub.count_and_get (
257 p_count => x_msg_count,
258 p_data => x_msg_data
259 );
260 WHEN fnd_api.g_exc_unexpected_error
261 THEN
262 ROLLBACK TO delete_template_group_pvt;
263 x_return_status := fnd_api.g_ret_sts_unexp_error;
264 fnd_msg_pub.count_and_get (
265 p_count => x_msg_count,
266 p_data => x_msg_data
267 );
268 WHEN OTHERS
269 THEN
270 ROLLBACK TO delete_template_group_pvt;
271 x_return_status := fnd_api.g_ret_sts_unexp_error;
272
273 IF fnd_msg_pub.check_msg_level (fnd_msg_pub.g_msg_lvl_unexp_error)
274 THEN
275 fnd_msg_pub.add_exc_msg (g_pkg_name, l_api_name);
276 END IF;
277
278 fnd_msg_pub.count_and_get (
279 p_count => x_msg_count,
280 p_data => x_msg_data
281 );
282 END delete_task_template_group;
283
284 PROCEDURE dump_long_line (txt IN VARCHAR2, v_str IN VARCHAR2)
285 IS
286 LN INTEGER := LENGTH (v_str);
287 st INTEGER := 1;
288 BEGIN
289 NULL;
290 --loop
291
292 --st := st + 72;
293 --exit when (st >= ln);
294 --end loop;
295
296 END dump_long_line;
297
298 PROCEDURE get_task_template_group (
299 p_commit IN VARCHAR2
300 DEFAULT fnd_api.g_false,
301 p_task_template_group_id IN NUMBER,
302 p_template_group_name IN VARCHAR2,
303 p_source_object_type_code IN VARCHAR2,
304 p_start_date_active IN DATE,
305 p_end_date_active IN DATE,
306 p_sort_data IN jtf_task_temp_group_pub.sort_data,
307 p_query_or_next_code IN VARCHAR2
308 DEFAULT 'Q',
309 p_start_pointer IN NUMBER,
310 p_rec_wanted IN NUMBER,
311 p_show_all IN VARCHAR2
312 DEFAULT 'Y',
313 x_return_status OUT NOCOPY VARCHAR2,
314 x_msg_count OUT NOCOPY NUMBER,
315 x_msg_data OUT NOCOPY VARCHAR2,
316 x_task_template_group OUT NOCOPY jtf_task_temp_group_pub.task_temp_group_tbl,
317 x_total_retrieved OUT NOCOPY NUMBER,
318 x_total_returned OUT NOCOPY NUMBER,
319 p_application_id IN NUMBER
320 DEFAULT NULL
321 )
322 IS
323 -- declare variables
324 l_api_name VARCHAR2(30)
325 := 'GET_TASK_TEMPLATE_GROUP';
326 v_cursor_id INTEGER;
327 v_dummy INTEGER;
328 v_cnt INTEGER;
329 v_end INTEGER;
330 v_start INTEGER;
331 v_type jtf_task_temp_group_pub.task_template_group_rec;
332
333 PROCEDURE create_sql_statement
334 IS
335 v_index INTEGER;
336 v_first INTEGER;
337 v_comma VARCHAR2(5);
338 v_where VARCHAR2(2000);
339 v_and CHAR(1) := 'N';
340
341 PROCEDURE add_to_sql (
342 p_in VARCHAR2, --value in parameter
343 p_bind VARCHAR2, --bind variable to use
344 p_field VARCHAR2 --field associated with parameter
345 )
346 IS
347 v_str VARCHAR2(10);
348 BEGIN -- add_to_sql
349 IF (p_in IS NOT NULL)
350 THEN
351 IF (v_and = 'N')
352 THEN
353 v_str := ' ';
354 v_and := 'Y';
355 ELSE
356 v_str := ' and ';
357 END IF;
358
359 v_where := v_where || v_str || p_field || ' = :' || p_bind;
360 END IF;
361 END add_to_sql;
362 BEGIN --create_sql_statement
363 v_select := 'select TASK_TEMPLATE_GROUP_ID,' ||
364 'TEMPLATE_GROUP_NAME,' ||
365 'SOURCE_OBJECT_TYPE_CODE,' ||
366 'START_DATE_ACTIVE,' ||
367 'END_DATE_ACTIVE,' ||
368 'DESCRIPTION,' ||
369 'ATTRIBUTE1,' ||
370 'ATTRIBUTE2,' ||
371 'ATTRIBUTE3,' ||
372 'ATTRIBUTE4,' ||
373 'ATTRIBUTE5,' ||
374 'ATTRIBUTE6,' ||
375 'ATTRIBUTE7,' ||
376 'ATTRIBUTE8,' ||
377 'ATTRIBUTE9,' ||
378 'ATTRIBUTE10,' ||
379 'ATTRIBUTE11,' ||
380 'ATTRIBUTE12,' ||
381 'ATTRIBUTE13,' ||
382 'ATTRIBUTE14,' ||
383 'ATTRIBUTE15,' ||
384 'ATTRIBUTE_CATEGORY,' ||
385 'object_version_number ,' ||
386 'APPLICATION_ID ' ||
387 'from jtf_task_temp_groups_vl ';
388 add_to_sql (
389 TO_CHAR (p_task_template_group_id),
390 'b1',
391 'task_template_group_id'
392 );
393 add_to_sql (p_template_group_name, 'b2', 'template_group_name');
394 add_to_sql (
395 p_source_object_type_code,
396 'b3',
397 'source_object_type_code'
398 );
399 add_to_sql (
400 TO_CHAR (p_start_date_active, 'dd-mon-rrrr'),
401 'b4',
402 'start_date_active'
403 );
404 add_to_sql (
405 TO_CHAR (p_end_date_active, 'dd-mon-rrrr'),
406 'b5',
407 'end_date_active'
408 );
409 add_to_sql (TO_CHAR (p_application_id), 'b6', 'application_id');
410
411 IF (v_where IS NOT NULL)
412 THEN
413 v_select := v_select || ' where ' || v_where;
414 END IF;
415
416 IF (p_sort_data.COUNT > 0)
417 THEN --there is a sort preference
418 v_select := v_select || ' order by ';
419 v_index := p_sort_data.FIRST;
420 v_first := v_index;
421
422 LOOP
423 IF (v_first = v_index)
424 THEN
425 v_comma := ' ';
426 ELSE
427 v_comma := ', ';
428 END IF;
429
430 v_select := v_select ||
431 v_comma ||
432 p_sort_data (v_index).field_name ||
433 ' ';
434
435 -- ascending or descending order
436 IF (p_sort_data (v_index).asc_dsc_flag = 'A')
437 THEN
438 v_select := v_select || 'asc ';
439 ELSIF (p_sort_data (v_index).asc_dsc_flag = 'D')
440 THEN
441 v_select := v_select || 'desc ';
442 END IF;
443
444 EXIT WHEN v_index = p_sort_data.LAST;
445 v_index := p_sort_data.NEXT (v_index);
446 END LOOP;
447 END IF;
448 END create_sql_statement;
449 BEGIN
450 x_return_status := fnd_api.g_ret_sts_success;
451 x_task_template_group.DELETE;
452
453 IF (p_query_or_next_code = 'Q')
454 THEN
455 v_tbl.DELETE;
456 create_sql_statement;
457 dump_long_line ('v_sel:', v_select);
458 v_cursor_id := DBMS_SQL.open_cursor;
459 DBMS_SQL.parse (v_cursor_id, v_select, DBMS_SQL.v7);
460
461 -- bind variables only if they added to the sql statement
462 IF (p_task_template_group_id IS NOT NULL)
463 THEN
464 DBMS_SQL.bind_variable (
465 v_cursor_id,
466 ':b1',
467 p_task_template_group_id
468 );
469 END IF;
470
471 IF (p_template_group_name IS NOT NULL)
472 THEN
473 DBMS_SQL.bind_variable (v_cursor_id, ':b2', p_template_group_name);
474 END IF;
475
476 IF (p_source_object_type_code IS NOT NULL)
477 THEN
478 DBMS_SQL.bind_variable (
479 v_cursor_id,
480 ':b3',
481 p_source_object_type_code
482 );
483 END IF;
484
485 IF (p_start_date_active IS NOT NULL)
486 THEN
487 DBMS_SQL.bind_variable (v_cursor_id, ':b4', p_start_date_active);
488 END IF;
489
490 IF (p_end_date_active IS NOT NULL)
491 THEN
492 DBMS_SQL.bind_variable (v_cursor_id, ':b5', p_end_date_active);
493 END IF;
494
495 IF (p_application_id IS NOT NULL)
496 THEN
497 DBMS_SQL.bind_variable (v_cursor_id, ':b6', p_application_id);
498 END IF;
499
500 -- define the output columns
501 DBMS_SQL.define_column (
502 v_cursor_id,
503 1,
504 v_type.task_template_group_id
505 );
506 DBMS_SQL.define_column (
507 v_cursor_id,
508 2,
509 v_type.template_group_name,
510 80
511 );
512 DBMS_SQL.define_column (
513 v_cursor_id,
514 3,
515 v_type.source_object_type_code,
516 80
517 );
518 DBMS_SQL.define_column (v_cursor_id, 4, v_type.start_date_active);
519 DBMS_SQL.define_column (v_cursor_id, 5, v_type.end_date_active);
520 DBMS_SQL.define_column (v_cursor_id, 6, v_type.description, 4000);
521 DBMS_SQL.define_column (v_cursor_id, 7, v_type.attribute1, 240);
522 DBMS_SQL.define_column (v_cursor_id, 8, v_type.attribute2, 150);
523 DBMS_SQL.define_column (v_cursor_id, 9, v_type.attribute3, 150);
524 DBMS_SQL.define_column (v_cursor_id, 10, v_type.attribute4, 150);
525 DBMS_SQL.define_column (v_cursor_id, 11, v_type.attribute5, 150);
526 DBMS_SQL.define_column (v_cursor_id, 12, v_type.attribute6, 150);
527 DBMS_SQL.define_column (v_cursor_id, 13, v_type.attribute7, 150);
528 DBMS_SQL.define_column (v_cursor_id, 14, v_type.attribute8, 150);
529 DBMS_SQL.define_column (v_cursor_id, 15, v_type.attribute9, 150);
530 DBMS_SQL.define_column (v_cursor_id, 16, v_type.attribute10, 150);
531 DBMS_SQL.define_column (v_cursor_id, 17, v_type.attribute11, 150);
532 DBMS_SQL.define_column (v_cursor_id, 18, v_type.attribute12, 150);
533 DBMS_SQL.define_column (v_cursor_id, 19, v_type.attribute13, 150);
534 DBMS_SQL.define_column (v_cursor_id, 20, v_type.attribute14, 150);
535 DBMS_SQL.define_column (v_cursor_id, 21, v_type.attribute15, 150);
536 DBMS_SQL.define_column (
537 v_cursor_id,
538 22,
539 v_type.attribute_category,
540 30
541 );
542 DBMS_SQL.define_column (
543 v_cursor_id,
544 23,
545 v_type.object_version_number
546 );
547 DBMS_SQL.define_column (v_cursor_id, 24, v_type.application_id);
548 v_dummy := DBMS_SQL.execute (v_cursor_id);
549 v_cnt := 0;
550
551 LOOP
552 EXIT WHEN (DBMS_SQL.fetch_rows (v_cursor_id) = 0);
553 v_cnt := v_cnt + 1;
554 -- retrieve the rows from the buffer
555 DBMS_SQL.column_value (
556 v_cursor_id,
557 1,
558 v_type.task_template_group_id
559 );
560 DBMS_SQL.column_value (v_cursor_id, 2, v_type.template_group_name);
561 DBMS_SQL.column_value (
562 v_cursor_id,
563 3,
564 v_type.source_object_type_code
565 );
566 DBMS_SQL.column_value (v_cursor_id, 4, v_type.start_date_active);
567 DBMS_SQL.column_value (v_cursor_id, 5, v_type.end_date_active);
568 DBMS_SQL.column_value (v_cursor_id, 6, v_type.description);
569 DBMS_SQL.column_value (v_cursor_id, 7, v_type.attribute1);
570 DBMS_SQL.column_value (v_cursor_id, 8, v_type.attribute2);
571 DBMS_SQL.column_value (v_cursor_id, 9, v_type.attribute3);
572 DBMS_SQL.column_value (v_cursor_id, 10, v_type.attribute4);
573 DBMS_SQL.column_value (v_cursor_id, 11, v_type.attribute5);
574 DBMS_SQL.column_value (v_cursor_id, 12, v_type.attribute6);
575 DBMS_SQL.column_value (v_cursor_id, 13, v_type.attribute7);
576 DBMS_SQL.column_value (v_cursor_id, 14, v_type.attribute8);
577 DBMS_SQL.column_value (v_cursor_id, 15, v_type.attribute9);
578 DBMS_SQL.column_value (v_cursor_id, 16, v_type.attribute10);
579 DBMS_SQL.column_value (v_cursor_id, 17, v_type.attribute11);
580 DBMS_SQL.column_value (v_cursor_id, 18, v_type.attribute12);
581 DBMS_SQL.column_value (v_cursor_id, 19, v_type.attribute13);
582 DBMS_SQL.column_value (v_cursor_id, 20, v_type.attribute14);
583 DBMS_SQL.column_value (v_cursor_id, 21, v_type.attribute15);
584 DBMS_SQL.column_value (v_cursor_id, 22, v_type.attribute_category);
585 DBMS_SQL.column_value (
586 v_cursor_id,
587 23,
588 v_type.object_version_number
589 );
590 DBMS_SQL.column_value (v_cursor_id, 24, v_type.application_id);
591 -- 'v_type.task_template_group_id:'||
592 -- to_char(v_type.task_template_group_id));
593 v_tbl (v_cnt) := v_type;
594 END LOOP;
595
596 DBMS_SQL.close_cursor (v_cursor_id);
597 END IF; --p_query_or_next_code;
598
599 -- copy records to be returned back
600 x_total_retrieved := v_tbl.COUNT;
601
602 -- if table is empty do nothing
603 IF (x_total_retrieved > 0)
604 THEN
605 IF (p_show_all = 'Y')
606 THEN -- return all the rows
607 v_start := v_tbl.FIRST;
608 v_end := v_tbl.LAST;
609 ELSE
610 v_start := p_start_pointer;
611 v_end := p_start_pointer + p_rec_wanted - 1;
612
613 IF (v_end > v_tbl.LAST)
614 THEN
615 v_end := v_tbl.LAST;
616 END IF;
617 END IF;
618
619 FOR v_cnt IN v_start .. v_end
620 LOOP
621 x_task_template_group (v_cnt) := v_tbl (v_cnt);
622 END LOOP;
623 END IF;
624
625 x_total_returned := x_task_template_group.COUNT;
626 EXCEPTION
627 WHEN fnd_api.g_exc_error
628 THEN
629 x_return_status := fnd_api.g_ret_sts_error;
630 fnd_msg_pub.count_and_get (
631 p_count => x_msg_count,
632 p_data => x_msg_data
633 );
634 WHEN fnd_api.g_exc_unexpected_error
635 THEN
636 x_return_status := fnd_api.g_ret_sts_unexp_error;
637 fnd_msg_pub.count_and_get (
638 p_count => x_msg_count,
639 p_data => x_msg_data
640 );
641 WHEN OTHERS
642 THEN
643 x_return_status := fnd_api.g_ret_sts_unexp_error;
644
645 IF fnd_msg_pub.check_msg_level (fnd_msg_pub.g_msg_lvl_unexp_error)
646 THEN
647 fnd_msg_pub.add_exc_msg (g_pkg_name, l_api_name);
648 END IF;
649
650 fnd_msg_pub.count_and_get (
651 p_count => x_msg_count,
652 p_data => x_msg_data
653 );
654 END get_task_template_group;
655 END;