1243: when others then
1244: BEGIN
1245: -- hr_utility.trace('psp_create_eff_reports--> Exception '||sqlerrm);
1246: fnd_file.put_line(fnd_file.log,' Unhandled exception raised '||sqlerrm);
1247: fnd_message.set_name('PSP','PSP_ER_CREATE_UNEXPECTED_ERROR');
1248: l_err_mesg := substr(fnd_message.get,1,2000);
1249: l_sqlerrm := l_err_mesg || substr(sqlerrm,1,200);
1250: psp_general.add_report_error(l_request_id, 'E',null, l_retry_request_id, null, l_sqlerrm,l_return_status);
1251:
1244: BEGIN
1245: -- hr_utility.trace('psp_create_eff_reports--> Exception '||sqlerrm);
1246: fnd_file.put_line(fnd_file.log,' Unhandled exception raised '||sqlerrm);
1247: fnd_message.set_name('PSP','PSP_ER_CREATE_UNEXPECTED_ERROR');
1248: l_err_mesg := substr(fnd_message.get,1,2000);
1249: l_sqlerrm := l_err_mesg || substr(sqlerrm,1,200);
1250: psp_general.add_report_error(l_request_id, 'E',null, l_retry_request_id, null, l_sqlerrm,l_return_status);
1251:
1252: /* Below lines added for supercedence requirement
1328:
1329: /* A pending or Approved Effort Report already exists */
1330:
1331: if p_match_level = 'EMP' then
1332: fnd_message.set_name('PSP', 'PSP_EFF_ALREADY_EXISTS');
1333: l_msg_str:= substr(fnd_message.get ,1,240);
1334:
1335: update psp_selected_persons_t
1336: set skip_reason = 'ALREADY_EXISTS'
1329: /* A pending or Approved Effort Report already exists */
1330:
1331: if p_match_level = 'EMP' then
1332: fnd_message.set_name('PSP', 'PSP_EFF_ALREADY_EXISTS');
1333: l_msg_str:= substr(fnd_message.get ,1,240);
1334:
1335: update psp_selected_persons_t
1336: set skip_reason = 'ALREADY_EXISTS'
1337: where person_id between p_start_person and p_end_person
1404: exit;
1405: end if;
1406:
1407: if skipped_asg_rec.skip_reason = 'ALREADY_EXISTS' then
1408: fnd_message.set_name('PSP', 'PSP_ASG_EFF_ALREADY_EXISTS');
1409: fnd_message.set_token('ASG_NUMBER',skipped_asg_rec.assignment_number);
1410: l_msg_str:= substr(fnd_message.get ,1,240);
1411: else
1412: fnd_message.set_name('PSP', 'PSP_ASG_EFF_ALREADY_EXISTS2');
1405: end if;
1406:
1407: if skipped_asg_rec.skip_reason = 'ALREADY_EXISTS' then
1408: fnd_message.set_name('PSP', 'PSP_ASG_EFF_ALREADY_EXISTS');
1409: fnd_message.set_token('ASG_NUMBER',skipped_asg_rec.assignment_number);
1410: l_msg_str:= substr(fnd_message.get ,1,240);
1411: else
1412: fnd_message.set_name('PSP', 'PSP_ASG_EFF_ALREADY_EXISTS2');
1413: fnd_message.set_token('ASG_NUMBER',skipped_asg_rec.assignment_number);
1406:
1407: if skipped_asg_rec.skip_reason = 'ALREADY_EXISTS' then
1408: fnd_message.set_name('PSP', 'PSP_ASG_EFF_ALREADY_EXISTS');
1409: fnd_message.set_token('ASG_NUMBER',skipped_asg_rec.assignment_number);
1410: l_msg_str:= substr(fnd_message.get ,1,240);
1411: else
1412: fnd_message.set_name('PSP', 'PSP_ASG_EFF_ALREADY_EXISTS2');
1413: fnd_message.set_token('ASG_NUMBER',skipped_asg_rec.assignment_number);
1414: l_msg_str:= substr(fnd_message.get ,1,240);
1408: fnd_message.set_name('PSP', 'PSP_ASG_EFF_ALREADY_EXISTS');
1409: fnd_message.set_token('ASG_NUMBER',skipped_asg_rec.assignment_number);
1410: l_msg_str:= substr(fnd_message.get ,1,240);
1411: else
1412: fnd_message.set_name('PSP', 'PSP_ASG_EFF_ALREADY_EXISTS2');
1413: fnd_message.set_token('ASG_NUMBER',skipped_asg_rec.assignment_number);
1414: l_msg_str:= substr(fnd_message.get ,1,240);
1415: end if;
1416:
1409: fnd_message.set_token('ASG_NUMBER',skipped_asg_rec.assignment_number);
1410: l_msg_str:= substr(fnd_message.get ,1,240);
1411: else
1412: fnd_message.set_name('PSP', 'PSP_ASG_EFF_ALREADY_EXISTS2');
1413: fnd_message.set_token('ASG_NUMBER',skipped_asg_rec.assignment_number);
1414: l_msg_str:= substr(fnd_message.get ,1,240);
1415: end if;
1416:
1417: insert into psp_report_errors
1410: l_msg_str:= substr(fnd_message.get ,1,240);
1411: else
1412: fnd_message.set_name('PSP', 'PSP_ASG_EFF_ALREADY_EXISTS2');
1413: fnd_message.set_token('ASG_NUMBER',skipped_asg_rec.assignment_number);
1414: l_msg_str:= substr(fnd_message.get ,1,240);
1415: end if;
1416:
1417: insert into psp_report_errors
1418: (error_sequence_id, request_id, message_level,
1430: /* No distributions Found */
1431:
1432:
1433:
1434: fnd_message.set_name('PSP', 'PSP_EFF_NO_DISTRIB');
1435: l_msg_str:= substr(fnd_message.get ,1,240);
1436:
1437: insert into psp_report_errors
1438: (error_sequence_id, request_id, message_level,
1431:
1432:
1433:
1434: fnd_message.set_name('PSP', 'PSP_EFF_NO_DISTRIB');
1435: l_msg_str:= substr(fnd_message.get ,1,240);
1436:
1437: insert into psp_report_errors
1438: (error_sequence_id, request_id, message_level,
1439: source_id, error_message, retry_request_id, pdf_request_id,
1447: g_psp_effort_start <= end_date and status_code in ('N', 'A'))
1448: and pspt.person_id not in (select nvl(source_id,0) from psp_report_errors where request_id = g_psp_request_id);
1449:
1450:
1451: fnd_message.set_name('PSP', 'PSP_EFF_PENDING_DIST_ADJ');
1452: l_msg_str:= substr(fnd_message.get ,1,200);
1453: insert into psp_report_errors
1454: (error_sequence_id, request_id, message_level,
1455: source_id, error_message, retry_request_id, pdf_request_id,
1448: and pspt.person_id not in (select nvl(source_id,0) from psp_report_errors where request_id = g_psp_request_id);
1449:
1450:
1451: fnd_message.set_name('PSP', 'PSP_EFF_PENDING_DIST_ADJ');
1452: l_msg_str:= substr(fnd_message.get ,1,200);
1453: insert into psp_report_errors
1454: (error_sequence_id, request_id, message_level,
1455: source_id, error_message, retry_request_id, pdf_request_id,
1456: source_name, parent_source_id, parent_source_name)
1619:
1620: IF l_error_type = 1 THEN
1621:
1622: IF l_project_name = 'NOTFOUND' THEN
1623: fnd_message.set_name('PSP','PSP_ER_INVALID_PROJECT');
1624: fnd_message.set_token('PROJECT_ID',l_project_id);
1625: l_err_mesg := l_err_mesg || fnd_message.get;
1626: END IF;
1627:
1620: IF l_error_type = 1 THEN
1621:
1622: IF l_project_name = 'NOTFOUND' THEN
1623: fnd_message.set_name('PSP','PSP_ER_INVALID_PROJECT');
1624: fnd_message.set_token('PROJECT_ID',l_project_id);
1625: l_err_mesg := l_err_mesg || fnd_message.get;
1626: END IF;
1627:
1628: IF l_task_name = 'NOTFOUND' THEN
1621:
1622: IF l_project_name = 'NOTFOUND' THEN
1623: fnd_message.set_name('PSP','PSP_ER_INVALID_PROJECT');
1624: fnd_message.set_token('PROJECT_ID',l_project_id);
1625: l_err_mesg := l_err_mesg || fnd_message.get;
1626: END IF;
1627:
1628: IF l_task_name = 'NOTFOUND' THEN
1629: fnd_message.set_name('PSP','PSP_ER_INVALID_TASK');
1625: l_err_mesg := l_err_mesg || fnd_message.get;
1626: END IF;
1627:
1628: IF l_task_name = 'NOTFOUND' THEN
1629: fnd_message.set_name('PSP','PSP_ER_INVALID_TASK');
1630: fnd_message.set_token('TASK_ID',l_task_id);
1631: l_err_mesg := l_err_mesg || fnd_message.get;
1632: END IF;
1633:
1626: END IF;
1627:
1628: IF l_task_name = 'NOTFOUND' THEN
1629: fnd_message.set_name('PSP','PSP_ER_INVALID_TASK');
1630: fnd_message.set_token('TASK_ID',l_task_id);
1631: l_err_mesg := l_err_mesg || fnd_message.get;
1632: END IF;
1633:
1634: IF l_award_name = 'NOTFOUND' THEN
1627:
1628: IF l_task_name = 'NOTFOUND' THEN
1629: fnd_message.set_name('PSP','PSP_ER_INVALID_TASK');
1630: fnd_message.set_token('TASK_ID',l_task_id);
1631: l_err_mesg := l_err_mesg || fnd_message.get;
1632: END IF;
1633:
1634: IF l_award_name = 'NOTFOUND' THEN
1635: fnd_message.set_name('PSP','PSP_ER_INVALID_AWARD');
1631: l_err_mesg := l_err_mesg || fnd_message.get;
1632: END IF;
1633:
1634: IF l_award_name = 'NOTFOUND' THEN
1635: fnd_message.set_name('PSP','PSP_ER_INVALID_AWARD');
1636: fnd_message.set_token('AWARD_ID',l_award_id);
1637: l_err_mesg := l_err_mesg || fnd_message.get;
1638: END IF;
1639:
1632: END IF;
1633:
1634: IF l_award_name = 'NOTFOUND' THEN
1635: fnd_message.set_name('PSP','PSP_ER_INVALID_AWARD');
1636: fnd_message.set_token('AWARD_ID',l_award_id);
1637: l_err_mesg := l_err_mesg || fnd_message.get;
1638: END IF;
1639:
1640: IF l_exp_org_name = 'NOTFOUND' THEN
1633:
1634: IF l_award_name = 'NOTFOUND' THEN
1635: fnd_message.set_name('PSP','PSP_ER_INVALID_AWARD');
1636: fnd_message.set_token('AWARD_ID',l_award_id);
1637: l_err_mesg := l_err_mesg || fnd_message.get;
1638: END IF;
1639:
1640: IF l_exp_org_name = 'NOTFOUND' THEN
1641: fnd_message.set_name('PSP','PSP_ER_INVALID_EXP_ORG');
1637: l_err_mesg := l_err_mesg || fnd_message.get;
1638: END IF;
1639:
1640: IF l_exp_org_name = 'NOTFOUND' THEN
1641: fnd_message.set_name('PSP','PSP_ER_INVALID_EXP_ORG');
1642: fnd_message.set_token('EXP_ORG_ID',l_exp_org_id);
1643: l_err_mesg := l_err_mesg || fnd_message.get;
1644: END IF;
1645:
1638: END IF;
1639:
1640: IF l_exp_org_name = 'NOTFOUND' THEN
1641: fnd_message.set_name('PSP','PSP_ER_INVALID_EXP_ORG');
1642: fnd_message.set_token('EXP_ORG_ID',l_exp_org_id);
1643: l_err_mesg := l_err_mesg || fnd_message.get;
1644: END IF;
1645:
1646: ELSE
1639:
1640: IF l_exp_org_name = 'NOTFOUND' THEN
1641: fnd_message.set_name('PSP','PSP_ER_INVALID_EXP_ORG');
1642: fnd_message.set_token('EXP_ORG_ID',l_exp_org_id);
1643: l_err_mesg := l_err_mesg || fnd_message.get;
1644: END IF;
1645:
1646: ELSE
1647:
1644: END IF;
1645:
1646: ELSE
1647:
1648: fnd_message.set_name('PSP','PSP_ER_CI_NOT_FOUND');
1649: l_err_mesg := l_err_mesg || fnd_message.get;
1650: END IF;
1651:
1652: IF l_err_mesg IS NOT NULL THEN
1645:
1646: ELSE
1647:
1648: fnd_message.set_name('PSP','PSP_ER_CI_NOT_FOUND');
1649: l_err_mesg := l_err_mesg || fnd_message.get;
1650: END IF;
1651:
1652: IF l_err_mesg IS NOT NULL THEN
1653:
1651:
1652: IF l_err_mesg IS NOT NULL THEN
1653:
1654: IF l_error_type = 1 THEN
1655: fnd_message.set_name('PSP','PSP_ER_CAN_NOT_DISPLAY_DATA');
1656: l_err_mesg := l_err_mesg || fnd_message.get;
1657: END IF;
1658: l_err_mesg := substr(l_err_mesg,1,2000);
1659: psp_general.add_report_error( p_request_id => p_request_id ,
1652: IF l_err_mesg IS NOT NULL THEN
1653:
1654: IF l_error_type = 1 THEN
1655: fnd_message.set_name('PSP','PSP_ER_CAN_NOT_DISPLAY_DATA');
1656: l_err_mesg := l_err_mesg || fnd_message.get;
1657: END IF;
1658: l_err_mesg := substr(l_err_mesg,1,2000);
1659: psp_general.add_report_error( p_request_id => p_request_id ,
1660: p_message_level => 'E',
1674: LOOP
1675: FETCH check_award_pi_cur INTO l_person_id, l_award_id, l_award_number;
1676: EXIT WHEN check_award_pi_cur%NOTFOUND;
1677:
1678: fnd_message.set_name('PSP', 'PSP_ER_INVALID_PI');
1679: fnd_message.set_token('AWARD_NUMBER', l_award_number);
1680: l_err_mesg := fnd_message.get;
1681:
1682: psp_general.add_report_error( p_request_id => p_request_id ,
1675: FETCH check_award_pi_cur INTO l_person_id, l_award_id, l_award_number;
1676: EXIT WHEN check_award_pi_cur%NOTFOUND;
1677:
1678: fnd_message.set_name('PSP', 'PSP_ER_INVALID_PI');
1679: fnd_message.set_token('AWARD_NUMBER', l_award_number);
1680: l_err_mesg := fnd_message.get;
1681:
1682: psp_general.add_report_error( p_request_id => p_request_id ,
1683: p_message_level => 'E',
1676: EXIT WHEN check_award_pi_cur%NOTFOUND;
1677:
1678: fnd_message.set_name('PSP', 'PSP_ER_INVALID_PI');
1679: fnd_message.set_token('AWARD_NUMBER', l_award_number);
1680: l_err_mesg := fnd_message.get;
1681:
1682: psp_general.add_report_error( p_request_id => p_request_id ,
1683: p_message_level => 'E',
1684: p_source_id => l_person_id,
1695: LOOP
1696: FETCH check_pm_cur INTO l_person_id, l_project_id, l_project_number;
1697: EXIT WHEN check_pm_cur%NOTFOUND;
1698:
1699: fnd_message.set_name('PSP', 'PSP_ER_INVALID_PM');
1700: fnd_message.set_token('PROJECT_NUMBER', l_project_number);
1701: l_err_mesg := fnd_message.get;
1702:
1703: psp_general.add_report_error( p_request_id => p_request_id ,
1696: FETCH check_pm_cur INTO l_person_id, l_project_id, l_project_number;
1697: EXIT WHEN check_pm_cur%NOTFOUND;
1698:
1699: fnd_message.set_name('PSP', 'PSP_ER_INVALID_PM');
1700: fnd_message.set_token('PROJECT_NUMBER', l_project_number);
1701: l_err_mesg := fnd_message.get;
1702:
1703: psp_general.add_report_error( p_request_id => p_request_id ,
1704: p_message_level => 'E',
1697: EXIT WHEN check_pm_cur%NOTFOUND;
1698:
1699: fnd_message.set_name('PSP', 'PSP_ER_INVALID_PM');
1700: fnd_message.set_token('PROJECT_NUMBER', l_project_number);
1701: l_err_mesg := fnd_message.get;
1702:
1703: psp_general.add_report_error( p_request_id => p_request_id ,
1704: p_message_level => 'E',
1705: p_source_id => l_person_id,
1721: LOOP
1722: FETCH check_tm_cur INTO l_person_id, l_project_number, l_task_id, l_task_number;
1723: EXIT WHEN check_tm_cur%NOTFOUND;
1724:
1725: fnd_message.set_name('PSP', 'PSP_ER_INVALID_TM');
1726: fnd_message.set_token('PROJECT_NUMBER', l_project_number);
1727: fnd_message.set_token('TASK_NUMBER', l_task_number);
1728: l_err_mesg := fnd_message.get;
1729:
1722: FETCH check_tm_cur INTO l_person_id, l_project_number, l_task_id, l_task_number;
1723: EXIT WHEN check_tm_cur%NOTFOUND;
1724:
1725: fnd_message.set_name('PSP', 'PSP_ER_INVALID_TM');
1726: fnd_message.set_token('PROJECT_NUMBER', l_project_number);
1727: fnd_message.set_token('TASK_NUMBER', l_task_number);
1728: l_err_mesg := fnd_message.get;
1729:
1730: psp_general.add_report_error( p_request_id => p_request_id ,
1723: EXIT WHEN check_tm_cur%NOTFOUND;
1724:
1725: fnd_message.set_name('PSP', 'PSP_ER_INVALID_TM');
1726: fnd_message.set_token('PROJECT_NUMBER', l_project_number);
1727: fnd_message.set_token('TASK_NUMBER', l_task_number);
1728: l_err_mesg := fnd_message.get;
1729:
1730: psp_general.add_report_error( p_request_id => p_request_id ,
1731: p_message_level => 'E',
1724:
1725: fnd_message.set_name('PSP', 'PSP_ER_INVALID_TM');
1726: fnd_message.set_token('PROJECT_NUMBER', l_project_number);
1727: fnd_message.set_token('TASK_NUMBER', l_task_number);
1728: l_err_mesg := fnd_message.get;
1729:
1730: psp_general.add_report_error( p_request_id => p_request_id ,
1731: p_message_level => 'E',
1732: p_source_id => l_person_id,
1742: LOOP
1743: FETCH check_tm_cur1 INTO l_person_id, l_project_number, l_task_id, l_task_number;
1744: EXIT WHEN check_tm_cur1%NOTFOUND;
1745:
1746: fnd_message.set_name('PSP', 'PSP_ER_INVALID_TM');
1747: fnd_message.set_token('PROJECT_NUMBER', l_project_number);
1748: fnd_message.set_token('TASK_NUMBER', l_task_number);
1749: l_err_mesg := fnd_message.get;
1750:
1743: FETCH check_tm_cur1 INTO l_person_id, l_project_number, l_task_id, l_task_number;
1744: EXIT WHEN check_tm_cur1%NOTFOUND;
1745:
1746: fnd_message.set_name('PSP', 'PSP_ER_INVALID_TM');
1747: fnd_message.set_token('PROJECT_NUMBER', l_project_number);
1748: fnd_message.set_token('TASK_NUMBER', l_task_number);
1749: l_err_mesg := fnd_message.get;
1750:
1751: psp_general.add_report_error( p_request_id => p_request_id ,
1744: EXIT WHEN check_tm_cur1%NOTFOUND;
1745:
1746: fnd_message.set_name('PSP', 'PSP_ER_INVALID_TM');
1747: fnd_message.set_token('PROJECT_NUMBER', l_project_number);
1748: fnd_message.set_token('TASK_NUMBER', l_task_number);
1749: l_err_mesg := fnd_message.get;
1750:
1751: psp_general.add_report_error( p_request_id => p_request_id ,
1752: p_message_level => 'E',
1745:
1746: fnd_message.set_name('PSP', 'PSP_ER_INVALID_TM');
1747: fnd_message.set_token('PROJECT_NUMBER', l_project_number);
1748: fnd_message.set_token('TASK_NUMBER', l_task_number);
1749: l_err_mesg := fnd_message.get;
1750:
1751: psp_general.add_report_error( p_request_id => p_request_id ,
1752: p_message_level => 'E',
1753: p_source_id => l_person_id,