4: -- Global package name
5: g_package CONSTANT VARCHAR2 (33)
6: := ' hxc_timestore_deposit_util.';
7: g_oit_migration CONSTANT VARCHAR2 (30) := 'OIT_MIGRATION';
8: g_debug BOOLEAN := hr_utility.debug_enabled;
9:
10: FUNCTION perform_audit (
11: p_props IN hxc_timecard_prop_table_type,
12: p_blocks IN hxc_block_table_type
74: WHERE NAME = v_retrieval_process_name;
75:
76: l_retrieval_process_id hxc_retrieval_processes.retrieval_process_id%TYPE;
77: BEGIN
78: g_debug := hr_utility.debug_enabled;
79:
80: IF g_debug
81: THEN
82: l_proc := g_package || 'get_retrieval_process_id';
79:
80: IF g_debug
81: THEN
82: l_proc := g_package || 'get_retrieval_process_id';
83: hr_utility.set_location ('Entering:' || l_proc, 10);
84: END IF;
85:
86: OPEN csr_retrieval_process_id (p_retrieval_process_name);
87:
99: CLOSE csr_retrieval_process_id;
100:
101: IF g_debug
102: THEN
103: hr_utility.set_location ( ' returning retrieval process id = '
104: || l_retrieval_process_id,
105: 20
106: );
107: hr_utility.set_location ('Leaving:' || l_proc, 30);
103: hr_utility.set_location ( ' returning retrieval process id = '
104: || l_retrieval_process_id,
105: 20
106: );
107: hr_utility.set_location ('Leaving:' || l_proc, 30);
108: END IF;
109:
110: RETURN l_retrieval_process_id;
111: END get_retrieval_process_id;
135: SELECT has.approval_style_id
136: FROM hxc_approval_styles has
137: WHERE has.NAME = p_name;
138: BEGIN
139: g_debug := hr_utility.debug_enabled;
140:
141: IF g_debug
142: THEN
143: l_proc := g_package || 'approval_style_id';
140:
141: IF g_debug
142: THEN
143: l_proc := g_package || 'approval_style_id';
144: hr_utility.set_location ('Entering:' || l_proc, 10);
145: END IF;
146:
147: OPEN csr_approval_style_id (p_approval_style_name);
148:
152: CLOSE csr_approval_style_id;
153:
154: IF g_debug
155: THEN
156: hr_utility.set_location ( ' returning approval_style_id = '
157: || l_approval_style_id,
158: 20
159: );
160: hr_utility.set_location ('Leaving:' || l_proc, 30);
156: hr_utility.set_location ( ' returning approval_style_id = '
157: || l_approval_style_id,
158: 20
159: );
160: hr_utility.set_location ('Leaving:' || l_proc, 30);
161: END IF;
162:
163: RETURN l_approval_style_id;
164: END approval_style_id;
186: l_timecard_index number;
187: l_message fnd_new_messages.message_text%type;
188: TC_APPROVAL_EXCEPTION EXCEPTION;
189: BEGIN
190: g_debug := hr_utility.debug_enabled;
191:
192: IF g_debug
193: THEN
194: l_proc := g_package || 'begin_approval';
191:
192: IF g_debug
193: THEN
194: l_proc := g_package || 'begin_approval';
195: hr_utility.set_location ('Entering:' || l_proc, 10);
196: END IF;
197:
198: -- set savepoint
199: savepoint TC_APPROVAL_SAVEPOINT;
252:
253: -- Absences start
254:
255: IF (nvl(fnd_profile.value('HR_ABS_OTL_INTEGRATION'), 'N') = 'Y') THEN
256: hr_utility.trace('ABS:Checking status of BEGIN_APPROVAL');
257: hr_utility.trace('ABS:l_messages.COUNT = '||l_messages.COUNT);
258:
259: if l_messages.COUNT > 0
260: then
253: -- Absences start
254:
255: IF (nvl(fnd_profile.value('HR_ABS_OTL_INTEGRATION'), 'N') = 'Y') THEN
256: hr_utility.trace('ABS:Checking status of BEGIN_APPROVAL');
257: hr_utility.trace('ABS:l_messages.COUNT = '||l_messages.COUNT);
258:
259: if l_messages.COUNT > 0
260: then
261: hr_utility.trace('ABS:Error in POST_ABSENCES - Rollback changes');
257: hr_utility.trace('ABS:l_messages.COUNT = '||l_messages.COUNT);
258:
259: if l_messages.COUNT > 0
260: then
261: hr_utility.trace('ABS:Error in POST_ABSENCES - Rollback changes');
262:
263: l_message := fnd_message.get_string (
264: appin => l_messages(l_messages.last).application_short_name
265: , namein => l_messages(l_messages.last).message_name
287: );
288:
289: IF g_debug
290: THEN
291: hr_utility.set_location ('Leaving:' || l_proc, 100);
292: END IF;
293: END begin_approval;
294:
295: -----------------------------------------------------------------------------
375: -- Added these initializations to take care of correct absence summary processing.
376:
377: IF g_debug
378: THEN
379: hr_utility.trace('ABS: Initializing Absence global variables ');
380: END IF;
381:
382: hxc_retrieve_absences.g_person_id := p_blocks(l_timecard_index).resource_id;
383: hxc_retrieve_absences.g_start_time := l_timecard_start_time;
384: hxc_retrieve_absences.g_stop_time := l_timecard_stop_time;
385:
386:
387: IF g_debug THEN
388: hr_utility.trace('ABS> In hxc_timecard.create_timeecard');
389: hr_utility.trace('ABS> call hxc_retrieve_absences.insert_absence_summary_row');
390: hr_utility.trace('ABS: hxc_retrieve_absences.g_person_id '||hxc_retrieve_absences.g_person_id);
391: hr_utility.trace('ABS: hxc_retrieve_absences.g_start_time '||hxc_retrieve_absences.g_start_time);
392: hr_utility.trace('ABS: hxc_retrieve_absences.g_stop_time '||hxc_retrieve_absences.g_stop_time);
385:
386:
387: IF g_debug THEN
388: hr_utility.trace('ABS> In hxc_timecard.create_timeecard');
389: hr_utility.trace('ABS> call hxc_retrieve_absences.insert_absence_summary_row');
390: hr_utility.trace('ABS: hxc_retrieve_absences.g_person_id '||hxc_retrieve_absences.g_person_id);
391: hr_utility.trace('ABS: hxc_retrieve_absences.g_start_time '||hxc_retrieve_absences.g_start_time);
392: hr_utility.trace('ABS: hxc_retrieve_absences.g_stop_time '||hxc_retrieve_absences.g_stop_time);
393:
386:
387: IF g_debug THEN
388: hr_utility.trace('ABS> In hxc_timecard.create_timeecard');
389: hr_utility.trace('ABS> call hxc_retrieve_absences.insert_absence_summary_row');
390: hr_utility.trace('ABS: hxc_retrieve_absences.g_person_id '||hxc_retrieve_absences.g_person_id);
391: hr_utility.trace('ABS: hxc_retrieve_absences.g_start_time '||hxc_retrieve_absences.g_start_time);
392: hr_utility.trace('ABS: hxc_retrieve_absences.g_stop_time '||hxc_retrieve_absences.g_stop_time);
393:
394: END IF;
387: IF g_debug THEN
388: hr_utility.trace('ABS> In hxc_timecard.create_timeecard');
389: hr_utility.trace('ABS> call hxc_retrieve_absences.insert_absence_summary_row');
390: hr_utility.trace('ABS: hxc_retrieve_absences.g_person_id '||hxc_retrieve_absences.g_person_id);
391: hr_utility.trace('ABS: hxc_retrieve_absences.g_start_time '||hxc_retrieve_absences.g_start_time);
392: hr_utility.trace('ABS: hxc_retrieve_absences.g_stop_time '||hxc_retrieve_absences.g_stop_time);
393:
394: END IF;
395:
388: hr_utility.trace('ABS> In hxc_timecard.create_timeecard');
389: hr_utility.trace('ABS> call hxc_retrieve_absences.insert_absence_summary_row');
390: hr_utility.trace('ABS: hxc_retrieve_absences.g_person_id '||hxc_retrieve_absences.g_person_id);
391: hr_utility.trace('ABS: hxc_retrieve_absences.g_start_time '||hxc_retrieve_absences.g_start_time);
392: hr_utility.trace('ABS: hxc_retrieve_absences.g_stop_time '||hxc_retrieve_absences.g_stop_time);
393:
394: END IF;
395:
396: IF (NVL(fnd_profile.value('HR_ABS_OTL_INTEGRATION'), 'N') = 'Y') THEN
420: -- Added for Bug 10326049
421: -- OTL - Projects Payroll Integration
422:
423: IF g_debug THEN
424: hr_utility.trace('PA-PAY> In hxc_timestore_deposit_util.save_timecard');
425: hr_utility.trace('PA-PAY> calling hxc_proj_pay_dep_validation.verify_proj_pay_setup');
426: END IF;
427:
428: hxc_proj_pay_dep_validation.verify_proj_pay_setup
421: -- OTL - Projects Payroll Integration
422:
423: IF g_debug THEN
424: hr_utility.trace('PA-PAY> In hxc_timestore_deposit_util.save_timecard');
425: hr_utility.trace('PA-PAY> calling hxc_proj_pay_dep_validation.verify_proj_pay_setup');
426: END IF;
427:
428: hxc_proj_pay_dep_validation.verify_proj_pay_setup
429: (p_blocks => p_blocks,
430: p_attributes => p_attributes,
431: p_messages => p_messages);
432:
433: IF g_debug THEN
434: hr_utility.trace('PA-PAY> out of hxc_proj_pay_dep_validation.verify_proj_pay_setup');
435: IF (p_messages.count>0) THEN
436:
437:
438: hr_utility.trace(' P_MESSAGES TABLE START ');
434: hr_utility.trace('PA-PAY> out of hxc_proj_pay_dep_validation.verify_proj_pay_setup');
435: IF (p_messages.count>0) THEN
436:
437:
438: hr_utility.trace(' P_MESSAGES TABLE START ');
439: hr_utility.trace(' *****************');
440:
441: l_index := p_messages.FIRST;
442:
435: IF (p_messages.count>0) THEN
436:
437:
438: hr_utility.trace(' P_MESSAGES TABLE START ');
439: hr_utility.trace(' *****************');
440:
441: l_index := p_messages.FIRST;
442:
443: LOOP
443: LOOP
444: EXIT WHEN NOT p_messages.EXISTS (l_index);
445:
446:
447: hr_utility.trace(' MESSAGE_NAME = '|| p_messages(l_index).MESSAGE_NAME );
448: hr_utility.trace(' MESSAGE_LEVEL = '|| p_messages(l_index).MESSAGE_LEVEL ) ;
449: hr_utility.trace(' MESSAGE_FIELD = '|| p_messages(l_index).MESSAGE_FIELD) ;
450: hr_utility.trace(' MESSAGE_TOKENS = '|| p_messages(l_index).MESSAGE_TOKENS ) ;
451: hr_utility.trace(' APPLICATION_SHORT_NAME = '|| p_messages(l_index).APPLICATION_SHORT_NAME ) ;
444: EXIT WHEN NOT p_messages.EXISTS (l_index);
445:
446:
447: hr_utility.trace(' MESSAGE_NAME = '|| p_messages(l_index).MESSAGE_NAME );
448: hr_utility.trace(' MESSAGE_LEVEL = '|| p_messages(l_index).MESSAGE_LEVEL ) ;
449: hr_utility.trace(' MESSAGE_FIELD = '|| p_messages(l_index).MESSAGE_FIELD) ;
450: hr_utility.trace(' MESSAGE_TOKENS = '|| p_messages(l_index).MESSAGE_TOKENS ) ;
451: hr_utility.trace(' APPLICATION_SHORT_NAME = '|| p_messages(l_index).APPLICATION_SHORT_NAME ) ;
452: hr_utility.trace(' TIME_BUILDING_BLOCK_ID = '|| p_messages(l_index).TIME_BUILDING_BLOCK_ID ) ;
445:
446:
447: hr_utility.trace(' MESSAGE_NAME = '|| p_messages(l_index).MESSAGE_NAME );
448: hr_utility.trace(' MESSAGE_LEVEL = '|| p_messages(l_index).MESSAGE_LEVEL ) ;
449: hr_utility.trace(' MESSAGE_FIELD = '|| p_messages(l_index).MESSAGE_FIELD) ;
450: hr_utility.trace(' MESSAGE_TOKENS = '|| p_messages(l_index).MESSAGE_TOKENS ) ;
451: hr_utility.trace(' APPLICATION_SHORT_NAME = '|| p_messages(l_index).APPLICATION_SHORT_NAME ) ;
452: hr_utility.trace(' TIME_BUILDING_BLOCK_ID = '|| p_messages(l_index).TIME_BUILDING_BLOCK_ID ) ;
453: hr_utility.trace(' TIME_BUILDING_BLOCK_OVN = '|| p_messages(l_index).TIME_BUILDING_BLOCK_OVN ) ;
446:
447: hr_utility.trace(' MESSAGE_NAME = '|| p_messages(l_index).MESSAGE_NAME );
448: hr_utility.trace(' MESSAGE_LEVEL = '|| p_messages(l_index).MESSAGE_LEVEL ) ;
449: hr_utility.trace(' MESSAGE_FIELD = '|| p_messages(l_index).MESSAGE_FIELD) ;
450: hr_utility.trace(' MESSAGE_TOKENS = '|| p_messages(l_index).MESSAGE_TOKENS ) ;
451: hr_utility.trace(' APPLICATION_SHORT_NAME = '|| p_messages(l_index).APPLICATION_SHORT_NAME ) ;
452: hr_utility.trace(' TIME_BUILDING_BLOCK_ID = '|| p_messages(l_index).TIME_BUILDING_BLOCK_ID ) ;
453: hr_utility.trace(' TIME_BUILDING_BLOCK_OVN = '|| p_messages(l_index).TIME_BUILDING_BLOCK_OVN ) ;
454: hr_utility.trace(' TIME_ATTRIBUTE_ID = '|| p_messages(l_index).TIME_ATTRIBUTE_ID ) ;
447: hr_utility.trace(' MESSAGE_NAME = '|| p_messages(l_index).MESSAGE_NAME );
448: hr_utility.trace(' MESSAGE_LEVEL = '|| p_messages(l_index).MESSAGE_LEVEL ) ;
449: hr_utility.trace(' MESSAGE_FIELD = '|| p_messages(l_index).MESSAGE_FIELD) ;
450: hr_utility.trace(' MESSAGE_TOKENS = '|| p_messages(l_index).MESSAGE_TOKENS ) ;
451: hr_utility.trace(' APPLICATION_SHORT_NAME = '|| p_messages(l_index).APPLICATION_SHORT_NAME ) ;
452: hr_utility.trace(' TIME_BUILDING_BLOCK_ID = '|| p_messages(l_index).TIME_BUILDING_BLOCK_ID ) ;
453: hr_utility.trace(' TIME_BUILDING_BLOCK_OVN = '|| p_messages(l_index).TIME_BUILDING_BLOCK_OVN ) ;
454: hr_utility.trace(' TIME_ATTRIBUTE_ID = '|| p_messages(l_index).TIME_ATTRIBUTE_ID ) ;
455: hr_utility.trace(' TIME_ATTRIBUTE_OVN = '|| p_messages(l_index).TIME_ATTRIBUTE_OVN ) ;
448: hr_utility.trace(' MESSAGE_LEVEL = '|| p_messages(l_index).MESSAGE_LEVEL ) ;
449: hr_utility.trace(' MESSAGE_FIELD = '|| p_messages(l_index).MESSAGE_FIELD) ;
450: hr_utility.trace(' MESSAGE_TOKENS = '|| p_messages(l_index).MESSAGE_TOKENS ) ;
451: hr_utility.trace(' APPLICATION_SHORT_NAME = '|| p_messages(l_index).APPLICATION_SHORT_NAME ) ;
452: hr_utility.trace(' TIME_BUILDING_BLOCK_ID = '|| p_messages(l_index).TIME_BUILDING_BLOCK_ID ) ;
453: hr_utility.trace(' TIME_BUILDING_BLOCK_OVN = '|| p_messages(l_index).TIME_BUILDING_BLOCK_OVN ) ;
454: hr_utility.trace(' TIME_ATTRIBUTE_ID = '|| p_messages(l_index).TIME_ATTRIBUTE_ID ) ;
455: hr_utility.trace(' TIME_ATTRIBUTE_OVN = '|| p_messages(l_index).TIME_ATTRIBUTE_OVN ) ;
456: hr_utility.trace(' MESSAGE_EXTENT = '|| p_messages(l_index).MESSAGE_EXTENT ) ;
449: hr_utility.trace(' MESSAGE_FIELD = '|| p_messages(l_index).MESSAGE_FIELD) ;
450: hr_utility.trace(' MESSAGE_TOKENS = '|| p_messages(l_index).MESSAGE_TOKENS ) ;
451: hr_utility.trace(' APPLICATION_SHORT_NAME = '|| p_messages(l_index).APPLICATION_SHORT_NAME ) ;
452: hr_utility.trace(' TIME_BUILDING_BLOCK_ID = '|| p_messages(l_index).TIME_BUILDING_BLOCK_ID ) ;
453: hr_utility.trace(' TIME_BUILDING_BLOCK_OVN = '|| p_messages(l_index).TIME_BUILDING_BLOCK_OVN ) ;
454: hr_utility.trace(' TIME_ATTRIBUTE_ID = '|| p_messages(l_index).TIME_ATTRIBUTE_ID ) ;
455: hr_utility.trace(' TIME_ATTRIBUTE_OVN = '|| p_messages(l_index).TIME_ATTRIBUTE_OVN ) ;
456: hr_utility.trace(' MESSAGE_EXTENT = '|| p_messages(l_index).MESSAGE_EXTENT ) ;
457:
450: hr_utility.trace(' MESSAGE_TOKENS = '|| p_messages(l_index).MESSAGE_TOKENS ) ;
451: hr_utility.trace(' APPLICATION_SHORT_NAME = '|| p_messages(l_index).APPLICATION_SHORT_NAME ) ;
452: hr_utility.trace(' TIME_BUILDING_BLOCK_ID = '|| p_messages(l_index).TIME_BUILDING_BLOCK_ID ) ;
453: hr_utility.trace(' TIME_BUILDING_BLOCK_OVN = '|| p_messages(l_index).TIME_BUILDING_BLOCK_OVN ) ;
454: hr_utility.trace(' TIME_ATTRIBUTE_ID = '|| p_messages(l_index).TIME_ATTRIBUTE_ID ) ;
455: hr_utility.trace(' TIME_ATTRIBUTE_OVN = '|| p_messages(l_index).TIME_ATTRIBUTE_OVN ) ;
456: hr_utility.trace(' MESSAGE_EXTENT = '|| p_messages(l_index).MESSAGE_EXTENT ) ;
457:
458: l_index := p_messages.NEXT (l_index);
451: hr_utility.trace(' APPLICATION_SHORT_NAME = '|| p_messages(l_index).APPLICATION_SHORT_NAME ) ;
452: hr_utility.trace(' TIME_BUILDING_BLOCK_ID = '|| p_messages(l_index).TIME_BUILDING_BLOCK_ID ) ;
453: hr_utility.trace(' TIME_BUILDING_BLOCK_OVN = '|| p_messages(l_index).TIME_BUILDING_BLOCK_OVN ) ;
454: hr_utility.trace(' TIME_ATTRIBUTE_ID = '|| p_messages(l_index).TIME_ATTRIBUTE_ID ) ;
455: hr_utility.trace(' TIME_ATTRIBUTE_OVN = '|| p_messages(l_index).TIME_ATTRIBUTE_OVN ) ;
456: hr_utility.trace(' MESSAGE_EXTENT = '|| p_messages(l_index).MESSAGE_EXTENT ) ;
457:
458: l_index := p_messages.NEXT (l_index);
459:
452: hr_utility.trace(' TIME_BUILDING_BLOCK_ID = '|| p_messages(l_index).TIME_BUILDING_BLOCK_ID ) ;
453: hr_utility.trace(' TIME_BUILDING_BLOCK_OVN = '|| p_messages(l_index).TIME_BUILDING_BLOCK_OVN ) ;
454: hr_utility.trace(' TIME_ATTRIBUTE_ID = '|| p_messages(l_index).TIME_ATTRIBUTE_ID ) ;
455: hr_utility.trace(' TIME_ATTRIBUTE_OVN = '|| p_messages(l_index).TIME_ATTRIBUTE_OVN ) ;
456: hr_utility.trace(' MESSAGE_EXTENT = '|| p_messages(l_index).MESSAGE_EXTENT ) ;
457:
458: l_index := p_messages.NEXT (l_index);
459:
460: END LOOP;
458: l_index := p_messages.NEXT (l_index);
459:
460: END LOOP;
461:
462: hr_utility.trace(' p_messages TABLE END ');
463: hr_utility.trace(' *****************');
464:
465: END IF;
466: END IF;
459:
460: END LOOP;
461:
462: hr_utility.trace(' p_messages TABLE END ');
463: hr_utility.trace(' *****************');
464:
465: END IF;
466: END IF;
467:
549: -- Added the following validation code for bug 8900783
550: -- This validation is to check if the timecard start and stop times falls within the
551: -- PAST and FUTURE number of days for which timecard create/edit is allowed
552: IF g_debug THEN
553: hr_utility.trace('l_timecard_start_time = '||l_timecard_start_time);
554: hr_utility.trace('l_timecard_stop_time = '||l_timecard_stop_time);
555: END IF;
556:
557: -- populate the global variables which hold the PAST and FUTURE date limits
550: -- This validation is to check if the timecard start and stop times falls within the
551: -- PAST and FUTURE number of days for which timecard create/edit is allowed
552: IF g_debug THEN
553: hr_utility.trace('l_timecard_start_time = '||l_timecard_start_time);
554: hr_utility.trace('l_timecard_stop_time = '||l_timecard_stop_time);
555: END IF;
556:
557: -- populate the global variables which hold the PAST and FUTURE date limits
558: hxc_timestore_deposit_util.get_past_future_limits
587: --svg start Bug 9181950
588: if NOT hxc_timecard_message_helper.noErrors then
589: --HXC_SVG_LOG.record_log('Reached here:svg');
590: if g_debug then
591: hr_utility.trace('SVG: Rollingback to savepoint TC_SAVE_SAVEPOINT for any Projects related updates');
592: end if;
593: rollback to TC_SAVE_SAVEPOINT;
594: end if;
595: -- svg end
649: IF (p_timecard_id > 0 and hxc_timecard_message_helper.noerrors
650: and p_blocks(hxc_timecard_block_utils.find_active_timecard_index(p_blocks)).SCOPE <> hxc_timecard.c_template_scope) THEN
651:
652: IF g_debug THEN
653: hr_utility.trace('ABS:Initiated Online Retrieval from HXC_TIMESTORE_DEPOSIT_UTIL.SAVE_TIMECARD');
654: END IF;
655:
656: l_resource_id := p_blocks (l_timecard_index).resource_id;
657: l_start_date := fnd_date.canonical_to_date(p_blocks (l_timecard_index).start_time);
664: l_tc_status,
665: p_messages);
666:
667: IF g_debug THEN
668: hr_utility.trace('ABS:p_messages.COUNT = '||p_messages.COUNT);
669: END IF;
670:
671: IF p_messages.COUNT > 0 THEN
672: IF g_debug THEN
669: END IF;
670:
671: IF p_messages.COUNT > 0 THEN
672: IF g_debug THEN
673: hr_utility.trace('ABS:Error in POST_ABSENCES - Rollback changes');
674: END IF;
675:
676: l_message := fnd_message.get_string (
677: appin => p_messages(p_messages.last).application_short_name
685: FOR i IN p_messages.FIRST..p_messages.LAST
686: LOOP
687: IF p_messages(i).message_level = 'ERROR'
688: THEN
689: hr_utility.trace('ABS: Error is '||p_messages(i).message_name);
690: ROLLBACK TO TC_SAVE_SAVEPOINT;
691: EXIT;
692: END IF;
693: END LOOP;
703: -- Absences end
704:
705:
706: IF g_debug THEN
707: hr_utility.trace('Leaving SAVE_TIMECARD');
708: END IF;
709:
710: END save_timecard;
711:
826: -- Added these initializations to take care of correct absence summary processing.
827:
828: IF g_debug
829: THEN
830: hr_utility.trace('ABS: Initializing Absence global variables ');
831: END IF;
832:
833: hxc_retrieve_absences.g_person_id := p_blocks(l_timecard_index).resource_id;
834: hxc_retrieve_absences.g_start_time := l_timecard_start_time;
835: hxc_retrieve_absences.g_stop_time := l_timecard_stop_time;
836:
837:
838: IF g_debug THEN
839: hr_utility.trace('ABS> In hxc_timecard.create_timeecard');
840: hr_utility.trace('ABS> call hxc_retrieve_absences.insert_absence_summary_row');
841: hr_utility.trace('ABS: hxc_retrieve_absences.g_person_id '||hxc_retrieve_absences.g_person_id);
842: hr_utility.trace('ABS: hxc_retrieve_absences.g_start_time '||hxc_retrieve_absences.g_start_time);
843: hr_utility.trace('ABS: hxc_retrieve_absences.g_stop_time '||hxc_retrieve_absences.g_stop_time);
836:
837:
838: IF g_debug THEN
839: hr_utility.trace('ABS> In hxc_timecard.create_timeecard');
840: hr_utility.trace('ABS> call hxc_retrieve_absences.insert_absence_summary_row');
841: hr_utility.trace('ABS: hxc_retrieve_absences.g_person_id '||hxc_retrieve_absences.g_person_id);
842: hr_utility.trace('ABS: hxc_retrieve_absences.g_start_time '||hxc_retrieve_absences.g_start_time);
843: hr_utility.trace('ABS: hxc_retrieve_absences.g_stop_time '||hxc_retrieve_absences.g_stop_time);
844:
837:
838: IF g_debug THEN
839: hr_utility.trace('ABS> In hxc_timecard.create_timeecard');
840: hr_utility.trace('ABS> call hxc_retrieve_absences.insert_absence_summary_row');
841: hr_utility.trace('ABS: hxc_retrieve_absences.g_person_id '||hxc_retrieve_absences.g_person_id);
842: hr_utility.trace('ABS: hxc_retrieve_absences.g_start_time '||hxc_retrieve_absences.g_start_time);
843: hr_utility.trace('ABS: hxc_retrieve_absences.g_stop_time '||hxc_retrieve_absences.g_stop_time);
844:
845: END IF;
838: IF g_debug THEN
839: hr_utility.trace('ABS> In hxc_timecard.create_timeecard');
840: hr_utility.trace('ABS> call hxc_retrieve_absences.insert_absence_summary_row');
841: hr_utility.trace('ABS: hxc_retrieve_absences.g_person_id '||hxc_retrieve_absences.g_person_id);
842: hr_utility.trace('ABS: hxc_retrieve_absences.g_start_time '||hxc_retrieve_absences.g_start_time);
843: hr_utility.trace('ABS: hxc_retrieve_absences.g_stop_time '||hxc_retrieve_absences.g_stop_time);
844:
845: END IF;
846:
839: hr_utility.trace('ABS> In hxc_timecard.create_timeecard');
840: hr_utility.trace('ABS> call hxc_retrieve_absences.insert_absence_summary_row');
841: hr_utility.trace('ABS: hxc_retrieve_absences.g_person_id '||hxc_retrieve_absences.g_person_id);
842: hr_utility.trace('ABS: hxc_retrieve_absences.g_start_time '||hxc_retrieve_absences.g_start_time);
843: hr_utility.trace('ABS: hxc_retrieve_absences.g_stop_time '||hxc_retrieve_absences.g_stop_time);
844:
845: END IF;
846:
847: IF (NVL(fnd_profile.value('HR_ABS_OTL_INTEGRATION'), 'N') = 'Y') THEN
873: -- Added for Bug 10326049
874: -- OTL - Projects Payroll Integration
875:
876: IF g_debug THEN
877: hr_utility.trace('PA-PAY> In hxc_timestore_deposit_util.submit_timecard');
878: hr_utility.trace('PA-PAY> calling hxc_proj_pay_dep_validation.verify_proj_pay_setup');
879: END IF;
880:
881: hxc_proj_pay_dep_validation.verify_proj_pay_setup
874: -- OTL - Projects Payroll Integration
875:
876: IF g_debug THEN
877: hr_utility.trace('PA-PAY> In hxc_timestore_deposit_util.submit_timecard');
878: hr_utility.trace('PA-PAY> calling hxc_proj_pay_dep_validation.verify_proj_pay_setup');
879: END IF;
880:
881: hxc_proj_pay_dep_validation.verify_proj_pay_setup
882: (p_blocks => p_blocks,
883: p_attributes => p_attributes,
884: p_messages => p_messages);
885:
886: IF g_debug THEN
887: hr_utility.trace('PA-PAY> out of hxc_proj_pay_dep_validation.verify_proj_pay_setup');
888: IF (p_messages.count>0) THEN
889:
890:
891: hr_utility.trace(' P_MESSAGES TABLE START ');
887: hr_utility.trace('PA-PAY> out of hxc_proj_pay_dep_validation.verify_proj_pay_setup');
888: IF (p_messages.count>0) THEN
889:
890:
891: hr_utility.trace(' P_MESSAGES TABLE START ');
892: hr_utility.trace(' *****************');
893:
894: l_index := p_messages.FIRST;
895:
888: IF (p_messages.count>0) THEN
889:
890:
891: hr_utility.trace(' P_MESSAGES TABLE START ');
892: hr_utility.trace(' *****************');
893:
894: l_index := p_messages.FIRST;
895:
896: LOOP
896: LOOP
897: EXIT WHEN NOT p_messages.EXISTS (l_index);
898:
899:
900: hr_utility.trace(' MESSAGE_NAME = '|| p_messages(l_index).MESSAGE_NAME );
901: hr_utility.trace(' MESSAGE_LEVEL = '|| p_messages(l_index).MESSAGE_LEVEL ) ;
902: hr_utility.trace(' MESSAGE_FIELD = '|| p_messages(l_index).MESSAGE_FIELD) ;
903: hr_utility.trace(' MESSAGE_TOKENS = '|| p_messages(l_index).MESSAGE_TOKENS ) ;
904: hr_utility.trace(' APPLICATION_SHORT_NAME = '|| p_messages(l_index).APPLICATION_SHORT_NAME ) ;
897: EXIT WHEN NOT p_messages.EXISTS (l_index);
898:
899:
900: hr_utility.trace(' MESSAGE_NAME = '|| p_messages(l_index).MESSAGE_NAME );
901: hr_utility.trace(' MESSAGE_LEVEL = '|| p_messages(l_index).MESSAGE_LEVEL ) ;
902: hr_utility.trace(' MESSAGE_FIELD = '|| p_messages(l_index).MESSAGE_FIELD) ;
903: hr_utility.trace(' MESSAGE_TOKENS = '|| p_messages(l_index).MESSAGE_TOKENS ) ;
904: hr_utility.trace(' APPLICATION_SHORT_NAME = '|| p_messages(l_index).APPLICATION_SHORT_NAME ) ;
905: hr_utility.trace(' TIME_BUILDING_BLOCK_ID = '|| p_messages(l_index).TIME_BUILDING_BLOCK_ID ) ;
898:
899:
900: hr_utility.trace(' MESSAGE_NAME = '|| p_messages(l_index).MESSAGE_NAME );
901: hr_utility.trace(' MESSAGE_LEVEL = '|| p_messages(l_index).MESSAGE_LEVEL ) ;
902: hr_utility.trace(' MESSAGE_FIELD = '|| p_messages(l_index).MESSAGE_FIELD) ;
903: hr_utility.trace(' MESSAGE_TOKENS = '|| p_messages(l_index).MESSAGE_TOKENS ) ;
904: hr_utility.trace(' APPLICATION_SHORT_NAME = '|| p_messages(l_index).APPLICATION_SHORT_NAME ) ;
905: hr_utility.trace(' TIME_BUILDING_BLOCK_ID = '|| p_messages(l_index).TIME_BUILDING_BLOCK_ID ) ;
906: hr_utility.trace(' TIME_BUILDING_BLOCK_OVN = '|| p_messages(l_index).TIME_BUILDING_BLOCK_OVN ) ;
899:
900: hr_utility.trace(' MESSAGE_NAME = '|| p_messages(l_index).MESSAGE_NAME );
901: hr_utility.trace(' MESSAGE_LEVEL = '|| p_messages(l_index).MESSAGE_LEVEL ) ;
902: hr_utility.trace(' MESSAGE_FIELD = '|| p_messages(l_index).MESSAGE_FIELD) ;
903: hr_utility.trace(' MESSAGE_TOKENS = '|| p_messages(l_index).MESSAGE_TOKENS ) ;
904: hr_utility.trace(' APPLICATION_SHORT_NAME = '|| p_messages(l_index).APPLICATION_SHORT_NAME ) ;
905: hr_utility.trace(' TIME_BUILDING_BLOCK_ID = '|| p_messages(l_index).TIME_BUILDING_BLOCK_ID ) ;
906: hr_utility.trace(' TIME_BUILDING_BLOCK_OVN = '|| p_messages(l_index).TIME_BUILDING_BLOCK_OVN ) ;
907: hr_utility.trace(' TIME_ATTRIBUTE_ID = '|| p_messages(l_index).TIME_ATTRIBUTE_ID ) ;
900: hr_utility.trace(' MESSAGE_NAME = '|| p_messages(l_index).MESSAGE_NAME );
901: hr_utility.trace(' MESSAGE_LEVEL = '|| p_messages(l_index).MESSAGE_LEVEL ) ;
902: hr_utility.trace(' MESSAGE_FIELD = '|| p_messages(l_index).MESSAGE_FIELD) ;
903: hr_utility.trace(' MESSAGE_TOKENS = '|| p_messages(l_index).MESSAGE_TOKENS ) ;
904: hr_utility.trace(' APPLICATION_SHORT_NAME = '|| p_messages(l_index).APPLICATION_SHORT_NAME ) ;
905: hr_utility.trace(' TIME_BUILDING_BLOCK_ID = '|| p_messages(l_index).TIME_BUILDING_BLOCK_ID ) ;
906: hr_utility.trace(' TIME_BUILDING_BLOCK_OVN = '|| p_messages(l_index).TIME_BUILDING_BLOCK_OVN ) ;
907: hr_utility.trace(' TIME_ATTRIBUTE_ID = '|| p_messages(l_index).TIME_ATTRIBUTE_ID ) ;
908: hr_utility.trace(' TIME_ATTRIBUTE_OVN = '|| p_messages(l_index).TIME_ATTRIBUTE_OVN ) ;
901: hr_utility.trace(' MESSAGE_LEVEL = '|| p_messages(l_index).MESSAGE_LEVEL ) ;
902: hr_utility.trace(' MESSAGE_FIELD = '|| p_messages(l_index).MESSAGE_FIELD) ;
903: hr_utility.trace(' MESSAGE_TOKENS = '|| p_messages(l_index).MESSAGE_TOKENS ) ;
904: hr_utility.trace(' APPLICATION_SHORT_NAME = '|| p_messages(l_index).APPLICATION_SHORT_NAME ) ;
905: hr_utility.trace(' TIME_BUILDING_BLOCK_ID = '|| p_messages(l_index).TIME_BUILDING_BLOCK_ID ) ;
906: hr_utility.trace(' TIME_BUILDING_BLOCK_OVN = '|| p_messages(l_index).TIME_BUILDING_BLOCK_OVN ) ;
907: hr_utility.trace(' TIME_ATTRIBUTE_ID = '|| p_messages(l_index).TIME_ATTRIBUTE_ID ) ;
908: hr_utility.trace(' TIME_ATTRIBUTE_OVN = '|| p_messages(l_index).TIME_ATTRIBUTE_OVN ) ;
909: hr_utility.trace(' MESSAGE_EXTENT = '|| p_messages(l_index).MESSAGE_EXTENT ) ;
902: hr_utility.trace(' MESSAGE_FIELD = '|| p_messages(l_index).MESSAGE_FIELD) ;
903: hr_utility.trace(' MESSAGE_TOKENS = '|| p_messages(l_index).MESSAGE_TOKENS ) ;
904: hr_utility.trace(' APPLICATION_SHORT_NAME = '|| p_messages(l_index).APPLICATION_SHORT_NAME ) ;
905: hr_utility.trace(' TIME_BUILDING_BLOCK_ID = '|| p_messages(l_index).TIME_BUILDING_BLOCK_ID ) ;
906: hr_utility.trace(' TIME_BUILDING_BLOCK_OVN = '|| p_messages(l_index).TIME_BUILDING_BLOCK_OVN ) ;
907: hr_utility.trace(' TIME_ATTRIBUTE_ID = '|| p_messages(l_index).TIME_ATTRIBUTE_ID ) ;
908: hr_utility.trace(' TIME_ATTRIBUTE_OVN = '|| p_messages(l_index).TIME_ATTRIBUTE_OVN ) ;
909: hr_utility.trace(' MESSAGE_EXTENT = '|| p_messages(l_index).MESSAGE_EXTENT ) ;
910:
903: hr_utility.trace(' MESSAGE_TOKENS = '|| p_messages(l_index).MESSAGE_TOKENS ) ;
904: hr_utility.trace(' APPLICATION_SHORT_NAME = '|| p_messages(l_index).APPLICATION_SHORT_NAME ) ;
905: hr_utility.trace(' TIME_BUILDING_BLOCK_ID = '|| p_messages(l_index).TIME_BUILDING_BLOCK_ID ) ;
906: hr_utility.trace(' TIME_BUILDING_BLOCK_OVN = '|| p_messages(l_index).TIME_BUILDING_BLOCK_OVN ) ;
907: hr_utility.trace(' TIME_ATTRIBUTE_ID = '|| p_messages(l_index).TIME_ATTRIBUTE_ID ) ;
908: hr_utility.trace(' TIME_ATTRIBUTE_OVN = '|| p_messages(l_index).TIME_ATTRIBUTE_OVN ) ;
909: hr_utility.trace(' MESSAGE_EXTENT = '|| p_messages(l_index).MESSAGE_EXTENT ) ;
910:
911: l_index := p_messages.NEXT (l_index);
904: hr_utility.trace(' APPLICATION_SHORT_NAME = '|| p_messages(l_index).APPLICATION_SHORT_NAME ) ;
905: hr_utility.trace(' TIME_BUILDING_BLOCK_ID = '|| p_messages(l_index).TIME_BUILDING_BLOCK_ID ) ;
906: hr_utility.trace(' TIME_BUILDING_BLOCK_OVN = '|| p_messages(l_index).TIME_BUILDING_BLOCK_OVN ) ;
907: hr_utility.trace(' TIME_ATTRIBUTE_ID = '|| p_messages(l_index).TIME_ATTRIBUTE_ID ) ;
908: hr_utility.trace(' TIME_ATTRIBUTE_OVN = '|| p_messages(l_index).TIME_ATTRIBUTE_OVN ) ;
909: hr_utility.trace(' MESSAGE_EXTENT = '|| p_messages(l_index).MESSAGE_EXTENT ) ;
910:
911: l_index := p_messages.NEXT (l_index);
912:
905: hr_utility.trace(' TIME_BUILDING_BLOCK_ID = '|| p_messages(l_index).TIME_BUILDING_BLOCK_ID ) ;
906: hr_utility.trace(' TIME_BUILDING_BLOCK_OVN = '|| p_messages(l_index).TIME_BUILDING_BLOCK_OVN ) ;
907: hr_utility.trace(' TIME_ATTRIBUTE_ID = '|| p_messages(l_index).TIME_ATTRIBUTE_ID ) ;
908: hr_utility.trace(' TIME_ATTRIBUTE_OVN = '|| p_messages(l_index).TIME_ATTRIBUTE_OVN ) ;
909: hr_utility.trace(' MESSAGE_EXTENT = '|| p_messages(l_index).MESSAGE_EXTENT ) ;
910:
911: l_index := p_messages.NEXT (l_index);
912:
913: END LOOP;
911: l_index := p_messages.NEXT (l_index);
912:
913: END LOOP;
914:
915: hr_utility.trace(' p_messages TABLE END ');
916: hr_utility.trace(' *****************');
917:
918: END IF;
919: END IF;
912:
913: END LOOP;
914:
915: hr_utility.trace(' p_messages TABLE END ');
916: hr_utility.trace(' *****************');
917:
918: END IF;
919: END IF;
920: hxc_timecard_block_utils.sort_blocks
992: -- Added the following validation code for bug 8900783
993: -- This validation is to check if the timecard start and stop times falls within the
994: -- PAST and FUTURE number of days for which timecard create/edit is allowed
995: IF g_debug THEN
996: hr_utility.trace('l_timecard_start_time = '||l_timecard_start_time);
997: hr_utility.trace('l_timecard_stop_time = '||l_timecard_stop_time);
998: END IF;
999:
1000: -- populate the global variables which hold the PAST and FUTURE date limits
993: -- This validation is to check if the timecard start and stop times falls within the
994: -- PAST and FUTURE number of days for which timecard create/edit is allowed
995: IF g_debug THEN
996: hr_utility.trace('l_timecard_start_time = '||l_timecard_start_time);
997: hr_utility.trace('l_timecard_stop_time = '||l_timecard_stop_time);
998: END IF;
999:
1000: -- populate the global variables which hold the PAST and FUTURE date limits
1001: hxc_timestore_deposit_util.get_past_future_limits
1079: --svg start Bug 9181950
1080: if NOT hxc_timecard_message_helper.noErrors then
1081: --HXC_SVG_LOG.record_log('Reached here:svg');
1082: if g_debug then
1083: hr_utility.trace('SVG: Rollingback to savepoint TC_SUB_SAVEPOINT for any Projects related updates');
1084: end if;
1085: rollback to TC_SUB_SAVEPOINT;
1086: end if;
1087: -- svg end
1155: IF (p_timecard_id > 0 and hxc_timecard_message_helper.noerrors
1156: and p_blocks(hxc_timecard_block_utils.find_active_timecard_index(p_blocks)).SCOPE <> hxc_timecard.c_template_scope)
1157: THEN
1158: IF g_debug THEN
1159: hr_utility.trace('ABS:Initiated Online Retrieval from HXC_TIMESTORE_DEPOSIT_UTIL.SUBMIT_TIMECARD');
1160: END IF;
1161:
1162: l_resource_id := p_blocks (l_timecard_index).resource_id;
1163: l_start_date := fnd_date.canonical_to_date(p_blocks (l_timecard_index).start_time);
1170: l_tc_status,
1171: p_messages);
1172:
1173: IF g_debug THEN
1174: hr_utility.trace('ABS:p_messages.COUNT = '||p_messages.COUNT);
1175: END IF;
1176:
1177: if p_messages.COUNT > 0
1178: then
1176:
1177: if p_messages.COUNT > 0
1178: then
1179: IF g_debug THEN
1180: hr_utility.trace('ABS:Error in POST_ABSENCES - Rollback changes');
1181: END IF;
1182:
1183: l_message := fnd_message.get_string (
1184: appin => p_messages(p_messages.last).application_short_name
1192: FOR i IN p_messages.FIRST..p_messages.LAST
1193: LOOP
1194: IF p_messages(i).message_level = 'ERROR'
1195: THEN
1196: hr_utility.trace('ABS: Error is '||p_messages(i).message_name);
1197: ROLLBACK TO TC_SUB_SAVEPOINT;
1198: EXIT;
1199: END IF;
1200: END LOOP;
1228:
1229: -- Absences start
1230:
1231: IF (nvl(fnd_profile.value('HR_ABS_OTL_INTEGRATION'), 'N') = 'Y') THEN
1232: hr_utility.trace('ABS:Checking status of BEGIN_APPROVAL');
1233: hr_utility.trace('ABS:p_messages.COUNT = '||p_messages.COUNT);
1234:
1235: if p_messages.COUNT > 0 then
1236: hr_utility.trace('ABS:Error in POST_ABSENCES - Rollback changes');
1229: -- Absences start
1230:
1231: IF (nvl(fnd_profile.value('HR_ABS_OTL_INTEGRATION'), 'N') = 'Y') THEN
1232: hr_utility.trace('ABS:Checking status of BEGIN_APPROVAL');
1233: hr_utility.trace('ABS:p_messages.COUNT = '||p_messages.COUNT);
1234:
1235: if p_messages.COUNT > 0 then
1236: hr_utility.trace('ABS:Error in POST_ABSENCES - Rollback changes');
1237:
1232: hr_utility.trace('ABS:Checking status of BEGIN_APPROVAL');
1233: hr_utility.trace('ABS:p_messages.COUNT = '||p_messages.COUNT);
1234:
1235: if p_messages.COUNT > 0 then
1236: hr_utility.trace('ABS:Error in POST_ABSENCES - Rollback changes');
1237:
1238: l_message := fnd_message.get_string (
1239: appin => p_messages(p_messages.last).application_short_name
1240: , namein => p_messages(p_messages.last).message_name
1302: -- get all the errors
1303: p_messages := hxc_timecard_message_helper.getmessages;
1304:
1305: IF g_debug THEN
1306: hr_utility.trace('Leaving SUBMIT_TIMECARD');
1307: END IF;
1308:
1309: END submit_timecard;
1310:
1330: l_proc VARCHAR2 (72);
1331: l_blocks hxc_block_table_type;
1332: l_index PLS_INTEGER;
1333: BEGIN
1334: g_debug := hr_utility.debug_enabled;
1335:
1336: IF g_debug
1337: THEN
1338: l_proc := g_package || 'convert_tbb_to_type';
1335:
1336: IF g_debug
1337: THEN
1338: l_proc := g_package || 'convert_tbb_to_type';
1339: hr_utility.set_location ('Entering:' || l_proc, 10);
1340: END IF;
1341:
1342: -- Initialize the collection
1343: l_blocks := hxc_block_table_type ();
1376: END LOOP;
1377:
1378: IF g_debug
1379: THEN
1380: hr_utility.set_location ( ' returning l_blocks.count = '
1381: || l_blocks.COUNT,
1382: 20
1383: );
1384: hr_utility.set_location ('Leaving: ' || l_proc, 30);
1380: hr_utility.set_location ( ' returning l_blocks.count = '
1381: || l_blocks.COUNT,
1382: 20
1383: );
1384: hr_utility.set_location ('Leaving: ' || l_proc, 30);
1385: END IF;
1386:
1387: RETURN l_blocks;
1388: END convert_tbb_to_type;
1405: l_proc VARCHAR2 (72);
1406: l_transaction_info hxc_deposit_wrapper_utilities.t_transaction;
1407: l_index PLS_INTEGER;
1408: BEGIN
1409: g_debug := hr_utility.debug_enabled;
1410:
1411: IF g_debug
1412: THEN
1413: l_proc := g_package || 'convert_new_trans_info_to_old';
1410:
1411: IF g_debug
1412: THEN
1413: l_proc := g_package || 'convert_new_trans_info_to_old';
1414: hr_utility.set_location ('Entering:' || l_proc, 10);
1415: END IF;
1416:
1417: l_index := p_transaction_info.FIRST;
1418:
1432: END LOOP;
1433:
1434: IF g_debug
1435: THEN
1436: hr_utility.set_location
1437: ( ' returning l_transaction_info.count = '
1438: || l_transaction_info.COUNT,
1439: 20
1440: );
1437: ( ' returning l_transaction_info.count = '
1438: || l_transaction_info.COUNT,
1439: 20
1440: );
1441: hr_utility.set_location ('Leaving: ' || l_proc, 30);
1442: END IF;
1443:
1444: RETURN l_transaction_info;
1445: END convert_new_trans_info_to_old;
1935: l_proc VARCHAR2 (72);
1936: l_messages hxc_self_service_time_deposit.message_table;
1937: l_index NUMBER;
1938: BEGIN
1939: g_debug := hr_utility.debug_enabled;
1940:
1941: IF g_debug
1942: THEN
1943: l_proc := g_package || 'convert_to_dpwr_messages';
1940:
1941: IF g_debug
1942: THEN
1943: l_proc := g_package || 'convert_to_dpwr_messages';
1944: hr_utility.set_location ('Entering:' || l_proc, 10);
1945: END IF;
1946:
1947: l_index := p_messages.FIRST;
1948:
1970: END LOOP;
1971:
1972: IF g_debug
1973: THEN
1974: hr_utility.set_location ( ' returning l_messages.count = '
1975: || l_messages.COUNT,
1976: 20
1977: );
1978: hr_utility.set_location ('Leaving:' || l_proc, 30);
1974: hr_utility.set_location ( ' returning l_messages.count = '
1975: || l_messages.COUNT,
1976: 20
1977: );
1978: hr_utility.set_location ('Leaving:' || l_proc, 30);
1979: END IF;
1980:
1981: RETURN l_messages;
1982: END convert_to_dpwr_messages;
2003: BEGIN
2004: IF g_debug
2005: THEN
2006: l_proc := g_package || 'convert_msg_to_type';
2007: hr_utility.set_location ('Entering:' || l_proc, 10);
2008: END IF;
2009:
2010: -- Initialize the collection
2011: l_messages := hxc_message_table_type ();
2030: END LOOP;
2031:
2032: IF g_debug
2033: THEN
2034: hr_utility.set_location ( ' returning l_messages.count = '
2035: || l_messages.COUNT,
2036: 20
2037: );
2038: hr_utility.set_location ('Leaving: ' || l_proc, 30);
2034: hr_utility.set_location ( ' returning l_messages.count = '
2035: || l_messages.COUNT,
2036: 20
2037: );
2038: hr_utility.set_location ('Leaving: ' || l_proc, 30);
2039: END IF;
2040:
2041: RETURN l_messages;
2042: END convert_msg_to_type;
2063: IS
2064: l_proc VARCHAR2 (72);
2065: l_appr_stat VARCHAR2 (30);
2066: BEGIN
2067: g_debug := hr_utility.debug_enabled;
2068:
2069: IF g_debug
2070: THEN
2071: l_proc := g_package || 'get_approval_status';
2068:
2069: IF g_debug
2070: THEN
2071: l_proc := g_package || 'get_approval_status';
2072: hr_utility.set_location ('Entering:' || l_proc, 10);
2073: END IF;
2074:
2075: IF p_mode = hxc_timecard.c_save
2076: THEN
2095: END IF;
2096:
2097: IF g_debug
2098: THEN
2099: hr_utility.set_location ( ' returning approval_status = '
2100: || l_appr_stat,
2101: 20
2102: );
2103: hr_utility.set_location ('Leaving:' || l_proc, 30);
2099: hr_utility.set_location ( ' returning approval_status = '
2100: || l_appr_stat,
2101: 20
2102: );
2103: hr_utility.set_location ('Leaving:' || l_proc, 30);
2104: END IF;
2105:
2106: RETURN l_appr_stat;
2107: END get_approval_status;
2174:
2175: l_building_block_count PLS_INTEGER;
2176: l_index PLS_INTEGER;
2177: BEGIN
2178: g_debug := hr_utility.debug_enabled;
2179:
2180: IF g_debug
2181: THEN
2182: l_proc := g_package || 'find_parent_building_block';
2179:
2180: IF g_debug
2181: THEN
2182: l_proc := g_package || 'find_parent_building_block';
2183: hr_utility.set_location ('Entering:' || l_proc, 10);
2184: END IF;
2185:
2186: -- If the PL/SQL structure is not empty, we assume the user wants to add
2187: -- this DAY TBB to the TIMECARD present in the PL/SQL table so first look
2213: AND (p_app_blocks (l_building_block_count).SCOPE = p_scope)
2214: THEN
2215: IF g_debug
2216: THEN
2217: hr_utility.set_location
2218: ( ' Found TBB in PL/SQL Table, ID = '
2219: || p_app_blocks (l_building_block_count).time_building_block_id,
2220: 20
2221: );
2248: INTO p_timecard_bb_id, p_timecard_ovn;
2249:
2250: IF g_debug
2251: THEN
2252: hr_utility.set_location ( ' Found TBB in DB, ID = '
2253: || p_timecard_bb_id,
2254: 30
2255: );
2256: END IF;
2259: END IF; -- (p_app_blocks.COUNT <> 0)
2260:
2261: IF g_debug
2262: THEN
2263: hr_utility.set_location ('Leaving:' || l_proc, 40);
2264: END IF;
2265: END find_parent_building_block;
2266:
2267: -----------------------------------------------------------------------------
2334:
2335: l_attribute_rec find_attribute%ROWTYPE;
2336: c_null CONSTANT VARCHAR2 (5) := '@@@@@';
2337: BEGIN
2338: g_debug := hr_utility.debug_enabled;
2339:
2340: IF g_debug
2341: THEN
2342: l_proc := g_package || 'set_new_change_flags';
2339:
2340: IF g_debug
2341: THEN
2342: l_proc := g_package || 'set_new_change_flags';
2343: hr_utility.set_location ('Entering:' || l_proc, 10);
2344: END IF;
2345:
2346: l_index := p_attributes.FIRST;
2347:
2356: IF find_attribute%FOUND
2357: THEN
2358: IF g_debug
2359: THEN
2360: hr_utility.set_location
2361: ( ' - Attribute '
2362: || p_attributes (l_index).time_attribute_id
2363: || ' Found',
2364: 20
2430: )
2431: THEN
2432: IF g_debug
2433: THEN
2434: hr_utility.set_location
2435: ( ' - Attribute '
2436: || p_attributes (l_index).time_attribute_id
2437: || ' Not Changed',
2438: 40
2443: p_attributes (l_index).process := 'N';
2444: ELSE
2445: IF g_debug
2446: THEN
2447: hr_utility.set_location
2448: ( ' - Attribute '
2449: || p_attributes (l_index).time_attribute_id
2450: || ' Changed',
2451: 50
2457: END IF;
2458: ELSE
2459: IF g_debug
2460: THEN
2461: hr_utility.set_location
2462: ( ' - Attribute '
2463: || p_attributes (l_index).time_attribute_id
2464: || ' Not Found',
2465: 60
2477: END LOOP;
2478:
2479: IF g_debug
2480: THEN
2481: hr_utility.set_location ('Leaving: ' || l_proc, 70);
2482: END IF;
2483: END set_new_change_flags;
2484:
2485: -----------------------------------------------------------------------------
2526: IS
2527: l_proc VARCHAR2 (72);
2528: l_blocks hxc_block_table_type;
2529: BEGIN
2530: g_debug := hr_utility.debug_enabled;
2531:
2532: IF g_debug
2533: THEN
2534: l_proc := g_package || 'find_parent_building_block (Overload)';
2531:
2532: IF g_debug
2533: THEN
2534: l_proc := g_package || 'find_parent_building_block (Overload)';
2535: hr_utility.set_location ('Entering:' || l_proc, 10);
2536: END IF;
2537:
2538: l_blocks := convert_tbb_to_type (p_blocks => p_app_blocks);
2539: find_parent_building_block (p_start_time => p_start_time,
2554:
2555: */
2556: IF g_debug
2557: THEN
2558: hr_utility.set_location ('Leaving:' || l_proc, 40);
2559: END IF;
2560: END find_parent_building_block;
2561:
2562: -----------------------------------------------------------------------------
2599: START WITH time_building_block_id = v_tc_id
2600: GROUP BY time_building_block_id
2601: ORDER BY time_building_block_id;
2602: BEGIN
2603: g_debug := hr_utility.debug_enabled;
2604:
2605: IF g_debug
2606: THEN
2607: l_proc := g_package || 'get_timecard_bb_id';
2604:
2605: IF g_debug
2606: THEN
2607: l_proc := g_package || 'get_timecard_bb_id';
2608: hr_utility.set_location ('Entering:' || l_proc, 10);
2609: END IF;
2610:
2611: OPEN csr_get_timecard_bb_id (p_bb_id);
2612:
2616: CLOSE csr_get_timecard_bb_id;
2617:
2618: IF g_debug
2619: THEN
2620: hr_utility.set_location ('Leaving:' || l_proc, 20);
2621: END IF;
2622: END get_timecard_bb_id;
2623:
2624: -----------------------------------------------------------------------------
2645: l_building_block_count PLS_INTEGER;
2646: l_index PLS_INTEGER;
2647: l_current_highest_ovn PLS_INTEGER;
2648: BEGIN
2649: g_debug := hr_utility.debug_enabled;
2650:
2651: IF g_debug
2652: THEN
2653: l_proc := g_package || 'get_index_in_bb_table';
2650:
2651: IF g_debug
2652: THEN
2653: l_proc := g_package || 'get_index_in_bb_table';
2654: hr_utility.set_location ('Entering:' || l_proc, 10);
2655: END IF;
2656:
2657: l_building_block_count := p_bb_table.FIRST;
2658: -- Initialize to zero as lowest possible ovn is 1
2685: END IF;
2686:
2687: IF g_debug
2688: THEN
2689: hr_utility.set_location (' returning index = ' || l_index, 20);
2690: hr_utility.set_location ('Leaving:' || l_proc, 30);
2691: END IF;
2692:
2693: RETURN l_index;
2686:
2687: IF g_debug
2688: THEN
2689: hr_utility.set_location (' returning index = ' || l_index, 20);
2690: hr_utility.set_location ('Leaving:' || l_proc, 30);
2691: END IF;
2692:
2693: RETURN l_index;
2694: END get_index_in_bb_table;
2719: WHERE NAME = v_deposit_process_name;
2720:
2721: l_deposit_process_id hxc_deposit_processes.deposit_process_id%TYPE;
2722: BEGIN
2723: g_debug := hr_utility.debug_enabled;
2724:
2725: IF g_debug
2726: THEN
2727: l_proc := g_package || 'get_deposit_process_id';
2724:
2725: IF g_debug
2726: THEN
2727: l_proc := g_package || 'get_deposit_process_id';
2728: hr_utility.set_location ('Entering:' || l_proc, 10);
2729: END IF;
2730:
2731: OPEN csr_deposit_process_id (p_deposit_process_name);
2732:
2745: CLOSE csr_deposit_process_id;
2746:
2747: IF g_debug
2748: THEN
2749: hr_utility.set_location ( ' returning deposit process id = '
2750: || l_deposit_process_id,
2751: 20
2752: );
2753: hr_utility.set_location ('Leaving:' || l_proc, 30);
2749: hr_utility.set_location ( ' returning deposit process id = '
2750: || l_deposit_process_id,
2751: 20
2752: );
2753: hr_utility.set_location ('Leaving:' || l_proc, 30);
2754: END IF;
2755:
2756: RETURN l_deposit_process_id;
2757: END get_deposit_process_id;
2780: l_proc VARCHAR2 (72);
2781: l_attribute_count PLS_INTEGER;
2782: l_index PLS_INTEGER;
2783: BEGIN
2784: g_debug := hr_utility.debug_enabled;
2785:
2786: IF g_debug
2787: THEN
2788: l_proc := g_package || 'get_index_in_attr_table';
2785:
2786: IF g_debug
2787: THEN
2788: l_proc := g_package || 'get_index_in_attr_table';
2789: hr_utility.set_location ('Entering:' || l_proc, 10);
2790: END IF;
2791:
2792: l_attribute_count := p_attr_table.FIRST;
2793:
2815: END IF;
2816:
2817: IF g_debug
2818: THEN
2819: hr_utility.set_location (' returning index = ' || l_index, 20);
2820: hr_utility.set_location ('Leaving:' || l_proc, 30);
2821: END IF;
2822:
2823: RETURN l_index;
2816:
2817: IF g_debug
2818: THEN
2819: hr_utility.set_location (' returning index = ' || l_index, 20);
2820: hr_utility.set_location ('Leaving:' || l_proc, 30);
2821: END IF;
2822:
2823: RETURN l_index;
2824: END get_index_in_attr_table;
2865: AND v_resource_type = resource_type
2866: AND date_to = hr_general.end_of_time
2867: GROUP BY time_building_block_id;
2868: BEGIN
2869: g_debug :=hr_utility.debug_enabled;
2870: if g_debug then
2871: hr_utility.set_location ( 'Entering:'
2872: || l_proc, 10);
2873: end if;
2867: GROUP BY time_building_block_id;
2868: BEGIN
2869: g_debug :=hr_utility.debug_enabled;
2870: if g_debug then
2871: hr_utility.set_location ( 'Entering:'
2872: || l_proc, 10);
2873: end if;
2874: OPEN csr_get_parent (
2875: p_scope,
2880: );
2881: FETCH csr_get_parent INTO p_building_block_id, p_object_version_number;
2882: CLOSE csr_get_parent;
2883: if g_debug then
2884: hr_utility.set_location ( 'Leaving:'
2885: || l_proc, 20);
2886: end if;
2887: END find_parent_building_block;
2888: */
2919: l_object_version_number hxc_time_building_blocks.object_version_number%TYPE;
2920: l_counter PLS_INTEGER;
2921: l_attributes hxc_attribute_table_type;
2922: BEGIN
2923: g_debug := hr_utility.debug_enabled;
2924:
2925: IF g_debug
2926: THEN
2927: l_proc := g_package || 'get_timecard_tables';
2924:
2925: IF g_debug
2926: THEN
2927: l_proc := g_package || 'get_timecard_tables';
2928: hr_utility.set_location ('Entering:' || l_proc, 10);
2929: END IF;
2930:
2931: -- find out what the ID of the TIMECARD BB for this BB is
2932: get_timecard_bb_id (p_bb_id => p_building_block_id,
2935: );
2936:
2937: IF g_debug
2938: THEN
2939: hr_utility.set_location ('Timecard BB_ID = ' || l_timecard_bb_id,
2940: 15);
2941: END IF;
2942:
2943: -- Then get the complete TC
2961: end if;
2962:
2963: IF g_debug
2964: THEN
2965: hr_utility.set_location ('Leaving:' || l_proc, 20);
2966: END IF;
2967: END get_timecard_tables;
2968:
2969: -----------------------------------------------------------------------------
2992: IS
2993: l_proc VARCHAR2 (72);
2994: l_blocks hxc_block_table_type;
2995: BEGIN
2996: g_debug := hr_utility.debug_enabled;
2997:
2998: IF g_debug
2999: THEN
3000: l_proc := g_package || 'get_timecard_tables (Overloaded)';
2997:
2998: IF g_debug
2999: THEN
3000: l_proc := g_package || 'get_timecard_tables (Overloaded)';
3001: hr_utility.set_location ('Entering:' || l_proc, 10);
3002: END IF;
3003:
3004: get_timecard_tables (p_building_block_id => p_building_block_id,
3005: p_deposit_process => p_deposit_process,
3011: hxc_timecard_block_utils.convert_to_dpwr_blocks (p_blocks => l_blocks);
3012:
3013: IF g_debug
3014: THEN
3015: hr_utility.set_location ('Leaving:' || l_proc, 20);
3016: END IF;
3017: END get_timecard_tables;
3018:
3019: -----------------------------------------------------------------------------
3064: AND bbit.bld_blk_info_type_id = bbui.bld_blk_info_type_id
3065: AND mc.field_name = v_field_name
3066: AND dp.deposit_process_id = v_deposit_process_id;
3067: BEGIN
3068: g_debug := hr_utility.debug_enabled;
3069:
3070: IF g_debug
3071: THEN
3072: l_proc := g_package || 'get_bld_blk_info_type';
3069:
3070: IF g_debug
3071: THEN
3072: l_proc := g_package || 'get_bld_blk_info_type';
3073: hr_utility.set_location ('Entering:' || l_proc, 10);
3074: END IF;
3075:
3076: OPEN csr_bld_blk_info_type (p_attribute_name,
3077: get_deposit_process_id (p_deposit_process)
3083: CLOSE csr_bld_blk_info_type;
3084:
3085: IF g_debug
3086: THEN
3087: hr_utility.set_location ( ' Found Building Block Info Type = '
3088: || p_bld_blk_info_type,
3089: 20
3090: );
3091: hr_utility.set_location (' Found Segment = ' || p_segment, 30);
3087: hr_utility.set_location ( ' Found Building Block Info Type = '
3088: || p_bld_blk_info_type,
3089: 20
3090: );
3091: hr_utility.set_location (' Found Segment = ' || p_segment, 30);
3092: hr_utility.set_location ('Leaving:' || l_proc, 40);
3093: END IF;
3094: END get_bld_blk_info_type;
3095:
3088: || p_bld_blk_info_type,
3089: 20
3090: );
3091: hr_utility.set_location (' Found Segment = ' || p_segment, 30);
3092: hr_utility.set_location ('Leaving:' || l_proc, 40);
3093: END IF;
3094: END get_bld_blk_info_type;
3095:
3096: -----------------------------------------------------------------------------
3107: )
3108: IS
3109: l_proc VARCHAR2 (72);
3110: BEGIN
3111: g_debug := hr_utility.debug_enabled;
3112:
3113: IF g_debug
3114: THEN
3115: l_proc := g_package || 'clear_building_block_table';
3112:
3113: IF g_debug
3114: THEN
3115: l_proc := g_package || 'clear_building_block_table';
3116: hr_utility.set_location ('Entering:' || l_proc, 10);
3117: END IF;
3118:
3119: IF p_app_blocks.COUNT > 0
3120: THEN
3122: END IF;
3123:
3124: IF g_debug
3125: THEN
3126: hr_utility.set_location ('Leaving:' || l_proc, 20);
3127: END IF;
3128: END clear_building_block_table;
3129:
3130: -----------------------------------------------------------------------------
3141: )
3142: IS
3143: l_proc VARCHAR2 (72);
3144: BEGIN
3145: g_debug := hr_utility.debug_enabled;
3146:
3147: IF g_debug
3148: THEN
3149: l_proc := g_package || 'clear_attribute_table';
3146:
3147: IF g_debug
3148: THEN
3149: l_proc := g_package || 'clear_attribute_table';
3150: hr_utility.set_location ('Entering:' || l_proc, 10);
3151: END IF;
3152:
3153: IF p_app_attributes.COUNT > 0
3154: THEN
3156: END IF;
3157:
3158: IF g_debug
3159: THEN
3160: hr_utility.set_location ('Leaving:' || l_proc, 20);
3161: END IF;
3162: END clear_attribute_table;
3163:
3164: -----------------------------------------------------------------------------
3175: )
3176: IS
3177: l_proc VARCHAR2 (72);
3178: BEGIN
3179: g_debug := hr_utility.debug_enabled;
3180:
3181: IF g_debug
3182: THEN
3183: l_proc := g_package || 'clear_message_table';
3180:
3181: IF g_debug
3182: THEN
3183: l_proc := g_package || 'clear_message_table';
3184: hr_utility.set_location ('Entering:' || l_proc, 10);
3185: END IF;
3186:
3187: IF p_messages.COUNT > 0
3188: THEN
3190: END IF;
3191:
3192: IF g_debug
3193: THEN
3194: hr_utility.set_location ('Leaving:' || l_proc, 20);
3195: END IF;
3196: END clear_message_table;
3197:
3198: -----------------------------------------------------------------------------
3216: IS
3217: l_proc VARCHAR2 (72);
3218: l_tc_index PLS_INTEGER;
3219: BEGIN
3220: g_debug := hr_utility.debug_enabled;
3221:
3222: IF g_debug
3223: THEN
3224: l_proc := g_package || 'request_lock';
3221:
3222: IF g_debug
3223: THEN
3224: l_proc := g_package || 'request_lock';
3225: hr_utility.set_location ('Entering:' || l_proc, 10);
3226: END IF;
3227:
3228: l_tc_index :=
3229: hxc_timecard_block_utils.find_active_timecard_index (p_app_blocks);
3260: END IF;
3261:
3262: IF g_debug
3263: THEN
3264: hr_utility.set_location ('Leaving:' || l_proc, 20);
3265: END IF;
3266: END request_lock;
3267:
3268: -----------------------------------------------------------------------------
3287: IS
3288: l_proc VARCHAR2 (72);
3289: l_tc_index PLS_INTEGER;
3290: BEGIN
3291: g_debug := hr_utility.debug_enabled;
3292:
3293: IF g_debug
3294: THEN
3295: l_proc := g_package || 'release_lock';
3292:
3293: IF g_debug
3294: THEN
3295: l_proc := g_package || 'release_lock';
3296: hr_utility.set_location ('Entering:' || l_proc, 10);
3297: END IF;
3298:
3299: l_tc_index :=
3300: hxc_timecard_block_utils.find_active_timecard_index (p_app_blocks);
3331: END IF;
3332:
3333: IF g_debug
3334: THEN
3335: hr_utility.set_location ('Leaving:' || l_proc, 20);
3336: END IF;
3337: END release_lock;
3338:
3339: -----------------------------------------------------------------------------
3365: l_proc VARCHAR2 (72);
3366: i PLS_INTEGER;
3367: j PLS_INTEGER;
3368: BEGIN
3369: g_debug := hr_utility.debug_enabled;
3370:
3371: IF g_debug
3372: THEN
3373: l_proc := g_package || 'log_timecard';
3370:
3371: IF g_debug
3372: THEN
3373: l_proc := g_package || 'log_timecard';
3374: hr_utility.set_location ('Entering:' || l_proc, 10);
3375: hr_utility.set_location (' Number of BBs:' || p_app_blocks.COUNT,
3376: 15
3377: );
3378: hr_utility.set_location ( ' Number of Attrs:'
3371: IF g_debug
3372: THEN
3373: l_proc := g_package || 'log_timecard';
3374: hr_utility.set_location ('Entering:' || l_proc, 10);
3375: hr_utility.set_location (' Number of BBs:' || p_app_blocks.COUNT,
3376: 15
3377: );
3378: hr_utility.set_location ( ' Number of Attrs:'
3379: || p_app_attributes.COUNT,
3374: hr_utility.set_location ('Entering:' || l_proc, 10);
3375: hr_utility.set_location (' Number of BBs:' || p_app_blocks.COUNT,
3376: 15
3377: );
3378: hr_utility.set_location ( ' Number of Attrs:'
3379: || p_app_attributes.COUNT,
3380: 16
3381: );
3382: END IF;
3388: EXIT print_time_building_blocks WHEN (NOT p_app_blocks.EXISTS (i));
3389:
3390: IF g_debug
3391: THEN
3392: hr_utility.TRACE
3393: ( LPAD
3394: (NVL (TO_CHAR (p_app_blocks (i).time_building_block_id),
3395: ' '
3396: ),
3470: p_app_attributes (j).building_block_id
3471: THEN
3472: IF g_debug
3473: THEN
3474: hr_utility.TRACE
3475: ( ' '
3476: || --indent to indicate attribute
3477: LPAD (p_app_attributes (j).time_attribute_id,
3478: 9
3511: END LOOP print_time_building_blocks;
3512:
3513: IF g_debug
3514: THEN
3515: hr_utility.set_location ('Leaving:' || l_proc, 20);
3516: END IF;
3517: END log_timecard;
3518:
3519: -----------------------------------------------------------------------------
3544: IS
3545: l_proc VARCHAR2 (72);
3546: l_blocks hxc_block_table_type;
3547: BEGIN
3548: g_debug := hr_utility.debug_enabled;
3549:
3550: IF g_debug
3551: THEN
3552: l_proc := g_package || 'log_timecard (Overloaded)';
3549:
3550: IF g_debug
3551: THEN
3552: l_proc := g_package || 'log_timecard (Overloaded)';
3553: hr_utility.set_location ('Entering:' || l_proc, 10);
3554: END IF;
3555:
3556: l_blocks := convert_tbb_to_type (p_blocks => p_app_blocks);
3557: log_timecard (p_app_blocks => l_blocks,
3559: );
3560:
3561: IF g_debug
3562: THEN
3563: hr_utility.set_location ('Leaving:' || l_proc, 20);
3564: END IF;
3565: END log_timecard;
3566:
3567: -----------------------------------------------------------------------------
3589: l_proc VARCHAR2 (72);
3590: l_message fnd_new_messages.MESSAGE_TEXT%TYPE;
3591: i PLS_INTEGER;
3592: BEGIN
3593: g_debug := hr_utility.debug_enabled;
3594:
3595: IF g_debug
3596: THEN
3597: l_proc := g_package || 'log_messages';
3594:
3595: IF g_debug
3596: THEN
3597: l_proc := g_package || 'log_messages';
3598: hr_utility.set_location ('Entering:' || l_proc, 10);
3599: END IF;
3600:
3601: IF (p_messages IS NOT NULL)
3602: THEN -- messages have been returned
3613: );
3614:
3615: IF g_debug
3616: THEN
3617: hr_utility.TRACE
3618: ( RPAD (p_messages (i).application_short_name, 10)
3619: || ' '
3620: || LPAD (p_messages (i).time_building_block_id, 7)
3621: || ' '
3652: END LOOP;
3653: ELSE
3654: IF g_debug
3655: THEN
3656: hr_utility.TRACE
3657: (' --- No Errors Found, Timecard Deposit Successfull! ---');
3658: END IF;
3659: END IF;
3660:
3659: END IF;
3660:
3661: IF g_debug
3662: THEN
3663: hr_utility.set_location ('Leaving:' || l_proc, 20);
3664: END IF;
3665: END log_messages;
3666:
3667: -----------------------------------------------------------------------------
3691: IS
3692: l_proc VARCHAR2 (72);
3693: l_messages hxc_message_table_type;
3694: BEGIN
3695: g_debug := hr_utility.debug_enabled;
3696:
3697: IF g_debug
3698: THEN
3699: l_proc := g_package || 'log_messages (Overloaded)';
3696:
3697: IF g_debug
3698: THEN
3699: l_proc := g_package || 'log_messages (Overloaded)';
3700: hr_utility.set_location ('Entering:' || l_proc, 10);
3701: END IF;
3702:
3703: hxc_timecard_message_utils.append_old_messages
3704: (p_messages => l_messages,
3708: log_messages (p_messages => l_messages);
3709:
3710: IF g_debug
3711: THEN
3712: hr_utility.set_location ('Leaving:' || l_proc, 20);
3713: END IF;
3714: END log_messages;
3715:
3716: -----------------------------------------------------------------------------
3735: l_messages translated_message_table;
3736: l_token_table hxc_deposit_wrapper_utilities.t_simple_table;
3737: l_message_idx PLS_INTEGER := p_messages.FIRST;
3738: BEGIN
3739: g_debug := hr_utility.debug_enabled;
3740:
3741: IF g_debug
3742: THEN
3743: l_proc := g_package || 'translate_message_table';
3740:
3741: IF g_debug
3742: THEN
3743: l_proc := g_package || 'translate_message_table';
3744: hr_utility.set_location ('Entering:' || l_proc, 10);
3745: END IF;
3746:
3747: <
3748: LOOP
3791: END LOOP process_all_messages;
3792:
3793: IF g_debug
3794: THEN
3795: hr_utility.set_location ('Leaving:' || l_proc, 100);
3796: END IF;
3797:
3798: RETURN l_messages;
3799: END translate_message_table;
3830: BEGIN
3831: IF g_debug
3832: THEN
3833: l_proc := g_package || 'find_current_period';
3834: hr_utility.set_location ('Entering:' || l_proc, 10);
3835: END IF;
3836:
3837: hxc_timecard_utilities.init_globals (p_resource_id => p_resource_id);
3838: l_periods :=
3978:
3979: END LOOP;
3980:
3981: IF g_debug THEN
3982: hr_utility.trace('l_num_past_days=' || l_num_past_days);
3983: hr_utility.trace('l_num_future_days=' || l_num_future_days);
3984: END IF;
3985:
3986: IF l_num_past_days IS NOT NULL
3979: END LOOP;
3980:
3981: IF g_debug THEN
3982: hr_utility.trace('l_num_past_days=' || l_num_past_days);
3983: hr_utility.trace('l_num_future_days=' || l_num_future_days);
3984: END IF;
3985:
3986: IF l_num_past_days IS NOT NULL
3987: THEN
4003: IF (p_timecard_start_time < l_past_date_limit
4004: OR
4005: p_timecard_stop_time > l_future_date_limit ) THEN
4006:
4007: hr_utility.trace('Timecard not within the allowed past and future days limit');
4008:
4009: hxc_timecard_message_helper.addErrorToCollection
4010: (p_messages,
4011: 'HXC_NO_PERIODS_TO_CREATE',
4021:
4022: END IF;
4023:
4024: IF g_debug THEN
4025: hr_utility.trace(' l_past_date_limit =' || to_char(l_past_date_limit, 'DD-MON-YYYY'));
4026: hr_utility.trace(' l_future_date_limit=' ||to_char(l_future_date_limit, 'DD-MON-YYYY') );
4027: END IF;
4028:
4029: END get_past_future_limits;
4022: END IF;
4023:
4024: IF g_debug THEN
4025: hr_utility.trace(' l_past_date_limit =' || to_char(l_past_date_limit, 'DD-MON-YYYY'));
4026: hr_utility.trace(' l_future_date_limit=' ||to_char(l_future_date_limit, 'DD-MON-YYYY') );
4027: END IF;
4028:
4029: END get_past_future_limits;
4030: