288: g_sub_loc := 'Gen_Rot_Plan';
289:
290: IF g_asm_rec.egp_id IS NULL
291: THEN -- SPR C258 by BC
292: fnd_message.set_name ('HXT', 'HXT_39287_AG_ERR_NO_ERN_POL');
293: fnd_message.set_token (
294: 'ASSIGN',
295: g_asm_rec.assignment_number
296: );
289:
290: IF g_asm_rec.egp_id IS NULL
291: THEN -- SPR C258 by BC
292: fnd_message.set_name ('HXT', 'HXT_39287_AG_ERR_NO_ERN_POL');
293: fnd_message.set_token (
294: 'ASSIGN',
295: g_asm_rec.assignment_number
296: );
297: g_autogen_error := '';
299: END IF;
300:
301: IF g_asm_rec.rtp_id IS NULL
302: THEN
303: fnd_message.set_name ('HXT', 'HXT_39289_AG_ERR_NO_ROT_PLAN');
304: fnd_message.set_token (
305: 'ASSIGN',
306: g_asm_rec.assignment_number
307: );
300:
301: IF g_asm_rec.rtp_id IS NULL
302: THEN
303: fnd_message.set_name ('HXT', 'HXT_39289_AG_ERR_NO_ROT_PLAN');
304: fnd_message.set_token (
305: 'ASSIGN',
306: g_asm_rec.assignment_number
307: );
308: g_autogen_error := '';
310: END IF;
311:
312: IF g_asm_rec.effective_start_date > g_asm_rec.end_date
313: THEN
314: fnd_message.set_name ('HXT', 'HXT_39326_INV_ERN_STRT_DATE');
315: g_autogen_error := '';
316: RAISE g_form_level_error;
317: END IF;
318:
317: END IF;
318:
319: IF g_asm_rec.effective_end_date < g_asm_rec.start_date
320: THEN
321: fnd_message.set_name ('HXT', 'HXT_39325_ERN_POL_EXP');
322: g_autogen_error := '';
323: RAISE g_form_level_error;
324: END IF;
325:
325:
326: -- generate all autogen hours
327: IF g_asm_rec.start_date = NULL
328: THEN
329: fnd_message.set_name ('HXT', 'HXT_39310_START_DATE_NF');
330: g_autogen_error := '';
331: RAISE g_form_level_error;
332: END IF;
333:
332: END IF;
333:
334: IF g_asm_rec.end_date = NULL
335: THEN
336: fnd_message.set_name ('HXT', 'HXT_39309_END_DATE_NF');
337: g_autogen_error := '';
338: RAISE g_form_level_error;
339: END IF;
340:
376: -- Check for errors
377: IF g_errors
378: THEN
379: -- begin SPR C348 by BC
380: fnd_message.set_name ('HXT', 'HXT_39364_AUTOGEN_COMP_W_ERRS');
381: errbuf := fnd_message.get;
382: fnd_message.CLEAR;
383: retcode := 2;
384: ELSE
377: IF g_errors
378: THEN
379: -- begin SPR C348 by BC
380: fnd_message.set_name ('HXT', 'HXT_39364_AUTOGEN_COMP_W_ERRS');
381: errbuf := fnd_message.get;
382: fnd_message.CLEAR;
383: retcode := 2;
384: ELSE
385:
378: THEN
379: -- begin SPR C348 by BC
380: fnd_message.set_name ('HXT', 'HXT_39364_AUTOGEN_COMP_W_ERRS');
381: errbuf := fnd_message.get;
382: fnd_message.CLEAR;
383: retcode := 2;
384: ELSE
385:
386: If not l_tccount then -- added 2772781
383: retcode := 2;
384: ELSE
385:
386: If not l_tccount then -- added 2772781
387: FND_MESSAGE.SET_NAME('HXT','HXT_AUTOGEN_PROCESS'); -- added 2772781
388: else
389: fnd_message.set_name ('HXT', 'HXT_39365_AUTOGEN_COMP_NORM');
390: end IF;
391: errbuf := fnd_message.get;
385:
386: If not l_tccount then -- added 2772781
387: FND_MESSAGE.SET_NAME('HXT','HXT_AUTOGEN_PROCESS'); -- added 2772781
388: else
389: fnd_message.set_name ('HXT', 'HXT_39365_AUTOGEN_COMP_NORM');
390: end IF;
391: errbuf := fnd_message.get;
392: fnd_message.CLEAR;
393: retcode := 0;
387: FND_MESSAGE.SET_NAME('HXT','HXT_AUTOGEN_PROCESS'); -- added 2772781
388: else
389: fnd_message.set_name ('HXT', 'HXT_39365_AUTOGEN_COMP_NORM');
390: end IF;
391: errbuf := fnd_message.get;
392: fnd_message.CLEAR;
393: retcode := 0;
394: END IF;
395:
388: else
389: fnd_message.set_name ('HXT', 'HXT_39365_AUTOGEN_COMP_NORM');
390: end IF;
391: errbuf := fnd_message.get;
392: fnd_message.CLEAR;
393: retcode := 0;
394: END IF;
395:
396: DELETE FROM fnd_sessions
404: WHERE session_id = USERENV ('SESSIONID');
405:
406: COMMIT;
407: errbuf := g_sqlerrm;
408: fnd_message.CLEAR;
409: call_gen_error (NULL, g_sqlerrm, SQLERRM);
410: retcode := 2;
411: WHEN OTHERS
412: THEN
412: THEN
413: DELETE FROM fnd_sessions
414: WHERE session_id = USERENV ('SESSIONID');
415:
416: fnd_message.set_name ('HXT', 'HXT_39366_AUTOGEN_SYST_ERR');
417: fnd_message.set_token ('SQLERR', SQLERRM);
418: errbuf := fnd_message.get;
419: fnd_message.CLEAR;
420: retcode := 2;
413: DELETE FROM fnd_sessions
414: WHERE session_id = USERENV ('SESSIONID');
415:
416: fnd_message.set_name ('HXT', 'HXT_39366_AUTOGEN_SYST_ERR');
417: fnd_message.set_token ('SQLERR', SQLERRM);
418: errbuf := fnd_message.get;
419: fnd_message.CLEAR;
420: retcode := 2;
421: COMMIT;
414: WHERE session_id = USERENV ('SESSIONID');
415:
416: fnd_message.set_name ('HXT', 'HXT_39366_AUTOGEN_SYST_ERR');
417: fnd_message.set_token ('SQLERR', SQLERRM);
418: errbuf := fnd_message.get;
419: fnd_message.CLEAR;
420: retcode := 2;
421: COMMIT;
422: END;
415:
416: fnd_message.set_name ('HXT', 'HXT_39366_AUTOGEN_SYST_ERR');
417: fnd_message.set_token ('SQLERR', SQLERRM);
418: errbuf := fnd_message.get;
419: fnd_message.CLEAR;
420: retcode := 2;
421: COMMIT;
422: END;
423:
480: WHEN OTHERS
481: THEN
482:
483: --HXT11 g_autogen_error := 'ERROR Get_Work_Day (' || SQLERRM || ')';
484: fnd_message.set_name ('HXT', 'HXT_39367_GET_WRK_DAY_ERR');
485: fnd_message.set_token ('SQLERR', SQLERRM);
486: g_autogen_error := '';
487: g_sqlerrm := SQLERRM;
488: call_gen_error (NULL, g_autogen_error, g_sqlerrm); --SPR C389
481: THEN
482:
483: --HXT11 g_autogen_error := 'ERROR Get_Work_Day (' || SQLERRM || ')';
484: fnd_message.set_name ('HXT', 'HXT_39367_GET_WRK_DAY_ERR');
485: fnd_message.set_token ('SQLERR', SQLERRM);
486: g_autogen_error := '';
487: g_sqlerrm := SQLERRM;
488: call_gen_error (NULL, g_autogen_error, g_sqlerrm); --SPR C389
489: g_errors := TRUE; --SPR C389
557: END LOOP;
558: EXCEPTION
559: WHEN OTHERS
560: THEN
561: fnd_message.set_name ('HXT', 'HXT_39368_GEN_WRK_PLAN_ERR');
562: fnd_message.set_token ('SQLERR', SQLERRM);
563: g_autogen_error := '';
564: hxt_util.DEBUG (g_autogen_error);
565: g_sqlerrm := SQLERRM;
558: EXCEPTION
559: WHEN OTHERS
560: THEN
561: fnd_message.set_name ('HXT', 'HXT_39368_GEN_WRK_PLAN_ERR');
562: fnd_message.set_token ('SQLERR', SQLERRM);
563: g_autogen_error := '';
564: hxt_util.DEBUG (g_autogen_error);
565: g_sqlerrm := SQLERRM;
566: call_gen_error (NULL, g_autogen_error, g_sqlerrm);
624: LOOP
625: -- Report error if missing time on first pass
626: IF (l_cntr = 1) AND (a_start <> sch_rec.start_date)
627: THEN
628: fnd_message.set_name ('HXT', 'HXT_39288_AG_ERR_DATES');
629: fnd_message.set_token (
630: 'A_START',
631: fnd_date.date_to_chardate (a_start)
632: );
625: -- Report error if missing time on first pass
626: IF (l_cntr = 1) AND (a_start <> sch_rec.start_date)
627: THEN
628: fnd_message.set_name ('HXT', 'HXT_39288_AG_ERR_DATES');
629: fnd_message.set_token (
630: 'A_START',
631: fnd_date.date_to_chardate (a_start)
632: );
633: fnd_message.set_token (
629: fnd_message.set_token (
630: 'A_START',
631: fnd_date.date_to_chardate (a_start)
632: );
633: fnd_message.set_token (
634: 'START_DATE',
635: fnd_date.date_to_chardate (sch_rec.start_date)
636: );
637: call_gen_error (NULL, '');
721: RETURN (l_batch_id);
722: EXCEPTION
723: WHEN OTHERS
724: THEN
725: fnd_message.set_name ('HXT', 'HXT_39284_AG_ERR_WRT_BATCHID');
726: fnd_message.set_token ('BATCH_ID', TO_CHAR (l_batch_id));
727: g_autogen_error := '';
728: g_sqlerrm := SQLERRM;
729: RAISE g_form_level_error;
722: EXCEPTION
723: WHEN OTHERS
724: THEN
725: fnd_message.set_name ('HXT', 'HXT_39284_AG_ERR_WRT_BATCHID');
726: fnd_message.set_token ('BATCH_ID', TO_CHAR (l_batch_id));
727: g_autogen_error := '';
728: g_sqlerrm := SQLERRM;
729: RAISE g_form_level_error;
730: END create_batch;
761: COMMIT;
762: EXCEPTION
763: WHEN OTHERS
764: THEN
765: fnd_message.set_name ('HXT', 'HXT_39465_AG_ERR_WRT_REF_ID');
766: fnd_message.set_token ('REF_ID', TO_CHAR (l_batch_id));
767: g_autogen_error := '';
768: g_sqlerrm := SQLERRM;
769: RAISE g_form_level_error;
762: EXCEPTION
763: WHEN OTHERS
764: THEN
765: fnd_message.set_name ('HXT', 'HXT_39465_AG_ERR_WRT_REF_ID');
766: fnd_message.set_token ('REF_ID', TO_CHAR (l_batch_id));
767: g_autogen_error := '';
768: g_sqlerrm := SQLERRM;
769: RAISE g_form_level_error;
770: END update_batch_ref;
798: RETURN (l_tim_id);
799: EXCEPTION
800: WHEN OTHERS
801: THEN --DEBUG ONLY
802: fnd_message.set_name ('HXT', 'HXT_39285_AG_ERR_WRT_TIMCARD');
803: fnd_message.set_token ('FIRST_NAME', g_asm_rec.first_name);
804: fnd_message.set_token ('LAST_NAME', g_asm_rec.last_name);
805: fnd_message.set_token ('EMP_NUMBER', TO_CHAR (g_asm_rec.person_id));
806: g_autogen_error := '';
799: EXCEPTION
800: WHEN OTHERS
801: THEN --DEBUG ONLY
802: fnd_message.set_name ('HXT', 'HXT_39285_AG_ERR_WRT_TIMCARD');
803: fnd_message.set_token ('FIRST_NAME', g_asm_rec.first_name);
804: fnd_message.set_token ('LAST_NAME', g_asm_rec.last_name);
805: fnd_message.set_token ('EMP_NUMBER', TO_CHAR (g_asm_rec.person_id));
806: g_autogen_error := '';
807: g_sqlerrm := SQLERRM;
800: WHEN OTHERS
801: THEN --DEBUG ONLY
802: fnd_message.set_name ('HXT', 'HXT_39285_AG_ERR_WRT_TIMCARD');
803: fnd_message.set_token ('FIRST_NAME', g_asm_rec.first_name);
804: fnd_message.set_token ('LAST_NAME', g_asm_rec.last_name);
805: fnd_message.set_token ('EMP_NUMBER', TO_CHAR (g_asm_rec.person_id));
806: g_autogen_error := '';
807: g_sqlerrm := SQLERRM;
808: RAISE g_form_level_error;
801: THEN --DEBUG ONLY
802: fnd_message.set_name ('HXT', 'HXT_39285_AG_ERR_WRT_TIMCARD');
803: fnd_message.set_token ('FIRST_NAME', g_asm_rec.first_name);
804: fnd_message.set_token ('LAST_NAME', g_asm_rec.last_name);
805: fnd_message.set_token ('EMP_NUMBER', TO_CHAR (g_asm_rec.person_id));
806: g_autogen_error := '';
807: g_sqlerrm := SQLERRM;
808: RAISE g_form_level_error;
809: END create_timecard;
1059: -- Check for errors
1060: IF l_retcode = 2
1061: THEN
1062: g_errors := TRUE;
1063: fnd_message.set_name ('HXT', 'HXT_39268_ERR_IN_TIME_GEN');
1064: g_autogen_error := '';
1065: call_gen_error (NULL, g_autogen_error, g_sqlerrm); --SPR C389
1066: END IF;
1067: EXCEPTION
1066: END IF;
1067: EXCEPTION
1068: WHEN l_seq_exceptn
1069: THEN
1070: fnd_message.set_name ('HXT', 'HXT_39278_AG_ERR_SEL_SEQNO');
1071: g_autogen_error := '';
1072: g_sqlerrm := SQLERRM;
1073: RAISE g_date_worked_error;
1074: WHEN OTHERS
1072: g_sqlerrm := SQLERRM;
1073: RAISE g_date_worked_error;
1074: WHEN OTHERS
1075: THEN
1076: fnd_message.set_name ('HXT', 'HXT_39277_AG_ERR_INS_HRS_WKED');
1077: g_autogen_error := '';
1078: g_sqlerrm := SQLERRM;
1079: RAISE g_date_worked_error;
1080: END create_hrw;
1100: RETURN (l_nextval);
1101: EXCEPTION
1102: WHEN OTHERS
1103: THEN
1104: fnd_message.set_name ('HXT', 'HXT_39283_AG_ERR_GET_SEQNO2');
1105: g_autogen_error := '';
1106: g_sqlerrm := SQLERRM;
1107: RAISE g_form_level_error;
1108: END get_hxt_seqno;
1126: EXCEPTION
1127: WHEN OTHERS
1128: THEN
1129: g_sqlerrm := SQLERRM;
1130: fnd_message.set_name ('HXT', 'HXT_39282_AG_ERR_GET_BATCHID');
1131: g_autogen_error := '';
1132: RAISE g_form_level_error;
1133: END get_next_batch_id;
1134:
1191: );
1192: EXCEPTION
1193: WHEN OTHERS
1194: THEN
1195: fnd_message.set_name ('HXT', 'HXT_39280_AG_ERR_DAT_DESC');
1196: fnd_message.set_token ('DATE', fnd_date.date_to_chardate (l_date));
1197: g_autogen_error := '';
1198: g_sqlerrm := SQLERRM;
1199: RAISE g_date_worked_error;
1192: EXCEPTION
1193: WHEN OTHERS
1194: THEN
1195: fnd_message.set_name ('HXT', 'HXT_39280_AG_ERR_DAT_DESC');
1196: fnd_message.set_token ('DATE', fnd_date.date_to_chardate (l_date));
1197: g_autogen_error := '';
1198: g_sqlerrm := SQLERRM;
1199: RAISE g_date_worked_error;
1200: END convert_time;
1217: );
1218: EXCEPTION
1219: WHEN OTHERS
1220: THEN
1221: fnd_message.set_name ('HXT', 'HXT_39281_AG_ERR_CONV_TIME');
1222: g_autogen_error := '';
1223: g_sqlerrm := SQLERRM;
1224: RAISE g_date_worked_error;
1225: END convert_time;
1276: COMMIT;
1277: EXCEPTION
1278: WHEN OTHERS
1279: THEN
1280: fnd_message.set_name ('HXT', 'HXT_39466_TCARD_DEL_FAIL');
1281: fnd_message.set_token ('SQLERR', SQLERRM);
1282: g_sqlerrm := fnd_message.get;
1283: RAISE g_del_obs_tim_error;
1284: END del_obsolete_tim;
1277: EXCEPTION
1278: WHEN OTHERS
1279: THEN
1280: fnd_message.set_name ('HXT', 'HXT_39466_TCARD_DEL_FAIL');
1281: fnd_message.set_token ('SQLERR', SQLERRM);
1282: g_sqlerrm := fnd_message.get;
1283: RAISE g_del_obs_tim_error;
1284: END del_obsolete_tim;
1285:
1278: WHEN OTHERS
1279: THEN
1280: fnd_message.set_name ('HXT', 'HXT_39466_TCARD_DEL_FAIL');
1281: fnd_message.set_token ('SQLERR', SQLERRM);
1282: g_sqlerrm := fnd_message.get;
1283: RAISE g_del_obs_tim_error;
1284: END del_obsolete_tim;
1285:
1286:
1375: -- PRIVATE procedure to delete hours-worked that were autogen'ed for this
1376: -- period that will be autogen'ed again. Error records will cascade-delete.
1377: BEGIN
1378: -- Delete existing hour-worked entries
1379: fnd_message.set_name ('HXT', 'HXT_39276_AG_ERR_DEL_HRS_WKED');
1380: g_autogen_error := '';
1381: g_sub_loc := 'DELETE from hxt_det_hours_worked';
1382:
1383: DELETE FROM hxt_det_hours_worked_f --C421
1388: WHERE tim_id = a_tim_id; --C421
1389:
1390: COMMIT;
1391: -- Delete existing hxt_errors records for this timecard
1392: fnd_message.set_name ('HXT', 'HXT_39275_AG_ERR_DEL_ERRS');
1393: g_autogen_error := '';
1394:
1395: DELETE FROM hxt_errors
1396: WHERE tim_id = a_tim_id
1447: CLOSE cur_hcl;
1448: EXCEPTION
1449: WHEN OTHERS
1450: THEN
1451: fnd_message.set_name ('HXT', 'HXT_39286_AG_ERR_SEL_HOL_HRS');
1452: g_autogen_error := '';
1453: g_sqlerrm := SQLERRM;
1454: RAISE g_date_worked_error;
1455: END get_holiday_info;