7: ||
8: -------------------------------------------------------------------------*/
9:
10: -- Global package name
11: g_debug BOOLEAN := hr_utility.debug_enabled;
12: g_package CONSTANT VARCHAR2 (33) := 'hxt_time_collection.';
13: g_cache BOOLEAN := TRUE;
14: g_max_tc_allowed PLS_INTEGER := fnd_profile.VALUE ('HXT_BATCH_SIZE');
15:
29: RETURN BOOLEAN
30: IS
31: l_proc VARCHAR2 (72);
32: BEGIN
33: g_debug := hr_utility.debug_enabled;
34:
35: IF g_debug
36: THEN
37: l_proc := g_package || 'cache';
34:
35: IF g_debug
36: THEN
37: l_proc := g_package || 'cache';
38: hr_utility.set_location ('Entering:' || l_proc, 10);
39: END IF;
40:
41: IF (g_cache)
42: THEN
41: IF (g_cache)
42: THEN
43: IF g_debug
44: THEN
45: hr_utility.set_location (' returning g_cache = TRUE', 20);
46: END IF;
47: ELSE
48: IF g_debug
49: THEN
46: END IF;
47: ELSE
48: IF g_debug
49: THEN
50: hr_utility.set_location (' returning g_cache = FALSE', 30);
51: END IF;
52: END IF;
53:
54: IF g_debug
52: END IF;
53:
54: IF g_debug
55: THEN
56: hr_utility.set_location ('Leaving:' || l_proc, 100);
57: END IF;
58:
59: RETURN g_cache;
60: END CACHE;
62: PROCEDURE set_cache (p_cache IN BOOLEAN)
63: IS
64: l_proc VARCHAR2 (72);
65: BEGIN
66: g_debug := hr_utility.debug_enabled;
67:
68: IF g_debug
69: THEN
70: l_proc := g_package || 'set_cache';
67:
68: IF g_debug
69: THEN
70: l_proc := g_package || 'set_cache';
71: hr_utility.set_location ('Entering:' || l_proc, 10);
72: END IF;
73:
74: IF (p_cache)
75: THEN
74: IF (p_cache)
75: THEN
76: IF g_debug
77: THEN
78: hr_utility.set_location (' setting g_cache to TRUE', 20);
79: END IF;
80: ELSE
81: IF g_debug
82: THEN
79: END IF;
80: ELSE
81: IF g_debug
82: THEN
83: hr_utility.set_location (' setting g_cache to FALSE', 30);
84: END IF;
85: END IF;
86:
87: g_cache := p_cache;
87: g_cache := p_cache;
88:
89: IF g_debug
90: THEN
91: hr_utility.set_location ('Leaving:' || l_proc, 100);
92: END IF;
93: END set_cache;
94:
95: FUNCTION round_time (p_time DATE, p_interval NUMBER, p_round_up NUMBER)
373: END IF;
374:
375: IF g_debug
376: THEN
377: hr_utility.TRACE ('Adding to g_otm_messages' || p_msg_name);
378: END IF;
379: END;
380:
381: -- p_mode IN VARCHAR2 default 'INSERT');
557: l_oracle_error VARCHAR2 (512) DEFAULT NULL;
558: l_emp_rec g_employee_cur%ROWTYPE;
559: l_proc VARCHAR2 (100);
560: BEGIN
561: g_debug := hr_utility.debug_enabled;
562:
563: IF g_debug
564: THEN
565: l_proc := 'hxt_time_collection.RECORD_TIME';
562:
563: IF g_debug
564: THEN
565: l_proc := 'hxt_time_collection.RECORD_TIME';
566: hr_utility.set_location (l_proc, 10);
567: END IF;
568:
569: SAVEPOINT only_validate;
570:
569: SAVEPOINT only_validate;
570:
571: IF g_debug
572: THEN
573: hr_utility.set_location (l_proc, 20);
574: END IF;
575:
576: /* Initialize globals */
577: g_batch_ref := batch_ref;
582: g_login_id := fnd_global.login_id;
583:
584: IF g_debug
585: THEN
586: hr_utility.set_location (l_proc, 30);
587: END IF;
588:
589: /* Copy parameters to error variables */
590: e_timecard_source := timecard_source;
642: e_zip_code := p_zip_code;
643:
644: IF g_debug
645: THEN
646: hr_utility.TRACE ('Done INIT');
647: hr_utility.set_location (l_proc, 40);
648: END IF;
649:
650: /*Get Session Date*/
643:
644: IF g_debug
645: THEN
646: hr_utility.TRACE ('Done INIT');
647: hr_utility.set_location (l_proc, 40);
648: END IF;
649:
650: /*Get Session Date*/
651: l_retcode := hxt_tim_col_util.get_session_date (g_sess_date);
651: l_retcode := hxt_tim_col_util.get_session_date (g_sess_date);
652:
653: IF g_debug
654: THEN
655: hr_utility.TRACE ('l_retcode :' || l_retcode);
656: END IF;
657:
658: IF l_retcode = 1
659: THEN
658: IF l_retcode = 1
659: THEN
660: IF g_debug
661: THEN
662: hr_utility.set_location (l_proc, 50);
663: END IF;
664:
665: RAISE l_sess_date_err;
666: END IF;
666: END IF;
667:
668: IF g_debug
669: THEN
670: hr_utility.TRACE ('GOT SESS DATE');
671: END IF;
672:
673: /* Validate dt_update_mode */
674: IF (time_summary_id IS NOT NULL) AND (dt_update_mode IS NULL)
674: IF (time_summary_id IS NOT NULL) AND (dt_update_mode IS NULL)
675: THEN
676: IF g_debug
677: THEN
678: hr_utility.set_location (l_proc, 60);
679: END IF;
680:
681: RAISE l_dt_upt_mode_null_err;
682: END IF;
687: )
688: THEN
689: IF g_debug
690: THEN
691: hr_utility.set_location (l_proc, 70);
692: END IF;
693:
694: RAISE l_dt_update_mode_err;
695: END IF;
695: END IF;
696:
697: IF g_debug
698: THEN
699: hr_utility.TRACE ('VALID DT MODE');
700: hr_utility.set_location (l_proc, 80);
701: END IF;
702:
703: /* Validate time summary id */
696:
697: IF g_debug
698: THEN
699: hr_utility.TRACE ('VALID DT MODE');
700: hr_utility.set_location (l_proc, 80);
701: END IF;
702:
703: /* Validate time summary id */
704: IF time_summary_id IS NOT NULL
704: IF time_summary_id IS NOT NULL
705: THEN
706: IF g_debug
707: THEN
708: hr_utility.set_location (l_proc, 90);
709: END IF;
710:
711: l_retcode :=
712: hxt_tim_col_util.validate_time_summary_id (time_summary_id);
712: hxt_tim_col_util.validate_time_summary_id (time_summary_id);
713:
714: IF g_debug
715: THEN
716: hr_utility.TRACE ('l_retcode :' || l_retcode);
717: END IF;
718:
719: IF l_retcode = 1
720: THEN
719: IF l_retcode = 1
720: THEN
721: IF g_debug
722: THEN
723: hr_utility.set_location (l_proc, 100);
724: END IF;
725:
726: RAISE l_time_summary_id_data_err;
727: ELSIF l_retcode = 2
727: ELSIF l_retcode = 2
728: THEN
729: IF g_debug
730: THEN
731: hr_utility.set_location (l_proc, 110);
732: END IF;
733:
734: RAISE l_time_summary_id_sys_err;
735: END IF;
736: END IF;
737:
738: IF g_debug
739: THEN
740: hr_utility.set_location (l_proc, 120);
741: END IF;
742:
743: /* Check for and perform any deletes */
744: IF delete_yn = 'Y' AND time_summary_id IS NOT NULL
744: IF delete_yn = 'Y' AND time_summary_id IS NOT NULL
745: THEN
746: IF g_debug
747: THEN
748: hr_utility.set_location (l_proc, 130);
749: END IF;
750:
751: l_retcode := delete_summary_record (time_summary_id);
752:
751: l_retcode := delete_summary_record (time_summary_id);
752:
753: IF g_debug
754: THEN
755: hr_utility.TRACE ('l_retcode :' || l_retcode);
756: END IF;
757:
758: IF l_retcode = 1
759: THEN
758: IF l_retcode = 1
759: THEN
760: IF g_debug
761: THEN
762: hr_utility.set_location (l_proc, 140);
763: END IF;
764:
765: RAISE l_delete_sys_error;
766: END IF;
766: END IF;
767:
768: IF g_debug
769: THEN
770: hr_utility.set_location (l_proc, 150);
771: END IF;
772:
773: RAISE l_delete_finished;
774: END IF;
777: /* If there are start and end times derive date from them */
778: /* otherwise use date_worked parameter value. */
779: IF g_debug
780: THEN
781: hr_utility.TRACE ('date_worked :' || date_worked);
782: hr_utility.TRACE ('start_time :' || start_time);
783: hr_utility.TRACE ('end_time :' || end_time);
784: END IF;
785:
778: /* otherwise use date_worked parameter value. */
779: IF g_debug
780: THEN
781: hr_utility.TRACE ('date_worked :' || date_worked);
782: hr_utility.TRACE ('start_time :' || start_time);
783: hr_utility.TRACE ('end_time :' || end_time);
784: END IF;
785:
786: IF start_time IS NOT NULL OR end_time IS NOT NULL
779: IF g_debug
780: THEN
781: hr_utility.TRACE ('date_worked :' || date_worked);
782: hr_utility.TRACE ('start_time :' || start_time);
783: hr_utility.TRACE ('end_time :' || end_time);
784: END IF;
785:
786: IF start_time IS NOT NULL OR end_time IS NOT NULL
787: THEN
786: IF start_time IS NOT NULL OR end_time IS NOT NULL
787: THEN
788: IF g_debug
789: THEN
790: hr_utility.set_location (l_proc, 160);
791: END IF;
792:
793: IF start_time IS NULL OR end_time IS NULL
794: THEN
793: IF start_time IS NULL OR end_time IS NULL
794: THEN
795: IF g_debug
796: THEN
797: hr_utility.set_location (l_proc, 170);
798: END IF;
799:
800: RAISE l_start_end_data_err;
801: ELSE
800: RAISE l_start_end_data_err;
801: ELSE
802: IF g_debug
803: THEN
804: hr_utility.set_location (l_proc, 180);
805: END IF;
806:
807: l_retcode :=
808: hxt_tim_col_util.determine_pay_date (start_time,
814: IF l_retcode = 1
815: THEN
816: IF g_debug
817: THEN
818: hr_utility.set_location (l_proc, 190);
819: END IF;
820:
821: RAISE l_pay_date_data_err;
822: ELSIF l_retcode = 2
822: ELSIF l_retcode = 2
823: THEN
824: IF g_debug
825: THEN
826: hr_utility.set_location (l_proc, 200);
827: END IF;
828:
829: RAISE l_pay_date_sys_err;
830: END IF;
830: END IF;
831:
832: IF g_debug
833: THEN
834: hr_utility.set_location (l_proc, 210);
835: END IF;
836:
837: /* Calcualte hours worked */
838: l_hours := 24
839: * (TRUNC (end_time, 'MI') - TRUNC (start_time, 'MI'));
840:
841: IF g_debug
842: THEN
843: hr_utility.TRACE ('l_hours :' || l_hours);
844: END IF;
845: END IF;
846: ELSIF date_worked IS NOT NULL
847: THEN
846: ELSIF date_worked IS NOT NULL
847: THEN
848: IF g_debug
849: THEN
850: hr_utility.set_location (l_proc, 220);
851: hr_utility.TRACE ('DATE WORKED is not null');
852: END IF;
853:
854: l_date_worked := date_worked;
847: THEN
848: IF g_debug
849: THEN
850: hr_utility.set_location (l_proc, 220);
851: hr_utility.TRACE ('DATE WORKED is not null');
852: END IF;
853:
854: l_date_worked := date_worked;
855:
854: l_date_worked := date_worked;
855:
856: IF g_debug
857: THEN
858: hr_utility.TRACE ('l_date_worked :' || l_date_worked);
859: hr_utility.TRACE ('TRUNC(date_worked) :' || TRUNC (date_worked));
860: END IF;
861:
862: IF date_worked <> TRUNC (date_worked)
855:
856: IF g_debug
857: THEN
858: hr_utility.TRACE ('l_date_worked :' || l_date_worked);
859: hr_utility.TRACE ('TRUNC(date_worked) :' || TRUNC (date_worked));
860: END IF;
861:
862: IF date_worked <> TRUNC (date_worked)
863: THEN
862: IF date_worked <> TRUNC (date_worked)
863: THEN
864: IF g_debug
865: THEN
866: hr_utility.set_location (l_proc, 230);
867: END IF;
868:
869: RAISE l_date_worked_time_err;
870: END IF;
870: END IF;
871:
872: IF g_debug
873: THEN
874: hr_utility.set_location (l_proc, 240);
875: hr_utility.TRACE ('hours :' || hours);
876: END IF;
877:
878: IF hours IS NOT NULL
871:
872: IF g_debug
873: THEN
874: hr_utility.set_location (l_proc, 240);
875: hr_utility.TRACE ('hours :' || hours);
876: END IF;
877:
878: IF hours IS NOT NULL
879: THEN
878: IF hours IS NOT NULL
879: THEN
880: IF g_debug
881: THEN
882: hr_utility.set_location (l_proc, 250);
883: END IF;
884:
885: l_hours := hours;
886:
887: -- Removed for bug 3868006
888: -- ELSE
889: IF g_debug
890: THEN
891: hr_utility.set_location (l_proc, 260);
892: END IF;
893: -- RAISE l_hours_null_data_err;
894: END IF;
895:
894: END IF;
895:
896: IF g_debug
897: THEN
898: hr_utility.set_location (l_proc, 270);
899: END IF;
900: ELSIF date_worked IS NULL
901: THEN
902: IF g_debug
900: ELSIF date_worked IS NULL
901: THEN
902: IF g_debug
903: THEN
904: hr_utility.set_location (l_proc, 280);
905: END IF;
906:
907: RAISE l_no_time_data_err;
908: END IF;
908: END IF;
909:
910: IF g_debug
911: THEN
912: hr_utility.set_location (l_proc, 290);
913: END IF;
914:
915: /* Obtain person id from user exit if call not from the time store */
916: IF timecard_source <> 'Time Store'
916: IF timecard_source <> 'Time Store'
917: THEN
918: IF g_debug
919: THEN
920: hr_utility.set_location (l_proc, 300);
921: END IF;
922:
923: l_retcode :=
924: hxt_tim_col_util.get_person_id (employee_number,
930: );
931:
932: IF g_debug
933: THEN
934: hr_utility.set_location (l_proc, 310);
935: END IF;
936:
937: IF l_retcode = 1
938: THEN
937: IF l_retcode = 1
938: THEN
939: IF g_debug
940: THEN
941: hr_utility.set_location (l_proc, 320);
942: END IF;
943:
944: RAISE l_person_id_data_err;
945: ELSIF l_retcode = 2
945: ELSIF l_retcode = 2
946: THEN
947: IF g_debug
948: THEN
949: hr_utility.set_location (l_proc, 330);
950: END IF;
951:
952: RAISE l_person_id_sys_err;
953: END IF;
953: END IF;
954: ELSE
955: IF g_debug
956: THEN
957: hr_utility.set_location (l_proc, 340);
958: END IF;
959:
960: l_person_id := TO_NUMBER (employee_number);
961:
960: l_person_id := TO_NUMBER (employee_number);
961:
962: IF g_debug
963: THEN
964: hr_utility.TRACE ('l_person_id :' || l_person_id);
965: END IF;
966:
967: SELECT last_name, first_name
968: INTO l_last_name, l_first_name
971: AND l_date_worked BETWEEN effective_start_date AND effective_end_date;
972:
973: IF g_debug
974: THEN
975: hr_utility.TRACE ('l_last_name :' || l_last_name);
976: hr_utility.TRACE ('l_first_name:' || l_first_name);
977: END IF;
978: END IF;
979:
972:
973: IF g_debug
974: THEN
975: hr_utility.TRACE ('l_last_name :' || l_last_name);
976: hr_utility.TRACE ('l_first_name:' || l_first_name);
977: END IF;
978: END IF;
979:
980: IF g_debug
978: END IF;
979:
980: IF g_debug
981: THEN
982: hr_utility.set_location (l_proc, 350);
983: hr_utility.TRACE ('Person ID is ' || TO_CHAR (l_person_id));
984: END IF;
985:
986: /*Obtain vital employee information*/
979:
980: IF g_debug
981: THEN
982: hr_utility.set_location (l_proc, 350);
983: hr_utility.TRACE ('Person ID is ' || TO_CHAR (l_person_id));
984: END IF;
985:
986: /*Obtain vital employee information*/
987: BEGIN
986: /*Obtain vital employee information*/
987: BEGIN
988: IF g_debug
989: THEN
990: hr_utility.set_location (l_proc, 360);
991: END IF;
992:
993: OPEN g_employee_cur (l_person_id, l_date_worked);
994:
1000: WHEN NO_DATA_FOUND
1001: THEN
1002: IF g_debug
1003: THEN
1004: hr_utility.set_location (l_proc, 370);
1005: END IF;
1006:
1007: l_retcode := 1;
1008: RAISE l_assign_id_data_err;
1009: WHEN OTHERS
1010: THEN
1011: IF g_debug
1012: THEN
1013: hr_utility.set_location (l_proc, 380);
1014: END IF;
1015:
1016: l_retcode := 2;
1017: RAISE l_assign_id_sys_err;
1018: END;
1019:
1020: IF g_debug
1021: THEN
1022: hr_utility.set_location (l_proc, 390);
1023: hr_utility.TRACE ('Got emp info');
1024: END IF;
1025:
1026: /* Obtain person id for APPROVER_NUMBER from user exit */
1019:
1020: IF g_debug
1021: THEN
1022: hr_utility.set_location (l_proc, 390);
1023: hr_utility.TRACE ('Got emp info');
1024: END IF;
1025:
1026: /* Obtain person id for APPROVER_NUMBER from user exit */
1027: IF approver_number IS NOT NULL
1027: IF approver_number IS NOT NULL
1028: THEN
1029: IF g_debug
1030: THEN
1031: hr_utility.set_location (l_proc, 400);
1032: END IF;
1033:
1034: l_retcode :=
1035: hxt_tim_col_util.get_person_id (approver_number,
1041: );
1042:
1043: IF g_debug
1044: THEN
1045: hr_utility.TRACE ('l_retcode :' || l_retcode);
1046: END IF;
1047:
1048: IF l_retcode = 1
1049: THEN
1048: IF l_retcode = 1
1049: THEN
1050: IF g_debug
1051: THEN
1052: hr_utility.set_location (l_proc, 410);
1053: END IF;
1054:
1055: RAISE l_appr_id_data_err;
1056: ELSIF l_retcode = 2
1056: ELSIF l_retcode = 2
1057: THEN
1058: IF g_debug
1059: THEN
1060: hr_utility.set_location (l_proc, 420);
1061: END IF;
1062:
1063: RAISE l_appr_id_sys_err;
1064: END IF;
1064: END IF;
1065:
1066: IF g_debug
1067: THEN
1068: hr_utility.set_location (l_proc, 430);
1069: END IF;
1070: END IF;
1071:
1072: /* Validate the timecard source */
1071:
1072: /* Validate the timecard source */
1073: IF g_debug
1074: THEN
1075: hr_utility.set_location (l_proc, 440);
1076: hr_utility.TRACE ('BEFORE VALID TIMECARD SOURCE');
1077: END IF;
1078:
1079: l_retcode :=
1072: /* Validate the timecard source */
1073: IF g_debug
1074: THEN
1075: hr_utility.set_location (l_proc, 440);
1076: hr_utility.TRACE ('BEFORE VALID TIMECARD SOURCE');
1077: END IF;
1078:
1079: l_retcode :=
1080: hxt_tim_col_util.validate_timecard_source (timecard_source,
1083: );
1084:
1085: IF g_debug
1086: THEN
1087: hr_utility.TRACE ('l_retcode :' || l_retcode);
1088: END IF;
1089:
1090: IF l_retcode = 1
1091: THEN
1090: IF l_retcode = 1
1091: THEN
1092: IF g_debug
1093: THEN
1094: hr_utility.set_location (l_proc, 450);
1095: END IF;
1096:
1097: RAISE l_tim_src_data_err;
1098: ELSIF l_retcode = 2
1098: ELSIF l_retcode = 2
1099: THEN
1100: IF g_debug
1101: THEN
1102: hr_utility.set_location (l_proc, 460);
1103: END IF;
1104:
1105: RAISE l_tim_src_sys_err;
1106: END IF;
1106: END IF;
1107:
1108: IF g_debug
1109: THEN
1110: hr_utility.set_location (l_proc, 470);
1111: hr_utility.TRACE ('VALID TIMECARD SOURCE');
1112: END IF;
1113:
1114: /*Obtain element type id */
1107:
1108: IF g_debug
1109: THEN
1110: hr_utility.set_location (l_proc, 470);
1111: hr_utility.TRACE ('VALID TIMECARD SOURCE');
1112: END IF;
1113:
1114: /*Obtain element type id */
1115: IF g_debug
1113:
1114: /*Obtain element type id */
1115: IF g_debug
1116: THEN
1117: hr_utility.TRACE ('hours_type :' || hours_type);
1118: END IF;
1119:
1120: IF hours_type IS NOT NULL
1121: THEN
1120: IF hours_type IS NOT NULL
1121: THEN
1122: IF g_debug
1123: THEN
1124: hr_utility.set_location (l_proc, 480);
1125: END IF;
1126:
1127: l_retcode :=
1128: hxt_tim_col_util.get_element_type_id (hours_type,
1132: );
1133:
1134: IF g_debug
1135: THEN
1136: hr_utility.TRACE ('l_retcode :' || l_retcode);
1137: END IF;
1138:
1139: IF l_retcode = 1
1140: THEN
1139: IF l_retcode = 1
1140: THEN
1141: IF g_debug
1142: THEN
1143: hr_utility.set_location (l_proc, 490);
1144: END IF;
1145:
1146: RAISE l_elem_type_data_err;
1147: ELSIF l_retcode = 2
1147: ELSIF l_retcode = 2
1148: THEN
1149: IF g_debug
1150: THEN
1151: hr_utility.set_location (l_proc, 500);
1152: END IF;
1153:
1154: RAISE l_elem_type_sys_err;
1155: END IF;
1156:
1157: --
1158: IF g_debug
1159: THEN
1160: hr_utility.TRACE ('element type id is ' || l_element_type_id);
1161: END IF;
1162:
1163: --
1164: -- Check Element Link eligibility
1164: -- Check Element Link eligibility
1165: --
1166: IF g_debug
1167: THEN
1168: hr_utility.set_location (l_proc, 510);
1169: END IF;
1170:
1171: l_retcode :=
1172: hxt_tim_col_util.chk_element_link
1176: );
1177:
1178: IF g_debug
1179: THEN
1180: hr_utility.TRACE ('l_retcode :' || l_retcode);
1181: END IF;
1182:
1183: IF l_retcode = 1
1184: THEN
1183: IF l_retcode = 1
1184: THEN
1185: IF g_debug
1186: THEN
1187: hr_utility.set_location (l_proc, 520);
1188: END IF;
1189:
1190: RAISE l_elem_link_data_err;
1191: ELSIF l_retcode = 2
1191: ELSIF l_retcode = 2
1192: THEN
1193: IF g_debug
1194: THEN
1195: hr_utility.set_location (l_proc, 530);
1196: END IF;
1197:
1198: RAISE l_elem_link_sys_err;
1199: END IF;
1200:
1201: --
1202: IF g_debug
1203: THEN
1204: hr_utility.set_location (l_proc, 540);
1205: END IF;
1206: END IF;
1207:
1208: --
1207:
1208: --
1209: IF g_debug
1210: THEN
1211: hr_utility.TRACE ('element link id is ' || l_element_type_id);
1212: END IF;
1213:
1214: --
1215:
1217: to 'l_hours' in case user entered in/out times */
1218:
1219: /* Bring API in line with Timecard behavior. 15-AUG-2001 AI
1220: IF amount IS NOT NULL THEN
1221: hr_utility.set_location(l_proc, 550);
1222: -- 05-APR-00 PWM IF hours IS NULL THEN
1223:
1224: IF l_hours <> 0 THEN -- 05-APR-00 PWM Hours and Amounts are exclusive
1225: hr_utility.set_location(l_proc, 560);
1221: hr_utility.set_location(l_proc, 550);
1222: -- 05-APR-00 PWM IF hours IS NULL THEN
1223:
1224: IF l_hours <> 0 THEN -- 05-APR-00 PWM Hours and Amounts are exclusive
1225: hr_utility.set_location(l_proc, 560);
1226: RAISE l_hours_amount_data_err;
1227: ELSIF l_hours = 0 AND l_element_type_id IS NULL THEN
1228: hr_utility.set_location(l_proc, 570);
1229: RAISE l_amt_hrs_elmnt_data_err;
1224: IF l_hours <> 0 THEN -- 05-APR-00 PWM Hours and Amounts are exclusive
1225: hr_utility.set_location(l_proc, 560);
1226: RAISE l_hours_amount_data_err;
1227: ELSIF l_hours = 0 AND l_element_type_id IS NULL THEN
1228: hr_utility.set_location(l_proc, 570);
1229: RAISE l_amt_hrs_elmnt_data_err;
1230: END IF;
1231: -- ELSIF l_hours IS NOT NULL THEN PWM 05-APR-00
1232:
1230: END IF;
1231: -- ELSIF l_hours IS NOT NULL THEN PWM 05-APR-00
1232:
1233: ELSE
1234: hr_utility.set_location(l_proc, 580);
1235: IF l_hours = 0 THEN
1236: hr_utility.set_location(l_proc, 590);
1237: RAISE l_amt_hrs_zero_data_err;
1238: END IF;
1232:
1233: ELSE
1234: hr_utility.set_location(l_proc, 580);
1235: IF l_hours = 0 THEN
1236: hr_utility.set_location(l_proc, 590);
1237: RAISE l_amt_hrs_zero_data_err;
1238: END IF;
1239: hr_utility.set_location(l_proc, 600);
1240: END IF;
1235: IF l_hours = 0 THEN
1236: hr_utility.set_location(l_proc, 590);
1237: RAISE l_amt_hrs_zero_data_err;
1238: END IF;
1239: hr_utility.set_location(l_proc, 600);
1240: END IF;
1241: */
1242:
1243: /* Validate Wage Code */
1244: IF wage_code IS NOT NULL
1245: THEN
1246: IF g_debug
1247: THEN
1248: hr_utility.set_location (l_proc, 610);
1249: END IF;
1250:
1251: l_retcode :=
1252: hxt_tim_col_util.validate_wage_code (wage_code, l_date_worked);
1252: hxt_tim_col_util.validate_wage_code (wage_code, l_date_worked);
1253:
1254: IF g_debug
1255: THEN
1256: hr_utility.TRACE ('l_retcode :' || l_retcode);
1257: END IF;
1258:
1259: IF l_retcode = 1
1260: THEN
1259: IF l_retcode = 1
1260: THEN
1261: IF g_debug
1262: THEN
1263: hr_utility.set_location (l_proc, 620);
1264: END IF;
1265:
1266: RAISE l_prev_wage_data_err;
1267: ELSIF l_retcode = 2
1267: ELSIF l_retcode = 2
1268: THEN
1269: IF g_debug
1270: THEN
1271: hr_utility.set_location (l_proc, 630);
1272: END IF;
1273:
1274: RAISE l_prev_wage_sys_err;
1275: END IF;
1275: END IF;
1276:
1277: IF g_debug
1278: THEN
1279: hr_utility.set_location (l_proc, 640);
1280: END IF;
1281: END IF;
1282:
1283: /* Get Earning Policy Id - If null get based on assignment, otherwise, */
1283: /* Get Earning Policy Id - If null get based on assignment, otherwise, */
1284: /* get override policy id. */
1285: IF g_debug
1286: THEN
1287: hr_utility.set_location (l_proc, 650);
1288: END IF;
1289:
1290: l_retcode :=
1291: hxt_tim_col_util.get_earn_pol_id (l_emp_rec.assignment_id,
1295: );
1296:
1297: IF g_debug
1298: THEN
1299: hr_utility.TRACE ('l_retcode :' || l_retcode);
1300: END IF;
1301:
1302: IF l_retcode = 1
1303: THEN
1302: IF l_retcode = 1
1303: THEN
1304: IF g_debug
1305: THEN
1306: hr_utility.set_location (l_proc, 660);
1307: END IF;
1308:
1309: RAISE l_earn_pol_data_err;
1310: ELSIF l_retcode = 2
1310: ELSIF l_retcode = 2
1311: THEN
1312: IF g_debug
1313: THEN
1314: hr_utility.set_location (l_proc, 670);
1315: END IF;
1316:
1317: RAISE l_earn_pol_sys_err;
1318: END IF;
1318: END IF;
1319:
1320: IF g_debug
1321: THEN
1322: hr_utility.TRACE ('earning policy id is ' || l_earn_pol_id);
1323: hr_utility.set_location (l_proc, 680);
1324: END IF;
1325:
1326: /* Obtain project id */
1319:
1320: IF g_debug
1321: THEN
1322: hr_utility.TRACE ('earning policy id is ' || l_earn_pol_id);
1323: hr_utility.set_location (l_proc, 680);
1324: END IF;
1325:
1326: /* Obtain project id */
1327: IF g_debug
1325:
1326: /* Obtain project id */
1327: IF g_debug
1328: THEN
1329: hr_utility.TRACE ('project :' || project);
1330: END IF;
1331:
1332: IF project IS NOT NULL
1333: THEN
1332: IF project IS NOT NULL
1333: THEN
1334: IF g_debug
1335: THEN
1336: hr_utility.set_location (l_proc, 680);
1337: END IF;
1338:
1339: l_retcode :=
1340: hxt_tim_col_util.get_project_id (project,
1343: );
1344:
1345: IF g_debug
1346: THEN
1347: hr_utility.TRACE ('l_retcode :' || l_retcode);
1348: END IF;
1349:
1350: IF l_retcode = 1
1351: THEN
1350: IF l_retcode = 1
1351: THEN
1352: IF g_debug
1353: THEN
1354: hr_utility.set_location (l_proc, 690);
1355: END IF;
1356:
1357: RAISE l_proj_id_data_err;
1358: ELSIF l_retcode = 2
1358: ELSIF l_retcode = 2
1359: THEN
1360: IF g_debug
1361: THEN
1362: hr_utility.set_location (l_proc, 700);
1363: END IF;
1364:
1365: RAISE l_proj_id_sys_err;
1366: END IF;
1366: END IF;
1367:
1368: IF g_debug
1369: THEN
1370: hr_utility.set_location (l_proc, 710);
1371: END IF;
1372: END IF;
1373:
1374: /*Obtain task id */
1373:
1374: /*Obtain task id */
1375: IF g_debug
1376: THEN
1377: hr_utility.TRACE ('task_number :' || task_number);
1378: END IF;
1379:
1380: IF task_number IS NOT NULL
1381: THEN
1380: IF task_number IS NOT NULL
1381: THEN
1382: IF g_debug
1383: THEN
1384: hr_utility.set_location (l_proc, 720);
1385: END IF;
1386:
1387: l_retcode :=
1388: hxt_tim_col_util.get_task_id (task_number,
1392: );
1393:
1394: IF g_debug
1395: THEN
1396: hr_utility.TRACE ('l_retcode :' || l_retcode);
1397: END IF;
1398:
1399: IF l_retcode = 1
1400: THEN
1399: IF l_retcode = 1
1400: THEN
1401: IF g_debug
1402: THEN
1403: hr_utility.set_location (l_proc, 730);
1404: END IF;
1405:
1406: RAISE l_task_id_data_err;
1407: ELSIF l_retcode = 2
1407: ELSIF l_retcode = 2
1408: THEN
1409: IF g_debug
1410: THEN
1411: hr_utility.set_location (l_proc, 740);
1412: END IF;
1413:
1414: RAISE l_task_id_sys_err;
1415: END IF;
1415: END IF;
1416:
1417: IF g_debug
1418: THEN
1419: hr_utility.set_location (l_proc, 750);
1420: END IF;
1421: END IF;
1422:
1423: /*Obtain location id */
1422:
1423: /*Obtain location id */
1424: IF g_debug
1425: THEN
1426: hr_utility.TRACE ('location_code :' || location_code);
1427: END IF;
1428:
1429: IF location_code IS NOT NULL
1430: THEN
1429: IF location_code IS NOT NULL
1430: THEN
1431: IF g_debug
1432: THEN
1433: hr_utility.set_location (l_proc, 760);
1434: END IF;
1435:
1436: l_retcode :=
1437: hxt_tim_col_util.get_location_id (location_code,
1440: );
1441:
1442: IF g_debug
1443: THEN
1444: hr_utility.TRACE ('l_retcode :' || l_retcode);
1445: END IF;
1446:
1447: IF l_retcode = 1
1448: THEN
1447: IF l_retcode = 1
1448: THEN
1449: IF g_debug
1450: THEN
1451: hr_utility.set_location (l_proc, 770);
1452: END IF;
1453:
1454: RAISE l_locn_id_data_err;
1455: ELSIF l_retcode = 2
1455: ELSIF l_retcode = 2
1456: THEN
1457: IF g_debug
1458: THEN
1459: hr_utility.set_location (l_proc, 780);
1460: END IF;
1461:
1462: RAISE l_locn_id_sys_err;
1463: END IF;
1463: END IF;
1464:
1465: IF g_debug
1466: THEN
1467: hr_utility.set_location (l_proc, 790);
1468: END IF;
1469: END IF;
1470:
1471: /* Validate earn reason code */
1470:
1471: /* Validate earn reason code */
1472: IF g_debug
1473: THEN
1474: hr_utility.TRACE ('earn_reason_code :' || earn_reason_code);
1475: END IF;
1476:
1477: IF earn_reason_code IS NOT NULL
1478: THEN
1477: IF earn_reason_code IS NOT NULL
1478: THEN
1479: IF g_debug
1480: THEN
1481: hr_utility.set_location (l_proc, 800);
1482: END IF;
1483:
1484: l_retcode :=
1485: hxt_tim_col_util.validate_earn_reason_code (earn_reason_code,
1488:
1489: -- l_element_type_id );
1490: IF g_debug
1491: THEN
1492: hr_utility.TRACE ('l_retcode :' || l_retcode);
1493: END IF;
1494:
1495: IF l_retcode = 1
1496: THEN
1495: IF l_retcode = 1
1496: THEN
1497: IF g_debug
1498: THEN
1499: hr_utility.set_location (l_proc, 810);
1500: END IF;
1501:
1502: RAISE l_hours_reason_data_err;
1503: ELSIF l_retcode = 2
1503: ELSIF l_retcode = 2
1504: THEN
1505: IF g_debug
1506: THEN
1507: hr_utility.set_location (l_proc, 820);
1508: END IF;
1509:
1510: RAISE l_reason_code_data_err;
1511: ELSIF l_retcode = 3
1511: ELSIF l_retcode = 3
1512: THEN
1513: IF g_debug
1514: THEN
1515: hr_utility.set_location (l_proc, 830);
1516: END IF;
1517:
1518: RAISE l_reason_code_sys_err;
1519: END IF;
1519: END IF;
1520:
1521: IF g_debug
1522: THEN
1523: hr_utility.set_location (l_proc, 840);
1524: END IF;
1525: END IF;
1526:
1527: /* Validate separate check flag */
1526:
1527: /* Validate separate check flag */
1528: IF g_debug
1529: THEN
1530: hr_utility.TRACE ('separate_check_flag :' || separate_check_flag);
1531: END IF;
1532:
1533: IF separate_check_flag IS NOT NULL
1534: THEN
1533: IF separate_check_flag IS NOT NULL
1534: THEN
1535: IF g_debug
1536: THEN
1537: hr_utility.set_location (l_proc, 850);
1538: END IF;
1539:
1540: l_sep_chk_flg := separate_check_flag;
1541: l_retcode :=
1542: hxt_tim_col_util.validate_separate_chk_flg (l_sep_chk_flg);
1543:
1544: IF g_debug
1545: THEN
1546: hr_utility.TRACE ('l_sep_chk_flg :' || l_sep_chk_flg);
1547: hr_utility.TRACE ('l_retcode :' || l_retcode);
1548: END IF;
1549:
1550: IF l_retcode = 1
1543:
1544: IF g_debug
1545: THEN
1546: hr_utility.TRACE ('l_sep_chk_flg :' || l_sep_chk_flg);
1547: hr_utility.TRACE ('l_retcode :' || l_retcode);
1548: END IF;
1549:
1550: IF l_retcode = 1
1551: THEN
1550: IF l_retcode = 1
1551: THEN
1552: IF g_debug
1553: THEN
1554: hr_utility.set_location (l_proc, 860);
1555: END IF;
1556:
1557: RAISE l_sep_chk_flg_data_err;
1558: END IF;
1558: END IF;
1559:
1560: IF g_debug
1561: THEN
1562: hr_utility.set_location (l_proc, 870);
1563: END IF;
1564: END IF;
1565:
1566: /*Obtain the current time period id for this payroll and date*/
1565:
1566: /*Obtain the current time period id for this payroll and date*/
1567: IF g_debug
1568: THEN
1569: hr_utility.set_location (l_proc, 880);
1570: END IF;
1571:
1572: l_retcode :=
1573: get_time_period (l_emp_rec.payroll_id,
1578: );
1579:
1580: IF g_debug
1581: THEN
1582: hr_utility.TRACE ('l_start_date :' || l_start_date);
1583: hr_utility.TRACE ('l_end_date :' || l_end_date);
1584: hr_utility.TRACE ('l_retcode :' || l_retcode);
1585: END IF;
1586:
1579:
1580: IF g_debug
1581: THEN
1582: hr_utility.TRACE ('l_start_date :' || l_start_date);
1583: hr_utility.TRACE ('l_end_date :' || l_end_date);
1584: hr_utility.TRACE ('l_retcode :' || l_retcode);
1585: END IF;
1586:
1587: IF l_retcode = 1
1580: IF g_debug
1581: THEN
1582: hr_utility.TRACE ('l_start_date :' || l_start_date);
1583: hr_utility.TRACE ('l_end_date :' || l_end_date);
1584: hr_utility.TRACE ('l_retcode :' || l_retcode);
1585: END IF;
1586:
1587: IF l_retcode = 1
1588: THEN
1587: IF l_retcode = 1
1588: THEN
1589: IF g_debug
1590: THEN
1591: hr_utility.set_location (l_proc, 890);
1592: END IF;
1593:
1594: RAISE l_time_per_data_err;
1595: ELSIF l_retcode = 2
1595: ELSIF l_retcode = 2
1596: THEN
1597: IF g_debug
1598: THEN
1599: hr_utility.set_location (l_proc, 900);
1600: END IF;
1601:
1602: RAISE l_time_per_sys_err;
1603: END IF;
1605: g_time_period_err_id := l_time_period_id;
1606:
1607: IF g_debug
1608: THEN
1609: hr_utility.TRACE ('Time Period id is ' || l_time_period_id);
1610: END IF;
1611:
1612: /*Determine effective start date*/
1613: IF g_debug
1611:
1612: /*Determine effective start date*/
1613: IF g_debug
1614: THEN
1615: hr_utility.set_location (l_proc, 910);
1616: END IF;
1617:
1618: --Bug#2995224
1619: -- IF l_emp_rec.effective_start_date > l_start_date
1617:
1618: --Bug#2995224
1619: -- IF l_emp_rec.effective_start_date > l_start_date
1620: -- THEN
1621: -- hr_utility.set_location (l_proc, 920);
1622: -- l_start_date := l_emp_rec.effective_start_date;
1623: -- END IF;
1624:
1625: -- IF l_emp_rec.effective_end_date < l_end_date
1623: -- END IF;
1624:
1625: -- IF l_emp_rec.effective_end_date < l_end_date
1626: -- THEN
1627: -- hr_utility.set_location (l_proc, 930);
1628: -- l_end_date := l_emp_rec.effective_end_date;
1629: -- END IF;
1630:
1631: /*Make cost allocation entry. */
1630:
1631: /*Make cost allocation entry. */
1632: IF g_debug
1633: THEN
1634: hr_utility.set_location (l_proc, 940);
1635: END IF;
1636:
1637: cost_allocation_entry (concat_cost_segments,
1638: cost_segment1,
1672: );
1673:
1674: IF g_debug
1675: THEN
1676: hr_utility.TRACE ('Cost Alloc entry made ');
1677: END IF;
1678:
1679: -----------------------------------------------------------------------------
1680: /*Check for an existing timecard */
1679: -----------------------------------------------------------------------------
1680: /*Check for an existing timecard */
1681: IF g_debug
1682: THEN
1683: hr_utility.set_location (l_proc, 950);
1684: hr_utility.TRACE ('calling check_for_timecard');
1685: END IF;
1686:
1687: l_retcode :=
1680: /*Check for an existing timecard */
1681: IF g_debug
1682: THEN
1683: hr_utility.set_location (l_proc, 950);
1684: hr_utility.TRACE ('calling check_for_timecard');
1685: END IF;
1686:
1687: l_retcode :=
1688: check_for_timecard (l_person_id,
1692: );
1693:
1694: IF g_debug
1695: THEN
1696: hr_utility.TRACE ('after call to check_for_timecard');
1697: hr_utility.TRACE ('l_retcode :' || l_retcode);
1698: hr_utility.TRACE ('l_timecard_id :' || l_timecard_id);
1699: hr_utility.TRACE ('l_auto_gen_flag :' || l_auto_gen_flag);
1700: hr_utility.TRACE ('l_retcode :' || l_retcode);
1693:
1694: IF g_debug
1695: THEN
1696: hr_utility.TRACE ('after call to check_for_timecard');
1697: hr_utility.TRACE ('l_retcode :' || l_retcode);
1698: hr_utility.TRACE ('l_timecard_id :' || l_timecard_id);
1699: hr_utility.TRACE ('l_auto_gen_flag :' || l_auto_gen_flag);
1700: hr_utility.TRACE ('l_retcode :' || l_retcode);
1701: hr_utility.set_location (l_proc, 960);
1694: IF g_debug
1695: THEN
1696: hr_utility.TRACE ('after call to check_for_timecard');
1697: hr_utility.TRACE ('l_retcode :' || l_retcode);
1698: hr_utility.TRACE ('l_timecard_id :' || l_timecard_id);
1699: hr_utility.TRACE ('l_auto_gen_flag :' || l_auto_gen_flag);
1700: hr_utility.TRACE ('l_retcode :' || l_retcode);
1701: hr_utility.set_location (l_proc, 960);
1702: END IF;
1695: THEN
1696: hr_utility.TRACE ('after call to check_for_timecard');
1697: hr_utility.TRACE ('l_retcode :' || l_retcode);
1698: hr_utility.TRACE ('l_timecard_id :' || l_timecard_id);
1699: hr_utility.TRACE ('l_auto_gen_flag :' || l_auto_gen_flag);
1700: hr_utility.TRACE ('l_retcode :' || l_retcode);
1701: hr_utility.set_location (l_proc, 960);
1702: END IF;
1703:
1696: hr_utility.TRACE ('after call to check_for_timecard');
1697: hr_utility.TRACE ('l_retcode :' || l_retcode);
1698: hr_utility.TRACE ('l_timecard_id :' || l_timecard_id);
1699: hr_utility.TRACE ('l_auto_gen_flag :' || l_auto_gen_flag);
1700: hr_utility.TRACE ('l_retcode :' || l_retcode);
1701: hr_utility.set_location (l_proc, 960);
1702: END IF;
1703:
1704: IF l_retcode = 0
1697: hr_utility.TRACE ('l_retcode :' || l_retcode);
1698: hr_utility.TRACE ('l_timecard_id :' || l_timecard_id);
1699: hr_utility.TRACE ('l_auto_gen_flag :' || l_auto_gen_flag);
1700: hr_utility.TRACE ('l_retcode :' || l_retcode);
1701: hr_utility.set_location (l_proc, 960);
1702: END IF;
1703:
1704: IF l_retcode = 0
1705: THEN
1704: IF l_retcode = 0
1705: THEN
1706: IF g_debug
1707: THEN
1708: hr_utility.set_location (l_proc, 970);
1709: END IF;
1710:
1711: g_timecard_err_id := l_timecard_id;
1712: ELSIF l_retcode = 1
1712: ELSIF l_retcode = 1
1713: THEN
1714: IF g_debug
1715: THEN
1716: hr_utility.set_location (l_proc, 980);
1717: hr_utility.TRACE ('BEFORE create timecard');
1718: END IF;
1719:
1720: l_retcode :=
1713: THEN
1714: IF g_debug
1715: THEN
1716: hr_utility.set_location (l_proc, 980);
1717: hr_utility.TRACE ('BEFORE create timecard');
1718: END IF;
1719:
1720: l_retcode :=
1721: create_timecard (l_person_id,
1729: );
1730:
1731: IF g_debug
1732: THEN
1733: hr_utility.TRACE ('l_retcode :' || l_retcode);
1734: END IF;
1735:
1736: IF l_retcode = 1
1737: THEN
1736: IF l_retcode = 1
1737: THEN
1738: IF g_debug
1739: THEN
1740: hr_utility.set_location (l_proc, 990);
1741: END IF;
1742:
1743: RAISE l_make_card_data_err;
1744: ELSIF l_retcode = 2
1744: ELSIF l_retcode = 2
1745: THEN
1746: IF g_debug
1747: THEN
1748: hr_utility.set_location (l_proc, 1000);
1749: END IF;
1750:
1751: RAISE l_make_card_sys_err;
1752: END IF;
1752: END IF;
1753:
1754: IF g_debug
1755: THEN
1756: hr_utility.set_location (l_proc, 1010);
1757: END IF;
1758:
1759: g_timecard_err_id := l_timecard_id;
1760:
1759: g_timecard_err_id := l_timecard_id;
1760:
1761: IF g_debug
1762: THEN
1763: hr_utility.TRACE ('Created TIMECARD. ID is ' || l_timecard_id);
1764: END IF;
1765:
1766: /* Create holiday hours on the new timecard */
1767: /*l_retcode := create_holiday_hours(l_person_id,
1801: end_time);
1802: --p_mode);
1803:
1804:
1805: hr_utility.set_location(l_proc, 1020);
1806: hr_utility.trace('Created Holiday Hours ');
1807: hr_utility.trace('l_retcode :'||l_retcode);
1808:
1809: IF l_retcode = 1 THEN
1802: --p_mode);
1803:
1804:
1805: hr_utility.set_location(l_proc, 1020);
1806: hr_utility.trace('Created Holiday Hours ');
1807: hr_utility.trace('l_retcode :'||l_retcode);
1808:
1809: IF l_retcode = 1 THEN
1810: hr_utility.set_location(l_proc, 1030);
1803:
1804:
1805: hr_utility.set_location(l_proc, 1020);
1806: hr_utility.trace('Created Holiday Hours ');
1807: hr_utility.trace('l_retcode :'||l_retcode);
1808:
1809: IF l_retcode = 1 THEN
1810: hr_utility.set_location(l_proc, 1030);
1811: RAISE l_make_hol_data_err;
1806: hr_utility.trace('Created Holiday Hours ');
1807: hr_utility.trace('l_retcode :'||l_retcode);
1808:
1809: IF l_retcode = 1 THEN
1810: hr_utility.set_location(l_proc, 1030);
1811: RAISE l_make_hol_data_err;
1812: ELSIF l_retcode = 2 THEN
1813: hr_utility.set_location(l_proc, 1040);
1814: RAISE l_make_hol_sys_err;
1809: IF l_retcode = 1 THEN
1810: hr_utility.set_location(l_proc, 1030);
1811: RAISE l_make_hol_data_err;
1812: ELSIF l_retcode = 2 THEN
1813: hr_utility.set_location(l_proc, 1040);
1814: RAISE l_make_hol_sys_err;
1815: END IF;
1816: */
1817: IF g_debug
1815: END IF;
1816: */
1817: IF g_debug
1818: THEN
1819: hr_utility.set_location (l_proc, 1050);
1820: END IF;
1821: ELSIF l_retcode = 2
1822: THEN
1823: IF g_debug
1821: ELSIF l_retcode = 2
1822: THEN
1823: IF g_debug
1824: THEN
1825: hr_utility.set_location (l_proc, 1060);
1826: END IF;
1827:
1828: RAISE l_istimecard_sys_err;
1829: END IF;
1834: IF l_auto_gen_flag = 'A'
1835: THEN
1836: IF g_debug
1837: THEN
1838: hr_utility.set_location (l_proc, 1070);
1839: END IF;
1840:
1841: RAISE l_autogen_error;
1842: END IF;
1842: END IF;
1843:
1844: IF g_debug
1845: THEN
1846: hr_utility.set_location (l_proc, 1080);
1847: END IF;
1848:
1849: l_retcode := check_for_batch_status (g_batch_err_id, l_batch_status);
1850:
1849: l_retcode := check_for_batch_status (g_batch_err_id, l_batch_status);
1850:
1851: IF g_debug
1852: THEN
1853: hr_utility.TRACE ('l_retcode :' || l_retcode);
1854: hr_utility.TRACE ('delete_yn:' || delete_yn);
1855: END IF;
1856:
1857: IF delete_yn = 'N'
1850:
1851: IF g_debug
1852: THEN
1853: hr_utility.TRACE ('l_retcode :' || l_retcode);
1854: hr_utility.TRACE ('delete_yn:' || delete_yn);
1855: END IF;
1856:
1857: IF delete_yn = 'N'
1858: THEN
1864: -- Insert hours to the hxt_sum_hours_worked table and
1865: -- call generate details
1866: IF g_debug
1867: THEN
1868: hr_utility.TRACE ('BEFORE record_hours worked');
1869: END IF;
1870:
1871: l_retcode :=
1872: record_hours_worked (timecard_source,
1915: );
1916:
1917: IF g_debug
1918: THEN
1919: hr_utility.set_location (l_proc, 1090);
1920: hr_utility.TRACE ('AFTER record_hours worked');
1921: hr_utility.TRACE ( 'AFTER record_hours worked RET CODE IS '
1922: || TO_CHAR (l_retcode)
1923: );
1916:
1917: IF g_debug
1918: THEN
1919: hr_utility.set_location (l_proc, 1090);
1920: hr_utility.TRACE ('AFTER record_hours worked');
1921: hr_utility.TRACE ( 'AFTER record_hours worked RET CODE IS '
1922: || TO_CHAR (l_retcode)
1923: );
1924: hr_utility.TRACE ('OTM ERROR IS ' || l_otm_error);
1917: IF g_debug
1918: THEN
1919: hr_utility.set_location (l_proc, 1090);
1920: hr_utility.TRACE ('AFTER record_hours worked');
1921: hr_utility.TRACE ( 'AFTER record_hours worked RET CODE IS '
1922: || TO_CHAR (l_retcode)
1923: );
1924: hr_utility.TRACE ('OTM ERROR IS ' || l_otm_error);
1925: hr_utility.TRACE ('ORACLE ERROR IS ' || l_oracle_error);
1920: hr_utility.TRACE ('AFTER record_hours worked');
1921: hr_utility.TRACE ( 'AFTER record_hours worked RET CODE IS '
1922: || TO_CHAR (l_retcode)
1923: );
1924: hr_utility.TRACE ('OTM ERROR IS ' || l_otm_error);
1925: hr_utility.TRACE ('ORACLE ERROR IS ' || l_oracle_error);
1926: END IF;
1927:
1928: IF l_retcode = 1
1921: hr_utility.TRACE ( 'AFTER record_hours worked RET CODE IS '
1922: || TO_CHAR (l_retcode)
1923: );
1924: hr_utility.TRACE ('OTM ERROR IS ' || l_otm_error);
1925: hr_utility.TRACE ('ORACLE ERROR IS ' || l_oracle_error);
1926: END IF;
1927:
1928: IF l_retcode = 1
1929: THEN
1928: IF l_retcode = 1
1929: THEN
1930: IF g_debug
1931: THEN
1932: hr_utility.set_location (l_proc, 1100);
1933: END IF;
1934:
1935: otm_error := l_otm_error;
1936: oracle_error := l_oracle_error;
1938: ELSIF l_retcode = 2
1939: THEN
1940: IF g_debug
1941: THEN
1942: hr_utility.set_location (l_proc, 1110);
1943: END IF;
1944:
1945: otm_error := l_otm_error;
1946: oracle_error := l_oracle_error;
1951: created_tim_sum_id := l_created_tim_sum_id;
1952:
1953: IF g_debug
1954: THEN
1955: hr_utility.TRACE ('created_tim_sum_id :' || created_tim_sum_id);
1956: END IF;
1957:
1958: --
1959: otm_error := NULL;
1963: IF p_validate
1964: THEN
1965: IF g_debug
1966: THEN
1967: hr_utility.set_location (l_proc, 1120);
1968: hr_utility.TRACE ('VALIDATE only so ROLLBACK');
1969: END IF;
1970:
1971: ROLLBACK TO only_validate;
1964: THEN
1965: IF g_debug
1966: THEN
1967: hr_utility.set_location (l_proc, 1120);
1968: hr_utility.TRACE ('VALIDATE only so ROLLBACK');
1969: END IF;
1970:
1971: ROLLBACK TO only_validate;
1972: created_tim_sum_id := 0;
1972: created_tim_sum_id := 0;
1973:
1974: IF g_debug
1975: THEN
1976: hr_utility.TRACE ('created_tim_sum_id :' || created_tim_sum_id);
1977: END IF;
1978: END IF; -- End of p_mode check
1979:
1980: IF g_debug
1978: END IF; -- End of p_mode check
1979:
1980: IF g_debug
1981: THEN
1982: hr_utility.set_location (l_proc, 1130);
1983: END IF;
1984:
1985: RETURN;
1986: EXCEPTION
1987: WHEN l_person_id_data_err
1988: THEN
1989: IF g_debug
1990: THEN
1991: hr_utility.set_location (l_proc, 1140);
1992: END IF;
1993:
1994: fnd_message.set_name ('HXT', 'HXT_39308_EMPLYEE_NF');
1995: fnd_message.set_token ('EMP_NUMBER', employee_number);
2002: WHEN l_person_id_sys_err
2003: THEN
2004: IF g_debug
2005: THEN
2006: hr_utility.set_location (l_proc, 1150);
2007: END IF;
2008:
2009: fnd_message.set_name ('HXT', 'HXT_39529_EMP_DATA_SYS_ERR');
2010: fnd_message.set_token ('EMP_NUMBER', employee_number);
2017: WHEN l_appr_id_data_err
2018: THEN
2019: IF g_debug
2020: THEN
2021: hr_utility.set_location (l_proc, 1160);
2022: END IF;
2023:
2024: fnd_message.set_name ('HXT', 'HXT_39530_APPRVR_NF');
2025: fnd_message.set_token ('APP_NUMBER', approver_number);
2032: WHEN l_appr_id_sys_err
2033: THEN
2034: IF g_debug
2035: THEN
2036: hr_utility.set_location (l_proc, 1170);
2037: END IF;
2038:
2039: fnd_message.set_name ('HXT', 'HXT_39531_APP_DATA_SYS_ERR');
2040: fnd_message.set_token ('APP_NUMBER', approver_number);
2047: WHEN l_assign_id_data_err
2048: THEN
2049: IF g_debug
2050: THEN
2051: hr_utility.set_location (l_proc, 1180);
2052: END IF;
2053:
2054: fnd_message.set_name ('HXT', 'HXT_39306_ASSIGN_NF');
2055: fnd_message.set_token ('FIRST_NAME', l_first_name);
2064: WHEN l_assign_id_sys_err
2065: THEN
2066: IF g_debug
2067: THEN
2068: hr_utility.set_location (l_proc, 1190);
2069: END IF;
2070:
2071: fnd_message.set_name ('HXT', 'HXT_39319_ERR_GET_ASSIGN');
2072: l_otm_error := fnd_message.get;
2078: WHEN l_pay_date_data_err
2079: THEN
2080: IF g_debug
2081: THEN
2082: hr_utility.set_location (l_proc, 1200);
2083: END IF;
2084:
2085: fnd_message.set_name ('HXT', 'HXT_39331_CANT_CALC_DAT_WRKED');
2086: fnd_message.set_token ('START_TIME', TO_CHAR (start_time));
2093: WHEN l_pay_date_sys_err
2094: THEN
2095: IF g_debug
2096: THEN
2097: hr_utility.set_location (l_proc, 1210);
2098: END IF;
2099:
2100: fnd_message.set_name ('HXT', 'HXT_39323_ERR_DATE_WRKED');
2101: l_otm_error := fnd_message.get;
2107: WHEN l_prev_wage_data_err
2108: THEN
2109: IF g_debug
2110: THEN
2111: hr_utility.set_location (l_proc, 1220);
2112: END IF;
2113:
2114: fnd_message.set_name ('HXT', 'HXT_39532_INV_PREV_WAGE_CODE');
2115: fnd_message.set_token ('WAGE_CODE', wage_code);
2122: WHEN l_prev_wage_sys_err
2123: THEN
2124: IF g_debug
2125: THEN
2126: hr_utility.set_location (l_proc, 1230);
2127: END IF;
2128:
2129: fnd_message.set_name ('HXT', 'HXT_39533_PREV_WAGE_CD_SYS_ERR');
2130: l_error_text := fnd_message.get;
2136: WHEN l_elem_type_data_err
2137: THEN
2138: IF g_debug
2139: THEN
2140: hr_utility.set_location (l_proc, 1240);
2141: END IF;
2142:
2143: fnd_message.set_name ('HXT', 'HXT_39534_ELEM_TYPE_NF');
2144: fnd_message.set_token ('HRS_TYPE', hours_type);
2151: WHEN l_elem_type_sys_err
2152: THEN
2153: IF g_debug
2154: THEN
2155: hr_utility.set_location (l_proc, 1250);
2156: END IF;
2157:
2158: fnd_message.set_name ('HXT', 'HXT_39535_ELEM_TYPE_SYS_ERR');
2159: l_otm_error := fnd_message.get;
2165: WHEN l_elem_link_data_err
2166: THEN
2167: IF g_debug
2168: THEN
2169: hr_utility.set_location (l_proc, 1260);
2170: END IF;
2171:
2172: fnd_message.set_name ('HXT', 'HXT_ELEM_LINK_NF');
2173: fnd_message.set_token ('HRS_TYPE', hours_type);
2180: WHEN l_elem_link_sys_err
2181: THEN
2182: IF g_debug
2183: THEN
2184: hr_utility.set_location (l_proc, 1270);
2185: END IF;
2186:
2187: fnd_message.set_name ('HXT', 'HXT_ELEM_LINK_SYS_ERR');
2188: l_otm_error := fnd_message.get;
2194: WHEN l_task_id_data_err
2195: THEN
2196: IF g_debug
2197: THEN
2198: hr_utility.set_location (l_proc, 1280);
2199: END IF;
2200:
2201: fnd_message.set_name ('HXT', 'HXT_39536_TASK_ID_NF');
2202: fnd_message.set_token ('TASK_NUMBER', task_number);
2209: WHEN l_task_id_sys_err
2210: THEN
2211: IF g_debug
2212: THEN
2213: hr_utility.set_location (l_proc, 1290);
2214: END IF;
2215:
2216: fnd_message.set_name ('HXT', 'HXT_39537_TASK_ID_SYS_ERR');
2217: l_otm_error := fnd_message.get;
2221: WHEN l_locn_id_data_err
2222: THEN
2223: IF g_debug
2224: THEN
2225: hr_utility.set_location (l_proc, 1300);
2226: END IF;
2227:
2228: fnd_message.set_name ('HXT', 'HXT_39538_LOC_ID_NF');
2229: fnd_message.set_token ('LOC_CODE', location_code);
2236: WHEN l_locn_id_sys_err
2237: THEN
2238: IF g_debug
2239: THEN
2240: hr_utility.set_location (l_proc, 1310);
2241: END IF;
2242:
2243: fnd_message.set_name ('HXT', 'HXT_39539_LOC_ID_SYS_ERR');
2244: l_otm_error := fnd_message.get;
2250: WHEN l_proj_id_data_err
2251: THEN
2252: IF g_debug
2253: THEN
2254: hr_utility.set_location (l_proc, 1320);
2255: END IF;
2256:
2257: fnd_message.set_name ('HXT', 'HXT_39540_PRJ_ID_NF');
2258: fnd_message.set_token ('PRJ_NUMBER', project);
2265: WHEN l_proj_id_sys_err
2266: THEN
2267: IF g_debug
2268: THEN
2269: hr_utility.set_location (l_proc, 1330);
2270: END IF;
2271:
2272: fnd_message.set_name ('HXT', 'HXT_39541_PRJ_ID_SYS_ERR');
2273: l_otm_error := fnd_message.get;
2279: WHEN l_hours_reason_data_err
2280: THEN
2281: IF g_debug
2282: THEN
2283: hr_utility.set_location (l_proc, 1340);
2284: END IF;
2285:
2286: fnd_message.set_name ('HXT', 'HXT_39542_ERN_RSN_WO_HRS_TYPE');
2287: l_otm_error := fnd_message.get;
2293: WHEN l_reason_code_data_err
2294: THEN
2295: IF g_debug
2296: THEN
2297: hr_utility.set_location (l_proc, 1350);
2298: END IF;
2299:
2300: fnd_message.set_name ('HXT', 'HXT_39543_ERN_RSN_NF');
2301: fnd_message.set_token ('ERN_RSN_CD', earn_reason_code);
2308: WHEN l_reason_code_sys_err
2309: THEN
2310: IF g_debug
2311: THEN
2312: hr_utility.set_location (l_proc, 1360);
2313: END IF;
2314:
2315: fnd_message.set_name ('HXT', 'HXT_39544_ERN_RSN_SYS_ERR');
2316: l_otm_error := fnd_message.get;
2322: WHEN l_sep_chk_flg_data_err
2323: THEN
2324: IF g_debug
2325: THEN
2326: hr_utility.set_location (l_proc, 1370);
2327: END IF;
2328:
2329: fnd_message.set_name ('HXT', 'HXT_39545_SEP_CHK_NF');
2330: fnd_message.set_token ('SEP_CHK', l_sep_chk_flg);
2337: WHEN l_time_per_data_err
2338: THEN
2339: IF g_debug
2340: THEN
2341: hr_utility.set_location (l_proc, 1380);
2342: END IF;
2343:
2344: fnd_message.set_name ('HXT', 'HXT_39330_CANT_CALC_TIM_PER');
2345: fnd_message.set_token ('DATE_WORKED', TO_CHAR (l_date_worked));
2353: WHEN l_time_per_sys_err
2354: THEN
2355: IF g_debug
2356: THEN
2357: hr_utility.set_location (l_proc, 1390);
2358: END IF;
2359:
2360: fnd_message.set_name ('HXT', 'HXT_39324_ERR_TIME_PERIOD');
2361: fnd_message.set_token ('SQLERR', SQLERRM);
2368: WHEN l_istimecard_sys_err
2369: THEN
2370: IF g_debug
2371: THEN
2372: hr_utility.set_location (l_proc, 1400);
2373: END IF;
2374:
2375: fnd_message.set_name ('HXT', 'HXT_39298_ERR_GET_TIMCARD');
2376: l_otm_error := fnd_message.get;
2382: WHEN l_autogen_error
2383: THEN
2384: IF g_debug
2385: THEN
2386: hr_utility.set_location (l_proc, 1410);
2387: END IF;
2388:
2389: fnd_message.set_name ('HXT', 'HXT_39267_AG_TCARD_EXISTS');
2390: fnd_message.set_token ('FIRST_NAME', l_first_name);
2399: WHEN l_make_card_data_err
2400: THEN
2401: IF g_debug
2402: THEN
2403: hr_utility.set_location (l_proc, 1420);
2404: END IF;
2405:
2406: fnd_message.set_name ('HXT', 'HXT_39291_CRT_TCARD_ERR');
2407: fnd_message.set_token ('FIRST_NAME', l_first_name);
2416: WHEN l_make_card_sys_err
2417: THEN
2418: IF g_debug
2419: THEN
2420: hr_utility.set_location (l_proc, 1430);
2421: END IF;
2422:
2423: fnd_message.set_name ('HXT', 'HXT_39318_ERR_CREAT_TCARD');
2424: fnd_message.set_token ('FIRST_NAME', l_first_name);
2434: WHEN l_make_hol_data_err
2435: THEN
2436: IF g_debug
2437: THEN
2438: hr_utility.set_location (l_proc, 1440);
2439: END IF;
2440:
2441: fnd_message.set_name ('HXT', 'HXT_39292_CRT_HOL_HRS');
2442: fnd_message.set_token ('FIRST_NAME', l_first_name);
2451: WHEN l_make_hol_sys_err
2452: THEN
2453: IF g_debug
2454: THEN
2455: hr_utility.set_location (l_proc, 1450);
2456: END IF;
2457:
2458: fnd_message.set_name ('HXT', 'HXT_39320_ERR_CREAT_HOL');
2459: fnd_message.set_token ('FIRST_NAME', l_first_name);
2468: WHEN l_rec_hours_data_err
2469: THEN
2470: IF g_debug
2471: THEN
2472: hr_utility.set_location (l_proc, 1460);
2473: END IF;
2474:
2475: -- GPM v115.23
2476: -- there is no point writing over a specific system error
2496: WHEN l_rec_hours_sys_err
2497: THEN
2498: IF g_debug
2499: THEN
2500: hr_utility.set_location (l_proc, 1470);
2501: END IF;
2502:
2503: -- GPM v115.23
2504: -- there is no point writing over a specific system error
2525: WHEN l_hours_amount_data_err
2526: THEN
2527: IF g_debug
2528: THEN
2529: hr_utility.set_location (l_proc, 1480);
2530: END IF;
2531:
2532: fnd_message.set_name ('HXT', 'HXT_39527_HRS_REQ_IF_AMT');
2533: l_otm_error := fnd_message.get;
2539: WHEN l_amt_hrs_elmnt_data_err
2540: THEN
2541: IF g_debug
2542: THEN
2543: hr_utility.set_location (l_proc, 1490);
2544: END IF;
2545:
2546: fnd_message.set_name ('HXT', 'HXT_39528_HRS_NE0_IF_NO_HRSTYP');
2547: l_otm_error := fnd_message.get;
2553: WHEN l_amt_hrs_zero_data_err
2554: THEN
2555: IF g_debug
2556: THEN
2557: hr_utility.set_location (l_proc, 1500);
2558: END IF;
2559:
2560: fnd_message.set_name ('HXT', 'HXT_39546_HRS_NE0_IF_NO_AMT');
2561: l_otm_error := fnd_message.get;
2567: WHEN l_start_end_data_err
2568: THEN
2569: IF g_debug
2570: THEN
2571: hr_utility.set_location (l_proc, 1510);
2572: END IF;
2573:
2574: fnd_message.set_name ('HXT', 'HXT_39547_START_END_REQ');
2575: l_otm_error := fnd_message.get;
2581: WHEN l_hours_null_data_err
2582: THEN
2583: IF g_debug
2584: THEN
2585: hr_utility.set_location (l_proc, 1520);
2586: END IF;
2587:
2588: fnd_message.set_name ('HXT', 'HXT_39548_HRS_REQ_IF_DT_WRK');
2589: l_otm_error := fnd_message.get;
2595: WHEN l_no_time_data_err
2596: THEN
2597: IF g_debug
2598: THEN
2599: hr_utility.set_location (l_proc, 1530);
2600: END IF;
2601:
2602: fnd_message.set_name ('HXT', 'HXT_39549_ST_END_OR_DT_WRK_REQ');
2603: l_otm_error := fnd_message.get;
2609: WHEN l_tim_src_data_err
2610: THEN
2611: IF g_debug
2612: THEN
2613: hr_utility.set_location (l_proc, 1540);
2614: END IF;
2615:
2616: fnd_message.set_name ('HXT', 'HXT_39550_TIM_SRC_NF');
2617: l_otm_error := fnd_message.get;
2623: WHEN l_tim_src_sys_err
2624: THEN
2625: IF g_debug
2626: THEN
2627: hr_utility.set_location (l_proc, 1550);
2628: END IF;
2629:
2630: fnd_message.set_name ('HXT', 'HXT_39551_TIM_SRC_SYS_ERR');
2631: l_otm_error := fnd_message.get;
2637: WHEN l_time_summary_id_data_err
2638: THEN
2639: IF g_debug
2640: THEN
2641: hr_utility.set_location (l_proc, 1560);
2642: END IF;
2643:
2644: fnd_message.set_name ('HXT', 'HXT_39552_TIM_SUM_ID_NF');
2645: l_otm_error := fnd_message.get;
2651: WHEN l_time_summary_id_sys_err
2652: THEN
2653: IF g_debug
2654: THEN
2655: hr_utility.set_location (l_proc, 1570);
2656: END IF;
2657:
2658: fnd_message.set_name ('HXT', 'HXT_39553_TIM_SUM_ID_SYS_ERR');
2659: l_otm_error := fnd_message.get;
2665: WHEN l_earn_pol_data_err
2666: THEN
2667: IF g_debug
2668: THEN
2669: hr_utility.set_location (l_proc, 1580);
2670: END IF;
2671:
2672: fnd_message.set_name ('HXT', 'HXT_39554_ERN_POL_NF');
2673: l_otm_error := fnd_message.get;
2679: WHEN l_earn_pol_sys_err
2680: THEN
2681: IF g_debug
2682: THEN
2683: hr_utility.set_location (l_proc, 1590);
2684: END IF;
2685:
2686: fnd_message.set_name ('HXT', 'HXT_39555_ERN_POL_SYS_ERR');
2687: l_otm_error := fnd_message.get;
2693: WHEN l_sess_date_err
2694: THEN
2695: IF g_debug
2696: THEN
2697: hr_utility.set_location (l_proc, 1600);
2698: END IF;
2699:
2700: fnd_message.set_name ('HXT', 'HXT_39556_SESSION_DT_NF');
2701: l_otm_error := fnd_message.get;
2707: WHEN l_date_worked_time_err
2708: THEN
2709: IF g_debug
2710: THEN
2711: hr_utility.set_location (l_proc, 1610);
2712: END IF;
2713:
2714: fnd_message.set_name ('HXT', 'HXT_39557_NO_TIME_IN_DT_WRK');
2715: l_otm_error := fnd_message.get;
2721: WHEN l_delete_sys_error
2722: THEN
2723: IF g_debug
2724: THEN
2725: hr_utility.set_location (l_proc, 1620);
2726: END IF;
2727:
2728: fnd_message.set_name ('HXT', 'HXT_39558_ERR_IN_DSR');
2729: l_otm_error := fnd_message.get;
2735: WHEN l_delete_finished
2736: THEN
2737: IF g_debug
2738: THEN
2739: hr_utility.set_location (l_proc, 1630);
2740: END IF;
2741:
2742: NULL;
2743: --SIR290
2744: WHEN l_dt_update_mode_err
2745: THEN
2746: IF g_debug
2747: THEN
2748: hr_utility.set_location (l_proc, 1640);
2749: END IF;
2750:
2751: fnd_message.set_name ('HXT', 'HXT_39559_DT_UPD_MODE_INV');
2752: fnd_message.set_token ('DT_UPD_MODE', dt_update_mode);
2760: WHEN l_dt_upt_mode_null_err
2761: THEN
2762: IF g_debug
2763: THEN
2764: hr_utility.set_location (l_proc, 1650);
2765: END IF;
2766:
2767: fnd_message.set_name ('HXT', 'HXT_39560_DT_UPD_MODE_NULL');
2768: l_otm_error := fnd_message.get;
2774: WHEN OTHERS
2775: THEN
2776: IF g_debug
2777: THEN
2778: hr_utility.set_location (l_proc, 1660);
2779: END IF;
2780:
2781: -- GPM v115.23
2782: IF (l_otm_error IS NULL)
2980: l_session_date DATE;
2981: l_sess_date_err EXCEPTION;
2982: BEGIN
2983: /* Initialize globals */
2984: g_debug := hr_utility.debug_enabled;
2985: g_sysdate := TRUNC (SYSDATE);
2986: g_sysdatetime := SYSDATE;
2987: g_user_id := fnd_global.user_id;
2988: g_login_id := fnd_global.login_id;
2988: g_login_id := fnd_global.login_id;
2989:
2990: IF g_debug
2991: THEN
2992: hr_utility.TRACE ('start re explode for loop');
2993: END IF;
2994:
2995: --
2996: -- Retrieve the timecard's header information.
3031: --
3032: -- Call record_hours_worked to re-explode each summary record.
3033: IF g_debug
3034: THEN
3035: hr_utility.TRACE ('Before for loop');
3036: END IF;
3037:
3038: --
3039: FOR l_sum_hours_rec IN get_summary_rows (timecard_id,
3087: );
3088:
3089: IF g_debug
3090: THEN
3091: hr_utility.TRACE ('l_retcode is :' || TO_CHAR (l_retcode));
3092: END IF;
3093:
3094: IF l_retcode = 1
3095: THEN
3196: IS
3197: BEGIN
3198: IF g_debug
3199: THEN
3200: hr_utility.set_location ('hxt_time_collection.check_for_timecard',
3201: 10
3202: );
3203: END IF;
3204:
3208: WHERE for_person_id = i_person_id AND time_period_id = i_time_period_id;
3209:
3210: IF g_debug
3211: THEN
3212: hr_utility.TRACE ('Timecard id is:' || o_timecard_id);
3213: hr_utility.TRACE ('auto_gen_flag :' || o_auto_gen_flag);
3214: hr_utility.TRACE ('batch_id :' || g_batch_err_id);
3215: hr_utility.set_location ('hxt_time_collection.check_for_timecard',
3216: 20
3209:
3210: IF g_debug
3211: THEN
3212: hr_utility.TRACE ('Timecard id is:' || o_timecard_id);
3213: hr_utility.TRACE ('auto_gen_flag :' || o_auto_gen_flag);
3214: hr_utility.TRACE ('batch_id :' || g_batch_err_id);
3215: hr_utility.set_location ('hxt_time_collection.check_for_timecard',
3216: 20
3217: );
3210: IF g_debug
3211: THEN
3212: hr_utility.TRACE ('Timecard id is:' || o_timecard_id);
3213: hr_utility.TRACE ('auto_gen_flag :' || o_auto_gen_flag);
3214: hr_utility.TRACE ('batch_id :' || g_batch_err_id);
3215: hr_utility.set_location ('hxt_time_collection.check_for_timecard',
3216: 20
3217: );
3218: END IF;
3211: THEN
3212: hr_utility.TRACE ('Timecard id is:' || o_timecard_id);
3213: hr_utility.TRACE ('auto_gen_flag :' || o_auto_gen_flag);
3214: hr_utility.TRACE ('batch_id :' || g_batch_err_id);
3215: hr_utility.set_location ('hxt_time_collection.check_for_timecard',
3216: 20
3217: );
3218: END IF;
3219:
3222: WHEN NO_DATA_FOUND
3223: THEN
3224: IF g_debug
3225: THEN
3226: hr_utility.set_location
3227: ('hxt_time_collection.check_for_timecard',
3228: 30
3229: );
3230: END IF;
3233: WHEN OTHERS
3234: THEN
3235: IF g_debug
3236: THEN
3237: hr_utility.set_location
3238: ('hxt_time_collection.check_for_timecard',
3239: 40
3240: );
3241: END IF;
3299: /* Obtain a batch id for the new timecard */
3300: IF g_debug
3301: THEN
3302: l_proc := g_package || 'create_timecard';
3303: hr_utility.set_location ('Entering ' || l_proc, 10);
3304: END IF;
3305:
3306: l_batch_id :=
3307: find_existing_batch (p_time_period_id => i_time_period_id,
3313: IF (l_batch_id IS NULL)
3314: THEN
3315: IF g_debug
3316: THEN
3317: hr_utility.TRACE ('No existing_batch ');
3318: END IF;
3319:
3320: /* Create a batch id for the new timecard */
3321: /* A Autogen; C Autogen (changed); M Manual; U Manual (changed);
3331: );
3332:
3333: IF g_debug
3334: THEN
3335: hr_utility.TRACE ( 'AFTER create batch. Create batch id is '
3336: || TO_CHAR (l_batch_id)
3337: );
3338: hr_utility.TRACE ( 'AFTER create batch. RETCODE is '
3339: || TO_CHAR (l_retcode)
3334: THEN
3335: hr_utility.TRACE ( 'AFTER create batch. Create batch id is '
3336: || TO_CHAR (l_batch_id)
3337: );
3338: hr_utility.TRACE ( 'AFTER create batch. RETCODE is '
3339: || TO_CHAR (l_retcode)
3340: );
3341: END IF;
3342:
3401:
3402: /* Call dml to insert new timecard. */
3403: IF g_debug
3404: THEN
3405: hr_utility.TRACE ('BEFORE DML create timecard');
3406: END IF;
3407:
3408: hxt_dml.insert_hxt_timecards
3409: (p_rowid => l_rowid,
3429: o_timecard_id := l_timecard_id;
3430:
3431: IF g_debug
3432: THEN
3433: hr_utility.TRACE ( 'AFTER DML create timecard. timecard id is '
3434: || TO_CHAR (l_timecard_id)
3435: );
3436: END IF;
3437:
3481: l_object_version_number NUMBER;
3482: BEGIN
3483: IF g_debug
3484: THEN
3485: hr_utility.TRACE ('IN cREATE BATCH ');
3486: END IF;
3487:
3488: IF (i_source = 'S') OR (g_batch_ref IS NOT NULL)
3489: THEN
3501: END IF;
3502:
3503: IF g_debug
3504: THEN
3505: hr_utility.TRACE ('AFTER REF NUM ');
3506: END IF;
3507:
3508: IF l_error_text <> NULL
3509: THEN
3508: IF l_error_text <> NULL
3509: THEN
3510: IF g_debug
3511: THEN
3512: hr_utility.TRACE ('ERROR IS ' || l_error_text);
3513: END IF;
3514:
3515: RAISE l_reference_num_error;
3516: END IF;
3517:
3518: --
3519: IF g_debug
3520: THEN
3521: hr_utility.TRACE ('GET batch id');
3522: END IF;
3523:
3524: /* Get next batch number */
3525: /* l_batch_id := hxt_time_gen.get_next_batch_id;
3525: /* l_batch_id := hxt_time_gen.get_next_batch_id;
3526:
3527: IF l_batch_id = NULL
3528: THEN
3529: hr_utility.TRACE ('batch id is null');
3530: RAISE l_batch_id_error;
3531: END IF;
3532:
3533: --
3530: RAISE l_batch_id_error;
3531: END IF;
3532:
3533: --
3534: hr_utility.TRACE ( 'batch id is -----'
3535: || TO_CHAR (l_batch_id));
3536: IF i_source = 'S'
3537: THEN
3538: l_batch_name := g_batch_name
3546: END IF;
3547: */
3548: IF g_debug
3549: THEN
3550: hr_utility.TRACE ('batch name is -----' || l_batch_name);
3551: END IF;
3552:
3553: IF l_error_text <> NULL
3554: THEN
3553: IF l_error_text <> NULL
3554: THEN
3555: IF g_debug
3556: THEN
3557: hr_utility.TRACE ('batch name error ');
3558: END IF;
3559:
3560: RAISE l_batch_name_error;
3561: END IF;
3561: END IF;
3562:
3563: IF g_debug
3564: THEN
3565: hr_utility.TRACE ('BEFORE INSERT batch ');
3566: END IF;
3567:
3568: /* INSERT INTO pay_batch_headers
3569: (batch_id, business_group_id, batch_name, batch_status,
3576: 'N', 'N',
3577: g_sysdatetime, g_user_id, g_login_id,
3578: g_user_id, g_sysdatetime);
3579:
3580: hr_utility.TRACE ('AFTER insert batch ');
3581: */-- create a batch first
3582: pay_batch_element_entry_api.create_batch_header
3583: (p_session_date => g_sysdatetime,
3584: p_batch_name => TO_CHAR
3685: BEGIN
3686: IF g_debug
3687: THEN
3688: l_proc := g_package || 'find_existing_batch';
3689: hr_utility.set_location ('Entering:' || l_proc, 10);
3690: END IF;
3691:
3692: IF (CACHE)
3693: THEN
3716:
3717: -- to trigger exit of loop
3718: IF g_debug
3719: THEN
3720: hr_utility.set_location ( ' Found batch_id in cache:'
3721: || l_batch_id,
3722: 20
3723: );
3724: END IF;
3729: END IF;
3730:
3731: IF g_debug
3732: THEN
3733: hr_utility.set_location ('Leaving:' || l_proc, 100);
3734: END IF;
3735:
3736: RETURN l_batch_id;
3737: EXCEPTION
3812: BEGIN
3813: IF g_debug
3814: THEN
3815: l_proc := 'hxt_time_collection.CREATE_HOLIDAY_HOURS';
3816: hr_utility.set_location (l_proc, 10);
3817: hr_utility.TRACE ('i_start_date :' || i_start_date);
3818: hr_utility.TRACE ('i_end_date :' || i_end_date);
3819: hr_utility.TRACE ('i_hcl_id :' || i_hcl_id);
3820: hr_utility.TRACE ( 'i_start_time is '
3813: IF g_debug
3814: THEN
3815: l_proc := 'hxt_time_collection.CREATE_HOLIDAY_HOURS';
3816: hr_utility.set_location (l_proc, 10);
3817: hr_utility.TRACE ('i_start_date :' || i_start_date);
3818: hr_utility.TRACE ('i_end_date :' || i_end_date);
3819: hr_utility.TRACE ('i_hcl_id :' || i_hcl_id);
3820: hr_utility.TRACE ( 'i_start_time is '
3821: || TO_CHAR (i_start_time, 'DD-MON-YYYY HH:MI:SS')
3814: THEN
3815: l_proc := 'hxt_time_collection.CREATE_HOLIDAY_HOURS';
3816: hr_utility.set_location (l_proc, 10);
3817: hr_utility.TRACE ('i_start_date :' || i_start_date);
3818: hr_utility.TRACE ('i_end_date :' || i_end_date);
3819: hr_utility.TRACE ('i_hcl_id :' || i_hcl_id);
3820: hr_utility.TRACE ( 'i_start_time is '
3821: || TO_CHAR (i_start_time, 'DD-MON-YYYY HH:MI:SS')
3822: );
3815: l_proc := 'hxt_time_collection.CREATE_HOLIDAY_HOURS';
3816: hr_utility.set_location (l_proc, 10);
3817: hr_utility.TRACE ('i_start_date :' || i_start_date);
3818: hr_utility.TRACE ('i_end_date :' || i_end_date);
3819: hr_utility.TRACE ('i_hcl_id :' || i_hcl_id);
3820: hr_utility.TRACE ( 'i_start_time is '
3821: || TO_CHAR (i_start_time, 'DD-MON-YYYY HH:MI:SS')
3822: );
3823: hr_utility.TRACE ( 'i_end_time is '
3816: hr_utility.set_location (l_proc, 10);
3817: hr_utility.TRACE ('i_start_date :' || i_start_date);
3818: hr_utility.TRACE ('i_end_date :' || i_end_date);
3819: hr_utility.TRACE ('i_hcl_id :' || i_hcl_id);
3820: hr_utility.TRACE ( 'i_start_time is '
3821: || TO_CHAR (i_start_time, 'DD-MON-YYYY HH:MI:SS')
3822: );
3823: hr_utility.TRACE ( 'i_end_time is '
3824: || TO_CHAR (i_end_time, 'DD-MON-YYYY HH:MI:SS')
3819: hr_utility.TRACE ('i_hcl_id :' || i_hcl_id);
3820: hr_utility.TRACE ( 'i_start_time is '
3821: || TO_CHAR (i_start_time, 'DD-MON-YYYY HH:MI:SS')
3822: );
3823: hr_utility.TRACE ( 'i_end_time is '
3824: || TO_CHAR (i_end_time, 'DD-MON-YYYY HH:MI:SS')
3825: );
3826: END IF;
3827:
3826: END IF;
3827:
3828: FOR l_hol_rec IN g_hol_cur (i_start_date, i_end_date, i_hcl_id)
3829: LOOP
3830: hr_utility.set_location (l_proc, 20);
3831:
3832: IF ( fnd_profile.VALUE ('HXT_HOL_HOURS_FROM_HOL_CAL') = 'Y'
3833: OR fnd_profile.VALUE ('HXT_HOL_HOURS_FROM_HOL_CAL') IS NULL
3834: )
3834: )
3835: THEN
3836: IF g_debug
3837: THEN
3838: hr_utility.set_location (l_proc, 30);
3839: END IF;
3840:
3841: l_hours := l_hol_rec.hours;
3842: l_time_out := NULL;
3843: l_time_in := NULL;
3844:
3845: IF g_debug
3846: THEN
3847: hr_utility.TRACE ('l_hours :' || l_hours);
3848: hr_utility.TRACE ('l_time_in :' || l_time_in);
3849: hr_utility.TRACE ('l_time_out :' || l_time_out);
3850: END IF;
3851: ELSE
3844:
3845: IF g_debug
3846: THEN
3847: hr_utility.TRACE ('l_hours :' || l_hours);
3848: hr_utility.TRACE ('l_time_in :' || l_time_in);
3849: hr_utility.TRACE ('l_time_out :' || l_time_out);
3850: END IF;
3851: ELSE
3852: IF g_debug
3845: IF g_debug
3846: THEN
3847: hr_utility.TRACE ('l_hours :' || l_hours);
3848: hr_utility.TRACE ('l_time_in :' || l_time_in);
3849: hr_utility.TRACE ('l_time_out :' || l_time_out);
3850: END IF;
3851: ELSE
3852: IF g_debug
3853: THEN
3850: END IF;
3851: ELSE
3852: IF g_debug
3853: THEN
3854: hr_utility.set_location (l_proc, 40);
3855: END IF;
3856:
3857: IF i_hxt_rotation_plan IS NOT NULL
3858: THEN
3857: IF i_hxt_rotation_plan IS NOT NULL
3858: THEN
3859: IF g_debug
3860: THEN
3861: hr_utility.set_location (l_proc, 50);
3862: END IF;
3863:
3864: hxt_util.get_shift_info (l_hol_rec.holiday_date,
3865: l_work_id,
3875: );
3876:
3877: IF g_debug
3878: THEN
3879: hr_utility.TRACE ('l_retcode :' || l_retcode);
3880: END IF;
3881:
3882: IF l_retcode <> 0
3883: THEN
3882: IF l_retcode <> 0
3883: THEN
3884: IF g_debug
3885: THEN
3886: hr_utility.set_location (l_proc, 60);
3887: END IF;
3888:
3889: RAISE l_hours_worked_error;
3890: END IF;
3892: IF l_hours IS NOT NULL
3893: THEN
3894: IF g_debug
3895: THEN
3896: hr_utility.set_location (l_proc, 70);
3897: END IF;
3898:
3899: l_time_out := NULL;
3900: l_time_in := NULL;
3900: l_time_in := NULL;
3901:
3902: IF g_debug
3903: THEN
3904: hr_utility.TRACE ('l_time_in :' || l_time_in);
3905: hr_utility.TRACE ('l_time_out :' || l_time_out);
3906: END IF;
3907: ELSE
3908: IF g_debug
3901:
3902: IF g_debug
3903: THEN
3904: hr_utility.TRACE ('l_time_in :' || l_time_in);
3905: hr_utility.TRACE ('l_time_out :' || l_time_out);
3906: END IF;
3907: ELSE
3908: IF g_debug
3909: THEN
3906: END IF;
3907: ELSE
3908: IF g_debug
3909: THEN
3910: hr_utility.set_location (l_proc, 80);
3911: END IF;
3912:
3913: l_time_in :=
3914: TO_DATE ( TO_CHAR (l_hol_rec.holiday_date, 'DDMMYYYY ')
3923: l_hours := 24 * (l_time_out - l_time_in);
3924:
3925: IF g_debug
3926: THEN
3927: hr_utility.TRACE ('l_hours :' || l_hours);
3928: hr_utility.TRACE ('l_time_in :' || l_time_in);
3929: hr_utility.TRACE ('l_time_out :' || l_time_out);
3930: END IF;
3931:
3924:
3925: IF g_debug
3926: THEN
3927: hr_utility.TRACE ('l_hours :' || l_hours);
3928: hr_utility.TRACE ('l_time_in :' || l_time_in);
3929: hr_utility.TRACE ('l_time_out :' || l_time_out);
3930: END IF;
3931:
3932: IF l_hours = 0
3925: IF g_debug
3926: THEN
3927: hr_utility.TRACE ('l_hours :' || l_hours);
3928: hr_utility.TRACE ('l_time_in :' || l_time_in);
3929: hr_utility.TRACE ('l_time_out :' || l_time_out);
3930: END IF;
3931:
3932: IF l_hours = 0
3933: THEN
3932: IF l_hours = 0
3933: THEN
3934: IF g_debug
3935: THEN
3936: hr_utility.set_location (l_proc, 90);
3937: END IF;
3938:
3939: l_time_out := NULL;
3940: l_time_in := NULL;
3940: l_time_in := NULL;
3941:
3942: IF g_debug
3943: THEN
3944: hr_utility.TRACE ('l_time_in :' || l_time_in);
3945: hr_utility.TRACE ('l_time_out :' || l_time_out);
3946: END IF;
3947: END IF;
3948:
3941:
3942: IF g_debug
3943: THEN
3944: hr_utility.TRACE ('l_time_in :' || l_time_in);
3945: hr_utility.TRACE ('l_time_out :' || l_time_out);
3946: END IF;
3947: END IF;
3948:
3949: IF g_debug
3947: END IF;
3948:
3949: IF g_debug
3950: THEN
3951: hr_utility.set_location (l_proc, 100);
3952: END IF;
3953: END IF;
3954:
3955: IF g_debug
3953: END IF;
3954:
3955: IF g_debug
3956: THEN
3957: hr_utility.set_location (l_proc, 110);
3958: END IF;
3959: END IF;
3960:
3961: IF g_debug
3959: END IF;
3960:
3961: IF g_debug
3962: THEN
3963: hr_utility.set_location (l_proc, 120);
3964: END IF;
3965: END IF;
3966:
3967: IF g_debug
3965: END IF;
3966:
3967: IF g_debug
3968: THEN
3969: hr_utility.TRACE ('l_hours:' || l_hours);
3970: END IF;
3971:
3972: IF l_hours >= 0
3973: THEN
3972: IF l_hours >= 0
3973: THEN
3974: IF g_debug
3975: THEN
3976: hr_utility.set_location (l_proc, 130);
3977: END IF;
3978:
3979: l_retcode :=
3980: record_hours_worked (NULL,
4025:
4026: --p_mode);
4027: IF g_debug
4028: THEN
4029: hr_utility.TRACE ('l_retcode :' || l_retcode);
4030: hr_utility.set_location (l_proc, 140);
4031: END IF;
4032: END IF;
4033:
4026: --p_mode);
4027: IF g_debug
4028: THEN
4029: hr_utility.TRACE ('l_retcode :' || l_retcode);
4030: hr_utility.set_location (l_proc, 140);
4031: END IF;
4032: END IF;
4033:
4034: IF l_retcode <> 0
4034: IF l_retcode <> 0
4035: THEN
4036: IF g_debug
4037: THEN
4038: hr_utility.set_location (l_proc, 150);
4039: END IF;
4040:
4041: RAISE l_hours_worked_error;
4042: END IF;
4042: END IF;
4043:
4044: IF g_debug
4045: THEN
4046: hr_utility.set_location (l_proc, 160);
4047: END IF;
4048:
4049: o_otm_error := l_otm_error;
4050: o_oracle_error := l_oracle_error;
4051: o_created_tim_sum_id := l_created_tim_sum_id;
4052:
4053: IF g_debug
4054: THEN
4055: hr_utility.TRACE ('o_otm_error :' || o_otm_error);
4056: hr_utility.TRACE ('o_oracle_error :' || o_oracle_error);
4057: hr_utility.TRACE ('o_created_tim_sum_id :' || o_created_tim_sum_id
4058: );
4059: END IF;
4052:
4053: IF g_debug
4054: THEN
4055: hr_utility.TRACE ('o_otm_error :' || o_otm_error);
4056: hr_utility.TRACE ('o_oracle_error :' || o_oracle_error);
4057: hr_utility.TRACE ('o_created_tim_sum_id :' || o_created_tim_sum_id
4058: );
4059: END IF;
4060: END LOOP;
4053: IF g_debug
4054: THEN
4055: hr_utility.TRACE ('o_otm_error :' || o_otm_error);
4056: hr_utility.TRACE ('o_oracle_error :' || o_oracle_error);
4057: hr_utility.TRACE ('o_created_tim_sum_id :' || o_created_tim_sum_id
4058: );
4059: END IF;
4060: END LOOP;
4061:
4060: END LOOP;
4061:
4062: IF g_debug
4063: THEN
4064: hr_utility.set_location (l_proc, 170);
4065: END IF;
4066:
4067: RETURN 0;
4068: EXCEPTION
4069: WHEN NO_DATA_FOUND
4070: THEN
4071: IF g_debug
4072: THEN
4073: hr_utility.set_location (l_proc, 180);
4074: END IF;
4075:
4076: RETURN 0;
4077: WHEN l_hours_worked_error
4077: WHEN l_hours_worked_error
4078: THEN
4079: IF g_debug
4080: THEN
4081: hr_utility.set_location (l_proc, 190);
4082: END IF;
4083:
4084: fnd_message.set_name ('HXT', 'HXT_39565_ERR_IN_CHH');
4085: o_otm_error := fnd_message.get;
4090: WHEN OTHERS
4091: THEN
4092: IF g_debug
4093: THEN
4094: hr_utility.set_location (l_proc, 200);
4095: END IF;
4096:
4097: fnd_message.set_name ('HXT', 'HXT_39413_LOC_HOL');
4098: fnd_message.set_token ('ASG_ID', TO_CHAR (i_assignment_id));
4165: error_in_shift_info EXCEPTION;
4166: -- error_in_check_hol exception;
4167: l_proc VARCHAR2 (100);
4168: BEGIN
4169: g_debug := hr_utility.debug_enabled;
4170:
4171: IF g_debug
4172: THEN
4173: l_proc := 'hxt_time_collection.LOAD_POLICIES';
4170:
4171: IF g_debug
4172: THEN
4173: l_proc := 'hxt_time_collection.LOAD_POLICIES';
4174: hr_utility.set_location (l_proc, 10);
4175: END IF;
4176:
4177: p_hol_yn := 'N';
4178:
4179: -- Get policies assigned to person
4180: BEGIN
4181: IF g_debug
4182: THEN
4183: hr_utility.set_location (l_proc, 20);
4184: END IF;
4185:
4186: p_egp_id := p_summ_earn_pol_id;
4187: hxt_util.get_policies (p_egp_id,
4204: );
4205:
4206: IF g_debug
4207: THEN
4208: hr_utility.set_location (l_proc, 30);
4209: END IF;
4210:
4211: -- Check if error encountered
4212: IF p_error <> 0
4212: IF p_error <> 0
4213: THEN
4214: IF g_debug
4215: THEN
4216: hr_utility.set_location (l_proc, 40);
4217: END IF;
4218:
4219: RAISE error_in_policies;
4220: END IF;
4220: END IF;
4221:
4222: IF g_debug
4223: THEN
4224: hr_utility.set_location (l_proc, 50);
4225: END IF;
4226: END;
4227:
4228: -- Check if person assigned work or rotation plan
4228: -- Check if person assigned work or rotation plan
4229: BEGIN
4230: IF g_debug
4231: THEN
4232: hr_utility.set_location (l_proc, 60);
4233: END IF;
4234:
4235: IF (p_work_plan IS NOT NULL) OR (p_rotation_plan IS NOT NULL)
4236: THEN
4235: IF (p_work_plan IS NOT NULL) OR (p_rotation_plan IS NOT NULL)
4236: THEN
4237: IF g_debug
4238: THEN
4239: hr_utility.set_location (l_proc, 70);
4240: END IF;
4241:
4242: -- Get premiums for shift
4243: hxt_util.get_shift_info (p_summ_date_worked,
4254: );
4255:
4256: IF g_debug
4257: THEN
4258: hr_utility.set_location (l_proc, 80);
4259: END IF;
4260:
4261: -- Check if error encountered
4262: IF p_error <> 0
4262: IF p_error <> 0
4263: THEN
4264: IF g_debug
4265: THEN
4266: hr_utility.set_location (l_proc, 90);
4267: END IF;
4268:
4269: RAISE error_in_shift_info;
4270: END IF;
4270: END IF;
4271:
4272: IF g_debug
4273: THEN
4274: hr_utility.set_location (l_proc, 100);
4275: END IF;
4276: END IF; -- person assigned work or rotation plan
4277:
4278: IF g_debug
4276: END IF; -- person assigned work or rotation plan
4277:
4278: IF g_debug
4279: THEN
4280: hr_utility.set_location (l_proc, 110);
4281: END IF;
4282: END;
4283: -- Get holiday earning, day before/after, etc
4284: /* BEGIN
4305: WHEN error_in_policies
4306: THEN
4307: IF g_debug
4308: THEN
4309: hr_utility.set_location (l_proc, 120);
4310: END IF;
4311:
4312: fnd_message.set_name ('HXT', 'HXT_39171_ERN_POL_OP_VIOL');
4313: fnd_message.set_token ('ORA_ERROR', SQLERRM);
4315: WHEN error_in_shift_info
4316: THEN
4317: IF g_debug
4318: THEN
4319: hr_utility.set_location (l_proc, 130);
4320: END IF;
4321:
4322: fnd_message.set_name ('HXT', 'HXT_39172_SHF_PREMS_OP_VIOL');
4323: fnd_message.set_token ('ORA_ERROR', SQLERRM);
4476: BEGIN
4477: IF g_debug
4478: THEN
4479: l_proc := 'hxt_time_collection.RECORD_HOURS_WORKED';
4480: hr_utility.set_location (l_proc, 10);
4481: END IF;
4482:
4483: /*Fetch additional assignment details about this employee*/
4484: /*
4482:
4483: /*Fetch additional assignment details about this employee*/
4484: /*
4485: BEGIN
4486: hr_utility.set_location (l_proc, 20);
4487: OPEN g_details_cur (i_assignment_id, i_date_worked);
4488: FETCH g_details_cur INTO l_det_rec;
4489: CLOSE g_details_cur;
4490: EXCEPTION
4489: CLOSE g_details_cur;
4490: EXCEPTION
4491: WHEN NO_DATA_FOUND
4492: THEN
4493: hr_utility.set_location (l_proc, 30);
4494: RAISE l_details_error;
4495: WHEN OTHERS
4496: THEN
4497: hr_utility.set_location (l_proc, 40);
4493: hr_utility.set_location (l_proc, 30);
4494: RAISE l_details_error;
4495: WHEN OTHERS
4496: THEN
4497: hr_utility.set_location (l_proc, 40);
4498: RAISE l_details_system_error;
4499: END;
4500: */
4501: /*Get earning policy details */
4499: END;
4500: */
4501: /*Get earning policy details */
4502: /*
4503: hr_utility.set_location (l_proc, 50);
4504: OPEN g_earn_pol_details_cur (
4505: NVL (i_earn_pol_id, l_det_rec.hxt_earning_policy),
4506: i_date_worked
4507: );
4546: );
4547:
4548: IF g_debug
4549: THEN
4550: hr_utility.set_location (l_proc, 20);
4551: END IF;
4552:
4553: IF l_otm_error IS NOT NULL
4554: THEN
4553: IF l_otm_error IS NOT NULL
4554: THEN
4555: IF g_debug
4556: THEN
4557: hr_utility.set_location (l_proc, 30);
4558: END IF;
4559:
4560: RAISE l_details_error;
4561: END IF;
4567:
4568: /*Obtain a unique hours worked id*/
4569: IF g_debug
4570: THEN
4571: hr_utility.set_location (l_proc, 40);
4572: END IF;
4573:
4574: IF i_time_summary_id IS NULL
4575: THEN
4574: IF i_time_summary_id IS NULL
4575: THEN
4576: IF g_debug
4577: THEN
4578: hr_utility.set_location (l_proc, 50);
4579: END IF;
4580:
4581: l_hours_worked_id := hxt_time_gen.get_hxt_seqno;
4582:
4581: l_hours_worked_id := hxt_time_gen.get_hxt_seqno;
4582:
4583: IF g_debug
4584: THEN
4585: hr_utility.TRACE ('l_hours_worked_id :' || l_hours_worked_id);
4586: END IF;
4587: ELSE
4588: IF g_debug
4589: THEN
4586: END IF;
4587: ELSE
4588: IF g_debug
4589: THEN
4590: hr_utility.set_location (l_proc, 60);
4591: END IF;
4592:
4593: l_hours_worked_id := i_time_summary_id;
4594:
4593: l_hours_worked_id := i_time_summary_id;
4594:
4595: IF g_debug
4596: THEN
4597: hr_utility.TRACE ('l_hours_worked_id :' || l_hours_worked_id);
4598: END IF;
4599: END IF;
4600:
4601: IF g_debug
4599: END IF;
4600:
4601: IF g_debug
4602: THEN
4603: hr_utility.set_location (l_proc, 70);
4604: END IF;
4605:
4606: IF l_hours_worked_id = NULL
4607: THEN
4606: IF l_hours_worked_id = NULL
4607: THEN
4608: IF g_debug
4609: THEN
4610: hr_utility.set_location (l_proc, 80);
4611: END IF;
4612:
4613: RAISE l_hours_worked_id_error;
4614: END IF;
4614: END IF;
4615:
4616: IF g_debug
4617: THEN
4618: hr_utility.set_location (l_proc, 90);
4619: END IF;
4620:
4621: g_hours_worked_err_id := l_hours_worked_id;
4622: o_created_tim_sum_id := l_hours_worked_id;
4622: o_created_tim_sum_id := l_hours_worked_id;
4623:
4624: IF g_debug
4625: THEN
4626: hr_utility.TRACE ('g_hours_worked_err_id :' || g_hours_worked_err_id);
4627: hr_utility.TRACE ('o_created_tim_sum_id :' || o_created_tim_sum_id);
4628: END IF;
4629:
4630: IF b_generate_holiday = TRUE
4623:
4624: IF g_debug
4625: THEN
4626: hr_utility.TRACE ('g_hours_worked_err_id :' || g_hours_worked_err_id);
4627: hr_utility.TRACE ('o_created_tim_sum_id :' || o_created_tim_sum_id);
4628: END IF;
4629:
4630: IF b_generate_holiday = TRUE
4631: THEN
4630: IF b_generate_holiday = TRUE
4631: THEN
4632: IF g_debug
4633: THEN
4634: hr_utility.set_location (l_proc, 100);
4635: END IF;
4636:
4637: l_hours := i_hours;
4638: l_start_time := i_start_time;
4640: l_hol_yn := 'Y';
4641:
4642: IF g_debug
4643: THEN
4644: hr_utility.TRACE ('l_hours :' || l_hours);
4645: hr_utility.TRACE ('l_start_time :' || l_start_time);
4646: hr_utility.TRACE ('l_end_time :' || l_end_time);
4647: hr_utility.TRACE ('l_hol_yn :' || l_hol_yn);
4648: END IF;
4641:
4642: IF g_debug
4643: THEN
4644: hr_utility.TRACE ('l_hours :' || l_hours);
4645: hr_utility.TRACE ('l_start_time :' || l_start_time);
4646: hr_utility.TRACE ('l_end_time :' || l_end_time);
4647: hr_utility.TRACE ('l_hol_yn :' || l_hol_yn);
4648: END IF;
4649: ELSE
4642: IF g_debug
4643: THEN
4644: hr_utility.TRACE ('l_hours :' || l_hours);
4645: hr_utility.TRACE ('l_start_time :' || l_start_time);
4646: hr_utility.TRACE ('l_end_time :' || l_end_time);
4647: hr_utility.TRACE ('l_hol_yn :' || l_hol_yn);
4648: END IF;
4649: ELSE
4650: IF (i_start_time IS NOT NULL AND i_end_time IS NOT NULL)
4643: THEN
4644: hr_utility.TRACE ('l_hours :' || l_hours);
4645: hr_utility.TRACE ('l_start_time :' || l_start_time);
4646: hr_utility.TRACE ('l_end_time :' || l_end_time);
4647: hr_utility.TRACE ('l_hol_yn :' || l_hol_yn);
4648: END IF;
4649: ELSE
4650: IF (i_start_time IS NOT NULL AND i_end_time IS NOT NULL)
4651: THEN
4650: IF (i_start_time IS NOT NULL AND i_end_time IS NOT NULL)
4651: THEN
4652: IF g_debug
4653: THEN
4654: hr_utility.set_location (l_proc, 110);
4655: hr_utility.TRACE ('before Adjust_Timings');
4656: END IF;
4657:
4658: hxt_time_collection.adjust_timings
4651: THEN
4652: IF g_debug
4653: THEN
4654: hr_utility.set_location (l_proc, 110);
4655: hr_utility.TRACE ('before Adjust_Timings');
4656: END IF;
4657:
4658: hxt_time_collection.adjust_timings
4659: (p_timecard_source,
4676: ); -- SIR236
4677:
4678: IF g_debug
4679: THEN
4680: hr_utility.set_location (l_proc, 120);
4681: hr_utility.TRACE ('after Adjust_Timings');
4682: hr_utility.TRACE ('l_ad_error is : ' || l_ad_error);
4683: hr_utility.TRACE ('l_ad_code is : ' || TO_CHAR (l_ad_code));
4684: END IF;
4677:
4678: IF g_debug
4679: THEN
4680: hr_utility.set_location (l_proc, 120);
4681: hr_utility.TRACE ('after Adjust_Timings');
4682: hr_utility.TRACE ('l_ad_error is : ' || l_ad_error);
4683: hr_utility.TRACE ('l_ad_code is : ' || TO_CHAR (l_ad_code));
4684: END IF;
4685:
4678: IF g_debug
4679: THEN
4680: hr_utility.set_location (l_proc, 120);
4681: hr_utility.TRACE ('after Adjust_Timings');
4682: hr_utility.TRACE ('l_ad_error is : ' || l_ad_error);
4683: hr_utility.TRACE ('l_ad_code is : ' || TO_CHAR (l_ad_code));
4684: END IF;
4685:
4686: IF l_ad_code <> 0
4679: THEN
4680: hr_utility.set_location (l_proc, 120);
4681: hr_utility.TRACE ('after Adjust_Timings');
4682: hr_utility.TRACE ('l_ad_error is : ' || l_ad_error);
4683: hr_utility.TRACE ('l_ad_code is : ' || TO_CHAR (l_ad_code));
4684: END IF;
4685:
4686: IF l_ad_code <> 0
4687: THEN -- SIR236
4686: IF l_ad_code <> 0
4687: THEN -- SIR236
4688: IF g_debug
4689: THEN
4690: hr_utility.set_location (l_proc, 125);
4691: END IF;
4692:
4693: RAISE l_adjust_tim_error;
4694: END IF;
4694: END IF;
4695:
4696: IF g_debug
4697: THEN
4698: hr_utility.set_location (l_proc, 130);
4699: END IF;
4700:
4701: l_hours := reset_hours (l_start_time, l_end_time);
4702:
4701: l_hours := reset_hours (l_start_time, l_end_time);
4702:
4703: IF g_debug
4704: THEN
4705: hr_utility.set_location (l_proc, 140);
4706: hr_utility.TRACE ('l_hours :' || l_hours);
4707: END IF;
4708: END IF;
4709:
4702:
4703: IF g_debug
4704: THEN
4705: hr_utility.set_location (l_proc, 140);
4706: hr_utility.TRACE ('l_hours :' || l_hours);
4707: END IF;
4708: END IF;
4709:
4710: IF g_debug
4708: END IF;
4709:
4710: IF g_debug
4711: THEN
4712: hr_utility.set_location (l_proc, 150);
4713: END IF;
4714: END IF;
4715:
4716: /*Obtain a unique hours worked id*/
4731: o_created_tim_sum_id := l_hours_worked_id;
4732: */
4733: IF g_debug
4734: THEN
4735: hr_utility.set_location (l_proc, 155);
4736: END IF;
4737:
4738: /*Obtain the next sequence number for hours worked on this day*/
4739: l_sequence_number :=
4740: hxt_util.get_next_seqno (i_timecard_id, i_date_worked);
4741:
4742: IF g_debug
4743: THEN
4744: hr_utility.TRACE ('l_sequence_number :' || l_sequence_number);
4745: END IF;
4746:
4747: --
4748: IF l_sequence_number = NULL
4748: IF l_sequence_number = NULL
4749: THEN
4750: IF g_debug
4751: THEN
4752: hr_utility.set_location (l_proc, 160);
4753: END IF;
4754:
4755: RAISE l_seq_num_error;
4756: END IF;
4759: IF i_writesum_yn = 'Y'
4760: THEN
4761: IF g_debug
4762: THEN
4763: hr_utility.set_location (l_proc, 170);
4764: END IF;
4765:
4766: IF i_time_summary_id IS NULL
4767: THEN
4766: IF i_time_summary_id IS NULL
4767: THEN
4768: IF g_debug
4769: THEN
4770: hr_utility.set_location (l_proc, 180);
4771: END IF;
4772:
4773: -- SELECT hxt_group_id_s.nextval
4774: -- INTO l_group_id
4889: );
4890:
4891: IF g_debug
4892: THEN
4893: hr_utility.set_location (l_proc, 190);
4894: END IF;
4895: --
4896: -- Note: If a non-NULL tim_summary_id value is received by the API, check
4897: -- the current batch status. If the batch is in a hold state the
4904: --
4905: ELSE
4906: IF g_debug
4907: THEN
4908: hr_utility.set_location (l_proc, 200);
4909: END IF;
4910:
4911: --SIR290 IF nvl(i_batch_status, 'QQ') in ('VV','VW', 'H', 'VE') THEN
4912: --
4918: INTO l_allow_sum_correction;
4919:
4920: IF g_debug
4921: THEN
4922: hr_utility.TRACE ( 'l_allow_sum_correction :'
4923: || l_allow_sum_correction
4924: );
4925: END IF;
4926:
4931: AND (l_allow_sum_correction = 'Y')
4932: THEN
4933: IF g_debug
4934: THEN
4935: hr_utility.set_location (l_proc, 210);
4936: END IF;
4937:
4938: /* UPDATE hxt_sum_hours_worked_f
4939: SET effective_start_date = i_tim_sum_eff_start_date,
4974: WHERE ID = i_time_summary_id;
4975:
4976: IF g_debug
4977: THEN
4978: hr_utility.set_location (l_proc, 220);
4979: END IF;
4980:
4981: hxt_dml.update_hxt_sum_hours_worked
4982: (p_rowid => l_rowid,
5025: );
5026: ELSE
5027: IF g_debug
5028: THEN
5029: hr_utility.set_location (l_proc, 230);
5030: END IF;
5031:
5032: SELECT ROWID
5033: INTO v_row_id
5108: WHERE ROWID = v_row_id;
5109:
5110: IF g_debug
5111: THEN
5112: hr_utility.set_location (l_proc, 240);
5113: END IF;
5114:
5115: hxt_dml.insert_hxt_sum_hours_worked
5116: (p_rowid => l_rowid,
5159: );
5160:
5161: IF g_debug
5162: THEN
5163: hr_utility.set_location (l_proc, 250);
5164: END IF;
5165:
5166: --
5167: UPDATE hxt_sum_hours_worked_f
5170:
5171: --
5172: IF g_debug
5173: THEN
5174: hr_utility.set_location (l_proc, 260);
5175: END IF;
5176: END IF; -- End of Correction/History Check
5177:
5178: IF g_debug
5176: END IF; -- End of Correction/History Check
5177:
5178: IF g_debug
5179: THEN
5180: hr_utility.set_location (l_proc, 270);
5181: END IF;
5182: END IF; -- End of Time Summary Id Check
5183:
5184: IF g_debug
5182: END IF; -- End of Time Summary Id Check
5183:
5184: IF g_debug
5185: THEN
5186: hr_utility.set_location (l_proc, 280);
5187: END IF;
5188: END IF; -- End of Write Summary Check
5189:
5190: /*Generate time details*/
5189:
5190: /*Generate time details*/
5191: IF g_debug
5192: THEN
5193: hr_utility.set_location (l_proc, 290);
5194: END IF;
5195:
5196: OPEN upd_det_cur (l_hours_worked_id);
5197:
5204: IF i_explode_yn = 'Y'
5205: THEN
5206: IF g_debug
5207: THEN
5208: hr_utility.set_location (l_proc, 300);
5209: END IF;
5210:
5211: --
5212: l_retcode := hxt_tim_col_util.get_session_date (l_session_date);
5212: l_retcode := hxt_tim_col_util.get_session_date (l_session_date);
5213:
5214: IF g_debug
5215: THEN
5216: hr_utility.TRACE ('l_retcode :' || l_retcode);
5217: END IF;
5218:
5219: IF l_retcode = 1
5220: THEN
5219: IF l_retcode = 1
5220: THEN
5221: IF g_debug
5222: THEN
5223: hr_utility.set_location (l_proc, 310);
5224: END IF;
5225:
5226: RAISE l_sess_date_err;
5227: END IF;
5228:
5229: --
5230: IF g_debug
5231: THEN
5232: hr_utility.set_location (l_proc, 320);
5233: END IF;
5234:
5235: hxt_td_util.retro_restrict_edit (p_tim_id => i_timecard_id,
5236: p_session_date => l_session_date,
5241: );
5242:
5243: IF g_debug
5244: THEN
5245: hr_utility.set_location (l_proc, 330);
5246: hr_utility.TRACE ('o_return_code :' || o_return_code);
5247: END IF;
5248:
5249: IF o_return_code = 1 OR l_otm_error IS NOT NULL
5242:
5243: IF g_debug
5244: THEN
5245: hr_utility.set_location (l_proc, 330);
5246: hr_utility.TRACE ('o_return_code :' || o_return_code);
5247: END IF;
5248:
5249: IF o_return_code = 1 OR l_otm_error IS NOT NULL
5250: THEN
5249: IF o_return_code = 1 OR l_otm_error IS NOT NULL
5250: THEN
5251: IF g_debug
5252: THEN
5253: hr_utility.set_location (l_proc, 340);
5254: END IF;
5255:
5256: -- Bug 7380181
5257: -- Raised the exception here instead of raising it from the
5297: IF NVL (l_dt_update_mode, 'CORRECTION') = 'CORRECTION'
5298: THEN
5299: IF g_debug
5300: THEN
5301: hr_utility.set_location (l_proc, 350);
5302: END IF;
5303:
5304: -- Delete
5305: DELETE FROM hxt_det_hours_worked_f
5317: ); --level errors
5318: ELSE
5319: IF g_debug
5320: THEN
5321: hr_utility.set_location (l_proc, 360);
5322: END IF;
5323:
5324: -- Expire
5325: UPDATE hxt_det_hours_worked_f
5340: END IF; -- Update or Correction
5341:
5342: IF g_debug
5343: THEN
5344: hr_utility.set_location (l_proc, 370);
5345: END IF;
5346: EXCEPTION
5347: WHEN OTHERS
5348: THEN
5347: WHEN OTHERS
5348: THEN
5349: IF g_debug
5350: THEN
5351: hr_utility.set_location (l_proc, 380);
5352: END IF;
5353:
5354: fnd_message.set_name ('HXT', 'HXT_39567_ERR_IN_DD');
5355: fnd_message.set_token ('ERR_TEXT', SQLERRM);
5361: END; -- delete details
5362:
5363: IF g_debug
5364: THEN
5365: hr_utility.set_location (l_proc, 390);
5366: hr_utility.TRACE ('Before Generate_Details ');
5367: hr_utility.TRACE ('l_osp_id :' || l_osp_id);
5368: hr_utility.TRACE ('l_sdf_id :' || l_sdf_id);
5369: hr_utility.TRACE ('l_sdp_id :' || l_sdp_id);
5362:
5363: IF g_debug
5364: THEN
5365: hr_utility.set_location (l_proc, 390);
5366: hr_utility.TRACE ('Before Generate_Details ');
5367: hr_utility.TRACE ('l_osp_id :' || l_osp_id);
5368: hr_utility.TRACE ('l_sdf_id :' || l_sdf_id);
5369: hr_utility.TRACE ('l_sdp_id :' || l_sdp_id);
5370: hr_utility.TRACE ('l_hdp_id :' || l_hdp_id);
5363: IF g_debug
5364: THEN
5365: hr_utility.set_location (l_proc, 390);
5366: hr_utility.TRACE ('Before Generate_Details ');
5367: hr_utility.TRACE ('l_osp_id :' || l_osp_id);
5368: hr_utility.TRACE ('l_sdf_id :' || l_sdf_id);
5369: hr_utility.TRACE ('l_sdp_id :' || l_sdp_id);
5370: hr_utility.TRACE ('l_hdp_id :' || l_hdp_id);
5371: hr_utility.TRACE ('l_egp_id :' || l_egp_id);
5364: THEN
5365: hr_utility.set_location (l_proc, 390);
5366: hr_utility.TRACE ('Before Generate_Details ');
5367: hr_utility.TRACE ('l_osp_id :' || l_osp_id);
5368: hr_utility.TRACE ('l_sdf_id :' || l_sdf_id);
5369: hr_utility.TRACE ('l_sdp_id :' || l_sdp_id);
5370: hr_utility.TRACE ('l_hdp_id :' || l_hdp_id);
5371: hr_utility.TRACE ('l_egp_id :' || l_egp_id);
5372: hr_utility.TRACE ('l_rotation_plan:' || l_rotation_plan);
5365: hr_utility.set_location (l_proc, 390);
5366: hr_utility.TRACE ('Before Generate_Details ');
5367: hr_utility.TRACE ('l_osp_id :' || l_osp_id);
5368: hr_utility.TRACE ('l_sdf_id :' || l_sdf_id);
5369: hr_utility.TRACE ('l_sdp_id :' || l_sdp_id);
5370: hr_utility.TRACE ('l_hdp_id :' || l_hdp_id);
5371: hr_utility.TRACE ('l_egp_id :' || l_egp_id);
5372: hr_utility.TRACE ('l_rotation_plan:' || l_rotation_plan);
5373: END IF;
5366: hr_utility.TRACE ('Before Generate_Details ');
5367: hr_utility.TRACE ('l_osp_id :' || l_osp_id);
5368: hr_utility.TRACE ('l_sdf_id :' || l_sdf_id);
5369: hr_utility.TRACE ('l_sdp_id :' || l_sdp_id);
5370: hr_utility.TRACE ('l_hdp_id :' || l_hdp_id);
5371: hr_utility.TRACE ('l_egp_id :' || l_egp_id);
5372: hr_utility.TRACE ('l_rotation_plan:' || l_rotation_plan);
5373: END IF;
5374:
5367: hr_utility.TRACE ('l_osp_id :' || l_osp_id);
5368: hr_utility.TRACE ('l_sdf_id :' || l_sdf_id);
5369: hr_utility.TRACE ('l_sdp_id :' || l_sdp_id);
5370: hr_utility.TRACE ('l_hdp_id :' || l_hdp_id);
5371: hr_utility.TRACE ('l_egp_id :' || l_egp_id);
5372: hr_utility.TRACE ('l_rotation_plan:' || l_rotation_plan);
5373: END IF;
5374:
5375: --
5368: hr_utility.TRACE ('l_sdf_id :' || l_sdf_id);
5369: hr_utility.TRACE ('l_sdp_id :' || l_sdp_id);
5370: hr_utility.TRACE ('l_hdp_id :' || l_hdp_id);
5371: hr_utility.TRACE ('l_egp_id :' || l_egp_id);
5372: hr_utility.TRACE ('l_rotation_plan:' || l_rotation_plan);
5373: END IF;
5374:
5375: --
5376: l_retcode :=
5468: );
5469:
5470: IF g_debug
5471: THEN
5472: hr_utility.set_location (l_proc, 400);
5473: hr_utility.TRACE ('l_retcode :' || l_retcode);
5474: END IF;
5475:
5476: IF l_retcode = 2
5469:
5470: IF g_debug
5471: THEN
5472: hr_utility.set_location (l_proc, 400);
5473: hr_utility.TRACE ('l_retcode :' || l_retcode);
5474: END IF;
5475:
5476: IF l_retcode = 2
5477: THEN
5476: IF l_retcode = 2
5477: THEN
5478: IF g_debug
5479: THEN
5480: hr_utility.set_location (l_proc, 410);
5481: END IF;
5482:
5483: RAISE l_generate_details_error;
5484: END IF;
5486: IF l_retcode = 11
5487: THEN
5488: IF g_debug
5489: THEN
5490: hr_utility.set_location (l_proc, 415);
5491: END IF;
5492:
5493: RAISE l_inc_tim_hr_entry_err;
5494: END IF;
5494: END IF;
5495:
5496: IF g_debug
5497: THEN
5498: hr_utility.set_location (l_proc, 420);
5499: END IF;
5500: END IF; -- End of Explode YN Check
5501:
5502: --
5501:
5502: --
5503: IF g_debug
5504: THEN
5505: hr_utility.set_location (l_proc, 430);
5506: END IF;
5507:
5508: RETURN 0;
5509: EXCEPTION
5510: WHEN l_adjust_tim_error
5511: THEN
5512: IF g_debug
5513: THEN
5514: hr_utility.set_location (l_proc, 440);
5515: END IF;
5516:
5517: o_otm_error := l_ad_error;
5518:
5517: o_otm_error := l_ad_error;
5518:
5519: IF g_debug
5520: THEN
5521: hr_utility.TRACE ('o_otm_error :' || o_otm_error);
5522: END IF;
5523:
5524: RETURN 2;
5525: WHEN l_details_error
5525: WHEN l_details_error
5526: THEN
5527: IF g_debug
5528: THEN
5529: hr_utility.set_location (l_proc, 450);
5530: END IF;
5531:
5532: fnd_message.set_name ('HXT', 'HXT_39414_LOC_ADDL_ASG');
5533: fnd_message.set_token ('ASG_ID', TO_CHAR (i_assignment_id));
5538: WHEN l_details_system_error
5539: THEN
5540: IF g_debug
5541: THEN
5542: hr_utility.set_location (l_proc, 460);
5543: END IF;
5544:
5545: fnd_message.set_name ('HXT', 'HXT_39415_FETCH_ASG_DET');
5546: fnd_message.set_token ('ASG_ID', TO_CHAR (i_assignment_id));
5552: WHEN l_paymix_error
5553: THEN
5554: IF g_debug
5555: THEN
5556: hr_utility.set_location (l_proc, 470);
5557: END IF;
5558:
5559: fnd_message.set_name ('HXT', 'HXT_39445_CHG_DATE');
5560: o_otm_error := fnd_message.get;
5564: WHEN l_hours_worked_id_error
5565: THEN
5566: IF g_debug
5567: THEN
5568: hr_utility.set_location (l_proc, 480);
5569: END IF;
5570:
5571: fnd_message.set_name ('HXT', 'HXT_39416_GET_HRW_ID');
5572: o_otm_error := fnd_message.get;
5577: WHEN l_generate_details_error
5578: THEN
5579: IF g_debug
5580: THEN
5581: hr_utility.set_location (l_proc, 490);
5582: END IF;
5583:
5584: --fnd_message.set_name ('HXT', 'HXT_39417_PROB_GEN_DET');
5585: o_otm_error := fnd_message.get;
5588: WHEN l_inc_tim_hr_entry_err
5589: THEN
5590: IF g_debug
5591: THEN
5592: hr_utility.set_location (l_proc, 495);
5593: END IF;
5594:
5595: fnd_message.set_name ('HXT', 'HXT_39329_INC_TIM_HR_ENTRIES');
5596: o_otm_error := fnd_message.get;
5600: WHEN l_seq_num_error
5601: THEN
5602: IF g_debug
5603: THEN
5604: hr_utility.set_location (l_proc, 500);
5605: END IF;
5606:
5607: fnd_message.set_name ('HXT', 'HXT_39418_GET_HRW_SEQ');
5608: o_otm_error := fnd_message.get;
5613: WHEN l_delete_details_err
5614: THEN
5615: IF g_debug
5616: THEN
5617: hr_utility.set_location (l_proc, 510);
5618: END IF;
5619:
5620: fnd_message.set_name ('HXT', 'HXT_39563_ERR_IN_RET_DD');
5621: fnd_message.set_token ('ERR_TEXT', l_otm_error);
5625: WHEN l_sess_date_err
5626: THEN
5627: IF g_debug
5628: THEN
5629: hr_utility.set_location (l_proc, 520);
5630: END IF;
5631:
5632: fnd_message.set_name ('HXT', 'HXT_39556_SESSION_DT_NF');
5633: o_otm_error := fnd_message.get;
5637: WHEN l_retro_edit_err
5638: THEN
5639: IF g_debug
5640: THEN
5641: hr_utility.set_location (l_proc, 530);
5642: END IF;
5643:
5644: o_otm_error := l_otm_error;
5645: o_oracle_error := SQLERRM;
5653: WHEN OTHERS
5654: THEN
5655: IF g_debug
5656: THEN
5657: hr_utility.set_location (l_proc, 540);
5658: END IF;
5659:
5660: fnd_message.set_name ('HXT', 'HXT_39419_SYSERR_RECFUNC');
5661: o_otm_error := fnd_message.get;
5839: BEGIN
5840: IF g_debug
5841: THEN
5842: l_proc := g_package || 'tim_id';
5843: hr_utility.set_location ('Entering ' || l_proc, 10);
5844: END IF;
5845:
5846: OPEN csr_tim_id (p_sum_id);
5847:
5851: CLOSE csr_tim_id;
5852:
5853: IF g_debug
5854: THEN
5855: hr_utility.set_location ( ' returning l_tim_id = '
5856: || l_tim_id.tim_id,
5857: 20
5858: );
5859: hr_utility.set_location ('Leaving ' || l_proc, 100);
5855: hr_utility.set_location ( ' returning l_tim_id = '
5856: || l_tim_id.tim_id,
5857: 20
5858: );
5859: hr_utility.set_location ('Leaving ' || l_proc, 100);
5860: END IF;
5861:
5862: RETURN l_tim_id.tim_id;
5863: END tim_id;
5868: BEGIN
5869: IF g_debug
5870: THEN
5871: l_proc := g_package || 'remove_tc_details';
5872: hr_utility.set_location ('Entering ' || l_proc, 10);
5873: END IF;
5874:
5875: DELETE FROM hxt_det_hours_worked_f
5876: WHERE parent_id = p_sum_id;
5879: WHERE ID = p_sum_id;
5880:
5881: IF g_debug
5882: THEN
5883: hr_utility.set_location ('Leaving ' || l_proc, 100);
5884: END IF;
5885: END remove_tc_details;
5886: BEGIN -- Main delete_summary_record
5887: g_debug := hr_utility.debug_enabled;
5883: hr_utility.set_location ('Leaving ' || l_proc, 100);
5884: END IF;
5885: END remove_tc_details;
5886: BEGIN -- Main delete_summary_record
5887: g_debug := hr_utility.debug_enabled;
5888:
5889: IF g_debug
5890: THEN
5891: l_proc := g_package || 'delete_summary_record';
5888:
5889: IF g_debug
5890: THEN
5891: l_proc := g_package || 'delete_summary_record';
5892: hr_utility.set_location ('Entering ' || l_proc, 10);
5893: END IF;
5894:
5895: hxt_td_util.retro_restrict_edit (p_tim_id => tim_id
5896: (p_sum_id),
5901: );
5902:
5903: IF g_debug
5904: THEN
5905: hr_utility.TRACE (' l_return_code :' || l_return_code);
5906: END IF;
5907:
5908: IF (l_dt_update_mode IS NULL)
5909: THEN
5916: END IF;
5917:
5918: IF g_debug
5919: THEN
5920: hr_utility.set_location ('Leaving ' || l_proc, 100);
5921: END IF;
5922:
5923: RETURN c_success;
5924: EXCEPTION
5925: WHEN l_retro_edit_err
5926: THEN
5927: IF g_debug
5928: THEN
5929: hr_utility.set_location ('Leaving ' || l_proc, 110);
5930: END IF;
5931:
5932: call_hxthxc_gen_error ('HXT',
5933: 'HXT_TC_CANNOT_BE_CHANGED_TODAY',
5937: WHEN l_delete_not_allowed
5938: THEN
5939: IF g_debug
5940: THEN
5941: hr_utility.set_location ('Leaving ' || l_proc, 120);
5942: END IF;
5943:
5944: call_hxthxc_gen_error ('HXT',
5945: 'HXT_TC_CANNOT_BE_DELETED',
5949: WHEN OTHERS
5950: THEN
5951: IF g_debug
5952: THEN
5953: hr_utility.set_location ('Leaving ' || l_proc, 130);
5954: END IF;
5955:
5956: RETURN c_failure;
5957: END delete_summary_record;
6068: l_time_out_actual DATE;
6069: l_valid_entry BOOLEAN;
6070: l_proc VARCHAR2 (100);
6071: BEGIN
6072: g_debug := hr_utility.debug_enabled;
6073:
6074: IF g_debug
6075: THEN
6076: l_proc := 'hxt_time_collection.ADJUST_TIMINGS';
6073:
6074: IF g_debug
6075: THEN
6076: l_proc := 'hxt_time_collection.ADJUST_TIMINGS';
6077: hr_utility.TRACE ('hxt_time_collection.ADJUST_TIMINGS BEGIN');
6078: hr_utility.set_location (l_proc, 10);
6079: hr_utility.TRACE ( 'p_time_in:'
6080: || TO_CHAR (p_time_in, 'dd-mon-yyyy hh24:mi:ss')
6081: );
6074: IF g_debug
6075: THEN
6076: l_proc := 'hxt_time_collection.ADJUST_TIMINGS';
6077: hr_utility.TRACE ('hxt_time_collection.ADJUST_TIMINGS BEGIN');
6078: hr_utility.set_location (l_proc, 10);
6079: hr_utility.TRACE ( 'p_time_in:'
6080: || TO_CHAR (p_time_in, 'dd-mon-yyyy hh24:mi:ss')
6081: );
6082: hr_utility.TRACE ( 'p_time_out:'
6075: THEN
6076: l_proc := 'hxt_time_collection.ADJUST_TIMINGS';
6077: hr_utility.TRACE ('hxt_time_collection.ADJUST_TIMINGS BEGIN');
6078: hr_utility.set_location (l_proc, 10);
6079: hr_utility.TRACE ( 'p_time_in:'
6080: || TO_CHAR (p_time_in, 'dd-mon-yyyy hh24:mi:ss')
6081: );
6082: hr_utility.TRACE ( 'p_time_out:'
6083: || TO_CHAR (p_time_out, 'dd-mon-yyyy hh24:mi:ss')
6078: hr_utility.set_location (l_proc, 10);
6079: hr_utility.TRACE ( 'p_time_in:'
6080: || TO_CHAR (p_time_in, 'dd-mon-yyyy hh24:mi:ss')
6081: );
6082: hr_utility.TRACE ( 'p_time_out:'
6083: || TO_CHAR (p_time_out, 'dd-mon-yyyy hh24:mi:ss')
6084: );
6085: hr_utility.TRACE ( 'p_actual_time_in:'
6086: || TO_CHAR (p_actual_time_in,
6081: );
6082: hr_utility.TRACE ( 'p_time_out:'
6083: || TO_CHAR (p_time_out, 'dd-mon-yyyy hh24:mi:ss')
6084: );
6085: hr_utility.TRACE ( 'p_actual_time_in:'
6086: || TO_CHAR (p_actual_time_in,
6087: 'dd-mon-yyyy hh24:mi:ss'
6088: )
6089: );
6086: || TO_CHAR (p_actual_time_in,
6087: 'dd-mon-yyyy hh24:mi:ss'
6088: )
6089: );
6090: hr_utility.TRACE ( 'p_actual_time_out:'
6091: || TO_CHAR (p_actual_time_out,
6092: 'dd-mon-yyyy hh24:mi:ss'
6093: )
6094: );
6091: || TO_CHAR (p_actual_time_out,
6092: 'dd-mon-yyyy hh24:mi:ss'
6093: )
6094: );
6095: hr_utility.TRACE ( 'p_org_in:'
6096: || TO_CHAR (p_org_in, 'dd-mon-yyyy hh24:mi:ss')
6097: );
6098: hr_utility.TRACE ( 'p_org_out:'
6099: || TO_CHAR (p_org_out, 'dd-mon-yyyy hh24:mi:ss')
6094: );
6095: hr_utility.TRACE ( 'p_org_in:'
6096: || TO_CHAR (p_org_in, 'dd-mon-yyyy hh24:mi:ss')
6097: );
6098: hr_utility.TRACE ( 'p_org_out:'
6099: || TO_CHAR (p_org_out, 'dd-mon-yyyy hh24:mi:ss')
6100: );
6101: END IF;
6102:
6116: AND aeiv.effective_end_date;
6117:
6118: IF g_debug
6119: THEN
6120: hr_utility.set_location (l_proc, 20);
6121: hr_utility.TRACE ('l_rot_id :' || l_rot_id);
6122: END IF;
6123: EXCEPTION
6124: WHEN NO_DATA_FOUND
6117:
6118: IF g_debug
6119: THEN
6120: hr_utility.set_location (l_proc, 20);
6121: hr_utility.TRACE ('l_rot_id :' || l_rot_id);
6122: END IF;
6123: EXCEPTION
6124: WHEN NO_DATA_FOUND
6125: THEN
6124: WHEN NO_DATA_FOUND
6125: THEN
6126: IF g_debug
6127: THEN
6128: hr_utility.set_location (l_proc, 30);
6129: END IF;
6130:
6131: l_rot_id := NULL;
6132: END;
6135: IF l_rot_id IS NOT NULL
6136: THEN
6137: IF g_debug
6138: THEN
6139: hr_utility.set_location (l_proc, 40);
6140: END IF;
6141:
6142: hxt_util.get_shift_info (p_date_worked,
6143: l_work_id,
6153: );
6154:
6155: IF g_debug
6156: THEN
6157: hr_utility.set_location (l_proc, 50);
6158: hr_utility.TRACE ('l_error :' || l_error);
6159: END IF;
6160:
6161: IF (l_error = 0)
6154:
6155: IF g_debug
6156: THEN
6157: hr_utility.set_location (l_proc, 50);
6158: hr_utility.TRACE ('l_error :' || l_error);
6159: END IF;
6160:
6161: IF (l_error = 0)
6162: THEN
6161: IF (l_error = 0)
6162: THEN
6163: IF g_debug
6164: THEN
6165: hr_utility.set_location (l_proc, 60);
6166: END IF;
6167:
6168: -- No error, so get the early start,etc timings...
6169: -- convert time_in, standard_start, and early_start to a date, plus
6174: )
6175: THEN
6176: IF g_debug
6177: THEN
6178: hr_utility.set_location (l_proc, 70);
6179: END IF;
6180:
6181: l_time_in_date := p_time_in;
6182: /* ROUND (
6207: 'DD-MM-YYYY HH24MI'
6208: );*/
6209: IF g_debug
6210: THEN
6211: hr_utility.TRACE ( 'l_time_in_date :'
6212: || TO_CHAR (l_time_in_date,
6213: 'DD-MON-YYYY HH24:MI:SS'
6214: )
6215: );
6212: || TO_CHAR (l_time_in_date,
6213: 'DD-MON-YYYY HH24:MI:SS'
6214: )
6215: );
6216: hr_utility.TRACE ( 'l_early_date :'
6217: || TO_CHAR (l_early_date,
6218: 'DD-MON-YYYY HH24:MI:SS'
6219: )
6220: );
6217: || TO_CHAR (l_early_date,
6218: 'DD-MON-YYYY HH24:MI:SS'
6219: )
6220: );
6221: hr_utility.TRACE ( 'l_std_date_start:'
6222: || TO_CHAR (l_std_date_start,
6223: 'DD-MON-YYYY HH24:MI:SS'
6224: )
6225: );
6228: IF l_time_in_date BETWEEN l_early_date AND l_std_date_start
6229: THEN
6230: IF g_debug
6231: THEN
6232: hr_utility.set_location (l_proc, 80);
6233: END IF;
6234:
6235: p_time_in := l_std_date_start;
6236: l_in_time_std := TRUE;
6236: l_in_time_std := TRUE;
6237:
6238: IF g_debug
6239: THEN
6240: hr_utility.TRACE ( 'p_time_in :'
6241: || TO_CHAR (p_time_in,
6242: 'DD-MON-YYYY HH24:MI:SS'
6243: )
6244: );
6246: END IF;
6247:
6248: IF g_debug
6249: THEN
6250: hr_utility.set_location (l_proc, 90);
6251: END IF;
6252: END IF; -- ( l_early_start is not null AND....)
6253: END IF;
6254:
6264: )
6265: THEN
6266: IF g_debug
6267: THEN
6268: hr_utility.set_location (l_proc, 100);
6269: END IF;
6270:
6271: l_time_out_date := p_time_out;
6272:
6284: + hxt_util.time_to_hours (l_late_stop) / 24;
6285:
6286: IF g_debug
6287: THEN
6288: hr_utility.TRACE ( 'l_late_date :'
6289: || TO_CHAR (l_late_date,
6290: 'DD-MON-YYYY HH24:MI:SS'
6291: )
6292: );
6308: 'DD-MM-YYYY HH24MI'
6309: );*/
6310: IF g_debug
6311: THEN
6312: hr_utility.TRACE ( 'l_time_out_date :'
6313: || TO_CHAR (l_time_out_date,
6314: 'DD-MON-YYYY HH24:MI:SS'
6315: )
6316: );
6313: || TO_CHAR (l_time_out_date,
6314: 'DD-MON-YYYY HH24:MI:SS'
6315: )
6316: );
6317: hr_utility.TRACE ( 'l_std_date_stop :'
6318: || TO_CHAR (l_std_date_stop,
6319: 'DD-MON-YYYY HH24:MI:SS'
6320: )
6321: );
6341: )
6342: THEN
6343: IF g_debug
6344: THEN
6345: hr_utility.set_location (l_proc, 105);
6346: END IF;
6347:
6348: l_time_out_date := l_time_out_date + 1;
6349: END IF;
6355: + hxt_util.time_to_hours (l_late_stop) / 24;
6356:
6357: IF g_debug
6358: THEN
6359: hr_utility.TRACE
6360: ( 'l_late_date :'
6361: || TO_CHAR
6362: (l_late_date,
6363: 'DD-MON-YYYY HH24:MI:SS'
6371: + hxt_util.time_to_hours (l_standard_stop) / 24;
6372:
6373: IF g_debug
6374: THEN
6375: hr_utility.TRACE ( 'l_time_out_date :'
6376: || TO_CHAR (l_time_out_date,
6377: 'DD-MON-YYYY HH24:MI:SS'
6378: )
6379: );
6376: || TO_CHAR (l_time_out_date,
6377: 'DD-MON-YYYY HH24:MI:SS'
6378: )
6379: );
6380: hr_utility.TRACE ( 'l_std_date_stop :'
6381: || TO_CHAR (l_std_date_stop,
6382: 'DD-MON-YYYY HH24:MI:SS'
6383: )
6384: );
6385: END IF;
6386:
6387: IF l_time_out_date BETWEEN l_std_date_stop AND l_late_date
6388: THEN
6389: hr_utility.set_location (l_proc, 110);
6390: p_time_out := l_std_date_stop;
6391: l_out_time_std := TRUE;
6392:
6393: IF g_debug
6391: l_out_time_std := TRUE;
6392:
6393: IF g_debug
6394: THEN
6395: hr_utility.TRACE
6396: ( 'p_time_out :'
6397: || TO_CHAR
6398: (p_time_out,
6399: 'DD-MON-YYYY HH24:MI:SS'
6402: END IF;
6403: ELSE
6404: IF g_debug
6405: THEN
6406: hr_utility.set_location (l_proc, 115);
6407: END IF;
6408:
6409: p_time_out := l_time_out_date;
6410:
6409: p_time_out := l_time_out_date;
6410:
6411: IF g_debug
6412: THEN
6413: hr_utility.TRACE
6414: ( 'p_time_out :'
6415: || TO_CHAR
6416: (p_time_out,
6417: 'DD-MON-YYYY HH24:MI:SS'
6421: END IF;
6422: ELSE -- P_timecard_source = 'Time Store'
6423: IF g_debug
6424: THEN
6425: hr_utility.set_location (l_proc, 116);
6426: END IF;
6427:
6428: l_late_date :=
6429: TRUNC (l_time_out_date)
6433: + hxt_util.time_to_hours (l_standard_stop) / 24;
6434:
6435: IF g_debug
6436: THEN
6437: hr_utility.TRACE ( 'l_time_out_date :'
6438: || TO_CHAR (l_time_out_date,
6439: 'DD-MON-YYYY HH24:MI:SS'
6440: )
6441: );
6438: || TO_CHAR (l_time_out_date,
6439: 'DD-MON-YYYY HH24:MI:SS'
6440: )
6441: );
6442: hr_utility.TRACE ( 'l_late_date :'
6443: || TO_CHAR (l_late_date,
6444: 'DD-MON-YYYY HH24:MI:SS'
6445: )
6446: );
6443: || TO_CHAR (l_late_date,
6444: 'DD-MON-YYYY HH24:MI:SS'
6445: )
6446: );
6447: hr_utility.TRACE ( 'l_std_date_stop :'
6448: || TO_CHAR (l_std_date_stop,
6449: 'DD-MON-YYYY HH24:MI:SS'
6450: )
6451: );
6454: IF l_time_out_date BETWEEN l_std_date_stop AND l_late_date
6455: THEN
6456: IF g_debug
6457: THEN
6458: hr_utility.set_location (l_proc, 120);
6459: END IF;
6460:
6461: p_time_out := l_std_date_stop;
6462: l_out_time_std := TRUE;
6462: l_out_time_std := TRUE;
6463:
6464: IF g_debug
6465: THEN
6466: hr_utility.TRACE
6467: ( 'p_time_out :'
6468: || TO_CHAR
6469: (p_time_out,
6470: 'DD-MON-YYYY HH24:MI:SS'
6469: (p_time_out,
6470: 'DD-MON-YYYY HH24:MI:SS'
6471: )
6472: );
6473: hr_utility.TRACE ( 'p_org_out :'
6474: || TO_CHAR
6475: (p_org_out,
6476: 'DD-MON-YYYY HH24:MI:SS'
6477: )
6481: END IF; -- P_timecard_source <> 'Time Store'
6482:
6483: IF g_debug
6484: THEN
6485: hr_utility.set_location (l_proc, 125);
6486: END IF;
6487: END IF; -- ( l_late_stop is not null AND....)
6488: END IF;
6489:
6488: END IF;
6489:
6490: IF g_debug
6491: THEN
6492: hr_utility.set_location (l_proc, 130);
6493: END IF;
6494: END IF; -- (l_error = 0)
6495:
6496: IF g_debug
6494: END IF; -- (l_error = 0)
6495:
6496: IF g_debug
6497: THEN
6498: hr_utility.set_location (l_proc, 140);
6499: END IF;
6500: -- END IF; -- (rot id is not NULL)
6501: ELSE -- l_rot_id IS NULL
6502: IF g_debug
6500: -- END IF; -- (rot id is not NULL)
6501: ELSE -- l_rot_id IS NULL
6502: IF g_debug
6503: THEN
6504: hr_utility.set_location (l_proc, 141);
6505: END IF;
6506:
6507: IF p_time_out IS NOT NULL
6508: THEN
6507: IF p_time_out IS NOT NULL
6508: THEN
6509: IF g_debug
6510: THEN
6511: hr_utility.set_location (l_proc, 142);
6512: END IF;
6513:
6514: l_time_out_date := p_time_out;
6515:
6516: IF p_timecard_source <> 'Time Store' and p_timecard_source <> 'Time Clock'
6517: THEN
6518: IF g_debug
6519: THEN
6520: hr_utility.set_location (l_proc, 143);
6521: END IF;
6522:
6523: -- i.e., adjust_timings being called from the PUI then
6524: -- Check if Time_out goes over midnight
6527: )
6528: THEN
6529: IF g_debug
6530: THEN
6531: hr_utility.set_location (l_proc, 144);
6532: END IF;
6533:
6534: l_time_out_date := l_time_out_date + 1;
6535: END IF;
6535: END IF;
6536:
6537: IF g_debug
6538: THEN
6539: hr_utility.set_location (l_proc, 145);
6540: END IF;
6541: END IF; -- P_timecard_source <> 'Time Store'
6542:
6543: IF g_debug
6541: END IF; -- P_timecard_source <> 'Time Store'
6542:
6543: IF g_debug
6544: THEN
6545: hr_utility.set_location (l_proc, 146);
6546: END IF;
6547:
6548: p_time_out := l_time_out_date;
6549: END IF;
6549: END IF;
6550:
6551: IF g_debug
6552: THEN
6553: hr_utility.set_location (l_proc, 147);
6554: END IF;
6555: END IF; -- (rot id is NULL)
6556:
6557: --Round the timings according to the earn policy, if not std....
6558: IF (l_in_time_std <> TRUE OR l_out_time_std <> TRUE)
6559: THEN
6560: IF g_debug
6561: THEN
6562: hr_utility.set_location (l_proc, 150);
6563: END IF;
6564:
6565: SELECT min_tcard_intvl, round_up
6566: INTO l_tc_intvl, l_round_up
6568: WHERE ID = p_earn_pol_id;
6569:
6570: IF g_debug
6571: THEN
6572: hr_utility.TRACE ('l_tc_intvl :' || l_tc_intvl);
6573: hr_utility.TRACE ('l_round_up :' || l_round_up);
6574: END IF;
6575:
6576: IF (l_in_time_std <> TRUE)
6569:
6570: IF g_debug
6571: THEN
6572: hr_utility.TRACE ('l_tc_intvl :' || l_tc_intvl);
6573: hr_utility.TRACE ('l_round_up :' || l_round_up);
6574: END IF;
6575:
6576: IF (l_in_time_std <> TRUE)
6577: THEN
6576: IF (l_in_time_std <> TRUE)
6577: THEN
6578: IF g_debug
6579: THEN
6580: hr_utility.set_location (l_proc, 160);
6581: END IF;
6582:
6583: p_time_in := round_time (p_time_in, l_tc_intvl, l_round_up);
6584: END IF;
6586: IF (l_out_time_std <> TRUE)
6587: THEN
6588: IF g_debug
6589: THEN
6590: hr_utility.set_location (l_proc, 165);
6591: END IF;
6592:
6593: p_time_out := round_time (p_time_out, l_tc_intvl, l_round_up);
6594: END IF;
6594: END IF;
6595:
6596: IF g_debug
6597: THEN
6598: hr_utility.set_location (l_proc, 170);
6599: END IF;
6600: END IF;
6601:
6602: IF p_timecard_source <> 'Time Store'
6604: IF p_org_in IS NOT NULL
6605: THEN
6606: IF g_debug
6607: THEN
6608: hr_utility.set_location (l_proc, 175);
6609: END IF;
6610:
6611: p_actual_time_in := p_org_in;
6612:
6611: p_actual_time_in := p_org_in;
6612:
6613: IF g_debug
6614: THEN
6615: hr_utility.TRACE ( 'p_actual_time_in :'
6616: || TO_CHAR (p_actual_time_in,
6617: 'DD-MON-YYYY HH24:MI:SS'
6618: )
6619: );
6621: END IF;
6622:
6623: IF g_debug
6624: THEN
6625: hr_utility.TRACE ( 'p_org_out :'
6626: || TO_CHAR (p_org_out, 'DD-MON-YYYY HH24:MI:SS')
6627: );
6628: END IF;
6629:
6630: IF p_org_out IS NOT NULL
6631: THEN
6632: IF g_debug
6633: THEN
6634: hr_utility.set_location (l_proc, 180);
6635: END IF;
6636:
6637: p_actual_time_out := p_org_out;
6638:
6637: p_actual_time_out := p_org_out;
6638:
6639: IF g_debug
6640: THEN
6641: hr_utility.TRACE ( 'p_actual_time_out :'
6642: || TO_CHAR (p_actual_time_out,
6643: 'DD-MON-YYYY HH24:MI:SS'
6644: )
6645: );
6655: --raised instead of two errors.
6656: --Bug 2770487 Sonarasi Over
6657: IF g_debug
6658: THEN
6659: hr_utility.set_location (l_proc, 190);
6660: END IF;
6661:
6662: IF p_timecard_source <> 'Time Store'
6663: THEN
6662: IF p_timecard_source <> 'Time Store'
6663: THEN
6664: IF g_debug
6665: THEN
6666: hr_utility.set_location (l_proc, 191);
6667: END IF;
6668:
6669: l_ovlp_error :=
6670: check_time_overlap (p_date_worked,
6675: );
6676:
6677: IF g_debug
6678: THEN
6679: hr_utility.set_location (l_proc, 200);
6680: hr_utility.TRACE ('l_ovlp_error :' || l_ovlp_error);
6681: END IF;
6682:
6683: -- Raise exception if found
6676:
6677: IF g_debug
6678: THEN
6679: hr_utility.set_location (l_proc, 200);
6680: hr_utility.TRACE ('l_ovlp_error :' || l_ovlp_error);
6681: END IF;
6682:
6683: -- Raise exception if found
6684: IF l_ovlp_error = 'E'
6684: IF l_ovlp_error = 'E'
6685: THEN
6686: IF g_debug
6687: THEN
6688: hr_utility.set_location (l_proc, 210);
6689: END IF;
6690:
6691: fnd_message.set_name ('HXT', 'HXT_39598_IN_OUT_TIME_OVERLAP');
6692: fnd_message.set_token ('TIME_IN', TO_CHAR (p_time_in, 'HH24MI'));
6705: END IF;
6706:
6707: IF g_debug
6708: THEN
6709: hr_utility.TRACE ( 'p_time_in:'
6710: || TO_CHAR (p_time_in, 'DD-MON-YYYY HH24:MI:SS')
6711: );
6712: hr_utility.TRACE ( 'p_time_out:'
6713: || TO_CHAR (p_time_out, 'DD-MON-YYYY HH24:MI:SS')
6708: THEN
6709: hr_utility.TRACE ( 'p_time_in:'
6710: || TO_CHAR (p_time_in, 'DD-MON-YYYY HH24:MI:SS')
6711: );
6712: hr_utility.TRACE ( 'p_time_out:'
6713: || TO_CHAR (p_time_out, 'DD-MON-YYYY HH24:MI:SS')
6714: );
6715: hr_utility.TRACE ( 'p_actual_time_in:'
6716: || TO_CHAR (p_actual_time_in,
6711: );
6712: hr_utility.TRACE ( 'p_time_out:'
6713: || TO_CHAR (p_time_out, 'DD-MON-YYYY HH24:MI:SS')
6714: );
6715: hr_utility.TRACE ( 'p_actual_time_in:'
6716: || TO_CHAR (p_actual_time_in,
6717: 'DD-MON-YYYY HH24:MI:SS'
6718: )
6719: );
6716: || TO_CHAR (p_actual_time_in,
6717: 'DD-MON-YYYY HH24:MI:SS'
6718: )
6719: );
6720: hr_utility.TRACE ( 'p_actual_time_out:'
6721: || TO_CHAR (p_actual_time_out,
6722: 'DD-MON-YYYY HH24:MI:SS'
6723: )
6724: );
6721: || TO_CHAR (p_actual_time_out,
6722: 'DD-MON-YYYY HH24:MI:SS'
6723: )
6724: );
6725: hr_utility.TRACE ( 'l_time_in_actual:'
6726: || TO_CHAR (l_time_in_actual,
6727: 'DD-MON-YYYY HH24:MI:SS'
6728: )
6729: );
6726: || TO_CHAR (l_time_in_actual,
6727: 'DD-MON-YYYY HH24:MI:SS'
6728: )
6729: );
6730: hr_utility.TRACE ( 'l_time_out_actual:'
6731: || TO_CHAR (l_time_out_actual,
6732: 'DD-MON-YYYY HH24:MI:SS'
6733: )
6734: );
6748: IF l_valid_entry = FALSE
6749: THEN
6750: IF g_debug
6751: THEN
6752: hr_utility.set_location (l_proc, 220);
6753: END IF;
6754:
6755: fnd_message.set_name ('HXT', 'HXT_39600_INVALID_ENTRIES');
6756: p_error := fnd_message.get;
6761: END IF;
6762:
6763: IF g_debug
6764: THEN
6765: hr_utility.set_location (l_proc, 250);
6766: END IF;
6767:
6768: p_code := 0;
6769:
6768: p_code := 0;
6769:
6770: IF g_debug
6771: THEN
6772: hr_utility.TRACE ('hxt_time_collection.ADJUST_TIMINGS END');
6773: END IF;
6774: END adjust_timings;
6775:
6776: /**************************************************************
6854: BEGIN
6855: IF g_debug
6856: THEN
6857: l_proc := 'hxt_time_collection.Check_Time_Overlap';
6858: hr_utility.set_location (l_proc, 10);
6859: END IF;
6860:
6861: --Check if overlap found
6862: --begin SPR C245 - have to check for null or this process will hang,
6864: IF p_time_in IS NOT NULL AND p_time_out IS NOT NULL
6865: THEN
6866: IF g_debug
6867: THEN
6868: hr_utility.set_location (l_proc, 20);
6869: END IF;
6870:
6871: --end SPR C245
6872: OPEN c;
6875: INTO l_error;
6876:
6877: IF g_debug
6878: THEN
6879: hr_utility.TRACE ('l_error :' || l_error);
6880: END IF;
6881:
6882: CLOSE c;
6883:
6885: --begin SPR C245
6886: ELSE
6887: IF g_debug
6888: THEN
6889: hr_utility.set_location (l_proc, 30);
6890: END IF;
6891:
6892: RETURN ('');
6893: END IF;
6894:
6895: --end SPR C245
6896: IF g_debug
6897: THEN
6898: hr_utility.set_location (l_proc, 40);
6899: END IF;
6900: END check_time_overlap;
6901:
6902: --------------------------------------------------------------------------------