33: ,approval_status VARCHAR2(150)
34: );
35:
36: TYPE block_info IS RECORD(
37: block_id hxc_time_building_blocks.time_building_block_id%TYPE
38: ,block_ovn hxc_time_building_blocks.object_version_number%TYPE
39: ,added VARCHAR2(1)
40: );
41:
34: );
35:
36: TYPE block_info IS RECORD(
37: block_id hxc_time_building_blocks.time_building_block_id%TYPE
38: ,block_ovn hxc_time_building_blocks.object_version_number%TYPE
39: ,added VARCHAR2(1)
40: );
41:
42: TYPE block_table IS TABLE OF
58: g_old_item_key old_item_key_tab;
59:
60:
61: FUNCTION get_creation_date(
62: p_app_id hxc_time_building_blocks.time_building_block_id%TYPE
63: ,p_app_ovn hxc_time_building_blocks.object_version_number%TYPE
64: )
65: RETURN DATE
66: IS
59:
60:
61: FUNCTION get_creation_date(
62: p_app_id hxc_time_building_blocks.time_building_block_id%TYPE
63: ,p_app_ovn hxc_time_building_blocks.object_version_number%TYPE
64: )
65: RETURN DATE
66: IS
67: CURSOR c_creation_date(
64: )
65: RETURN DATE
66: IS
67: CURSOR c_creation_date(
68: p_app_id hxc_time_building_blocks.time_building_block_id%TYPE
69: ,p_app_ovn hxc_time_building_blocks.object_version_number%TYPE
70: )
71: IS
72: SELECT creation_date
65: RETURN DATE
66: IS
67: CURSOR c_creation_date(
68: p_app_id hxc_time_building_blocks.time_building_block_id%TYPE
69: ,p_app_ovn hxc_time_building_blocks.object_version_number%TYPE
70: )
71: IS
72: SELECT creation_date
73: FROM hxc_time_building_blocks
69: ,p_app_ovn hxc_time_building_blocks.object_version_number%TYPE
70: )
71: IS
72: SELECT creation_date
73: FROM hxc_time_building_blocks
74: WHERE time_building_block_id = p_app_id
75: AND object_version_number = p_app_ovn;
76:
77: l_creation_date hxc_time_building_blocks.creation_date%TYPE := NULL;
73: FROM hxc_time_building_blocks
74: WHERE time_building_block_id = p_app_id
75: AND object_version_number = p_app_ovn;
76:
77: l_creation_date hxc_time_building_blocks.creation_date%TYPE := NULL;
78: BEGIN
79: OPEN c_creation_date(
80: p_app_id => p_app_id
81: ,p_app_ovn => p_app_ovn
97: -- Bug 10164135
98: -- Added a new param to process ELP specific timecards. Default Value 0 so
99: -- that existing functionality is untouched.
100: PROCEDURE get_detail_blocks(
101: p_timecard_id IN hxc_time_building_blocks.time_building_block_id%TYPE
102: ,p_timecard_ovn hxc_time_building_blocks.object_version_number%TYPE
103: ,p_start_time IN hxc_time_building_blocks.start_time%TYPE
104: ,p_stop_time IN hxc_time_building_blocks.stop_time%TYPE
105: ,p_detail_blocks IN OUT NOCOPY block_table
98: -- Added a new param to process ELP specific timecards. Default Value 0 so
99: -- that existing functionality is untouched.
100: PROCEDURE get_detail_blocks(
101: p_timecard_id IN hxc_time_building_blocks.time_building_block_id%TYPE
102: ,p_timecard_ovn hxc_time_building_blocks.object_version_number%TYPE
103: ,p_start_time IN hxc_time_building_blocks.start_time%TYPE
104: ,p_stop_time IN hxc_time_building_blocks.stop_time%TYPE
105: ,p_detail_blocks IN OUT NOCOPY block_table
106: ,p_new_detail_blocks IN OUT NOCOPY hxc_block_table_type
99: -- that existing functionality is untouched.
100: PROCEDURE get_detail_blocks(
101: p_timecard_id IN hxc_time_building_blocks.time_building_block_id%TYPE
102: ,p_timecard_ovn hxc_time_building_blocks.object_version_number%TYPE
103: ,p_start_time IN hxc_time_building_blocks.start_time%TYPE
104: ,p_stop_time IN hxc_time_building_blocks.stop_time%TYPE
105: ,p_detail_blocks IN OUT NOCOPY block_table
106: ,p_new_detail_blocks IN OUT NOCOPY hxc_block_table_type
107: ,p_time_recipient_id IN NUMBER DEFAULT 0
100: PROCEDURE get_detail_blocks(
101: p_timecard_id IN hxc_time_building_blocks.time_building_block_id%TYPE
102: ,p_timecard_ovn hxc_time_building_blocks.object_version_number%TYPE
103: ,p_start_time IN hxc_time_building_blocks.start_time%TYPE
104: ,p_stop_time IN hxc_time_building_blocks.stop_time%TYPE
105: ,p_detail_blocks IN OUT NOCOPY block_table
106: ,p_new_detail_blocks IN OUT NOCOPY hxc_block_table_type
107: ,p_time_recipient_id IN NUMBER DEFAULT 0
108: )
107: ,p_time_recipient_id IN NUMBER DEFAULT 0
108: )
109: IS
110: CURSOR c_detail_blocks(
111: p_timecard_id hxc_time_building_blocks.time_building_block_id%TYPE
112: ,p_timecard_ovn hxc_time_building_blocks.object_version_number%TYPE
113: ,p_start_time hxc_time_building_blocks.start_time%TYPE
114: ,p_stop_time hxc_time_building_blocks.stop_time%TYPE
115: )
108: )
109: IS
110: CURSOR c_detail_blocks(
111: p_timecard_id hxc_time_building_blocks.time_building_block_id%TYPE
112: ,p_timecard_ovn hxc_time_building_blocks.object_version_number%TYPE
113: ,p_start_time hxc_time_building_blocks.start_time%TYPE
114: ,p_stop_time hxc_time_building_blocks.stop_time%TYPE
115: )
116: IS
109: IS
110: CURSOR c_detail_blocks(
111: p_timecard_id hxc_time_building_blocks.time_building_block_id%TYPE
112: ,p_timecard_ovn hxc_time_building_blocks.object_version_number%TYPE
113: ,p_start_time hxc_time_building_blocks.start_time%TYPE
114: ,p_stop_time hxc_time_building_blocks.stop_time%TYPE
115: )
116: IS
117: SELECT
110: CURSOR c_detail_blocks(
111: p_timecard_id hxc_time_building_blocks.time_building_block_id%TYPE
112: ,p_timecard_ovn hxc_time_building_blocks.object_version_number%TYPE
113: ,p_start_time hxc_time_building_blocks.start_time%TYPE
114: ,p_stop_time hxc_time_building_blocks.stop_time%TYPE
115: )
116: IS
117: SELECT
118: details.TIME_BUILDING_BLOCK_ID,
139: 'N' CHANGED,
140: 'N' PROCESS,
141: details.APPLICATION_SET_ID,
142: details.TRANSLATION_DISPLAY_KEY
143: FROM hxc_time_building_blocks days
144: ,hxc_time_building_blocks details
145: WHERE days.parent_building_block_id = p_timecard_id
146: AND days.parent_building_block_ovn = p_timecard_ovn
147: AND days.scope = 'DAY'
140: 'N' PROCESS,
141: details.APPLICATION_SET_ID,
142: details.TRANSLATION_DISPLAY_KEY
143: FROM hxc_time_building_blocks days
144: ,hxc_time_building_blocks details
145: WHERE days.parent_building_block_id = p_timecard_id
146: AND days.parent_building_block_ovn = p_timecard_ovn
147: AND days.scope = 'DAY'
148: AND TRUNC(days.start_time) BETWEEN TRUNC(p_start_time) AND TRUNC(p_stop_time)
155: -- Bug 10164135
156: -- New cursor mimicking the above one, but with a new EXISTS clause
157: -- on Application set.
158: CURSOR c_detail_blocks2(
159: p_timecard_id hxc_time_building_blocks.time_building_block_id%TYPE
160: ,p_timecard_ovn hxc_time_building_blocks.object_version_number%TYPE
161: ,p_start_time hxc_time_building_blocks.start_time%TYPE
162: ,p_stop_time hxc_time_building_blocks.stop_time%TYPE
163: ,p_time_recipient_id NUMBER
156: -- New cursor mimicking the above one, but with a new EXISTS clause
157: -- on Application set.
158: CURSOR c_detail_blocks2(
159: p_timecard_id hxc_time_building_blocks.time_building_block_id%TYPE
160: ,p_timecard_ovn hxc_time_building_blocks.object_version_number%TYPE
161: ,p_start_time hxc_time_building_blocks.start_time%TYPE
162: ,p_stop_time hxc_time_building_blocks.stop_time%TYPE
163: ,p_time_recipient_id NUMBER
164: )
157: -- on Application set.
158: CURSOR c_detail_blocks2(
159: p_timecard_id hxc_time_building_blocks.time_building_block_id%TYPE
160: ,p_timecard_ovn hxc_time_building_blocks.object_version_number%TYPE
161: ,p_start_time hxc_time_building_blocks.start_time%TYPE
162: ,p_stop_time hxc_time_building_blocks.stop_time%TYPE
163: ,p_time_recipient_id NUMBER
164: )
165: IS
158: CURSOR c_detail_blocks2(
159: p_timecard_id hxc_time_building_blocks.time_building_block_id%TYPE
160: ,p_timecard_ovn hxc_time_building_blocks.object_version_number%TYPE
161: ,p_start_time hxc_time_building_blocks.start_time%TYPE
162: ,p_stop_time hxc_time_building_blocks.stop_time%TYPE
163: ,p_time_recipient_id NUMBER
164: )
165: IS
166: SELECT
188: 'N' CHANGED,
189: 'N' PROCESS,
190: details.APPLICATION_SET_ID,
191: details.TRANSLATION_DISPLAY_KEY
192: FROM hxc_time_building_blocks days
193: ,hxc_time_building_blocks details
194: WHERE days.parent_building_block_id = p_timecard_id
195: AND days.parent_building_block_ovn = p_timecard_ovn
196: AND days.scope = 'DAY'
189: 'N' PROCESS,
190: details.APPLICATION_SET_ID,
191: details.TRANSLATION_DISPLAY_KEY
192: FROM hxc_time_building_blocks days
193: ,hxc_time_building_blocks details
194: WHERE days.parent_building_block_id = p_timecard_id
195: AND days.parent_building_block_ovn = p_timecard_ovn
196: AND days.scope = 'DAY'
197: AND TRUNC(days.start_time) BETWEEN TRUNC(p_start_time) AND TRUNC(p_stop_time)
333: l_detail_attributes hxc_self_service_time_deposit.building_block_attribute_info;
334: l_block_index PLS_INTEGER;
335:
336: CURSOR c_block_attributes(
337: p_detail_id hxc_time_building_blocks.time_building_block_id%TYPE
338: ,p_detail_ovn hxc_time_building_blocks.object_version_number%TYPE
339: )
340: IS
341: select a.time_attribute_id
334: l_block_index PLS_INTEGER;
335:
336: CURSOR c_block_attributes(
337: p_detail_id hxc_time_building_blocks.time_building_block_id%TYPE
338: ,p_detail_ovn hxc_time_building_blocks.object_version_number%TYPE
339: )
340: IS
341: select a.time_attribute_id
342: ,au.time_building_block_id building_block_id
460:
461: END get_detail_attributes;
462:
463: Function same_block
464: (p_app_id IN hxc_time_building_blocks.time_building_block_id%TYPE,
465: p_block_id IN hxc_time_building_blocks.time_building_block_id%TYPE,
466: p_block_ovn IN hxc_time_building_blocks.object_version_number%TYPE
467: ) return boolean is
468:
461: END get_detail_attributes;
462:
463: Function same_block
464: (p_app_id IN hxc_time_building_blocks.time_building_block_id%TYPE,
465: p_block_id IN hxc_time_building_blocks.time_building_block_id%TYPE,
466: p_block_ovn IN hxc_time_building_blocks.object_version_number%TYPE
467: ) return boolean is
468:
469: cursor c_block
462:
463: Function same_block
464: (p_app_id IN hxc_time_building_blocks.time_building_block_id%TYPE,
465: p_block_id IN hxc_time_building_blocks.time_building_block_id%TYPE,
466: p_block_ovn IN hxc_time_building_blocks.object_version_number%TYPE
467: ) return boolean is
468:
469: cursor c_block
470: (p_app_id in hxc_time_building_blocks.time_building_block_id%TYPE,
466: p_block_ovn IN hxc_time_building_blocks.object_version_number%TYPE
467: ) return boolean is
468:
469: cursor c_block
470: (p_app_id in hxc_time_building_blocks.time_building_block_id%TYPE,
471: p_block_id in hxc_time_building_blocks.time_building_block_id%TYPE
472: ) is
473: select max(time_building_block_ovn)
474: from hxc_ap_detail_links
467: ) return boolean is
468:
469: cursor c_block
470: (p_app_id in hxc_time_building_blocks.time_building_block_id%TYPE,
471: p_block_id in hxc_time_building_blocks.time_building_block_id%TYPE
472: ) is
473: select max(time_building_block_ovn)
474: from hxc_ap_detail_links
475: where application_period_id = p_app_id
475: where application_period_id = p_app_id
476: and time_building_block_id = p_block_id;
477:
478: cursor c_test_translation_key
479: (p_block1_id in hxc_time_building_blocks.time_building_block_id%TYPE,
480: p_block1_ovn in hxc_time_building_blocks.object_version_number%TYPE,
481: p_block2_ovn in hxc_time_building_blocks.object_version_number%TYPE
482: ) is
483: select tbb2.object_version_number,
476: and time_building_block_id = p_block_id;
477:
478: cursor c_test_translation_key
479: (p_block1_id in hxc_time_building_blocks.time_building_block_id%TYPE,
480: p_block1_ovn in hxc_time_building_blocks.object_version_number%TYPE,
481: p_block2_ovn in hxc_time_building_blocks.object_version_number%TYPE
482: ) is
483: select tbb2.object_version_number,
484: tbb1.translation_display_key, -- 9747521
477:
478: cursor c_test_translation_key
479: (p_block1_id in hxc_time_building_blocks.time_building_block_id%TYPE,
480: p_block1_ovn in hxc_time_building_blocks.object_version_number%TYPE,
481: p_block2_ovn in hxc_time_building_blocks.object_version_number%TYPE
482: ) is
483: select tbb2.object_version_number,
484: tbb1.translation_display_key, -- 9747521
485: tbb2.translation_display_key -- 9747521
482: ) is
483: select tbb2.object_version_number,
484: tbb1.translation_display_key, -- 9747521
485: tbb2.translation_display_key -- 9747521
486: from hxc_time_building_blocks tbb1,
487: hxc_time_building_blocks tbb2
488: where tbb1.time_building_block_id = p_block1_id
489: and tbb1.time_building_block_id = tbb2.time_building_block_id
490: and tbb1.object_version_number = p_block1_ovn
483: select tbb2.object_version_number,
484: tbb1.translation_display_key, -- 9747521
485: tbb2.translation_display_key -- 9747521
486: from hxc_time_building_blocks tbb1,
487: hxc_time_building_blocks tbb2
488: where tbb1.time_building_block_id = p_block1_id
489: and tbb1.time_building_block_id = tbb2.time_building_block_id
490: and tbb1.object_version_number = p_block1_ovn
491: and tbb2.object_version_number = p_block2_ovn
501: and nvl(tbb1.data_set_id,hr_api.g_number) = nvl(tbb1.data_set_id,hr_api.g_number)
502: and nvl(tbb1.translation_display_key,hr_api.g_varchar2) <> nvl(tbb2.translation_display_key,hr_api.g_varchar2);
503:
504: l_block_ovn hxc_ap_detail_links.time_building_block_ovn%type;
505: l_trans_disp_key1 hxc_time_building_blocks.translation_display_key%TYPE; -- Bug 9747521
506: l_trans_disp_key2 hxc_time_building_blocks.translation_display_key%TYPE; -- Bug 9747521
507:
508: Begin
509: open c_block(p_app_id, p_block_id);
502: and nvl(tbb1.translation_display_key,hr_api.g_varchar2) <> nvl(tbb2.translation_display_key,hr_api.g_varchar2);
503:
504: l_block_ovn hxc_ap_detail_links.time_building_block_ovn%type;
505: l_trans_disp_key1 hxc_time_building_blocks.translation_display_key%TYPE; -- Bug 9747521
506: l_trans_disp_key2 hxc_time_building_blocks.translation_display_key%TYPE; -- Bug 9747521
507:
508: Begin
509: open c_block(p_app_id, p_block_id);
510: fetch c_block into l_block_ovn;
559:
560: End same_block;
561:
562: function no_blocks(
563: p_app_id IN hxc_time_building_blocks.time_building_block_id%TYPE
564: ,p_timecard_id IN hxc_time_building_blocks.time_building_block_id%TYPE
565: )
566:
567: RETURN NUMBER
560: End same_block;
561:
562: function no_blocks(
563: p_app_id IN hxc_time_building_blocks.time_building_block_id%TYPE
564: ,p_timecard_id IN hxc_time_building_blocks.time_building_block_id%TYPE
565: )
566:
567: RETURN NUMBER
568: IS
566:
567: RETURN NUMBER
568: IS
569: CURSOR c_no_blocks(
570: p_app_id IN hxc_time_building_blocks.time_building_block_id%TYPE
571: ,p_timecard_id IN hxc_time_building_blocks.time_building_block_id%TYPE
572: )
573: IS
574: SELECT count(p_app_id)
567: RETURN NUMBER
568: IS
569: CURSOR c_no_blocks(
570: p_app_id IN hxc_time_building_blocks.time_building_block_id%TYPE
571: ,p_timecard_id IN hxc_time_building_blocks.time_building_block_id%TYPE
572: )
573: IS
574: SELECT count(p_app_id)
575: FROM hxc_ap_detail_links apdetail
572: )
573: IS
574: SELECT count(p_app_id)
575: FROM hxc_ap_detail_links apdetail
576: ,hxc_time_building_blocks days
577: ,hxc_time_building_blocks details
578: WHERE apdetail.application_period_id = p_app_id
579: AND days.parent_building_block_id = p_timecard_id
580: AND details.parent_building_block_id = days.time_building_block_id
573: IS
574: SELECT count(p_app_id)
575: FROM hxc_ap_detail_links apdetail
576: ,hxc_time_building_blocks days
577: ,hxc_time_building_blocks details
578: WHERE apdetail.application_period_id = p_app_id
579: AND days.parent_building_block_id = p_timecard_id
580: AND details.parent_building_block_id = days.time_building_block_id
581: AND details.time_building_block_id = apdetail.time_building_block_id
582: AND details.object_version_number = apdetail.time_building_block_ovn
583: AND details.date_to <> hr_general.end_of_time
584: and not exists(
585: select 1
586: from hxc_time_building_blocks details2
587: where details2.time_building_block_id = details.time_building_block_id
588: and details2.date_to = hr_general.end_of_time
589: );
590:
601: FUNCTION changed(
602: p_detail_blocks IN OUT NOCOPY block_table
603: ,p_attributes IN hxc_self_service_time_deposit.building_block_attribute_info
604: ,p_time_category_id IN hxc_time_categories.time_category_id%TYPE
605: ,p_app_id IN hxc_time_building_blocks.time_building_block_id%TYPE
606: ,p_timecard_id IN hxc_time_building_blocks.time_building_block_id%TYPE
607: )
608: RETURN BOOLEAN
609: IS
602: p_detail_blocks IN OUT NOCOPY block_table
603: ,p_attributes IN hxc_self_service_time_deposit.building_block_attribute_info
604: ,p_time_category_id IN hxc_time_categories.time_category_id%TYPE
605: ,p_app_id IN hxc_time_building_blocks.time_building_block_id%TYPE
606: ,p_timecard_id IN hxc_time_building_blocks.time_building_block_id%TYPE
607: )
608: RETURN BOOLEAN
609: IS
610: l_block_index NUMBER;
703: END IF;
704: END changed;
705:
706: PROCEDURE remove_ap_detail_links(
707: p_app_id IN hxc_time_building_blocks.time_building_block_id%TYPE
708: ,p_timecard_id IN hxc_time_building_blocks.time_building_block_id%TYPE
709: )
710: IS
711: CURSOR c_detail_blocks(
704: END changed;
705:
706: PROCEDURE remove_ap_detail_links(
707: p_app_id IN hxc_time_building_blocks.time_building_block_id%TYPE
708: ,p_timecard_id IN hxc_time_building_blocks.time_building_block_id%TYPE
709: )
710: IS
711: CURSOR c_detail_blocks(
712: p_timecard_id IN hxc_time_building_blocks.time_building_block_id%TYPE
708: ,p_timecard_id IN hxc_time_building_blocks.time_building_block_id%TYPE
709: )
710: IS
711: CURSOR c_detail_blocks(
712: p_timecard_id IN hxc_time_building_blocks.time_building_block_id%TYPE
713: )
714: IS
715: SELECT details.time_building_block_id
716: ,details.object_version_number
713: )
714: IS
715: SELECT details.time_building_block_id
716: ,details.object_version_number
717: FROM hxc_time_building_blocks days
718: ,hxc_time_building_blocks details
719: WHERE days.parent_building_block_id = p_timecard_id
720: AND details.parent_building_block_id = days.time_building_block_id
721: AND days.scope = 'DAY'
714: IS
715: SELECT details.time_building_block_id
716: ,details.object_version_number
717: FROM hxc_time_building_blocks days
718: ,hxc_time_building_blocks details
719: WHERE days.parent_building_block_id = p_timecard_id
720: AND details.parent_building_block_id = days.time_building_block_id
721: AND days.scope = 'DAY'
722: AND details.scope = 'DETAIL';
721: AND days.scope = 'DAY'
722: AND details.scope = 'DETAIL';
723:
724: CURSOR c_old_blocks(
725: p_app_period hxc_time_building_blocks.time_building_block_id%TYPE
726: )
727: IS
728: SELECT details.time_building_block_id
729: ,details.object_version_number
727: IS
728: SELECT details.time_building_block_id
729: ,details.object_version_number
730: FROM hxc_ap_detail_links apdetail
731: ,hxc_time_building_blocks details
732: WHERE apdetail.application_period_id = p_app_period
733: AND apdetail.time_building_block_id = details.time_building_block_id
734: AND apdetail.time_building_block_ovn = details.object_version_number
735: AND details.date_to <> hr_general.end_of_time;
734: AND apdetail.time_building_block_ovn = details.object_version_number
735: AND details.date_to <> hr_general.end_of_time;
736:
737:
738: l_detail_id hxc_time_building_blocks.time_building_block_id%TYPE;
739: l_detail_ovn hxc_time_building_blocks.object_version_number%TYPE;
740: BEGIN
741: OPEN c_detail_blocks(p_timecard_id);
742:
735: AND details.date_to <> hr_general.end_of_time;
736:
737:
738: l_detail_id hxc_time_building_blocks.time_building_block_id%TYPE;
739: l_detail_ovn hxc_time_building_blocks.object_version_number%TYPE;
740: BEGIN
741: OPEN c_detail_blocks(p_timecard_id);
742:
743: LOOP
815: PROCEDURE link_ap_details(
816: p_detail_blocks IN OUT NOCOPY block_table
817: ,p_attributes IN hxc_self_service_time_deposit.building_block_attribute_info
818: ,p_time_category_id IN hxc_time_categories.time_category_id%TYPE
819: ,p_app_id IN hxc_time_building_blocks.time_building_block_id%TYPE
820: )
821: IS
822: l_block_index NUMBER;
823: BEGIN
864: END link_ap_details;
865:
866: PROCEDURE link_ap_details_all(
867: p_detail_blocks IN OUT NOCOPY block_table
868: ,p_app_id IN hxc_time_building_blocks.time_building_block_id%TYPE
869: ,p_time_category_id IN hxc_time_categories.time_category_id%TYPE
870: )
871: IS
872: l_block_index NUMBER;
1107: l_appl_period_bb_ovn number;
1108: l_tc_resource_id number;
1109: l_period_start_date date;
1110: l_period_end_date date;
1111: l_approval_status hxc_time_building_blocks.approval_status%type;
1112: l_approver_comment hxc_time_building_blocks.comment_text%TYPE;
1113: l_creation_date hxc_time_building_blocks.creation_date%TYPE;
1114: l_wf_item_type varchar2(500) := NULL;
1115: l_is_blank varchar2(10);
1108: l_tc_resource_id number;
1109: l_period_start_date date;
1110: l_period_end_date date;
1111: l_approval_status hxc_time_building_blocks.approval_status%type;
1112: l_approver_comment hxc_time_building_blocks.comment_text%TYPE;
1113: l_creation_date hxc_time_building_blocks.creation_date%TYPE;
1114: l_wf_item_type varchar2(500) := NULL;
1115: l_is_blank varchar2(10);
1116: l_proc varchar2(100) := 'HXC_APPROVAL_WF_PKG.update_appl_period';
1109: l_period_start_date date;
1110: l_period_end_date date;
1111: l_approval_status hxc_time_building_blocks.approval_status%type;
1112: l_approver_comment hxc_time_building_blocks.comment_text%TYPE;
1113: l_creation_date hxc_time_building_blocks.creation_date%TYPE;
1114: l_wf_item_type varchar2(500) := NULL;
1115: l_is_blank varchar2(10);
1116: l_proc varchar2(100) := 'HXC_APPROVAL_WF_PKG.update_appl_period';
1117:
1362: result IN OUT NOCOPY varchar2
1363: )
1364: IS
1365: CURSOR c_current_period(
1366: p_app_id hxc_time_building_blocks.time_building_block_id%TYPE
1367: )
1368: IS
1369: SELECT *
1370: FROM hxc_app_period_summary
1370: FROM hxc_app_period_summary
1371: WHERE application_period_id = p_app_id;
1372:
1373: CURSOR c_timecards(
1374: p_app_id hxc_time_building_blocks.time_building_block_id%TYPE
1375: )
1376: IS
1377: SELECT timecard_id
1378: FROM hxc_tc_ap_links
1378: FROM hxc_tc_ap_links
1379: WHERE application_period_id = p_app_id;
1380:
1381: CURSOR c_ap_details(
1382: p_app_id hxc_time_building_blocks.time_building_block_id%TYPE
1383: )
1384: IS
1385: SELECT time_building_block_id
1386: ,time_building_block_ovn
1388: WHERE application_period_id = p_app_id;
1389:
1390:
1391: l_current_period hxc_app_period_summary%rowtype;
1392: l_timecard_id hxc_time_building_blocks.time_building_block_id%TYPE;
1393: l_detail_id hxc_time_building_blocks.time_building_block_id%TYPE;
1394: l_detail_ovn hxc_time_building_blocks.object_version_number%TYPE;
1395: l_new_appl_bb_id hxc_time_building_blocks.time_building_block_id%TYPE := NULL;
1396: l_new_appl_bb_ovn hxc_time_building_blocks.object_version_number%TYPE := NULL;
1389:
1390:
1391: l_current_period hxc_app_period_summary%rowtype;
1392: l_timecard_id hxc_time_building_blocks.time_building_block_id%TYPE;
1393: l_detail_id hxc_time_building_blocks.time_building_block_id%TYPE;
1394: l_detail_ovn hxc_time_building_blocks.object_version_number%TYPE;
1395: l_new_appl_bb_id hxc_time_building_blocks.time_building_block_id%TYPE := NULL;
1396: l_new_appl_bb_ovn hxc_time_building_blocks.object_version_number%TYPE := NULL;
1397: l_period_start_date hxc_time_building_blocks.start_time%TYPE;
1390:
1391: l_current_period hxc_app_period_summary%rowtype;
1392: l_timecard_id hxc_time_building_blocks.time_building_block_id%TYPE;
1393: l_detail_id hxc_time_building_blocks.time_building_block_id%TYPE;
1394: l_detail_ovn hxc_time_building_blocks.object_version_number%TYPE;
1395: l_new_appl_bb_id hxc_time_building_blocks.time_building_block_id%TYPE := NULL;
1396: l_new_appl_bb_ovn hxc_time_building_blocks.object_version_number%TYPE := NULL;
1397: l_period_start_date hxc_time_building_blocks.start_time%TYPE;
1398: l_period_end_date hxc_time_building_blocks.stop_time%TYPE;
1391: l_current_period hxc_app_period_summary%rowtype;
1392: l_timecard_id hxc_time_building_blocks.time_building_block_id%TYPE;
1393: l_detail_id hxc_time_building_blocks.time_building_block_id%TYPE;
1394: l_detail_ovn hxc_time_building_blocks.object_version_number%TYPE;
1395: l_new_appl_bb_id hxc_time_building_blocks.time_building_block_id%TYPE := NULL;
1396: l_new_appl_bb_ovn hxc_time_building_blocks.object_version_number%TYPE := NULL;
1397: l_period_start_date hxc_time_building_blocks.start_time%TYPE;
1398: l_period_end_date hxc_time_building_blocks.stop_time%TYPE;
1399: l_tc_resource_id hxc_time_building_blocks.resource_id%TYPE;
1392: l_timecard_id hxc_time_building_blocks.time_building_block_id%TYPE;
1393: l_detail_id hxc_time_building_blocks.time_building_block_id%TYPE;
1394: l_detail_ovn hxc_time_building_blocks.object_version_number%TYPE;
1395: l_new_appl_bb_id hxc_time_building_blocks.time_building_block_id%TYPE := NULL;
1396: l_new_appl_bb_ovn hxc_time_building_blocks.object_version_number%TYPE := NULL;
1397: l_period_start_date hxc_time_building_blocks.start_time%TYPE;
1398: l_period_end_date hxc_time_building_blocks.stop_time%TYPE;
1399: l_tc_resource_id hxc_time_building_blocks.resource_id%TYPE;
1400: l_attribute approval_attribute;
1393: l_detail_id hxc_time_building_blocks.time_building_block_id%TYPE;
1394: l_detail_ovn hxc_time_building_blocks.object_version_number%TYPE;
1395: l_new_appl_bb_id hxc_time_building_blocks.time_building_block_id%TYPE := NULL;
1396: l_new_appl_bb_ovn hxc_time_building_blocks.object_version_number%TYPE := NULL;
1397: l_period_start_date hxc_time_building_blocks.start_time%TYPE;
1398: l_period_end_date hxc_time_building_blocks.stop_time%TYPE;
1399: l_tc_resource_id hxc_time_building_blocks.resource_id%TYPE;
1400: l_attribute approval_attribute;
1401: t_attributes hxc_time_attributes_api.timecard;
1394: l_detail_ovn hxc_time_building_blocks.object_version_number%TYPE;
1395: l_new_appl_bb_id hxc_time_building_blocks.time_building_block_id%TYPE := NULL;
1396: l_new_appl_bb_ovn hxc_time_building_blocks.object_version_number%TYPE := NULL;
1397: l_period_start_date hxc_time_building_blocks.start_time%TYPE;
1398: l_period_end_date hxc_time_building_blocks.stop_time%TYPE;
1399: l_tc_resource_id hxc_time_building_blocks.resource_id%TYPE;
1400: l_attribute approval_attribute;
1401: t_attributes hxc_time_attributes_api.timecard;
1402: l_period_id hxc_time_building_blocks.time_building_block_id%TYPE;
1395: l_new_appl_bb_id hxc_time_building_blocks.time_building_block_id%TYPE := NULL;
1396: l_new_appl_bb_ovn hxc_time_building_blocks.object_version_number%TYPE := NULL;
1397: l_period_start_date hxc_time_building_blocks.start_time%TYPE;
1398: l_period_end_date hxc_time_building_blocks.stop_time%TYPE;
1399: l_tc_resource_id hxc_time_building_blocks.resource_id%TYPE;
1400: l_attribute approval_attribute;
1401: t_attributes hxc_time_attributes_api.timecard;
1402: l_period_id hxc_time_building_blocks.time_building_block_id%TYPE;
1403: l_creation_date hxc_time_building_blocks.creation_date%TYPE;
1398: l_period_end_date hxc_time_building_blocks.stop_time%TYPE;
1399: l_tc_resource_id hxc_time_building_blocks.resource_id%TYPE;
1400: l_attribute approval_attribute;
1401: t_attributes hxc_time_attributes_api.timecard;
1402: l_period_id hxc_time_building_blocks.time_building_block_id%TYPE;
1403: l_creation_date hxc_time_building_blocks.creation_date%TYPE;
1404:
1405: l_proc VARCHAR2(150) := 'create_next_period';
1406: BEGIN
1399: l_tc_resource_id hxc_time_building_blocks.resource_id%TYPE;
1400: l_attribute approval_attribute;
1401: t_attributes hxc_time_attributes_api.timecard;
1402: l_period_id hxc_time_building_blocks.time_building_block_id%TYPE;
1403: l_creation_date hxc_time_building_blocks.creation_date%TYPE;
1404:
1405: l_proc VARCHAR2(150) := 'create_next_period';
1406: BEGIN
1407: g_debug:=hr_utility.debug_enabled;
1605:
1606: ------------------------- get_approval_period_id --------------------------
1607: --
1608: FUNCTION get_approval_period_id(
1609: p_resource_id in HXC_TIME_BUILDING_BLOCKS.RESOURCE_ID%TYPE
1610: ,p_time_recipient_id in HXC_TIME_RECIPIENTS.TIME_RECIPIENT_ID%TYPE
1611: ,p_day_start_time in HXC_TIME_BUILDING_BLOCKS.START_TIME%TYPE
1612: ,p_timecard_start_time in HXC_TIME_BUILDING_BLOCKS.START_TIME%TYPE
1613: ,p_timecard_stop_time in HXC_TIME_BUILDING_BLOCKS.STOP_TIME%TYPE
1607: --
1608: FUNCTION get_approval_period_id(
1609: p_resource_id in HXC_TIME_BUILDING_BLOCKS.RESOURCE_ID%TYPE
1610: ,p_time_recipient_id in HXC_TIME_RECIPIENTS.TIME_RECIPIENT_ID%TYPE
1611: ,p_day_start_time in HXC_TIME_BUILDING_BLOCKS.START_TIME%TYPE
1612: ,p_timecard_start_time in HXC_TIME_BUILDING_BLOCKS.START_TIME%TYPE
1613: ,p_timecard_stop_time in HXC_TIME_BUILDING_BLOCKS.STOP_TIME%TYPE
1614: )
1615: RETURN HXC_RECURRING_PERIODS.RECURRING_PERIOD_ID%TYPE
1608: FUNCTION get_approval_period_id(
1609: p_resource_id in HXC_TIME_BUILDING_BLOCKS.RESOURCE_ID%TYPE
1610: ,p_time_recipient_id in HXC_TIME_RECIPIENTS.TIME_RECIPIENT_ID%TYPE
1611: ,p_day_start_time in HXC_TIME_BUILDING_BLOCKS.START_TIME%TYPE
1612: ,p_timecard_start_time in HXC_TIME_BUILDING_BLOCKS.START_TIME%TYPE
1613: ,p_timecard_stop_time in HXC_TIME_BUILDING_BLOCKS.STOP_TIME%TYPE
1614: )
1615: RETURN HXC_RECURRING_PERIODS.RECURRING_PERIOD_ID%TYPE
1616: IS
1609: p_resource_id in HXC_TIME_BUILDING_BLOCKS.RESOURCE_ID%TYPE
1610: ,p_time_recipient_id in HXC_TIME_RECIPIENTS.TIME_RECIPIENT_ID%TYPE
1611: ,p_day_start_time in HXC_TIME_BUILDING_BLOCKS.START_TIME%TYPE
1612: ,p_timecard_start_time in HXC_TIME_BUILDING_BLOCKS.START_TIME%TYPE
1613: ,p_timecard_stop_time in HXC_TIME_BUILDING_BLOCKS.STOP_TIME%TYPE
1614: )
1615: RETURN HXC_RECURRING_PERIODS.RECURRING_PERIOD_ID%TYPE
1616: IS
1617:
1720:
1721:
1722: PROCEDURE get_application_period(
1723: p_app_period_func IN VARCHAR2
1724: ,p_resource_id IN hxc_time_building_blocks.resource_id%TYPE
1725: ,p_day IN hxc_time_building_blocks.start_time%TYPE
1726: ,p_time_recipient IN hxc_time_recipients.time_recipient_id%TYPE
1727: ,p_tc_start_time IN hxc_time_building_blocks.start_time%TYPE
1728: ,p_tc_stop_time IN hxc_time_building_blocks.stop_time%TYPE
1721:
1722: PROCEDURE get_application_period(
1723: p_app_period_func IN VARCHAR2
1724: ,p_resource_id IN hxc_time_building_blocks.resource_id%TYPE
1725: ,p_day IN hxc_time_building_blocks.start_time%TYPE
1726: ,p_time_recipient IN hxc_time_recipients.time_recipient_id%TYPE
1727: ,p_tc_start_time IN hxc_time_building_blocks.start_time%TYPE
1728: ,p_tc_stop_time IN hxc_time_building_blocks.stop_time%TYPE
1729: ,p_assignment_periods IN hxc_timecard_utilities.periods
1723: p_app_period_func IN VARCHAR2
1724: ,p_resource_id IN hxc_time_building_blocks.resource_id%TYPE
1725: ,p_day IN hxc_time_building_blocks.start_time%TYPE
1726: ,p_time_recipient IN hxc_time_recipients.time_recipient_id%TYPE
1727: ,p_tc_start_time IN hxc_time_building_blocks.start_time%TYPE
1728: ,p_tc_stop_time IN hxc_time_building_blocks.stop_time%TYPE
1729: ,p_assignment_periods IN hxc_timecard_utilities.periods
1730: ,p_period_start OUT NOCOPY hxc_time_building_blocks.start_time%TYPE
1731: ,p_period_end OUT NOCOPY hxc_time_building_blocks.stop_time%TYPE
1724: ,p_resource_id IN hxc_time_building_blocks.resource_id%TYPE
1725: ,p_day IN hxc_time_building_blocks.start_time%TYPE
1726: ,p_time_recipient IN hxc_time_recipients.time_recipient_id%TYPE
1727: ,p_tc_start_time IN hxc_time_building_blocks.start_time%TYPE
1728: ,p_tc_stop_time IN hxc_time_building_blocks.stop_time%TYPE
1729: ,p_assignment_periods IN hxc_timecard_utilities.periods
1730: ,p_period_start OUT NOCOPY hxc_time_building_blocks.start_time%TYPE
1731: ,p_period_end OUT NOCOPY hxc_time_building_blocks.stop_time%TYPE
1732: )
1726: ,p_time_recipient IN hxc_time_recipients.time_recipient_id%TYPE
1727: ,p_tc_start_time IN hxc_time_building_blocks.start_time%TYPE
1728: ,p_tc_stop_time IN hxc_time_building_blocks.stop_time%TYPE
1729: ,p_assignment_periods IN hxc_timecard_utilities.periods
1730: ,p_period_start OUT NOCOPY hxc_time_building_blocks.start_time%TYPE
1731: ,p_period_end OUT NOCOPY hxc_time_building_blocks.stop_time%TYPE
1732: )
1733: IS
1734: l_period_start_date date;
1727: ,p_tc_start_time IN hxc_time_building_blocks.start_time%TYPE
1728: ,p_tc_stop_time IN hxc_time_building_blocks.stop_time%TYPE
1729: ,p_assignment_periods IN hxc_timecard_utilities.periods
1730: ,p_period_start OUT NOCOPY hxc_time_building_blocks.start_time%TYPE
1731: ,p_period_end OUT NOCOPY hxc_time_building_blocks.stop_time%TYPE
1732: )
1733: IS
1734: l_period_start_date date;
1735: l_period_end_date date;
1896: END;
1897:
1898:
1899: FUNCTION has_details(
1900: p_app_id IN hxc_time_building_blocks.time_building_block_id%TYPE
1901: )
1902: RETURN BOOLEAN
1903: IS
1904: CURSOR c_details(
1901: )
1902: RETURN BOOLEAN
1903: IS
1904: CURSOR c_details(
1905: p_app_id IN hxc_time_building_blocks.time_building_block_id%TYPE
1906: )
1907: IS
1908: SELECT details.time_building_block_id
1909: FROM hxc_ap_detail_links details
1906: )
1907: IS
1908: SELECT details.time_building_block_id
1909: FROM hxc_ap_detail_links details
1910: ,hxc_time_building_blocks blocks
1911: WHERE details.application_period_id = p_app_id
1912: AND details.time_building_block_id = blocks.time_building_block_id
1913: AND details.time_building_block_ovn = blocks.object_version_number
1914: AND blocks.date_to = hr_general.end_of_time;
1912: AND details.time_building_block_id = blocks.time_building_block_id
1913: AND details.time_building_block_ovn = blocks.object_version_number
1914: AND blocks.date_to = hr_general.end_of_time;
1915:
1916: l_detail_id hxc_time_building_blocks.time_building_block_id%TYPE;
1917: BEGIN
1918: OPEN c_details(p_app_id);
1919: FETCH c_details INTO l_detail_id;
1920: IF c_details%NOTFOUND
1927: CLOSE c_details;
1928: RETURN TRUE;
1929: END has_details;
1930:
1931: Procedure get_detail_links(p_app_id in hxc_time_building_blocks.time_building_block_id%TYPE,
1932: p_timecard_id in hxc_time_building_blocks.time_building_block_id%TYPE,
1933: p_blocks out nocopy block_table )
1934: IS
1935: Cursor c_detail_links IS
1928: RETURN TRUE;
1929: END has_details;
1930:
1931: Procedure get_detail_links(p_app_id in hxc_time_building_blocks.time_building_block_id%TYPE,
1932: p_timecard_id in hxc_time_building_blocks.time_building_block_id%TYPE,
1933: p_blocks out nocopy block_table )
1934: IS
1935: Cursor c_detail_links IS
1936: select time_building_block_id, time_building_block_ovn
1937: from hxc_ap_detail_links
1938: where application_period_id = p_app_id
1939: and time_building_block_id
1940: not in ( select detail.time_building_block_id
1941: from hxc_time_building_blocks detail,
1942: hxc_time_building_blocks day
1943: where detail.parent_building_block_id = day.time_building_block_id
1944: and detail.parent_building_block_ovn = day.object_version_number
1945: and day.scope = 'DAY'
1938: where application_period_id = p_app_id
1939: and time_building_block_id
1940: not in ( select detail.time_building_block_id
1941: from hxc_time_building_blocks detail,
1942: hxc_time_building_blocks day
1943: where detail.parent_building_block_id = day.time_building_block_id
1944: and detail.parent_building_block_ovn = day.object_version_number
1945: and day.scope = 'DAY'
1946: and detail.scope = 'DETAIL'
1962: Close c_detail_links;
1963: End get_detail_links;
1964:
1965: Procedure create_removed_links(p_removed_blocks block_table,
1966: p_app_id hxc_time_building_blocks.time_building_block_id%TYPE)
1967:
1968: IS
1969: Cursor c_detail_exists (p_app_id hxc_time_building_blocks.time_building_block_id%TYPE,
1970: p_time_building_block_id hxc_time_building_blocks.time_building_block_id%TYPE
1965: Procedure create_removed_links(p_removed_blocks block_table,
1966: p_app_id hxc_time_building_blocks.time_building_block_id%TYPE)
1967:
1968: IS
1969: Cursor c_detail_exists (p_app_id hxc_time_building_blocks.time_building_block_id%TYPE,
1970: p_time_building_block_id hxc_time_building_blocks.time_building_block_id%TYPE
1971: ) is
1972: select 1
1973: from hxc_ap_detail_links
1966: p_app_id hxc_time_building_blocks.time_building_block_id%TYPE)
1967:
1968: IS
1969: Cursor c_detail_exists (p_app_id hxc_time_building_blocks.time_building_block_id%TYPE,
1970: p_time_building_block_id hxc_time_building_blocks.time_building_block_id%TYPE
1971: ) is
1972: select 1
1973: from hxc_ap_detail_links
1974: where application_period_id = p_app_id
2034:
2035: PROCEDURE generate_app_period(
2036: p_item_type IN wf_item_types.name%type
2037: ,p_item_key IN wf_item_attribute_values.item_key%type
2038: ,p_timecard_id IN hxc_time_building_blocks.time_building_block_id%TYPE
2039: ,p_resource_id IN hxc_time_building_blocks.resource_id%TYPE
2040: ,p_start_time IN hxc_time_building_blocks.start_time%TYPE
2041: ,p_stop_time IN hxc_time_building_blocks.stop_time%TYPE
2042: ,p_time_recipient_id IN hxc_time_recipients.time_recipient_id%TYPE
2035: PROCEDURE generate_app_period(
2036: p_item_type IN wf_item_types.name%type
2037: ,p_item_key IN wf_item_attribute_values.item_key%type
2038: ,p_timecard_id IN hxc_time_building_blocks.time_building_block_id%TYPE
2039: ,p_resource_id IN hxc_time_building_blocks.resource_id%TYPE
2040: ,p_start_time IN hxc_time_building_blocks.start_time%TYPE
2041: ,p_stop_time IN hxc_time_building_blocks.stop_time%TYPE
2042: ,p_time_recipient_id IN hxc_time_recipients.time_recipient_id%TYPE
2043: ,p_recipient_sequence IN hxc_approval_comps.approval_order%TYPE
2036: p_item_type IN wf_item_types.name%type
2037: ,p_item_key IN wf_item_attribute_values.item_key%type
2038: ,p_timecard_id IN hxc_time_building_blocks.time_building_block_id%TYPE
2039: ,p_resource_id IN hxc_time_building_blocks.resource_id%TYPE
2040: ,p_start_time IN hxc_time_building_blocks.start_time%TYPE
2041: ,p_stop_time IN hxc_time_building_blocks.stop_time%TYPE
2042: ,p_time_recipient_id IN hxc_time_recipients.time_recipient_id%TYPE
2043: ,p_recipient_sequence IN hxc_approval_comps.approval_order%TYPE
2044: ,p_approval_comp IN approval_comp
2037: ,p_item_key IN wf_item_attribute_values.item_key%type
2038: ,p_timecard_id IN hxc_time_building_blocks.time_building_block_id%TYPE
2039: ,p_resource_id IN hxc_time_building_blocks.resource_id%TYPE
2040: ,p_start_time IN hxc_time_building_blocks.start_time%TYPE
2041: ,p_stop_time IN hxc_time_building_blocks.stop_time%TYPE
2042: ,p_time_recipient_id IN hxc_time_recipients.time_recipient_id%TYPE
2043: ,p_recipient_sequence IN hxc_approval_comps.approval_order%TYPE
2044: ,p_approval_comp IN approval_comp
2045: ,p_tc_resubmitted IN VARCHAR2
2049: )
2050: IS
2051:
2052: CURSOR c_app_period(
2053: p_resource_id hxc_time_building_blocks.resource_id%TYPE
2054: ,p_start_time hxc_time_building_blocks.start_time%TYPE
2055: ,p_stop_time hxc_time_building_blocks.stop_time%TYPE
2056: ,p_time_recipient_id hxc_time_recipients.time_recipient_id%TYPE
2057: ,p_recipient_sequence IN hxc_approval_comps.approval_order%TYPE
2050: IS
2051:
2052: CURSOR c_app_period(
2053: p_resource_id hxc_time_building_blocks.resource_id%TYPE
2054: ,p_start_time hxc_time_building_blocks.start_time%TYPE
2055: ,p_stop_time hxc_time_building_blocks.stop_time%TYPE
2056: ,p_time_recipient_id hxc_time_recipients.time_recipient_id%TYPE
2057: ,p_recipient_sequence IN hxc_approval_comps.approval_order%TYPE
2058: ,p_time_category_id hxc_time_categories.time_category_id%TYPE
2051:
2052: CURSOR c_app_period(
2053: p_resource_id hxc_time_building_blocks.resource_id%TYPE
2054: ,p_start_time hxc_time_building_blocks.start_time%TYPE
2055: ,p_stop_time hxc_time_building_blocks.stop_time%TYPE
2056: ,p_time_recipient_id hxc_time_recipients.time_recipient_id%TYPE
2057: ,p_recipient_sequence IN hxc_approval_comps.approval_order%TYPE
2058: ,p_time_category_id hxc_time_categories.time_category_id%TYPE
2059: ,p_category_sequence hxc_approval_comps.approval_order%TYPE
2075: --following added may12 for hr supervisor
2076: ORDER BY application_period_id asc;
2077:
2078: CURSOR c_tc_ap_link(
2079: p_timecard_id hxc_time_building_blocks.time_building_block_id%TYPE
2080: ,p_app_period_id hxc_time_building_blocks.time_building_block_id%TYPE
2081: )
2082: IS
2083: SELECT 'Y'
2076: ORDER BY application_period_id asc;
2077:
2078: CURSOR c_tc_ap_link(
2079: p_timecard_id hxc_time_building_blocks.time_building_block_id%TYPE
2080: ,p_app_period_id hxc_time_building_blocks.time_building_block_id%TYPE
2081: )
2082: IS
2083: SELECT 'Y'
2084: FROM hxc_tc_ap_links
2090: select approver_id
2091: from hxc_app_period_summary
2092: where application_period_id = p_app_period_id;
2093:
2094: CURSOR c_get_detail_blocks(p_application_period_id in hxc_time_building_blocks.time_building_block_id%type)
2095: is
2096: select adl.time_building_block_id,
2097: adl.time_building_block_ovn
2098: from hxc_ap_detail_links adl
2097: adl.time_building_block_ovn
2098: from hxc_ap_detail_links adl
2099: where adl.application_period_id = p_application_period_id;
2100:
2101: cursor get_max_ovn(p_bb_id in hxc_time_building_blocks.time_building_block_id%type)
2102: is
2103: select max(object_version_number)
2104: from hxc_time_building_blocks
2105: where time_building_block_id = p_bb_id;
2100:
2101: cursor get_max_ovn(p_bb_id in hxc_time_building_blocks.time_building_block_id%type)
2102: is
2103: select max(object_version_number)
2104: from hxc_time_building_blocks
2105: where time_building_block_id = p_bb_id;
2106:
2107: cursor get_item_key(p_bb_id in number)
2108: is
2110: from hxc_app_period_summary
2111: where application_period_id = p_bb_id;
2112:
2113:
2114: l_app_id hxc_time_building_blocks.time_building_block_id%TYPE := NULL;
2115: l_app_ovn hxc_time_building_blocks.object_version_number%TYPE := NULL;
2116: l_approval_status hxc_time_building_blocks.approval_status%TYPE := NULL;
2117: l_notification_status VARCHAR2(150) := NULL;
2118: l_app_comp_id hxc_app_period_summary.approval_comp_id%type;
2111: where application_period_id = p_bb_id;
2112:
2113:
2114: l_app_id hxc_time_building_blocks.time_building_block_id%TYPE := NULL;
2115: l_app_ovn hxc_time_building_blocks.object_version_number%TYPE := NULL;
2116: l_approval_status hxc_time_building_blocks.approval_status%TYPE := NULL;
2117: l_notification_status VARCHAR2(150) := NULL;
2118: l_app_comp_id hxc_app_period_summary.approval_comp_id%type;
2119: l_app_id_temp hxc_time_building_blocks.time_building_block_id%TYPE := NULL;
2112:
2113:
2114: l_app_id hxc_time_building_blocks.time_building_block_id%TYPE := NULL;
2115: l_app_ovn hxc_time_building_blocks.object_version_number%TYPE := NULL;
2116: l_approval_status hxc_time_building_blocks.approval_status%TYPE := NULL;
2117: l_notification_status VARCHAR2(150) := NULL;
2118: l_app_comp_id hxc_app_period_summary.approval_comp_id%type;
2119: l_app_id_temp hxc_time_building_blocks.time_building_block_id%TYPE := NULL;
2120: l_app_ovn_temp hxc_time_building_blocks.object_version_number%TYPE := NULL;
2115: l_app_ovn hxc_time_building_blocks.object_version_number%TYPE := NULL;
2116: l_approval_status hxc_time_building_blocks.approval_status%TYPE := NULL;
2117: l_notification_status VARCHAR2(150) := NULL;
2118: l_app_comp_id hxc_app_period_summary.approval_comp_id%type;
2119: l_app_id_temp hxc_time_building_blocks.time_building_block_id%TYPE := NULL;
2120: l_app_ovn_temp hxc_time_building_blocks.object_version_number%TYPE := NULL;
2121: l_app_status_temp hxc_time_building_blocks.approval_status%TYPE := NULL;
2122: l_notif_status_temp VARCHAR2(150) := NULL;
2123: l_app_comp_id_temp hxc_app_period_summary.approval_comp_id%type;
2116: l_approval_status hxc_time_building_blocks.approval_status%TYPE := NULL;
2117: l_notification_status VARCHAR2(150) := NULL;
2118: l_app_comp_id hxc_app_period_summary.approval_comp_id%type;
2119: l_app_id_temp hxc_time_building_blocks.time_building_block_id%TYPE := NULL;
2120: l_app_ovn_temp hxc_time_building_blocks.object_version_number%TYPE := NULL;
2121: l_app_status_temp hxc_time_building_blocks.approval_status%TYPE := NULL;
2122: l_notif_status_temp VARCHAR2(150) := NULL;
2123: l_app_comp_id_temp hxc_app_period_summary.approval_comp_id%type;
2124: l_first_app_period BOOLEAN;
2117: l_notification_status VARCHAR2(150) := NULL;
2118: l_app_comp_id hxc_app_period_summary.approval_comp_id%type;
2119: l_app_id_temp hxc_time_building_blocks.time_building_block_id%TYPE := NULL;
2120: l_app_ovn_temp hxc_time_building_blocks.object_version_number%TYPE := NULL;
2121: l_app_status_temp hxc_time_building_blocks.approval_status%TYPE := NULL;
2122: l_notif_status_temp VARCHAR2(150) := NULL;
2123: l_app_comp_id_temp hxc_app_period_summary.approval_comp_id%type;
2124: l_first_app_period BOOLEAN;
2125: l_time_category_id hxc_time_categories.time_category_id%TYPE := NULL;
2139: l_max_ovn number;
2140: l_item_key number ;
2141: l_blank varchar2(2) := 'N';
2142: l_active_details NUMBER; -- 8620917
2143: type rec_type is record(p_id hxc_time_building_blocks.time_building_block_id%TYPE,
2144: p_ovn hxc_time_building_blocks.time_building_block_id%TYPE);
2145:
2146:
2147: TYPE tab_type IS TABLE OF rec_type INDEX BY BINARY_INTEGER;
2140: l_item_key number ;
2141: l_blank varchar2(2) := 'N';
2142: l_active_details NUMBER; -- 8620917
2143: type rec_type is record(p_id hxc_time_building_blocks.time_building_block_id%TYPE,
2144: p_ovn hxc_time_building_blocks.time_building_block_id%TYPE);
2145:
2146:
2147: TYPE tab_type IS TABLE OF rec_type INDEX BY BINARY_INTEGER;
2148:
2218:
2219: l_first_app_period := FALSE;
2220:
2221: ELSE
2222: --should also end date them from hxc_time_building_blocks
2223: --remove them from hxc_app_period_summary
2224: --from hxc_tc_ap_links and hxc_ap_detail_links
2225:
2226: hxc_app_period_summary_api.app_period_delete(l_app_id_temp);
2498: -- modified this query for bug 8920827
2499: SELECT count(*)
2500: INTO l_active_details
2501: FROM hxc_ap_detail_links apdetail
2502: ,hxc_time_building_blocks detail
2503: ,hxc_latest_details latest
2504: WHERE apdetail.application_period_id = l_app_id
2505: AND apdetail.time_building_block_id = latest.time_building_block_id
2506: AND latest.time_building_block_id = detail.time_building_block_id
2801: -- choosing that style.
2802: --
2803: cursor csr_get_appr_style is
2804: SELECT day1.approval_style_id
2805: FROM hxc_time_building_blocks day1,
2806: hxc_time_building_blocks timecard
2807: WHERE day1.resource_id = p_resource_id
2808: AND day1.scope = 'DAY'
2809: AND day1.start_time BETWEEN p_period_start_date AND p_period_end_date
2802: --
2803: cursor csr_get_appr_style is
2804: SELECT day1.approval_style_id
2805: FROM hxc_time_building_blocks day1,
2806: hxc_time_building_blocks timecard
2807: WHERE day1.resource_id = p_resource_id
2808: AND day1.scope = 'DAY'
2809: AND day1.start_time BETWEEN p_period_start_date AND p_period_end_date
2810: AND day1.date_to = hr_general.end_of_time
2871: funcmode IN varchar2,
2872: result IN OUT NOCOPY varchar2) is
2873: --
2874: cursor csr_get_app_set_from_tc
2875: (p_timecard_id in hxc_time_building_blocks.time_building_block_id%type,
2876: p_timecard_ovn in hxc_time_building_blocks.object_version_number%type) is
2877: select to_char(application_set_id)
2878: from hxc_time_building_blocks
2879: where time_building_block_id = p_timecard_id
2872: result IN OUT NOCOPY varchar2) is
2873: --
2874: cursor csr_get_app_set_from_tc
2875: (p_timecard_id in hxc_time_building_blocks.time_building_block_id%type,
2876: p_timecard_ovn in hxc_time_building_blocks.object_version_number%type) is
2877: select to_char(application_set_id)
2878: from hxc_time_building_blocks
2879: where time_building_block_id = p_timecard_id
2880: and object_version_number = p_timecard_ovn;
2874: cursor csr_get_app_set_from_tc
2875: (p_timecard_id in hxc_time_building_blocks.time_building_block_id%type,
2876: p_timecard_ovn in hxc_time_building_blocks.object_version_number%type) is
2877: select to_char(application_set_id)
2878: from hxc_time_building_blocks
2879: where time_building_block_id = p_timecard_id
2880: and object_version_number = p_timecard_ovn;
2881: --
2882: cursor csr_get_tc_info(p_bld_blk_id number,
2881: --
2882: cursor csr_get_tc_info(p_bld_blk_id number,
2883: p_ovn number) is
2884: select tc.resource_id, tc.start_time, tc.stop_time
2885: from hxc_time_building_blocks tc
2886: where tc.time_building_block_id = p_bld_blk_id
2887: and tc.object_version_number = p_ovn;
2888: --
2889: cursor csr_get_apps(p_app_set varchar2) is
2903: select day.time_building_block_id,
2904: day.start_time,
2905: day.stop_time,
2906: day.object_version_number
2907: from hxc_time_building_blocks day
2908: where day.parent_building_block_id = p_tc_bld_blk_id
2909: and day.parent_building_block_ovn = p_tc_ovn
2910: and day.scope = 'DAY'
2911: and day.object_version_number = (select max(day2.object_version_number)
2908: where day.parent_building_block_id = p_tc_bld_blk_id
2909: and day.parent_building_block_ovn = p_tc_ovn
2910: and day.scope = 'DAY'
2911: and day.object_version_number = (select max(day2.object_version_number)
2912: from hxc_time_building_blocks day2
2913: where day.time_building_block_id =
2914: day2.time_building_block_id)
2915: order by 2;
2916: --
3124: TYPE NUMTAB IS TABLE OF NUMBER;
3125: l_cat_tab NUMTAB;
3126:
3127:
3128: cursor c_app_overlap_data_set(l_app_start_date hxc_time_building_blocks.start_time%type,
3129: l_app_stop_date hxc_time_building_blocks.start_time%type,
3130: l_tc_start_time hxc_time_building_blocks.start_time%type )
3131: is
3132: select '1' from hxc_data_sets
3125: l_cat_tab NUMTAB;
3126:
3127:
3128: cursor c_app_overlap_data_set(l_app_start_date hxc_time_building_blocks.start_time%type,
3129: l_app_stop_date hxc_time_building_blocks.start_time%type,
3130: l_tc_start_time hxc_time_building_blocks.start_time%type )
3131: is
3132: select '1' from hxc_data_sets
3133: where (((l_app_start_date between start_date and end_date) and (l_app_start_date
3126:
3127:
3128: cursor c_app_overlap_data_set(l_app_start_date hxc_time_building_blocks.start_time%type,
3129: l_app_stop_date hxc_time_building_blocks.start_time%type,
3130: l_tc_start_time hxc_time_building_blocks.start_time%type )
3131: is
3132: select '1' from hxc_data_sets
3133: where (((l_app_start_date between start_date and end_date) and (l_app_start_date
3144: -- New variables.
3145: l_pref_table hxc_preference_evaluation.t_pref_table;
3146: l_elp_rule NUMBER := 0;
3147:
3148: l_processed_app_start hxc_time_building_blocks.start_time%TYPE;
3149: l_processed_app_stop hxc_time_building_blocks.stop_time%TYPE;
3150: l_gen_app_period boolean;
3151:
3152: BEGIN
3145: l_pref_table hxc_preference_evaluation.t_pref_table;
3146: l_elp_rule NUMBER := 0;
3147:
3148: l_processed_app_start hxc_time_building_blocks.start_time%TYPE;
3149: l_processed_app_stop hxc_time_building_blocks.stop_time%TYPE;
3150: l_gen_app_period boolean;
3151:
3152: BEGIN
3153:
3804: --
3805:
3806:
3807: FUNCTION chk_app_approved(
3808: p_resource_id IN hxc_time_building_blocks.resource_id%TYPE
3809: ,p_period_start_date IN hxc_time_building_blocks.start_time%TYPE
3810: ,p_period_end_date IN hxc_time_building_blocks.stop_time%TYPE
3811: ,p_time_recipient_id IN hxc_time_recipients.time_recipient_id%TYPE
3812: ,p_recipient_sequence IN hxc_app_period_summary.recipient_sequence%TYPE
3805:
3806:
3807: FUNCTION chk_app_approved(
3808: p_resource_id IN hxc_time_building_blocks.resource_id%TYPE
3809: ,p_period_start_date IN hxc_time_building_blocks.start_time%TYPE
3810: ,p_period_end_date IN hxc_time_building_blocks.stop_time%TYPE
3811: ,p_time_recipient_id IN hxc_time_recipients.time_recipient_id%TYPE
3812: ,p_recipient_sequence IN hxc_app_period_summary.recipient_sequence%TYPE
3813: ,p_time_category_id IN hxc_time_categories.time_category_id%TYPE
3806:
3807: FUNCTION chk_app_approved(
3808: p_resource_id IN hxc_time_building_blocks.resource_id%TYPE
3809: ,p_period_start_date IN hxc_time_building_blocks.start_time%TYPE
3810: ,p_period_end_date IN hxc_time_building_blocks.stop_time%TYPE
3811: ,p_time_recipient_id IN hxc_time_recipients.time_recipient_id%TYPE
3812: ,p_recipient_sequence IN hxc_app_period_summary.recipient_sequence%TYPE
3813: ,p_time_category_id IN hxc_time_categories.time_category_id%TYPE
3814: ,p_category_sequence IN hxc_app_period_summary.category_sequence%TYPE
3817: IS
3818:
3819: CURSOR csr_chk(
3820: p_date DATE
3821: ,p_resource_id hxc_time_building_blocks.resource_id%TYPE
3822: ,p_period_start_date hxc_time_building_blocks.start_time%TYPE
3823: ,p_period_end_date hxc_time_building_blocks.stop_time%TYPE
3824: ,p_time_recipient_id hxc_time_recipients.time_recipient_id%TYPE
3825: ,p_recipient_sequence hxc_app_period_summary.recipient_sequence%TYPE
3818:
3819: CURSOR csr_chk(
3820: p_date DATE
3821: ,p_resource_id hxc_time_building_blocks.resource_id%TYPE
3822: ,p_period_start_date hxc_time_building_blocks.start_time%TYPE
3823: ,p_period_end_date hxc_time_building_blocks.stop_time%TYPE
3824: ,p_time_recipient_id hxc_time_recipients.time_recipient_id%TYPE
3825: ,p_recipient_sequence hxc_app_period_summary.recipient_sequence%TYPE
3826: ,p_time_category_id hxc_time_categories.time_category_id%TYPE
3819: CURSOR csr_chk(
3820: p_date DATE
3821: ,p_resource_id hxc_time_building_blocks.resource_id%TYPE
3822: ,p_period_start_date hxc_time_building_blocks.start_time%TYPE
3823: ,p_period_end_date hxc_time_building_blocks.stop_time%TYPE
3824: ,p_time_recipient_id hxc_time_recipients.time_recipient_id%TYPE
3825: ,p_recipient_sequence hxc_app_period_summary.recipient_sequence%TYPE
3826: ,p_time_category_id hxc_time_categories.time_category_id%TYPE
3827: ,p_category_sequence hxc_app_period_summary.category_sequence%TYPE
3923: End has_valid_assign;
3924:
3925: FUNCTION is_submitted(
3926: p_day IN DATE
3927: ,p_resource_id IN hxc_time_building_blocks.resource_id%TYPE
3928: )
3929: RETURN BOOLEAN
3930: IS
3931: CURSOR c_submitted(
3929: RETURN BOOLEAN
3930: IS
3931: CURSOR c_submitted(
3932: p_day IN DATE
3933: ,p_resource_id IN hxc_time_building_blocks.resource_id%TYPE
3934: )
3935: IS
3936: SELECT 'Y'
3937: FROM hxc_time_building_blocks day
3933: ,p_resource_id IN hxc_time_building_blocks.resource_id%TYPE
3934: )
3935: IS
3936: SELECT 'Y'
3937: FROM hxc_time_building_blocks day
3938: ,hxc_time_building_blocks tc
3939: WHERE TRUNC(day.start_time) = p_day
3940: AND day.scope = 'DAY'
3941: AND day.approval_status = 'SUBMITTED'
3934: )
3935: IS
3936: SELECT 'Y'
3937: FROM hxc_time_building_blocks day
3938: ,hxc_time_building_blocks tc
3939: WHERE TRUNC(day.start_time) = p_day
3940: AND day.scope = 'DAY'
3941: AND day.approval_status = 'SUBMITTED'
3942: AND day.resource_id = p_resource_id
4015: p_ovn number
4016: )
4017: IS
4018: select tc.resource_id, tc.start_time, tc.stop_time,tc.last_updated_by
4019: from hxc_time_building_blocks tc
4020: where tc.time_building_block_id = p_bld_blk_id
4021: and tc.object_version_number = p_ovn;
4022:
4023:
4560: -----------------------------------------new procedures
4561:
4562: /*
4563: FUNCTION get_approval_style(
4564: p_app_id IN hxc_time_building_blocks.time_building_block_id
4565: ,p_app_ovn IN hxc_time_building_blocks.object_version_number
4566: ) RETURN hxc_approval_styles.approval_style_id%TYPE
4567: IS
4568: l_approval_style hxc_approval_styles.approval_style_id%TYPE;
4561:
4562: /*
4563: FUNCTION get_approval_style(
4564: p_app_id IN hxc_time_building_blocks.time_building_block_id
4565: ,p_app_ovn IN hxc_time_building_blocks.object_version_number
4566: ) RETURN hxc_approval_styles.approval_style_id%TYPE
4567: IS
4568: l_approval_style hxc_approval_styles.approval_style_id%TYPE;
4569:
4567: IS
4568: l_approval_style hxc_approval_styles.approval_style_id%TYPE;
4569:
4570: CURSOR c_approval_style(
4571: p_app_id IN hxc_time_building_blocks.time_building_block_id
4572: )
4573: IS
4574: SELECT tc.approval_style_id
4575: FROM hxc_timecard_summary tc
4593: */
4594:
4595:
4596: FUNCTION get_approval_style(
4597: p_timecard_id IN hxc_time_building_blocks.time_building_block_id%TYPE
4598: ,p_timecard_ovn IN hxc_time_building_blocks.object_version_number%TYPE
4599: ) RETURN hxc_approval_styles.approval_style_id%TYPE
4600: IS
4601: l_approval_style_id hxc_approval_styles.approval_style_id%TYPE := NULL;
4594:
4595:
4596: FUNCTION get_approval_style(
4597: p_timecard_id IN hxc_time_building_blocks.time_building_block_id%TYPE
4598: ,p_timecard_ovn IN hxc_time_building_blocks.object_version_number%TYPE
4599: ) RETURN hxc_approval_styles.approval_style_id%TYPE
4600: IS
4601: l_approval_style_id hxc_approval_styles.approval_style_id%TYPE := NULL;
4602: /*
4600: IS
4601: l_approval_style_id hxc_approval_styles.approval_style_id%TYPE := NULL;
4602: /*
4603: CURSOR c_approval_style(
4604: p_timecard_id IN hxc_time_building_blocks.time_building_block_id%TYPE
4605: )
4606: IS
4607: select approval_style_id
4608: from hxc_timecard_summary
5007: is
5008: select hac.approval_comp_id
5009: from hxc_approval_comps hac,
5010: hxc_approval_styles has,
5011: hxc_time_building_blocks htb
5012: where htb.time_building_block_id =p_bb_id
5013: and htb.object_version_number = p_bb_ovn
5014: and htb.approval_style_id = has.approval_style_id
5015: and has.approval_style_id = hac.APPROVAL_STYLE_ID
5220:
5221: if g_debug then
5222: hr_utility.set_location(l_proc, 110);
5223: end if;
5224: --jxtan in new implementation, comment is save in hxc_time_building_blocks
5225: UPDATE hxc_time_building_blocks
5226: SET comment_text = substr(l_exception, 1, 2000)
5227: WHERE time_building_block_id = l_app_bld_blk_id
5228: AND object_version_number = l_app_ovn;
5221: if g_debug then
5222: hr_utility.set_location(l_proc, 110);
5223: end if;
5224: --jxtan in new implementation, comment is save in hxc_time_building_blocks
5225: UPDATE hxc_time_building_blocks
5226: SET comment_text = substr(l_exception, 1, 2000)
5227: WHERE time_building_block_id = l_app_bld_blk_id
5228: AND object_version_number = l_app_ovn;
5229:
5333: select day.resource_id,
5334: day.time_building_block_id,
5335: day.approval_style_id,
5336: max(day.object_version_number)
5337: from hxc_time_building_blocks day,
5338: hxc_time_building_blocks app
5339: where app.time_building_block_id = p_app_bld_blk_id
5340: and app.object_version_number = p_app_ovn
5341: and app.scope = 'APPLICATION_PERIOD'
5334: day.time_building_block_id,
5335: day.approval_style_id,
5336: max(day.object_version_number)
5337: from hxc_time_building_blocks day,
5338: hxc_time_building_blocks app
5339: where app.time_building_block_id = p_app_bld_blk_id
5340: and app.object_version_number = p_app_ovn
5341: and app.scope = 'APPLICATION_PERIOD'
5342: and app.resource_id = day.resource_id
5665: END find_approval_rule;
5666: --
5667: --
5668: FUNCTION was_approved(
5669: p_app_period_id IN hxc_time_building_blocks.time_building_block_id%TYPE
5670: ,p_app_period_ovn IN hxc_time_building_blocks.object_version_number%TYPE
5671: )
5672: RETURN BOOLEAN
5673: IS
5666: --
5667: --
5668: FUNCTION was_approved(
5669: p_app_period_id IN hxc_time_building_blocks.time_building_block_id%TYPE
5670: ,p_app_period_ovn IN hxc_time_building_blocks.object_version_number%TYPE
5671: )
5672: RETURN BOOLEAN
5673: IS
5674: CURSOR c_was_approved(
5671: )
5672: RETURN BOOLEAN
5673: IS
5674: CURSOR c_was_approved(
5675: p_app_period_id IN hxc_time_building_blocks.time_building_block_id%TYPE
5676: ,p_app_period_ovn IN hxc_time_building_blocks.object_version_number%TYPE
5677: )
5678: IS
5679: SELECT 'Y'
5672: RETURN BOOLEAN
5673: IS
5674: CURSOR c_was_approved(
5675: p_app_period_id IN hxc_time_building_blocks.time_building_block_id%TYPE
5676: ,p_app_period_ovn IN hxc_time_building_blocks.object_version_number%TYPE
5677: )
5678: IS
5679: SELECT 'Y'
5680: FROM hxc_time_building_blocks
5676: ,p_app_period_ovn IN hxc_time_building_blocks.object_version_number%TYPE
5677: )
5678: IS
5679: SELECT 'Y'
5680: FROM hxc_time_building_blocks
5681: WHERE time_building_block_id = p_app_period_id
5682: AND object_version_number < p_app_period_ovn
5683: AND approval_status = 'APPROVED';
5684:
5697:
5698: END was_approved;
5699:
5700: FUNCTION same_no_blocks(
5701: p_timecard_id IN hxc_time_building_blocks.time_building_block_id%TYPE
5702: ,p_timecard_ovn IN hxc_time_building_blocks.object_version_number%TYPE
5703: )
5704: RETURN BOOLEAN
5705: IS
5698: END was_approved;
5699:
5700: FUNCTION same_no_blocks(
5701: p_timecard_id IN hxc_time_building_blocks.time_building_block_id%TYPE
5702: ,p_timecard_ovn IN hxc_time_building_blocks.object_version_number%TYPE
5703: )
5704: RETURN BOOLEAN
5705: IS
5706: CURSOR c_no_blocks(
5703: )
5704: RETURN BOOLEAN
5705: IS
5706: CURSOR c_no_blocks(
5707: p_timecard_id IN hxc_time_building_blocks.time_building_block_id%TYPE
5708: ,p_timecard_ovn IN hxc_time_building_blocks.object_version_number%TYPE
5709: )
5710: IS
5711: SELECT COUNT(*)
5704: RETURN BOOLEAN
5705: IS
5706: CURSOR c_no_blocks(
5707: p_timecard_id IN hxc_time_building_blocks.time_building_block_id%TYPE
5708: ,p_timecard_ovn IN hxc_time_building_blocks.object_version_number%TYPE
5709: )
5710: IS
5711: SELECT COUNT(*)
5712: FROM hxc_time_building_blocks
5708: ,p_timecard_ovn IN hxc_time_building_blocks.object_version_number%TYPE
5709: )
5710: IS
5711: SELECT COUNT(*)
5712: FROM hxc_time_building_blocks
5713: START WITH time_building_block_id = p_timecard_id
5714: AND object_version_number = p_timecard_ovn
5715: CONNECT by prior time_building_block_id =
5716: parent_building_block_id
5717: and prior object_version_number =
5718: parent_building_block_ovn;
5719:
5720: CURSOR c_old_tc(
5721: p_timecard_id IN hxc_time_building_blocks.time_building_block_id%TYPE
5722: ,p_timecard_ovn IN hxc_time_building_blocks.object_version_number%TYPE
5723: )
5724: IS
5725: SELECT object_version_number
5718: parent_building_block_ovn;
5719:
5720: CURSOR c_old_tc(
5721: p_timecard_id IN hxc_time_building_blocks.time_building_block_id%TYPE
5722: ,p_timecard_ovn IN hxc_time_building_blocks.object_version_number%TYPE
5723: )
5724: IS
5725: SELECT object_version_number
5726: FROM hxc_time_building_blocks
5722: ,p_timecard_ovn IN hxc_time_building_blocks.object_version_number%TYPE
5723: )
5724: IS
5725: SELECT object_version_number
5726: FROM hxc_time_building_blocks
5727: WHERE time_building_block_id = p_timecard_id
5728: AND approval_status = 'SUBMITTED'
5729: AND object_version_number < p_timecard_ovn
5730: ORDER BY object_version_number desc;
5730: ORDER BY object_version_number desc;
5731:
5732: l_current_tc_count NUMBER;
5733: l_old_tc_count NUMBER;
5734: l_previous_tc_ovn hxc_time_building_blocks.object_version_number%TYPE := NULL;
5735: BEGIN
5736: OPEN c_old_tc(p_timecard_id, p_timecard_ovn);
5737: FETCH c_old_tc INTO l_previous_tc_ovn;
5738: CLOSE c_old_tc;
5803: order by dar.start_date;
5804:
5805: CURSOR csr_get_tc_dates ( p_bb_id NUMBER, p_bb_ovn NUMBER )IS
5806: SELECT start_time, stop_time
5807: FROM hxc_time_building_blocks
5808: WHERE time_building_block_id = p_bb_id
5809: AND object_version_number = p_bb_ovn;
5810: --
5811: l_data_appr_rule_id hxc_time_entry_rules.time_entry_rule_id%type;
5832: l_changed varchar2(10);
5833: l_cnt number;
5834: l_resubmit varchar2(10);
5835: l_bb_new varchar2(10);
5836: l_appl_period_bb_id hxc_time_building_blocks.time_building_block_id%TYPE;
5837: l_appl_period_bb_ovn hxc_time_building_blocks.object_version_number%TYPE;
5838: -- l_item_key wf_items.item_key%type;
5839: l_proc varchar2(100) := 'HXC_APPROVAL_WF_PKG.execute_appr_rule';
5840: --
5833: l_cnt number;
5834: l_resubmit varchar2(10);
5835: l_bb_new varchar2(10);
5836: l_appl_period_bb_id hxc_time_building_blocks.time_building_block_id%TYPE;
5837: l_appl_period_bb_ovn hxc_time_building_blocks.object_version_number%TYPE;
5838: -- l_item_key wf_items.item_key%type;
5839: l_proc varchar2(100) := 'HXC_APPROVAL_WF_PKG.execute_appr_rule';
5840: --
5841: BEGIN
5987: RETURN;
5988: END IF;
5989:
5990: --
5991: -- Check to see if any values in hxc_time_building_blocks have
5992: -- changed for the submitted timecard.
5993: --
5994: IF l_bb_new = 'YES' THEN
5995: l_bld_blk_changed := TRUE;
6008: END IF;
6009: END IF;
6010: --
6011: -- Check to see if the mappings have changed for the submitted
6012: -- timecard, if nothing in hxc_time_building_blocks has changed.
6013: --
6014: IF l_bld_blk_changed THEN
6015: --
6016: if g_debug then
6308: --
6309: FUNCTION get_override(p_timecard_bb_id NUMBER
6310: ,p_timecard_ovn NUMBER) RETURN NUMBER IS
6311: --
6312: l_return hxc_time_building_blocks.resource_id%TYPE;
6313: --
6314: cursor csr_get_override_id is
6315: select to_number(ta.attribute10)
6316: from hxc_time_attributes ta,
6314: cursor csr_get_override_id is
6315: select to_number(ta.attribute10)
6316: from hxc_time_attributes ta,
6317: hxc_time_attribute_usages tau,
6318: hxc_time_building_blocks tbb
6319: where tbb.time_building_block_id = p_timecard_bb_id
6320: and tbb.object_version_number = p_timecard_ovn
6321: and tbb.time_building_block_id = tau.time_building_block_id
6322: and tbb.object_version_number = tau.time_building_block_ovn