DBA Data[Home] [Help]

PACKAGE BODY: APPS.HXC_ABSENCE_TYPE_ALIAS

Source


1 PACKAGE BODY hxc_absence_type_alias AS
2 /* $Header: hxcabstypealias.pkb 120.0.12010000.9 2010/01/07 13:55:51 amakrish noship $ */
3 
4 g_package varchar2(30) 	:= 'hxc_absence_type_alias.';
5 g_debug BOOLEAN 	:= hr_utility.debug_enabled;
6 
7 PROCEDURE ins_otl_abs_type_elements_temp(p_tc_abs_type_alias_def_id IN hxc_alias_definitions_tl.alias_definition_id%TYPE,
8                                          p_tc_abs_payroll_id        IN pay_payrolls_f.payroll_id%TYPE,
9                                          p_tc_abs_element_set_id    IN pay_element_sets_tl.element_set_id%TYPE,
10                                          p_tc_abs_absence_type_id   IN per_abs_attendance_types_tl.absence_attendance_type_id%TYPE) IS
11 PRAGMA AUTONOMOUS_TRANSACTION;
12 
13 l_tc_abs_type_alias_def_id 	hxc_alias_definitions_tl.alias_definition_id%TYPE;
14 l_tc_abs_payroll_id 		pay_payrolls_f.payroll_id%TYPE;
15 l_tc_abs_element_set_id 	pay_element_sets_tl.element_set_id%TYPE;
16 l_tc_abs_absence_type_id 	per_abs_attendance_types_tl.absence_attendance_type_id%TYPE;
17 
18 l_proc 				VARCHAR2(100);
19 
20 BEGIN
21 
22   g_debug := hr_utility.debug_enabled;
23 
24   IF g_debug THEN
25      l_proc := g_package||'ins_otl_abs_type_elements_temp';
26      hr_utility.set_location('ABS:Processing '||l_proc, 10);
27   END IF;
28 
29   l_tc_abs_type_alias_def_id := p_tc_abs_type_alias_def_id;
30   l_tc_abs_payroll_id 	     := p_tc_abs_payroll_id;
31   l_tc_abs_element_set_id    := p_tc_abs_element_set_id;
32   l_tc_abs_absence_type_id   := p_tc_abs_absence_type_id;
33 
34 
35   IF g_debug THEN
36      hr_utility.trace('ABS:l_tc_abs_type_alias_def_id ::'||l_tc_abs_type_alias_def_id);
37      hr_utility.trace('ABS:l_tc_abs_payroll_id ::'||l_tc_abs_payroll_id);
38      hr_utility.trace('ABS:l_tc_abs_element_set_id ::'||l_tc_abs_element_set_id);
39      hr_utility.trace('ABS:l_tc_abs_absence_type_id ::'||l_tc_abs_absence_type_id);
40   END IF;
41 
42 
43   DELETE FROM hxc_absence_type_elements_temp;
44 
45   INSERT INTO hxc_absence_type_elements_temp
46     (absence_attendance_type_id
47     ,absence_attendance_type_name
48     ,element_type_id
49     ,element_name
50     ,uom
51     ,alias_value_name
52     ,absence_category
53     ,absence_category_meaning
54     )
55     (SELECT /*+ ORDERED */
56            paatt.absence_attendance_type_id,
57     	   paatt.name,
58     	   petft.element_type_id,
59     	   petft.element_name,
60     	   hae.uom,
61     	   paatt.name || ' (' || ntl.meaning || ')',
62     	   acl.lookup_code absence_category,
63     	   acl.meaning absence_category_meaning
64      FROM hxc_absence_type_elements hae,
65      	  per_absence_attendance_types paat,
66      	  per_abs_attendance_types_tl paatt,
67      	  pay_element_types_f    petf,
68      	  pay_element_types_f_tl petft,
69      	  hr_lookups ntl, -- NAME_TRANSLATIONS
70      	  hr_lookups acl  -- ABSENCE_CATEGORY
71     WHERE hae.absence_attendance_type_id   = paat.absence_attendance_type_id
72       AND hae.element_type_id 		   = petf.element_type_id
73       AND ntl.lookup_type                  = 'NAME_TRANSLATIONS'
74       AND ntl.lookup_code                  = hae.uom
75       AND acl.lookup_type(+)               = 'ABSENCE_CATEGORY'
76       AND acl.lookup_code(+)               = hae.absence_category
77       AND paatt.LANGUAGE                   = petft.LANGUAGE
78       AND paatt.LANGUAGE                   = userenv('LANG')
79       AND paatt.absence_attendance_type_id = paat.absence_attendance_type_id
80       AND petft.element_type_id	           = petf.element_type_id
81       AND paat.business_group_id           = petf.business_group_id
82       AND paat.business_group_id           = fnd_profile.value('PER_BUSINESS_GROUP_ID'));
83 
84   IF g_debug THEN
85      hr_utility.set_location('ABS:Processing '||l_proc, 20);
86   END IF;
87 
88 
89   IF l_tc_abs_type_alias_def_id IS NOT NULL THEN
90 
91     DELETE hxc_absence_type_elements_temp haet
92     WHERE to_char(haet.element_type_id) NOT IN
93       (SELECT hav.attribute1
94          FROM hxc_alias_definitions_tl hadt,
95               hxc_alias_definitions had,
96               hxc_alias_values hav
97         WHERE had.alias_context_code = 'PAYROLL_ELEMENTS'
98           AND hadt.alias_definition_id = had.alias_definition_id
99           AND hadt.alias_definition_id = hav.alias_definition_id
100           AND hadt.alias_definition_id = l_tc_abs_type_alias_def_id
101           AND hadt.LANGUAGE = userenv('LANG'));
102 
103   END IF;
104 
105   IF g_debug THEN
106      hr_utility.set_location('ABS:Processing '||l_proc, 30);
107   END IF;
108 
109   IF l_tc_abs_payroll_id IS NOT NULL THEN
110 
111     DELETE hxc_absence_type_elements_temp haet
112     WHERE haet.element_type_id NOT IN
113       (SELECT pelf.element_type_id
114          FROM pay_payrolls_f papf,
115               pay_element_links_f pelf
116         WHERE papf.payroll_id = pelf.payroll_id
117           AND papf.payroll_id = l_tc_abs_payroll_id);
118 
119   END IF;
120 
121   IF l_tc_abs_element_set_id IS NOT NULL THEN
122 
123     DELETE hxc_absence_type_elements_temp haet
124     WHERE haet.element_type_id NOT IN
125       (SELECT petr.element_type_id
126          FROM pay_element_sets_tl pest,
127               pay_element_sets pes,
128               pay_element_type_rules petr
129         WHERE pest.element_set_id = pes.element_set_id
130           AND pes.element_set_id = petr.element_set_id
131           AND pes.element_set_id = l_tc_abs_element_set_id
132           AND pes.element_set_type = 'R'
133           AND LANGUAGE = userenv('LANG'));
134 
135   END IF;
136 
137   IF g_debug THEN
138      hr_utility.set_location('ABS:Processing '||l_proc, 40);
139   END IF;
140 
141   IF l_tc_abs_absence_type_id IS NOT NULL THEN
142 
143     DELETE hxc_absence_type_elements_temp haet
144     WHERE haet.element_type_id NOT IN
145       (SELECT pivf.element_type_id
146          FROM per_abs_attendance_types_tl paatt,
147               per_absence_attendance_types paat,
148               pay_input_values_f pivf
149         WHERE paatt.absence_attendance_type_id = paat.absence_attendance_type_id
150           AND paat.absence_attendance_type_id = l_tc_abs_absence_type_id
151           AND paat.input_value_id = pivf.input_value_id
152           AND paatt.LANGUAGE = userenv('LANG'));
153 
154   END IF;
155 
156   IF g_debug THEN
157      hr_utility.set_location('ABS:Processing '||l_proc, 50);
158   END IF;
159 
160 
161   COMMIT;
162 
163 END ins_otl_abs_type_elements_temp;
164 
165 PROCEDURE create_alias_definition(p_alias_definition_id          OUT nocopy NUMBER,
166                                   p_alias_definition_name        IN VARCHAR2,
167                                   p_object_version_number        OUT nocopy NUMBER,
168                                   p_alias_definition_name_exists OUT nocopy VARCHAR2) IS
169 
170 l_alias_definition_id     hxc_alias_definitions.ALIAS_DEFINITION_ID%type;
171 l_alias_definition_id_ovn hxc_alias_definitions.OBJECT_VERSION_NUMBER%type;
172 l_alias_type_id           hxc_alias_definitions.ALIAS_TYPE_ID%type;
173 l_alias_definition_name   hxc_alias_definitions.ALIAS_DEFINITION_NAME%type;
174 
175 l_exists                  VARCHAR2(1) := 'N';
176 l_messages                hxc_message_table_type;
177 
178 l_proc 			  VARCHAR2(100);
179 
180 BEGIN
181 
182   g_debug := hr_utility.debug_enabled;
183 
184   IF g_debug THEN
185      l_proc := g_package||'create_alias_definition';
186      hr_utility.set_location('ABS:Processing '||l_proc, 10);
187   END IF;
188 
189   l_alias_definition_name := p_alias_definition_name;
190 
191   IF g_debug THEN
192      hr_utility.trace('ABS:l_alias_definition_name ::'||l_alias_definition_name);
193   END IF;
194 
195   SELECT  alias_type_id
196     INTO  l_alias_type_id
197     FROM  hxc_alias_types
198    WHERE  alias_type = 'OTL_ALT_DDF'
199      AND  reference_object = 'PAYROLL_ELEMENTS';
200 
201   IF g_debug THEN
202      hr_utility.set_location('ABS:Processing '||l_proc, 20);
203      hr_utility.trace('ABS:l_alias_type_id ::'||l_alias_type_id);
204   END IF;
205 
206   BEGIN
207 
208     SELECT 'Y'
209       INTO l_exists
210       FROM hxc_alias_definitions_tl
211      WHERE alias_definition_name = l_alias_definition_name
212        AND LANGUAGE = userenv('LANG');
213 
214     IF g_debug THEN
215        hr_utility.set_location('ABS:Processing '||l_proc, 30);
216     END IF;
217 
218 
219   EXCEPTION
220 
221     WHEN NO_DATA_FOUND THEN
222 
223       IF g_debug THEN
224          hr_utility.set_location('ABS:Processing '||l_proc, 40);
225          hr_utility.trace('ABS:Calling hxc_alias_definitions_api.create_alias_definition procedure.');
226       END IF;
227 
228       l_exists := 'N';
229       hxc_alias_definitions_api.create_alias_definition(p_alias_definition_id => p_alias_definition_id,
230                                                   p_alias_definition_name     => l_alias_definition_name,
231                                                   p_alias_context_code        => 'PAYROLL_ELEMENTS',
232                                                   p_timecard_field            => NULL,
233                                                   p_object_version_number     => p_object_version_number,
234                                                   p_alias_type_id             => l_alias_type_id,
235                                                   p_business_group_id         => fnd_profile.VALUE('PER_BUSINESS_GROUP_ID'),
236                                                   p_prompt                    => 'Hours Type'
237                                                   );
238 
239       IF g_debug THEN
240          hr_utility.trace('ABS:End of hxc_alias_definitions_api.create_alias_definition procedure.');
241          hr_utility.set_location('ABS:Processing '||l_proc, 50);
242       END IF;
243 
244   END;
245 
246   p_alias_definition_name_exists := l_exists;
247 
248   IF g_debug THEN
249      hr_utility.trace('ABS:p_alias_definition_name_exists ::'||p_alias_definition_name_exists);
250      hr_utility.set_location('ABS:Processing '||l_proc, 60);
251   END IF;
252 
253 END create_alias_definition;
254 
255 PROCEDURE create_alias_value(p_alias_value_name        IN VARCHAR2,
256                              p_alias_definition_id     IN NUMBER,
257                              p_attribute1              IN VARCHAR2 DEFAULT NULL,
258                              p_date_from               IN VARCHAR2,
259                              p_date_to                 IN VARCHAR2,
260                              p_alias_value_name_exists OUT nocopy VARCHAR2) IS
261 
262 l_alias_value_id     hxc_alias_values.alias_value_id%type;
263 l_alias_value_id_ovn hxc_alias_values.object_version_number%type;
264 l_alias_value_name   hxc_alias_values.alias_value_name%type;
265 
266 l_proc 		     VARCHAR2(100);
267 
268 BEGIN
269 
270   g_debug := hr_utility.debug_enabled;
271 
272   IF g_debug THEN
273      l_proc := g_package||'create_alias_value';
274      hr_utility.set_location('ABS:Processing '||l_proc, 10);
275   END IF;
276 
277   l_alias_value_name 	    := p_alias_value_name;
278   p_alias_value_name_exists := 'N';
279 
280   IF g_debug THEN
281     hr_utility.trace('ABS:l_alias_value_name ::'||l_alias_value_name);
282     hr_utility.trace('ABS:p_alias_definition_id ::'||p_alias_definition_id);
283     hr_utility.trace('ABS:p_attribute1 ::'||p_attribute1);
284     hr_utility.trace('ABS:p_date_from ::'||p_date_from);
285     hr_utility.trace('ABS:p_date_to ::'||p_date_to);
286   END IF;
287 
288   BEGIN
289 
290     SELECT 'Y'
291       INTO p_alias_value_name_exists
292       FROM hxc_alias_values_tl havt,
293            hxc_alias_values hav
294      WHERE substr(havt.alias_value_name,1,instr(havt.alias_value_name,'(')-2)
295 			           = substr(l_alias_value_name,1,instr(havt.alias_value_name,'(')-2)
296        AND havt.alias_value_id     = hav.alias_value_id
297        AND hav.alias_definition_id = p_alias_definition_id
298        AND havt.LANGUAGE           = userenv('LANG');
299 
300     IF g_debug THEN
301        hr_utility.set_location('ABS:Processing '||l_proc, 20);
302        hr_utility.trace('ABS:p_alias_value_name_exists ::'||p_alias_value_name_exists);
303     END IF;
304 
305     IF p_alias_value_name_exists = 'Y' THEN
306 
307       SELECT  hav.alias_value_id,
308               hav.object_version_number
309         INTO  l_alias_value_id,
310               l_alias_value_id_ovn
311         FROM  hxc_alias_values_tl havt,
312               hxc_alias_values hav
313        WHERE  substr(havt.alias_value_name,1,instr(havt.alias_value_name,'(')-2)
314 			              = substr(l_alias_value_name,1,instr(havt.alias_value_name,'(')-2)
315          AND  havt.alias_value_id     = hav.alias_value_id
316          AND  hav.alias_definition_id = p_alias_definition_id
317          AND  havt.LANGUAGE           = userenv('LANG');
318 
319       IF g_debug THEN
320 	hr_utility.set_location('ABS:Processing '||l_proc, 30);
321         hr_utility.trace('ABS:l_alias_value_id ::'||l_alias_value_id);
322     	hr_utility.trace('ABS:l_alias_value_id_ovn ::'||l_alias_value_id_ovn);
323     	hr_utility.trace('ABS:Calling hxc_alias_values_api.update_alias_value procedure.');
324       END IF;
325 
326       hxc_alias_values_api.update_alias_value(p_alias_value_id        => l_alias_value_id,
327                                               p_alias_value_name      => l_alias_value_name,
328                                               p_alias_definition_id   => p_alias_definition_id,
329                                               p_enabled_flag          => 'Y',
330                                               p_attribute_category    => 'PAYROLL_ELEMENTS',
331                                               p_attribute1            => p_attribute1,
332   	                  		      p_date_from             => to_date(p_date_from,FND_PROFILE.VALUE('ICX_DATE_FORMAT_MASK')),
333                                               p_date_to               => to_date(p_date_to,FND_PROFILE.VALUE('ICX_DATE_FORMAT_MASK')),
334                                               p_object_version_number => l_alias_value_id_ovn);
335 
336       IF g_debug THEN
337          hr_utility.trace('ABS:End of hxc_alias_values_api.update_alias_value procedure.');
338          hr_utility.set_location('ABS:Processing '||l_proc, 40);
339       END IF;
340 
341 
342     END IF;
343 
344   EXCEPTION
345 
346     WHEN NO_DATA_FOUND THEN
347 
348       IF g_debug THEN
349 	hr_utility.set_location('ABS:Processing '||l_proc, 50);
350         hr_utility.trace('ABS:l_alias_value_id ::'||l_alias_value_id);
351     	hr_utility.trace('ABS:l_alias_value_id_ovn ::'||l_alias_value_id_ovn);
352     	hr_utility.trace('ABS:Calling hxc_alias_values_api.create_alias_value procedure.');
353       END IF;
354 
355       hxc_alias_values_api.create_alias_value(p_alias_value_id        => l_alias_value_id,
356                                               p_alias_value_name      => l_alias_value_name,
357                                               p_alias_definition_id   => p_alias_definition_id,
358                                               p_enabled_flag 	      => 'Y',
359                                               p_attribute_category    => 'PAYROLL_ELEMENTS',
360                                               p_attribute1 	      => p_attribute1,
361   	                  		      p_date_from  	      => to_date(p_date_from,FND_PROFILE.VALUE('ICX_DATE_FORMAT_MASK')),
362                                               p_date_to               => to_date(p_date_to,FND_PROFILE.VALUE('ICX_DATE_FORMAT_MASK')),
363                                               p_object_version_number => l_alias_value_id_ovn);
364 
365       IF g_debug THEN
366 	 hr_utility.trace('ABS:End of hxc_alias_values_api.create_alias_value procedure.');
367          hr_utility.set_location('ABS:Processing '||l_proc, 60);
368       END IF;
369 
370   END;
371 
372 
373   EXCEPTION
374   When hr_api.check_integrity_violated Then
375     -- A check constraint has been violated
376     --
377     hxc_hav_shd.constraint_error
378       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
379   When hr_api.parent_integrity_violated Then
380     -- Parent integrity has been violated
381     --
382     hxc_hav_shd.constraint_error
383       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
384   When hr_api.unique_integrity_violated Then
385     -- Unique integrity has been violated
386     --
387     hxc_hav_shd.constraint_error
388       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
389 
390 END create_alias_value;
391 
392 
393 
394 PROCEDURE create_time_category(p_time_category_name IN VARCHAR2,
395                                p_description        IN VARCHAR2,
396                                p_time_category_id      OUT nocopy NUMBER,
397                                p_object_version_number OUT nocopy NUMBER,
398                                p_component_type_id     OUT nocopy NUMBER,
399                                p_time_category_exists  OUT nocopy VARCHAR2)  IS
400 
401 l_exists                  VARCHAR2(1) := 'N';
402 l_messages                hxc_message_table_type;
403 
404 l_proc 			  VARCHAR2(100);
405 
406 BEGIN
407 
408   g_debug := hr_utility.debug_enabled;
409 
410   IF g_debug THEN
411      l_proc := g_package||'create_time_category';
412      hr_utility.set_location('ABS:Processing '||l_proc, 10);
413   END IF;
414 
415   IF g_debug THEN
416      hr_utility.trace('ABS:p_time_category_name ::'||p_time_category_name);
417      hr_utility.trace('ABS:p_description ::'||p_description);
418   END IF;
419 
420   BEGIN
421 
422     SELECT 'Y'
423       INTO l_exists
424       FROM hxc_time_categories
425      WHERE time_category_name = p_time_category_name;
426 
427     IF g_debug THEN
428        hr_utility.set_location('ABS:Processing '||l_proc, 20);
429     END IF;
430 
431 
432   EXCEPTION
433 
434     WHEN NO_DATA_FOUND THEN
435 
436       IF g_debug THEN
437          hr_utility.set_location('ABS:Processing '||l_proc, 30);
438          hr_utility.trace('ABS:Calling hxc_time_category_api.create_time_category procedure.');
439       END IF;
440 
441       l_exists := 'N';
442       hxc_time_category_api.create_time_category
443       		(p_time_category_id         => p_time_category_id
444   		,p_object_version_number    => p_object_version_number
445   		,p_time_category_name       => p_time_category_name
446   		,p_operator                 => 'OR'
447   		,p_description              => p_description
448   		,p_display                  => 'Y');
449 
450       IF g_debug THEN
451          hr_utility.trace('ABS:Completed hxc_time_category_api.create_time_category procedure.');
452      	 hr_utility.trace('ABS:p_time_category_id ::'||p_time_category_id);
453      	 hr_utility.trace('ABS:p_object_version_number ::'||p_object_version_number);
454          hr_utility.set_location('ABS:Processing '||l_proc, 40);
455       END IF;
456 
457   END;
458 
459   p_time_category_exists := l_exists;
460 
461   select mapping_component_id
462     into p_component_type_id
463     from hxc_mapping_components
464    where field_name = 'Dummy Element Context';
465 
466 
467   IF g_debug THEN
468      hr_utility.trace('ABS:p_time_category_exists ::'||p_time_category_exists);
469      hr_utility.trace('ABS:p_component_type_id ::'||p_component_type_id);
470      hr_utility.set_location('ABS:Processing '||l_proc, 50);
471   END IF;
472 
473 END create_time_category;
474 
475 
476 PROCEDURE create_time_category_comp(p_time_category_id IN NUMBER,
477 				    p_value_id IN VARCHAR2,
478 				    p_component_type_id IN NUMBER,
479                                     p_time_category_comp_exists OUT nocopy VARCHAR2)  IS
480 
481 l_time_category_comp_id     hxc_time_category_comps.TIME_CATEGORY_COMP_ID%type;
482 l_time_category_comp_ovn    hxc_time_category_comps.OBJECT_VERSION_NUMBER%type;
483 l_component_type_id         hxc_mapping_components.MAPPING_COMPONENT_ID%TYPE;
484 
485 l_proc 		     VARCHAR2(100);
486 
487 BEGIN
488 
489   g_debug := hr_utility.debug_enabled;
490 
491   IF g_debug THEN
492      l_proc := g_package||'create_time_category_comp';
493      hr_utility.set_location('ABS:Processing '||l_proc, 10);
494   END IF;
495 
496   IF g_debug THEN
497     hr_utility.trace('ABS:p_time_category_id ::'||p_time_category_id);
498     hr_utility.trace('ABS:p_value_id ::'||p_value_id);
499     hr_utility.trace('ABS:p_component_type_id ::'||p_component_type_id);
500   END IF;
501 
502   BEGIN
503 
504     l_component_type_id := p_component_type_id;
505 
506     IF l_component_type_id = -1 OR l_component_type_id is null
507     THEN
508         select mapping_component_id
509           into l_component_type_id
510           from hxc_mapping_components
511          where field_name = 'Dummy Element Context';
512     END IF;
513 
514     SELECT 'Y'
515       INTO p_time_category_comp_exists
516       FROM hxc_time_category_comps
517      WHERE time_category_id = p_time_category_id
518        AND value_id = p_value_id;
519 
520     IF g_debug THEN
521        hr_utility.set_location('ABS:Processing '||l_proc, 20);
522        hr_utility.trace('ABS:p_time_category_comp_exists ::'||p_time_category_comp_exists);
523     END IF;
524 
525     IF p_time_category_comp_exists = 'Y' THEN
526 
527       SELECT  time_category_comp_id,
528               object_version_number
529         INTO  l_time_category_comp_id,
530               l_time_category_comp_ovn
531         FROM  hxc_time_category_comps
532        WHERE  time_category_id = p_time_category_id
533          AND  value_id = p_value_id;
534 
535       IF g_debug THEN
536 	hr_utility.set_location('ABS:Processing '||l_proc, 30);
537         hr_utility.trace('ABS:l_time_category_comp_id ::'||l_time_category_comp_id);
538     	hr_utility.trace('ABS:l_time_category_comp_ovn ::'||l_time_category_comp_ovn);
539     	hr_utility.trace('ABS:Calling hxc_time_category_comp_api.update_time_category_comp procedure.');
540       END IF;
541 
542       hxc_time_category_comp_api.update_time_category_comp
543 		  (p_time_category_comp_id        => l_time_category_comp_id
544 		  ,p_object_version_number        => l_time_category_comp_ovn
545 		  ,p_time_category_id             => p_time_category_id
546 		  ,p_ref_time_category_id         => null
547 		  ,p_component_type_id            => l_component_type_id
548 		  ,p_flex_value_set_id            => -1
549 		  ,p_value_id                     => p_value_id
550 		  ,p_is_null                      => 'N'
551 		  ,p_equal_to                     => 'Y'
552 		  ,p_type                         => 'MC' );
553 
554       IF g_debug THEN
555          hr_utility.trace('ABS:Completed hxc_time_category_comp_api.update_time_category_comp procedure.');
556          hr_utility.set_location('ABS:Processing '||l_proc, 40);
557       END IF;
558 
559 
560     END IF;
561 
562 
563   EXCEPTION
564 
565     WHEN NO_DATA_FOUND THEN
566 
567       IF g_debug THEN
568 	hr_utility.set_location('ABS:Processing '||l_proc, 30);
569     	hr_utility.trace('ABS:When NO_DATA_FOUND exception');
570       END IF;
571 
572       IF g_debug THEN
573 	hr_utility.set_location('ABS:Processing '||l_proc, 40);
574 	hr_utility.trace('ABS:l_component_type_id = '||l_component_type_id);
575     	hr_utility.trace('ABS:Calling hxc_time_category_comp_api.create_time_category_comp procedure.');
576       END IF;
577 
578       hxc_time_category_comp_api.create_time_category_comp
579 		  (p_time_category_comp_id        => l_time_category_comp_id
580 		  ,p_object_version_number        => l_time_category_comp_ovn
581 		  ,p_time_category_id             => p_time_category_id
582 		  ,p_ref_time_category_id         => null
583 		  ,p_component_type_id            => l_component_type_id
584 		  ,p_flex_value_set_id            => -1
585 		  ,p_value_id                     => p_value_id
586 		  ,p_is_null                      => 'N'
587 		  ,p_equal_to                     => 'Y'
588 		  ,p_type                         => 'MC' );
589 
590       IF g_debug THEN
591 	 hr_utility.trace('ABS:Completed of hxc_time_category_comp_api.create_time_category_comp procedure.');
592          hr_utility.set_location('ABS:Processing '||l_proc, 50);
593       END IF;
594 
595       p_time_category_comp_exists := 'N';
596 
597   END;
598 
599 
600   EXCEPTION
601   When hr_api.check_integrity_violated Then
602     -- A check constraint has been violated
603     --
604     hxc_hav_shd.constraint_error
605       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
606   When hr_api.parent_integrity_violated Then
607     -- Parent integrity has been violated
608     --
609     hxc_hav_shd.constraint_error
610       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
611   When hr_api.unique_integrity_violated Then
612     -- Unique integrity has been violated
613     --
614     hxc_hav_shd.constraint_error
615       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
616 
617 END create_time_category_comp;
618 
619 
620 END hxc_absence_type_alias;
621