1: PACKAGE BODY PA_PROJECTS_MAINT_PUB AS
2: /* $Header: PARMPRPB.pls 120.8.12020000.2 2012/07/19 09:58:18 admarath ship $ */
3: G_PKG_NAME CONSTANT VARCHAR2(30) := 'PA_PROJECTS_MAINT_PUB';
4:
5: -- API name : create_project
1: PACKAGE BODY PA_PROJECTS_MAINT_PUB AS
2: /* $Header: PARMPRPB.pls 120.8.12020000.2 2012/07/19 09:58:18 admarath ship $ */
3: G_PKG_NAME CONSTANT VARCHAR2(30) := 'PA_PROJECTS_MAINT_PUB';
4:
5: -- API name : create_project
6: -- Type : Public
7: -- Pre-reqs : None.
137: -- 4363092 end
138:
139: l_organization_id hr_organization_units.organization_id%TYPE;
140: l_project_status_code pa_project_statuses.project_status_code%TYPE;
141: l_project_id pa_projects.project_id%TYPE;
142: l_project_type pa_projects_all.project_type%TYPE;
143: l_project_number_out pa_projects.segment1%TYPE;
144: l_probability_member_id pa_probability_members.probability_member_id%TYPE;
145: l_team_template_id pa_team_templates.team_template_id%TYPE;
138:
139: l_organization_id hr_organization_units.organization_id%TYPE;
140: l_project_status_code pa_project_statuses.project_status_code%TYPE;
141: l_project_id pa_projects.project_id%TYPE;
142: l_project_type pa_projects_all.project_type%TYPE;
143: l_project_number_out pa_projects.segment1%TYPE;
144: l_probability_member_id pa_probability_members.probability_member_id%TYPE;
145: l_team_template_id pa_team_templates.team_template_id%TYPE;
146: l_country_code pa_locations.country_code%TYPE;
139: l_organization_id hr_organization_units.organization_id%TYPE;
140: l_project_status_code pa_project_statuses.project_status_code%TYPE;
141: l_project_id pa_projects.project_id%TYPE;
142: l_project_type pa_projects_all.project_type%TYPE;
143: l_project_number_out pa_projects.segment1%TYPE;
144: l_probability_member_id pa_probability_members.probability_member_id%TYPE;
145: l_team_template_id pa_team_templates.team_template_id%TYPE;
146: l_country_code pa_locations.country_code%TYPE;
147: l_return_status VARCHAR2(1);
161:
162: CURSOR l_project_csr (c_project_id NUMBER)
163: Is
164: Select project_type
165: From pa_projects_all
166: Where project_id = c_project_id;
167:
168: BEGIN
169:
172: if (p_debug_mode = 'Y') then
173: pa_debug.debug('Create_Project PUB : Checking the api version number.');
174: end if;
175:
176: --dbms_output.put_line('Starts here PA_PROJECTS_MAINT_PUB.CREATE_PROJECT ... ');
177:
178: IF p_commit = FND_API.G_TRUE THEN
179: SAVEPOINT prm_create_project;
180: END IF;
194: if (p_debug_mode = 'Y') then
195: pa_debug.debug('CREATE_PROJECT PUB : Initializing message stack.');
196: end if;
197:
198: pa_debug.init_err_stack('PA_PROJECTS_MAINT_PUB.CREATE_PROJECT');
199:
200: if FND_API.to_boolean(nvl(p_init_msg_list, FND_API.G_FALSE)) then
201: fnd_msg_pub.initialize;
202: end if;
249: if (p_debug_mode = 'Y') then
250: pa_debug.debug('Create_Project PUB : Checking Project status');
251: end if;
252:
253: PA_PROJECTS_MAINT_UTILS.CHECK_PROJECT_STATUS_OR_ID
254: (p_project_status_code => p_project_status_code
255: ,p_project_status_name => p_project_status_name
256: ,p_check_id_flag => 'A'
257: ,x_project_status_code => l_project_status_code
282: THEN
283: if (p_debug_mode = 'Y') then
284: pa_debug.debug('Create_Project PUB : Checking Probability code');
285: end if;
286: PA_PROJECTS_MAINT_UTILS.CHECK_PROBABILITY_CODE_OR_ID
287: ( p_probability_member_id => p_probability_member_id
288: ,p_probability_percentage => p_probability_percentage
289: ,p_project_type => l_project_type
290: ,p_check_id_flag => 'Y'
445: if (p_debug_mode = 'Y') then
446: pa_debug.debug('Create_Project PUB : Checking agreement currency');
447: end if;
448:
449: PA_PROJECTS_MAINT_UTILS.CHECK_CURRENCY_NAME_OR_CODE
450: ( p_agreement_currency => p_agreement_currency
451: ,p_agreement_currency_name => p_agreement_currency_name
452: ,p_check_id_flag => 'Y'
453: ,x_agreement_currency => l_agreement_currency
469: if (p_debug_mode = 'Y') then
470: pa_debug.debug('Create_Project PUB : Checking Opportunity Value currency');
471: end if;
472:
473: PA_PROJECTS_MAINT_UTILS.CHECK_CURRENCY_NAME_OR_CODE
474: ( p_agreement_currency => p_opp_value_currency_code
475: ,p_agreement_currency_name => p_opp_value_currency_name
476: ,p_check_id_flag => 'Y'
477: ,x_agreement_currency => l_opp_value_currency_code
494: if (p_debug_mode = 'Y') then
495: pa_debug.debug('Create_Project PUB : Checking agreement org');
496: end if;
497:
498: PA_PROJECTS_MAINT_UTILS.CHECK_AGREEMENT_ORG_NAME_OR_ID
499: ( p_agreement_org_id => p_agreement_org_id
500: ,p_agreement_org_name => p_agreement_org_name
501: ,p_check_id_flag => 'Y'
502: ,x_agreement_org_id => l_agreement_org_id
545: RAISE FND_API.G_EXC_ERROR;
546: end if;
547: */
548:
549: --dbms_output.put_line('Starts here PA_PROJECTS_MAINT_PVT.CREATE_PROJECT ... ');
550:
551: /* For Bug 2731449 modified p_bill_to_customer_id to l_bill_to_customer_id
552: and p_ship_to_customer_id to l_ship_to_customer_id */
553:
554: if (p_debug_mode = 'Y') then
555: pa_debug.debug('Create_Project PUB : Calling private api Create_project');
556: end if;
557:
558: PA_PROJECTS_MAINT_PVT.CREATE_PROJECT
559: (
560: p_commit => FND_API.G_FALSE,
561: p_validate_only => p_validate_only,
562: p_validation_level => p_validation_level,
654: IF p_commit = FND_API.G_TRUE THEN
655: ROLLBACK TO prm_create_project;
656: END IF;
657: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
658: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECTS_MAINT_PUB',
659: p_procedure_name => 'CREATE_PROJECT',
660: p_error_text => SUBSTRB(SQLERRM,1,240));
661: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
662:
670: IF p_commit = FND_API.G_TRUE THEN
671: ROLLBACK TO prm_create_project;
672: END IF;
673: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
674: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECTS_MAINT_PUB',
675: p_procedure_name => 'CREATE_PROJECT',
676: p_error_text => SUBSTRB(SQLERRM,1,240));
677: raise;
678:
751: THEN
752: SAVEPOINT create_customer;
753: END IF;
754:
755: pa_debug.init_err_stack('PA_PROJECTS_MAINT_PUB.CREATE_CUSTOMER');
756:
757: if (p_debug_mode = 'Y') then
758: pa_debug.debug('Create_Customer PUB : checking API compatibility');
759: end if;
812: if (p_debug_mode = 'Y') then
813: pa_debug.debug('Create_Customer PUB : calling Create_customer private API');
814: end if;
815:
816: PA_PROJECTS_MAINT_PVT.CREATE_CUSTOMER
817: ( p_commit => FND_API.G_FALSE ,
818: p_validate_only => p_validate_only ,
819: p_validation_level => p_validation_level ,
820: p_debug_mode => p_debug_mode ,
872: IF p_commit = FND_API.G_TRUE THEN
873: ROLLBACK TO create_customer;
874: END IF;
875: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
876: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECTS_MAINT_PUB',
877: p_procedure_name => 'CREATE_CUSTOMER',
878: p_error_text => SUBSTRB(SQLERRM,1,240));
879: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
880:
888: IF p_commit = FND_API.G_TRUE THEN
889: ROLLBACK TO create_customer;
890: END IF;
891: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
892: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECTS_MAINT_PUB',
893: p_procedure_name => 'CREATE_CUSTOMER',
894: p_error_text => SUBSTRB(SQLERRM,1,240));
895: raise;
896:
1022: l_data VARCHAR2(250);
1023:
1024: BEGIN
1025:
1026: --dbms_output.put_line('Starts here PA_PROJECTS_MAINT_PUB.CREATE_PROJECT ... ');
1027:
1028: IF p_commit = FND_API.G_TRUE THEN
1029: SAVEPOINT update_project_basic_info;
1030: END IF;
1028: IF p_commit = FND_API.G_TRUE THEN
1029: SAVEPOINT update_project_basic_info;
1030: END IF;
1031:
1032: pa_debug.init_err_stack('PA_PROJECTS_MAINT_PUB.update_project_basic_info');
1033:
1034: --dbms_output.put_line('Starts here FND_API.COMPATIBLE_API_CALL ... ');
1035:
1036: if (p_debug_mode = 'Y') then
1134: --dbms_output.put_line(' location **** '||to_char(p_location_id));
1135: if (p_debug_mode = 'Y') then
1136: pa_debug.debug('Update_project_basic_info PUB : Calling private API update_project_basic_info');
1137: end if;
1138: PA_PROJECTS_MAINT_PVT.UPDATE_PROJECT_BASIC_INFO
1139: (
1140: p_commit => FND_API.G_FALSE,
1141: p_validate_only => p_validate_only,
1142: p_validation_level => p_validation_level,
1231: IF p_commit = FND_API.G_TRUE THEN
1232: ROLLBACK TO update_project_basic_info;
1233: END IF;
1234: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1235: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECTS_MAINT_PUB',
1236: p_procedure_name => 'UPDATE_PROJECT_BASIC_INFO',
1237: p_error_text => SUBSTRB(SQLERRM,1,240));
1238: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1239:
1247: IF p_commit = FND_API.G_TRUE THEN
1248: ROLLBACK TO update_project_basic_info;
1249: END IF;
1250: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1251: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECTS_MAINT_PUB',
1252: p_procedure_name => 'UPDATE_PROJECT_BASIC_INFO',
1253: p_error_text => SUBSTRB(SQLERRM,1,240));
1254: raise;
1255:
1345: IF p_commit = FND_API.G_TRUE THEN
1346: SAVEPOINT update_project_additional_info;
1347: END IF;
1348:
1349: pa_debug.init_err_stack('PA_PROJECTS_MAINT_PUB.update_project_additional_info');
1350:
1351: if (p_debug_mode = 'Y') then
1352: pa_debug.debug('Update_project_Additional_info PUB : Checking API Compatibility');
1353: end if;
1364: end if;
1365:
1366: x_return_status := FND_API.G_RET_STS_SUCCESS;
1367:
1368: --dbms_output.put_line('Before PA_PROJECTS_MAINT_PVT.UPDATE_PROJECT_ADDITIONAL_INFO ');
1369: -- write your program logic from here
1370:
1371: IF (p_calendar_id is not null AND
1372: p_calendar_id <> FND_API.G_MISS_NUM) OR
1400:
1401: l_cost_job_group_id := p_cost_job_group_id;
1402: IF l_cost_job_Group_id is null
1403: THEN
1404: l_cost_job_Group_id := PA_PROJECTS_MAINT_UTILS.GET_COST_JOB_GROUP_ID;
1405: END IF;
1406:
1407: l_msg_count := FND_MSG_PUB.count_msg;
1408: If l_msg_count > 0 THEN
1439: if (p_debug_mode = 'Y') then
1440: pa_debug.debug('Update_project_Additional_info PUB : Calling private API Update_project_additional_info ');
1441: end if;
1442:
1443: --dbms_output.put_line('Starts here PA_PROJECTS_MAINT_PVT.CREATE_PROJECT ... ');
1444:
1445: PA_PROJECTS_MAINT_PVT.UPDATE_PROJECT_ADDITIONAL_INFO
1446: (
1447: p_commit => FND_API.G_FALSE,
1441: end if;
1442:
1443: --dbms_output.put_line('Starts here PA_PROJECTS_MAINT_PVT.CREATE_PROJECT ... ');
1444:
1445: PA_PROJECTS_MAINT_PVT.UPDATE_PROJECT_ADDITIONAL_INFO
1446: (
1447: p_commit => FND_API.G_FALSE,
1448: p_validate_only => p_validate_only,
1449: p_validation_level => p_validation_level,
1519: IF p_commit = FND_API.G_TRUE THEN
1520: ROLLBACK TO update_project_additional_info;
1521: END IF;
1522: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1523: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECTS_MAINT_PUB',
1524: p_procedure_name => 'UPDATE_PROJECT_ADDITIONAL_INFO',
1525: p_error_text => SUBSTRB(SQLERRM,1,240));
1526: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1527:
1536: IF p_commit = FND_API.G_TRUE THEN
1537: ROLLBACK TO update_project_additional_info;
1538: END IF;
1539: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1540: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECTS_MAINT_PUB',
1541: p_procedure_name => 'UPDATE_PROJECT_ADDITIONAL_INFO',
1542: p_error_text => SUBSTRB(SQLERRM,1,240));
1543: raise;
1544:
1608: l_data VARCHAR2(250);
1609: l_msg_index_out NUMBER;
1610: l_dummy VARCHAR2(1);
1611: l_probability_member_id pa_probability_members.probability_member_id%TYPE;
1612: l_project_type pa_projects_all.project_type%TYPE;
1613: l_expected_approval_date DATE;
1614: l_opportunity_value NUMBER;
1615: l_opp_value_currency_code pa_project_opp_attrs.opp_value_currency_code%TYPE;
1616:
1617: CURSOR c1
1618: IS
1619: Select pr.project_type, pr.probability_member_id, pr.expected_approval_date,
1620: op.opportunity_value, op.opp_value_currency_code
1621: From pa_projects_all pr, pa_project_opp_attrs op
1622: Where pr.project_id = op.project_id
1623: AND pr.project_id = p_project_id;
1624:
1625: v_c1 c1%ROWTYPE;
1629: IF p_commit = FND_API.G_TRUE THEN
1630: SAVEPOINT update_project_pipeline_info;
1631: END IF;
1632:
1633: pa_debug.init_err_stack('PA_PROJECTS_MAINT_PUB.update_project_pipeline_info');
1634:
1635: -- Start: Bug 4469624 - check for p_debug_mode before call to PA_DEBUG.WRITE
1636: if (p_debug_mode = 'Y') then
1637: PA_DEBUG.write (x_module => 'pa.plsql.PA_PROJECTS_MAINT_PUB.update_project_pipeline_info'
1633: pa_debug.init_err_stack('PA_PROJECTS_MAINT_PUB.update_project_pipeline_info');
1634:
1635: -- Start: Bug 4469624 - check for p_debug_mode before call to PA_DEBUG.WRITE
1636: if (p_debug_mode = 'Y') then
1637: PA_DEBUG.write (x_module => 'pa.plsql.PA_PROJECTS_MAINT_PUB.update_project_pipeline_info'
1638: ,x_msg => 'Beginning of update_project_pipeline_info'
1639: ,x_log_level => 3);
1640: end if;
1641: -- End: Bug 4469624 - check for p_debug_mode before call to PA_DEBUG.WRITE
1677: THEN
1678: if (p_debug_mode = 'Y') then
1679: pa_debug.debug('Create_Project PUB : Checking Probability code');
1680: end if;
1681: PA_PROJECTS_MAINT_UTILS.CHECK_PROBABILITY_CODE_OR_ID
1682: ( p_probability_member_id => p_probability_member_id
1683: ,p_probability_percentage => p_probability_percentage
1684: ,p_project_type => l_project_type
1685: ,p_check_id_flag => 'A'
1688: ,x_error_msg_code => l_error_msg_code);
1689:
1690: -- Start: Bug 4469624 - check for p_debug_mode before call to PA_DEBUG.WRITE
1691: if (p_debug_mode = 'Y') then
1692: PA_DEBUG.write (x_module => 'pa.plsql.PA_PROJECTS_MAINT_PUB.update_project_pipeline_info'
1693: ,x_msg => 'AFTER check probablity ... '||l_return_status
1694: ,x_log_level => 3);
1695: end if;
1696: -- End: Bug 4469624 - check for p_debug_mode before call to PA_DEBUG.WRITE
1730: end if;
1731:
1732: -- Start: Bug 4469624 - check for p_debug_mode before call to PA_DEBUG.WRITE
1733: if (p_debug_mode = 'Y') then
1734: PA_DEBUG.write (x_module => 'pa.plsql.PA_PROJECTS_MAINT_PUB.update_project_pipeline_info'
1735: ,x_msg => 'Before calling PA_PROJECTS_MAINT_PVT.UPDATE_PROJECT_PIPELINE_INFO'
1736: ,x_log_level => 3);
1737: end if;
1738: -- End: Bug 4469624 - check for p_debug_mode before call to PA_DEBUG.WRITE
1731:
1732: -- Start: Bug 4469624 - check for p_debug_mode before call to PA_DEBUG.WRITE
1733: if (p_debug_mode = 'Y') then
1734: PA_DEBUG.write (x_module => 'pa.plsql.PA_PROJECTS_MAINT_PUB.update_project_pipeline_info'
1735: ,x_msg => 'Before calling PA_PROJECTS_MAINT_PVT.UPDATE_PROJECT_PIPELINE_INFO'
1736: ,x_log_level => 3);
1737: end if;
1738: -- End: Bug 4469624 - check for p_debug_mode before call to PA_DEBUG.WRITE
1739:
1736: ,x_log_level => 3);
1737: end if;
1738: -- End: Bug 4469624 - check for p_debug_mode before call to PA_DEBUG.WRITE
1739:
1740: PA_PROJECTS_MAINT_PVT.UPDATE_PROJECT_PIPELINE_INFO (
1741: p_commit => FND_API.G_FALSE,
1742: p_validate_only => p_validate_only,
1743: p_validation_level => p_validation_level,
1744: p_calling_module => p_calling_module,
1754: x_msg_data => l_msg_data);
1755:
1756: -- Start: Bug 4469624 - check for p_debug_mode before call to PA_DEBUG.WRITE
1757: if (p_debug_mode = 'Y') then
1758: PA_DEBUG.write (x_module => 'pa.plsql.PA_PROJECTS_MAINT_PUB.update_project_pipeline_info'
1759: ,x_msg => 'After calling PA_PROJECTS_MAINT_PVT.UPDATE_PROJECT_PIPELINE_INFO'
1760: ,x_log_level => 3);
1761: end if;
1762: -- End: Bug 4469624 - check for p_debug_mode before call to PA_DEBUG.WRITE
1755:
1756: -- Start: Bug 4469624 - check for p_debug_mode before call to PA_DEBUG.WRITE
1757: if (p_debug_mode = 'Y') then
1758: PA_DEBUG.write (x_module => 'pa.plsql.PA_PROJECTS_MAINT_PUB.update_project_pipeline_info'
1759: ,x_msg => 'After calling PA_PROJECTS_MAINT_PVT.UPDATE_PROJECT_PIPELINE_INFO'
1760: ,x_log_level => 3);
1761: end if;
1762: -- End: Bug 4469624 - check for p_debug_mode before call to PA_DEBUG.WRITE
1763:
1821: IF p_commit = FND_API.G_TRUE THEN
1822: ROLLBACK TO update_project_pipeline_info;
1823: END IF;
1824: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1825: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECTS_MAINT_PUB',
1826: p_procedure_name => 'UPDATE_PROJECT_PIPELINE_INFO',
1827: p_error_text => SUBSTRB(SQLERRM,1,240));
1828: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1829:
1837: IF p_commit = FND_API.G_TRUE THEN
1838: ROLLBACK TO update_project_pipeline_info;
1839: END IF;
1840: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1841: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECTS_MAINT_PUB',
1842: p_procedure_name => 'UPDATE_PROJECT_PIPELINE_INFO',
1843: p_error_text => SUBSTRB(SQLERRM,1,240));
1844: raise;
1845:
1922: x_msg_data OUT NOCOPY VARCHAR2) --File.Sql.39 bug 4440895
1923: IS
1924:
1925: l_dummy VARCHAR2(1);
1926: l_created_from_project_id pa_projects.created_from_project_id%TYPE;
1927: l_api_name CONSTANT VARCHAR(30) := 'create_classifications';
1928: l_api_version CONSTANT NUMBER := 1.0;
1929: l_project_id pa_projects.project_id%TYPE;
1930: l_row_id VARCHAR2(250);
1925: l_dummy VARCHAR2(1);
1926: l_created_from_project_id pa_projects.created_from_project_id%TYPE;
1927: l_api_name CONSTANT VARCHAR(30) := 'create_classifications';
1928: l_api_version CONSTANT NUMBER := 1.0;
1929: l_project_id pa_projects.project_id%TYPE;
1930: l_row_id VARCHAR2(250);
1931: l_return_status VARCHAR2(250);
1932: l_error_msg_code VARCHAR2(250);
1933: l_msg_count NUMBER;
1942: IF p_commit = FND_API.G_TRUE THEN
1943: SAVEPOINT create_classifications;
1944: END IF;
1945:
1946: pa_debug.init_err_stack('PA_PROJECTS_MAINT_PUB.create_classifications');
1947:
1948: if (p_debug_mode = 'Y') then
1949: pa_debug.debug('Create_classifications PUB : Checking API compatibility');
1950: end if;
1985: p_msg_name => 'PA_AL_INVALID_CLASS_CATG_PROJE');
1986: x_msg_data := 'PA_AL_INVALID_CLASS_CATG_PROJE';
1987: x_return_status := 'E' ;
1988: WHEN OTHERS THEN
1989: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECTS_MAINT_PUB',
1990: p_procedure_name => 'CREATE_CLASSIFICATIONS',
1991: p_error_text => SUBSTRB(SQLERRM,1,240));
1992: raise;
1993: END;
2011: p_msg_name => 'PA_CLASS_CATG_CODE_INVALID');
2012: x_msg_data := 'PA_CLASS_CATG_CODE_INVALID';
2013: x_return_status := 'E' ;
2014: WHEN OTHERS THEN
2015: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECTS_MAINT_PUB',
2016: p_procedure_name => 'CREATE_CLASSIFICATIONS',
2017: p_error_text => SUBSTRB(SQLERRM,1,240));
2018: raise;
2019: END;
2050: x_return_status := 'E';
2051: RAISE FND_API.G_EXC_ERROR;
2052: end if;
2053: */
2054: PA_PROJECTS_MAINT_PVT.CREATE_CLASSIFICATIONS
2055: (
2056: p_commit => FND_API.G_FALSE,
2057: p_validate_only => p_validate_only,
2058: p_validation_level => p_validation_level,
2109: ELSE
2110: x_msg_count := l_msg_count;
2111: END IF;
2112:
2113: --dbms_output.put_line('Before PA_PROJECTS_MAINT_PVT.CREATE_CLASSIFICATIONS '||to_char(l_msg_count));
2114:
2115: if (p_debug_mode = 'Y') then
2116: pa_debug.debug('Create_classifications PUB : Checking message count');
2117: end if;
2115: if (p_debug_mode = 'Y') then
2116: pa_debug.debug('Create_classifications PUB : Checking message count');
2117: end if;
2118:
2119: --dbms_output.put_line('Before PA_PROJECTS_MAINT_PVT. '||l_data);
2120:
2121: IF l_msg_count > 0 THEN
2122: x_return_status := 'E';
2123: RAISE FND_API.G_EXC_ERROR;
2132: IF p_commit = FND_API.G_TRUE THEN
2133: ROLLBACK TO create_classifications;
2134: END IF;
2135: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2136: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECTS_MAINT_PUB',
2137: p_procedure_name => 'CREATE_CLASSIFICATIONS',
2138: p_error_text => SUBSTRB(SQLERRM,1,240));
2139: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2140:
2148: IF p_commit = FND_API.G_TRUE THEN
2149: ROLLBACK TO CREATE_CLASSIFICATIONS;
2150: END IF;
2151: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2152: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECTS_MAINT_PUB',
2153: p_procedure_name => 'CREATE_CLASSIFICATIONS',
2154: p_error_text => SUBSTRB(SQLERRM,1,240));
2155: raise;
2156:
2238: x_msg_data OUT NOCOPY VARCHAR2) --File.Sql.39 bug 4440895
2239: IS
2240:
2241: l_dummy VARCHAR2(1);
2242: l_created_from_project_id pa_projects.created_from_project_id%TYPE;
2243: l_api_name CONSTANT VARCHAR(30) := 'create_classifications';
2244: l_api_version CONSTANT NUMBER := 1.0;
2245: l_project_id pa_projects.project_id%TYPE;
2246: l_row_id VARCHAR2(250);
2241: l_dummy VARCHAR2(1);
2242: l_created_from_project_id pa_projects.created_from_project_id%TYPE;
2243: l_api_name CONSTANT VARCHAR(30) := 'create_classifications';
2244: l_api_version CONSTANT NUMBER := 1.0;
2245: l_project_id pa_projects.project_id%TYPE;
2246: l_row_id VARCHAR2(250);
2247: l_return_status VARCHAR2(250);
2248: l_error_msg_code VARCHAR2(250);
2249: l_msg_count NUMBER;
2258: IF p_commit = FND_API.G_TRUE THEN
2259: SAVEPOINT update_classifications;
2260: END IF;
2261:
2262: pa_debug.init_err_stack('PA_PROJECTS_MAINT_PUB.update_classifications');
2263:
2264: if (p_debug_mode = 'Y') then
2265: pa_debug.debug('Update_classifications PUB : Checking API compatibility');
2266: end if;
2301: p_msg_name => 'PA_AL_INVALID_CLASS_CATG_PROJE');
2302: x_msg_data := 'PA_AL_INVALID_CLASS_CATG_PROJE';
2303: x_return_status := 'E' ;
2304: WHEN OTHERS THEN
2305: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECTS_MAINT_PUB',
2306: p_procedure_name => 'UPDATE_CLASSIFICATIONS',
2307: p_error_text => SUBSTRB(SQLERRM,1,240));
2308: raise;
2309: END;
2327: p_msg_name => 'PA_CLASS_CATG_CODE_INVALID');
2328: x_msg_data := 'PA_CLASS_CATG_CODE_INVALID';
2329: x_return_status := 'E' ;
2330: WHEN OTHERS THEN
2331: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECTS_MAINT_PUB',
2332: p_procedure_name => 'UPDATE_CLASSIFICATIONS',
2333: p_error_text => SUBSTRB(SQLERRM,1,240));
2334: raise;
2335: END;
2350: RAISE FND_API.G_EXC_ERROR;
2351: End if;
2352:
2353:
2354: PA_PROJECTS_MAINT_PVT.UPDATE_CLASSIFICATIONS
2355: (
2356: p_commit => FND_API.G_FALSE,
2357: p_validate_only => p_validate_only,
2358: p_validation_level => p_validation_level,
2411: IF p_commit = FND_API.G_TRUE THEN
2412: ROLLBACK TO update_classifications;
2413: END IF;
2414: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2415: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECTS_MAINT_PUB',
2416: p_procedure_name => 'UPDATE_CLASSIFICATIONS',
2417: p_error_text => SUBSTRB(SQLERRM,1,240));
2418: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2419:
2427: IF p_commit = FND_API.G_TRUE THEN
2428: ROLLBACK TO UPDATE_CLASSIFICATIONS;
2429: END IF;
2430: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2431: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECTS_MAINT_PUB',
2432: p_procedure_name => 'UPDATE_CLASSIFICATIONS',
2433: p_error_text => SUBSTRB(SQLERRM,1,240));
2434: raise;
2435:
2482: x_msg_data OUT NOCOPY VARCHAR2) --File.Sql.39 bug 4440895
2483: IS
2484: l_api_name CONSTANT VARCHAR(30) := 'delete_classifications';
2485: l_api_version CONSTANT NUMBER := 1.0;
2486: l_project_id pa_projects.project_id%TYPE;
2487: l_dummy VARCHAR2(1);
2488: l_delete_flag VARCHAR2(1) := 'N';
2489: l_return_status VARCHAR2(250);
2490: l_error_msg_code VARCHAR2(250);
2503: IF p_commit = FND_API.G_TRUE THEN
2504: SAVEPOINT delete_classifications;
2505: END IF;
2506:
2507: pa_debug.init_err_stack('PA_PROJECTS_MAINT_PUB.delete_classifications');
2508:
2509: if (p_debug_mode = 'Y') then
2510: pa_debug.debug('delete_classifications PUB : Checking API Compatibility');
2511: end if;
2527:
2528: if (p_debug_mode = 'Y') then
2529: pa_debug.debug('delete_classifications PUB : Calling private API delete_classifcations');
2530: end if;
2531: PA_PROJECTS_MAINT_PVT.DELETE_CLASSIFICATIONS
2532: (
2533: p_commit => FND_API.G_FALSE,
2534: p_validate_only => p_validate_only,
2535: p_validation_level => p_validation_level,
2588: IF p_commit = FND_API.G_TRUE THEN
2589: ROLLBACK TO delete_classifications;
2590: END IF;
2591: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2592: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECTS_MAINT_PUB',
2593: p_procedure_name => 'DELETE_CLASSIFICATIONS',
2594: p_error_text => SUBSTRB(SQLERRM,1,240));
2595: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2596:
2604: IF p_commit = FND_API.G_TRUE THEN
2605: ROLLBACK TO delete_classifications;
2606: END IF;
2607: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2608: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECTS_MAINT_PUB',
2609: p_procedure_name => 'DELETE_CLASSIFICATIONS',
2610: p_error_text => SUBSTRB(SQLERRM,1,240));
2611: raise;
2612:
2625: -- p_calling_module IN VARCHAR2 Optional Default = 'SELF_SERVICE'
2626: -- p_debug_mode IN VARCHAR2 Optional Default = 'N'
2627: -- p_max_msg_count IN NUMBER Optional Default = FND_API.G_MISS_NUM
2628: -- p_project_id IN NUMBER Required
2629: -- p_comp_match_weighting IN pa_projects_all.competence_match_weighting%TYPE := FND_API.G_MISS_NUM
2630: -- p_avail_match_weighting IN pa_projects_all.availability_match_weighting%TYPE := FND_API.G_MISS_NUM
2631: -- p_job_level_match_weighting IN pa_projects_all.job_level_match_weighting%TYPE := FND_API.G_MISS_NUM
2632: -- p_search_min_availability IN pa_projects_all.search_min_availability%TYPE := FND_API.G_MISS_NUM
2633: -- p_search_country_code IN pa_projects_all.search_country_code%TYPE := FND_API.G_MISS_CHAR
2626: -- p_debug_mode IN VARCHAR2 Optional Default = 'N'
2627: -- p_max_msg_count IN NUMBER Optional Default = FND_API.G_MISS_NUM
2628: -- p_project_id IN NUMBER Required
2629: -- p_comp_match_weighting IN pa_projects_all.competence_match_weighting%TYPE := FND_API.G_MISS_NUM
2630: -- p_avail_match_weighting IN pa_projects_all.availability_match_weighting%TYPE := FND_API.G_MISS_NUM
2631: -- p_job_level_match_weighting IN pa_projects_all.job_level_match_weighting%TYPE := FND_API.G_MISS_NUM
2632: -- p_search_min_availability IN pa_projects_all.search_min_availability%TYPE := FND_API.G_MISS_NUM
2633: -- p_search_country_code IN pa_projects_all.search_country_code%TYPE := FND_API.G_MISS_CHAR
2634: -- p_search_country_name IN fnd_territories_vl.territory_short_name%TYPE := FND_API.G_MISS_CHAR
2627: -- p_max_msg_count IN NUMBER Optional Default = FND_API.G_MISS_NUM
2628: -- p_project_id IN NUMBER Required
2629: -- p_comp_match_weighting IN pa_projects_all.competence_match_weighting%TYPE := FND_API.G_MISS_NUM
2630: -- p_avail_match_weighting IN pa_projects_all.availability_match_weighting%TYPE := FND_API.G_MISS_NUM
2631: -- p_job_level_match_weighting IN pa_projects_all.job_level_match_weighting%TYPE := FND_API.G_MISS_NUM
2632: -- p_search_min_availability IN pa_projects_all.search_min_availability%TYPE := FND_API.G_MISS_NUM
2633: -- p_search_country_code IN pa_projects_all.search_country_code%TYPE := FND_API.G_MISS_CHAR
2634: -- p_search_country_name IN fnd_territories_vl.territory_short_name%TYPE := FND_API.G_MISS_CHAR
2635: -- p_search_exp_org_struct_ver_id IN pa_projects_all.search_exp_org_struct_ver_id%TYPE := FND_API.G_MISS_NUM
2628: -- p_project_id IN NUMBER Required
2629: -- p_comp_match_weighting IN pa_projects_all.competence_match_weighting%TYPE := FND_API.G_MISS_NUM
2630: -- p_avail_match_weighting IN pa_projects_all.availability_match_weighting%TYPE := FND_API.G_MISS_NUM
2631: -- p_job_level_match_weighting IN pa_projects_all.job_level_match_weighting%TYPE := FND_API.G_MISS_NUM
2632: -- p_search_min_availability IN pa_projects_all.search_min_availability%TYPE := FND_API.G_MISS_NUM
2633: -- p_search_country_code IN pa_projects_all.search_country_code%TYPE := FND_API.G_MISS_CHAR
2634: -- p_search_country_name IN fnd_territories_vl.territory_short_name%TYPE := FND_API.G_MISS_CHAR
2635: -- p_search_exp_org_struct_ver_id IN pa_projects_all.search_exp_org_struct_ver_id%TYPE := FND_API.G_MISS_NUM
2636: -- p_search_exp_org_hier_name IN per_organization_structures.name%TYPE := FND_API.G_MISS_CHAR
2629: -- p_comp_match_weighting IN pa_projects_all.competence_match_weighting%TYPE := FND_API.G_MISS_NUM
2630: -- p_avail_match_weighting IN pa_projects_all.availability_match_weighting%TYPE := FND_API.G_MISS_NUM
2631: -- p_job_level_match_weighting IN pa_projects_all.job_level_match_weighting%TYPE := FND_API.G_MISS_NUM
2632: -- p_search_min_availability IN pa_projects_all.search_min_availability%TYPE := FND_API.G_MISS_NUM
2633: -- p_search_country_code IN pa_projects_all.search_country_code%TYPE := FND_API.G_MISS_CHAR
2634: -- p_search_country_name IN fnd_territories_vl.territory_short_name%TYPE := FND_API.G_MISS_CHAR
2635: -- p_search_exp_org_struct_ver_id IN pa_projects_all.search_exp_org_struct_ver_id%TYPE := FND_API.G_MISS_NUM
2636: -- p_search_exp_org_hier_name IN per_organization_structures.name%TYPE := FND_API.G_MISS_CHAR
2637: -- p_search_exp_start_org_id IN pa_projects_all.search_exp_start_org_id%TYPE := FND_API.G_MISS_NUM
2631: -- p_job_level_match_weighting IN pa_projects_all.job_level_match_weighting%TYPE := FND_API.G_MISS_NUM
2632: -- p_search_min_availability IN pa_projects_all.search_min_availability%TYPE := FND_API.G_MISS_NUM
2633: -- p_search_country_code IN pa_projects_all.search_country_code%TYPE := FND_API.G_MISS_CHAR
2634: -- p_search_country_name IN fnd_territories_vl.territory_short_name%TYPE := FND_API.G_MISS_CHAR
2635: -- p_search_exp_org_struct_ver_id IN pa_projects_all.search_exp_org_struct_ver_id%TYPE := FND_API.G_MISS_NUM
2636: -- p_search_exp_org_hier_name IN per_organization_structures.name%TYPE := FND_API.G_MISS_CHAR
2637: -- p_search_exp_start_org_id IN pa_projects_all.search_exp_start_org_id%TYPE := FND_API.G_MISS_NUM
2638: -- p_search_exp_start_org_name IN hr_organization_units.name%TYPE := FND_API.G_MISS_CHAR
2639: -- p_search_min_candidate_score IN pa_projects_all.search_min_candidate_score%TYPE := FND_API.G_MISS_NUM
2633: -- p_search_country_code IN pa_projects_all.search_country_code%TYPE := FND_API.G_MISS_CHAR
2634: -- p_search_country_name IN fnd_territories_vl.territory_short_name%TYPE := FND_API.G_MISS_CHAR
2635: -- p_search_exp_org_struct_ver_id IN pa_projects_all.search_exp_org_struct_ver_id%TYPE := FND_API.G_MISS_NUM
2636: -- p_search_exp_org_hier_name IN per_organization_structures.name%TYPE := FND_API.G_MISS_CHAR
2637: -- p_search_exp_start_org_id IN pa_projects_all.search_exp_start_org_id%TYPE := FND_API.G_MISS_NUM
2638: -- p_search_exp_start_org_name IN hr_organization_units.name%TYPE := FND_API.G_MISS_CHAR
2639: -- p_search_min_candidate_score IN pa_projects_all.search_min_candidate_score%TYPE := FND_API.G_MISS_NUM
2640: -- p_enable_auto_cand_nom_flag IN pa_projects_all.enable_auto_cand_nom_flag%TYPE := FND_API.G_MISS_CHAR
2641: -- p_record_version_number IN NUMBER Required
2635: -- p_search_exp_org_struct_ver_id IN pa_projects_all.search_exp_org_struct_ver_id%TYPE := FND_API.G_MISS_NUM
2636: -- p_search_exp_org_hier_name IN per_organization_structures.name%TYPE := FND_API.G_MISS_CHAR
2637: -- p_search_exp_start_org_id IN pa_projects_all.search_exp_start_org_id%TYPE := FND_API.G_MISS_NUM
2638: -- p_search_exp_start_org_name IN hr_organization_units.name%TYPE := FND_API.G_MISS_CHAR
2639: -- p_search_min_candidate_score IN pa_projects_all.search_min_candidate_score%TYPE := FND_API.G_MISS_NUM
2640: -- p_enable_auto_cand_nom_flag IN pa_projects_all.enable_auto_cand_nom_flag%TYPE := FND_API.G_MISS_CHAR
2641: -- p_record_version_number IN NUMBER Required
2642: -- x_return_status OUT VARCHAR2 Required
2643: -- x_msg_count OUT NUMBER Required
2636: -- p_search_exp_org_hier_name IN per_organization_structures.name%TYPE := FND_API.G_MISS_CHAR
2637: -- p_search_exp_start_org_id IN pa_projects_all.search_exp_start_org_id%TYPE := FND_API.G_MISS_NUM
2638: -- p_search_exp_start_org_name IN hr_organization_units.name%TYPE := FND_API.G_MISS_CHAR
2639: -- p_search_min_candidate_score IN pa_projects_all.search_min_candidate_score%TYPE := FND_API.G_MISS_NUM
2640: -- p_enable_auto_cand_nom_flag IN pa_projects_all.enable_auto_cand_nom_flag%TYPE := FND_API.G_MISS_CHAR
2641: -- p_record_version_number IN NUMBER Required
2642: -- x_return_status OUT VARCHAR2 Required
2643: -- x_msg_count OUT NUMBER Required
2644: -- x_msg_data OUT VARCHAR2 Required
2657: p_calling_module IN VARCHAR2 := 'SELF_SERVICE' ,
2658: p_debug_mode IN VARCHAR2 := 'N' ,
2659: p_max_msg_count IN NUMBER := FND_API.G_MISS_NUM ,
2660: p_project_id IN NUMBER ,
2661: p_comp_match_weighting IN pa_projects_all.COMPETENCE_MATCH_WT%TYPE := FND_API.G_MISS_NUM,
2662: p_avail_match_weighting IN pa_projects_all.availability_match_wt%TYPE := FND_API.G_MISS_NUM,
2663: p_job_level_match_weighting IN pa_projects_all.job_level_match_wt%TYPE := FND_API.G_MISS_NUM,
2664: p_search_min_availability IN pa_projects_all.search_min_availability%TYPE := FND_API.G_MISS_NUM,
2665: p_search_country_code IN pa_projects_all.search_country_code%TYPE := FND_API.G_MISS_CHAR,
2658: p_debug_mode IN VARCHAR2 := 'N' ,
2659: p_max_msg_count IN NUMBER := FND_API.G_MISS_NUM ,
2660: p_project_id IN NUMBER ,
2661: p_comp_match_weighting IN pa_projects_all.COMPETENCE_MATCH_WT%TYPE := FND_API.G_MISS_NUM,
2662: p_avail_match_weighting IN pa_projects_all.availability_match_wt%TYPE := FND_API.G_MISS_NUM,
2663: p_job_level_match_weighting IN pa_projects_all.job_level_match_wt%TYPE := FND_API.G_MISS_NUM,
2664: p_search_min_availability IN pa_projects_all.search_min_availability%TYPE := FND_API.G_MISS_NUM,
2665: p_search_country_code IN pa_projects_all.search_country_code%TYPE := FND_API.G_MISS_CHAR,
2666: p_search_country_name IN fnd_territories_vl.territory_short_name%TYPE := FND_API.G_MISS_CHAR,
2659: p_max_msg_count IN NUMBER := FND_API.G_MISS_NUM ,
2660: p_project_id IN NUMBER ,
2661: p_comp_match_weighting IN pa_projects_all.COMPETENCE_MATCH_WT%TYPE := FND_API.G_MISS_NUM,
2662: p_avail_match_weighting IN pa_projects_all.availability_match_wt%TYPE := FND_API.G_MISS_NUM,
2663: p_job_level_match_weighting IN pa_projects_all.job_level_match_wt%TYPE := FND_API.G_MISS_NUM,
2664: p_search_min_availability IN pa_projects_all.search_min_availability%TYPE := FND_API.G_MISS_NUM,
2665: p_search_country_code IN pa_projects_all.search_country_code%TYPE := FND_API.G_MISS_CHAR,
2666: p_search_country_name IN fnd_territories_vl.territory_short_name%TYPE := FND_API.G_MISS_CHAR,
2667: p_search_exp_org_struct_ver_id IN pa_projects_all.search_org_hier_id%TYPE := FND_API.G_MISS_NUM,
2660: p_project_id IN NUMBER ,
2661: p_comp_match_weighting IN pa_projects_all.COMPETENCE_MATCH_WT%TYPE := FND_API.G_MISS_NUM,
2662: p_avail_match_weighting IN pa_projects_all.availability_match_wt%TYPE := FND_API.G_MISS_NUM,
2663: p_job_level_match_weighting IN pa_projects_all.job_level_match_wt%TYPE := FND_API.G_MISS_NUM,
2664: p_search_min_availability IN pa_projects_all.search_min_availability%TYPE := FND_API.G_MISS_NUM,
2665: p_search_country_code IN pa_projects_all.search_country_code%TYPE := FND_API.G_MISS_CHAR,
2666: p_search_country_name IN fnd_territories_vl.territory_short_name%TYPE := FND_API.G_MISS_CHAR,
2667: p_search_exp_org_struct_ver_id IN pa_projects_all.search_org_hier_id%TYPE := FND_API.G_MISS_NUM,
2668: p_search_exp_org_hier_name IN per_organization_structures.name%TYPE := FND_API.G_MISS_CHAR,
2661: p_comp_match_weighting IN pa_projects_all.COMPETENCE_MATCH_WT%TYPE := FND_API.G_MISS_NUM,
2662: p_avail_match_weighting IN pa_projects_all.availability_match_wt%TYPE := FND_API.G_MISS_NUM,
2663: p_job_level_match_weighting IN pa_projects_all.job_level_match_wt%TYPE := FND_API.G_MISS_NUM,
2664: p_search_min_availability IN pa_projects_all.search_min_availability%TYPE := FND_API.G_MISS_NUM,
2665: p_search_country_code IN pa_projects_all.search_country_code%TYPE := FND_API.G_MISS_CHAR,
2666: p_search_country_name IN fnd_territories_vl.territory_short_name%TYPE := FND_API.G_MISS_CHAR,
2667: p_search_exp_org_struct_ver_id IN pa_projects_all.search_org_hier_id%TYPE := FND_API.G_MISS_NUM,
2668: p_search_exp_org_hier_name IN per_organization_structures.name%TYPE := FND_API.G_MISS_CHAR,
2669: p_search_exp_start_org_id IN pa_projects_all.search_starting_org_id%TYPE := FND_API.G_MISS_NUM,
2663: p_job_level_match_weighting IN pa_projects_all.job_level_match_wt%TYPE := FND_API.G_MISS_NUM,
2664: p_search_min_availability IN pa_projects_all.search_min_availability%TYPE := FND_API.G_MISS_NUM,
2665: p_search_country_code IN pa_projects_all.search_country_code%TYPE := FND_API.G_MISS_CHAR,
2666: p_search_country_name IN fnd_territories_vl.territory_short_name%TYPE := FND_API.G_MISS_CHAR,
2667: p_search_exp_org_struct_ver_id IN pa_projects_all.search_org_hier_id%TYPE := FND_API.G_MISS_NUM,
2668: p_search_exp_org_hier_name IN per_organization_structures.name%TYPE := FND_API.G_MISS_CHAR,
2669: p_search_exp_start_org_id IN pa_projects_all.search_starting_org_id%TYPE := FND_API.G_MISS_NUM,
2670: p_search_exp_start_org_name IN hr_organization_units.name%TYPE := FND_API.G_MISS_CHAR,
2671: p_search_min_candidate_score IN pa_projects_all.min_cand_score_reqd_for_nom%TYPE := FND_API.G_MISS_NUM,
2665: p_search_country_code IN pa_projects_all.search_country_code%TYPE := FND_API.G_MISS_CHAR,
2666: p_search_country_name IN fnd_territories_vl.territory_short_name%TYPE := FND_API.G_MISS_CHAR,
2667: p_search_exp_org_struct_ver_id IN pa_projects_all.search_org_hier_id%TYPE := FND_API.G_MISS_NUM,
2668: p_search_exp_org_hier_name IN per_organization_structures.name%TYPE := FND_API.G_MISS_CHAR,
2669: p_search_exp_start_org_id IN pa_projects_all.search_starting_org_id%TYPE := FND_API.G_MISS_NUM,
2670: p_search_exp_start_org_name IN hr_organization_units.name%TYPE := FND_API.G_MISS_CHAR,
2671: p_search_min_candidate_score IN pa_projects_all.min_cand_score_reqd_for_nom%TYPE := FND_API.G_MISS_NUM,
2672: p_enable_auto_cand_nom_flag IN pa_projects_all.enable_automated_search%TYPE := FND_API.G_MISS_CHAR,
2673: p_record_version_number IN NUMBER ,
2667: p_search_exp_org_struct_ver_id IN pa_projects_all.search_org_hier_id%TYPE := FND_API.G_MISS_NUM,
2668: p_search_exp_org_hier_name IN per_organization_structures.name%TYPE := FND_API.G_MISS_CHAR,
2669: p_search_exp_start_org_id IN pa_projects_all.search_starting_org_id%TYPE := FND_API.G_MISS_NUM,
2670: p_search_exp_start_org_name IN hr_organization_units.name%TYPE := FND_API.G_MISS_CHAR,
2671: p_search_min_candidate_score IN pa_projects_all.min_cand_score_reqd_for_nom%TYPE := FND_API.G_MISS_NUM,
2672: p_enable_auto_cand_nom_flag IN pa_projects_all.enable_automated_search%TYPE := FND_API.G_MISS_CHAR,
2673: p_record_version_number IN NUMBER ,
2674: x_return_status OUT NOCOPY VARCHAR2 , --File.Sql.39 bug 4440895
2675: x_msg_count OUT NOCOPY NUMBER , --File.Sql.39 bug 4440895
2668: p_search_exp_org_hier_name IN per_organization_structures.name%TYPE := FND_API.G_MISS_CHAR,
2669: p_search_exp_start_org_id IN pa_projects_all.search_starting_org_id%TYPE := FND_API.G_MISS_NUM,
2670: p_search_exp_start_org_name IN hr_organization_units.name%TYPE := FND_API.G_MISS_CHAR,
2671: p_search_min_candidate_score IN pa_projects_all.min_cand_score_reqd_for_nom%TYPE := FND_API.G_MISS_NUM,
2672: p_enable_auto_cand_nom_flag IN pa_projects_all.enable_automated_search%TYPE := FND_API.G_MISS_CHAR,
2673: p_record_version_number IN NUMBER ,
2674: x_return_status OUT NOCOPY VARCHAR2 , --File.Sql.39 bug 4440895
2675: x_msg_count OUT NOCOPY NUMBER , --File.Sql.39 bug 4440895
2676: x_msg_data OUT NOCOPY VARCHAR2) --File.Sql.39 bug 4440895
2690: l_data VARCHAR2(250);
2691: l_msg_index_out NUMBER;
2692: l_dummy VARCHAR2(1);
2693:
2694: l_search_exp_org_struct_ver_id pa_projects_all.search_org_hier_id%TYPE;
2695: l_search_country_code pa_projects_all.search_country_code%TYPE;
2696: l_search_exp_start_org_id pa_projects_all.search_starting_org_id%TYPE;
2697:
2698: BEGIN
2691: l_msg_index_out NUMBER;
2692: l_dummy VARCHAR2(1);
2693:
2694: l_search_exp_org_struct_ver_id pa_projects_all.search_org_hier_id%TYPE;
2695: l_search_country_code pa_projects_all.search_country_code%TYPE;
2696: l_search_exp_start_org_id pa_projects_all.search_starting_org_id%TYPE;
2697:
2698: BEGIN
2699:
2692: l_dummy VARCHAR2(1);
2693:
2694: l_search_exp_org_struct_ver_id pa_projects_all.search_org_hier_id%TYPE;
2695: l_search_country_code pa_projects_all.search_country_code%TYPE;
2696: l_search_exp_start_org_id pa_projects_all.search_starting_org_id%TYPE;
2697:
2698: BEGIN
2699:
2700: IF p_commit = FND_API.G_TRUE THEN
2700: IF p_commit = FND_API.G_TRUE THEN
2701: SAVEPOINT update_project_staffing_info;
2702: END IF;
2703:
2704: pa_debug.init_err_stack('PA_PROJECTS_MAINT_PUB.update_project_staffing_info');
2705:
2706: if (p_debug_mode = 'Y') then
2707: pa_debug.debug('Update_project_staffing_info PUB : Checking API Compatibility');
2708: end if;
2946: pa_debug.debug('update_project_staffing_info PUB : Calling private API update_project_staffing_info');
2947: end if;
2948:
2949:
2950: PA_PROJECTS_MAINT_PVT.UPDATE_PROJECT_STAFFING_INFO
2951: (
2952: p_commit => FND_API.G_FALSE,
2953: p_validate_only => p_validate_only,
2954: p_validation_level => p_validation_level,
2997: EXCEPTION WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2998: IF p_commit = FND_API.G_TRUE THEN
2999: ROLLBACK TO update_project_staffing_info;
3000: END IF;
3001: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECTS_MAINT_PUB',
3002: p_procedure_name => 'UPDATE_PROJECT_STAFFING_INFO',
3003: p_error_text => SUBSTRB(SQLERRM,1,240));
3004: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3005:
3013: IF p_commit = FND_API.G_TRUE THEN
3014: ROLLBACK TO update_project_staffing_info;
3015: END IF;
3016: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3017: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECTS_MAINT_PUB',
3018: p_procedure_name => 'UPDATE_PROJECT_STAFFING_INFO',
3019: p_error_text => SUBSTRB(SQLERRM,1,240));
3020: raise;
3021:
3117: FROM pa_project_role_types_b /* Bug#2788814-Changed pa_project_role_types_vl to pa_project_role_types_b */
3118: WHERE project_role_id = c_project_role_id;
3119:
3120: BEGIN
3121: pa_debug.init_err_stack('PA_PROJECTS_MAINT_PUB.Create_Org_Role');
3122:
3123: if (p_debug_mode = 'Y') then
3124: pa_debug.debug('PA_PROJECTS_MAINT_PUB.Create_Org_Role BEGIN');
3125: end if;
3120: BEGIN
3121: pa_debug.init_err_stack('PA_PROJECTS_MAINT_PUB.Create_Org_Role');
3122:
3123: if (p_debug_mode = 'Y') then
3124: pa_debug.debug('PA_PROJECTS_MAINT_PUB.Create_Org_Role BEGIN');
3125: end if;
3126:
3127: if p_commit = FND_API.G_TRUE then
3128: savepoint create_org_role;
3309: commit work;
3310: end if;
3311:
3312: if (p_debug_mode = 'Y') then
3313: pa_debug.debug('PA_PROJECTS_MAINT_PUB.Create_Org_Role END');
3314: end if;
3315:
3316: EXCEPTION
3317: when FND_API.G_EXC_ERROR then
3323: if p_commit = FND_API.G_TRUE then
3324: rollback to create_org_role;
3325: end if;
3326: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3327: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECTS_MAINT_PUB',
3328: p_procedure_name => 'Create_Org_Role',
3329: p_error_text => SUBSTRB(SQLERRM,1,240));
3330: when OTHERS then
3331: if p_commit = FND_API.G_TRUE then
3331: if p_commit = FND_API.G_TRUE then
3332: rollback to create_org_role;
3333: end if;
3334: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3335: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_PROJECTS_MAINT_PUB',
3336: p_procedure_name => 'Create_Org_Role',
3337: p_error_text => SUBSTRB(SQLERRM,1,240));
3338: raise;
3339: END CREATE_ORG_ROLE;
3379: ,attribute9
3380: ,attribute10
3381: ,pm_product_code
3382: ,segment1 -- 3671408 added column to retrieve project number value
3383: FROM pa_projects_all
3384: WHERE project_id = p_project_id;
3385:
3386: CURSOR cur_get_project_status_code( c_project_id IN NUMBER ) IS
3387: SELECT project_status_code
3384: WHERE project_id = p_project_id;
3385:
3386: CURSOR cur_get_project_status_code( c_project_id IN NUMBER ) IS
3387: SELECT project_status_code
3388: FROM pa_projects_all
3389: WHERE project_id = c_project_id;
3390:
3391: CURSOR cur_get_system_status(c_status_code IN VARCHAR2) IS
3392: SELECT pps.project_system_status_code
3463: ( p_new_status_code IS NULL OR p_new_status_code = FND_API.G_MISS_CHAR )
3464: )
3465: THEN
3466: IF l_debug_mode = 'Y' THEN
3467: Pa_Debug.g_err_stage:= 'PA_PROJECTS_MAINT_PUB : project_status_change :
3468: p_project_id, p_new_status_code are NULL';
3469: Pa_Debug.WRITE(G_PKG_NAME,Pa_Debug.g_err_stage,
3470: l_debug_level3);
3471: END IF;
3600: --For inserting status change comment into the status history table
3601: PA_OBJ_STATUS_CHANGES_PKG.INSERT_ROW
3602: ( X_ROWID => l_rowid,
3603: X_OBJ_STATUS_CHANGE_ID => l_obj_status_change_id,
3604: X_OBJECT_TYPE => 'PA_PROJECTS',
3605: X_OBJECT_ID => p_project_id,
3606: X_STATUS_TYPE => 'PROJECT',
3607: X_NEW_PROJECT_STATUS_CODE => p_new_status_code,
3608: X_NEW_PROJECT_SYSTEM_STATUS_CO => l_new_sys_status,
3615: X_LAST_UPDATE_DATE => sysdate,
3616: X_LAST_UPDATE_LOGIN => fnd_global.user_id );
3617:
3618: IF (l_debug_mode = 'Y') THEN
3619: pa_debug.debug('Updated PA_PROJECTS_ALL for status history');
3620: END IF;
3621:
3622: /*Stubbed Out Auto Initiate Demand On Project Approval Functionality
3623: Bug 3819086 */
3643:
3644: END;
3645:
3646: SELECT wf_status_code INTO l_wf_status_code
3647: FROM PA_PROJECTS_ALL
3648: WHERE project_id = p_project_id;
3649:
3650: IF (l_debug_mode = 'Y') THEN
3651: Pa_Debug.WRITE(G_PKG_NAME,'l_wf_status_code ='||l_wf_status_code,
3657: -- 4364878 : if new system status corresponds to CLOSED
3658: -- Then Populate the closed date as sysdate
3659:
3660: IF l_new_sys_status = 'CLOSED' THEN
3661: UPDATE pa_projects_all
3662: SET wf_status_code = NULL
3663: ,project_status_code = p_new_status_code
3664: ,closed_date = sysdate
3665: ,last_update_date = sysdate
3667: ,last_update_login = fnd_global.login_id
3668: WHERE project_id = p_project_id;
3669: ELSE
3670:
3671: UPDATE pa_projects_all
3672: SET wf_status_code = NULL
3673: ,project_status_code = p_new_status_code --Added for bug 3818322
3674: /*4364878 : Included update of who columns also*/
3675: ,closed_date = to_date(null) --For any status other than Closed,this field should be NULL
3684:
3685:
3686: ELSIF l_wf_status_code IS NULL THEN -- Made ELSEIF against the existing IF, for BUG# 6661144
3687: IF l_wf_enabled_flag = 'Y' THEN
3688: -- Update wf status in pa_projects_all
3689:
3690: -- 4364878 : if new system status corresponds to CLOSED
3691: -- Then Populate the closed date as sysdate
3692:
3690: -- 4364878 : if new system status corresponds to CLOSED
3691: -- Then Populate the closed date as sysdate
3692:
3693: If l_new_sys_status = 'CLOSED' THEN
3694: UPDATE pa_projects_all
3695: SET wf_status_code = 'IN_ROUTE'
3696: ,project_status_code = p_new_status_code
3697: ,closed_date = sysdate
3698: ,last_update_date = sysdate
3700: ,last_update_login = fnd_global.login_id
3701: WHERE project_id = p_project_id;
3702: ELSE
3703:
3704: UPDATE pa_projects_all
3705: SET wf_status_code = 'IN_ROUTE'
3706: ,project_status_code = p_new_status_code --Added for bug 3818322
3707: /*4364878 : Included update of who columns also*/
3708: ,closed_date = to_date(null) --For any status other than Closed,this field should be NULL
3739: -- 4364878 : if new system status corresponds to CLOSED
3740: -- Then Populate the closed date as sysdate
3741: If l_new_sys_status = 'CLOSED' THEN
3742:
3743: UPDATE pa_projects_all
3744: SET project_status_code = p_new_status_code
3745: ,closed_date = sysdate
3746: ,last_update_date = sysdate
3747: ,last_updated_by = fnd_global.user_id
3749: WHERE project_id = p_project_id ;
3750:
3751: Else
3752:
3753: UPDATE pa_projects_all
3754: SET project_status_code = p_new_status_code
3755: /*4364878 : Included update of who columns also*/
3756: ,closed_date = to_date(null) --For any status other than Closed,this field should be NULL
3757: ,last_update_date = sysdate
3798:
3799: WHEN Invalid_Arg_Exc THEN
3800: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
3801: x_msg_count := 1;
3802: x_msg_data := ' PA_PROJECTS_MAINT_PUB : project_status_change : NULL parameters passed';
3803:
3804: IF p_commit = FND_API.G_TRUE THEN
3805: ROLLBACK TO project_status_change;
3806: END IF;
3805: ROLLBACK TO project_status_change;
3806: END IF;
3807:
3808: Fnd_Msg_Pub.add_exc_msg
3809: ( p_pkg_name => 'PA_PROJECTS_MAINT_PUB'
3810: , p_procedure_name => 'project_status_change'
3811: , p_error_text => x_msg_data);
3812:
3813: IF l_debug_mode = 'Y' THEN
3827: ROLLBACK TO project_status_change;
3828: END IF;
3829:
3830: Fnd_Msg_Pub.add_exc_msg
3831: ( p_pkg_name => 'PA_PROJECTS_MAINT_PUB'
3832: , p_procedure_name => 'project_status_change'
3833: , p_error_text => x_msg_data);
3834:
3835: IF l_debug_mode = 'Y' THEN
3842:
3843: END project_status_change;
3844:
3845:
3846: END PA_PROJECTS_MAINT_PUB;