3: --
4:
5: PROCEDURE Run_Search(
6: p_search_mode IN VARCHAR2
7: , p_assignment_id IN pa_project_assignments.assignment_id%TYPE := FND_API.G_MISS_NUM
8: , p_assignment_number IN pa_project_assignments.assignment_number%TYPE := FND_API.G_MISS_NUM
9: , p_resource_source_id IN NUMBER := FND_API.G_MISS_NUM
10: , p_resource_name IN pa_resources.name%TYPE := FND_API.G_MISS_CHAR
11: , p_project_id IN pa_projects_all.project_id%TYPE := FND_API.G_MISS_NUM
4:
5: PROCEDURE Run_Search(
6: p_search_mode IN VARCHAR2
7: , p_assignment_id IN pa_project_assignments.assignment_id%TYPE := FND_API.G_MISS_NUM
8: , p_assignment_number IN pa_project_assignments.assignment_number%TYPE := FND_API.G_MISS_NUM
9: , p_resource_source_id IN NUMBER := FND_API.G_MISS_NUM
10: , p_resource_name IN pa_resources.name%TYPE := FND_API.G_MISS_CHAR
11: , p_project_id IN pa_projects_all.project_id%TYPE := FND_API.G_MISS_NUM
12: , p_role_id IN pa_project_role_types.project_role_id%TYPE := FND_API.G_MISS_NUM
5: PROCEDURE Run_Search(
6: p_search_mode IN VARCHAR2
7: , p_assignment_id IN pa_project_assignments.assignment_id%TYPE := FND_API.G_MISS_NUM
8: , p_assignment_number IN pa_project_assignments.assignment_number%TYPE := FND_API.G_MISS_NUM
9: , p_resource_source_id IN NUMBER := FND_API.G_MISS_NUM
10: , p_resource_name IN pa_resources.name%TYPE := FND_API.G_MISS_CHAR
11: , p_project_id IN pa_projects_all.project_id%TYPE := FND_API.G_MISS_NUM
12: , p_role_id IN pa_project_role_types.project_role_id%TYPE := FND_API.G_MISS_NUM
13: , p_role_name IN pa_project_role_types.meaning%TYPE := FND_API.G_MISS_CHAR
6: p_search_mode IN VARCHAR2
7: , p_assignment_id IN pa_project_assignments.assignment_id%TYPE := FND_API.G_MISS_NUM
8: , p_assignment_number IN pa_project_assignments.assignment_number%TYPE := FND_API.G_MISS_NUM
9: , p_resource_source_id IN NUMBER := FND_API.G_MISS_NUM
10: , p_resource_name IN pa_resources.name%TYPE := FND_API.G_MISS_CHAR
11: , p_project_id IN pa_projects_all.project_id%TYPE := FND_API.G_MISS_NUM
12: , p_role_id IN pa_project_role_types.project_role_id%TYPE := FND_API.G_MISS_NUM
13: , p_role_name IN pa_project_role_types.meaning%TYPE := FND_API.G_MISS_CHAR
14: , p_min_job_level IN pa_project_assignments.min_resource_job_level%TYPE := FND_API.G_MISS_NUM
7: , p_assignment_id IN pa_project_assignments.assignment_id%TYPE := FND_API.G_MISS_NUM
8: , p_assignment_number IN pa_project_assignments.assignment_number%TYPE := FND_API.G_MISS_NUM
9: , p_resource_source_id IN NUMBER := FND_API.G_MISS_NUM
10: , p_resource_name IN pa_resources.name%TYPE := FND_API.G_MISS_CHAR
11: , p_project_id IN pa_projects_all.project_id%TYPE := FND_API.G_MISS_NUM
12: , p_role_id IN pa_project_role_types.project_role_id%TYPE := FND_API.G_MISS_NUM
13: , p_role_name IN pa_project_role_types.meaning%TYPE := FND_API.G_MISS_CHAR
14: , p_min_job_level IN pa_project_assignments.min_resource_job_level%TYPE := FND_API.G_MISS_NUM
15: , p_max_job_level IN pa_project_assignments.max_resource_job_level%TYPE := FND_API.G_MISS_NUM
8: , p_assignment_number IN pa_project_assignments.assignment_number%TYPE := FND_API.G_MISS_NUM
9: , p_resource_source_id IN NUMBER := FND_API.G_MISS_NUM
10: , p_resource_name IN pa_resources.name%TYPE := FND_API.G_MISS_CHAR
11: , p_project_id IN pa_projects_all.project_id%TYPE := FND_API.G_MISS_NUM
12: , p_role_id IN pa_project_role_types.project_role_id%TYPE := FND_API.G_MISS_NUM
13: , p_role_name IN pa_project_role_types.meaning%TYPE := FND_API.G_MISS_CHAR
14: , p_min_job_level IN pa_project_assignments.min_resource_job_level%TYPE := FND_API.G_MISS_NUM
15: , p_max_job_level IN pa_project_assignments.max_resource_job_level%TYPE := FND_API.G_MISS_NUM
16: , p_org_hierarchy_version_id IN per_org_structure_versions.org_structure_version_id%TYPE := FND_API.G_MISS_NUM
9: , p_resource_source_id IN NUMBER := FND_API.G_MISS_NUM
10: , p_resource_name IN pa_resources.name%TYPE := FND_API.G_MISS_CHAR
11: , p_project_id IN pa_projects_all.project_id%TYPE := FND_API.G_MISS_NUM
12: , p_role_id IN pa_project_role_types.project_role_id%TYPE := FND_API.G_MISS_NUM
13: , p_role_name IN pa_project_role_types.meaning%TYPE := FND_API.G_MISS_CHAR
14: , p_min_job_level IN pa_project_assignments.min_resource_job_level%TYPE := FND_API.G_MISS_NUM
15: , p_max_job_level IN pa_project_assignments.max_resource_job_level%TYPE := FND_API.G_MISS_NUM
16: , p_org_hierarchy_version_id IN per_org_structure_versions.org_structure_version_id%TYPE := FND_API.G_MISS_NUM
17: , p_org_hierarchy_name IN per_organization_structures.name%TYPE := FND_API.G_MISS_CHAR
10: , p_resource_name IN pa_resources.name%TYPE := FND_API.G_MISS_CHAR
11: , p_project_id IN pa_projects_all.project_id%TYPE := FND_API.G_MISS_NUM
12: , p_role_id IN pa_project_role_types.project_role_id%TYPE := FND_API.G_MISS_NUM
13: , p_role_name IN pa_project_role_types.meaning%TYPE := FND_API.G_MISS_CHAR
14: , p_min_job_level IN pa_project_assignments.min_resource_job_level%TYPE := FND_API.G_MISS_NUM
15: , p_max_job_level IN pa_project_assignments.max_resource_job_level%TYPE := FND_API.G_MISS_NUM
16: , p_org_hierarchy_version_id IN per_org_structure_versions.org_structure_version_id%TYPE := FND_API.G_MISS_NUM
17: , p_org_hierarchy_name IN per_organization_structures.name%TYPE := FND_API.G_MISS_CHAR
18: , p_organization_id IN hr_organization_units.organization_id%TYPE := FND_API.G_MISS_NUM
11: , p_project_id IN pa_projects_all.project_id%TYPE := FND_API.G_MISS_NUM
12: , p_role_id IN pa_project_role_types.project_role_id%TYPE := FND_API.G_MISS_NUM
13: , p_role_name IN pa_project_role_types.meaning%TYPE := FND_API.G_MISS_CHAR
14: , p_min_job_level IN pa_project_assignments.min_resource_job_level%TYPE := FND_API.G_MISS_NUM
15: , p_max_job_level IN pa_project_assignments.max_resource_job_level%TYPE := FND_API.G_MISS_NUM
16: , p_org_hierarchy_version_id IN per_org_structure_versions.org_structure_version_id%TYPE := FND_API.G_MISS_NUM
17: , p_org_hierarchy_name IN per_organization_structures.name%TYPE := FND_API.G_MISS_CHAR
18: , p_organization_id IN hr_organization_units.organization_id%TYPE := FND_API.G_MISS_NUM
19: , p_organization_name IN hr_organization_units.name%TYPE := FND_API.G_MISS_CHAR
12: , p_role_id IN pa_project_role_types.project_role_id%TYPE := FND_API.G_MISS_NUM
13: , p_role_name IN pa_project_role_types.meaning%TYPE := FND_API.G_MISS_CHAR
14: , p_min_job_level IN pa_project_assignments.min_resource_job_level%TYPE := FND_API.G_MISS_NUM
15: , p_max_job_level IN pa_project_assignments.max_resource_job_level%TYPE := FND_API.G_MISS_NUM
16: , p_org_hierarchy_version_id IN per_org_structure_versions.org_structure_version_id%TYPE := FND_API.G_MISS_NUM
17: , p_org_hierarchy_name IN per_organization_structures.name%TYPE := FND_API.G_MISS_CHAR
18: , p_organization_id IN hr_organization_units.organization_id%TYPE := FND_API.G_MISS_NUM
19: , p_organization_name IN hr_organization_units.name%TYPE := FND_API.G_MISS_CHAR
20: , p_employees_only IN VARCHAR2 := FND_API.G_MISS_CHAR
13: , p_role_name IN pa_project_role_types.meaning%TYPE := FND_API.G_MISS_CHAR
14: , p_min_job_level IN pa_project_assignments.min_resource_job_level%TYPE := FND_API.G_MISS_NUM
15: , p_max_job_level IN pa_project_assignments.max_resource_job_level%TYPE := FND_API.G_MISS_NUM
16: , p_org_hierarchy_version_id IN per_org_structure_versions.org_structure_version_id%TYPE := FND_API.G_MISS_NUM
17: , p_org_hierarchy_name IN per_organization_structures.name%TYPE := FND_API.G_MISS_CHAR
18: , p_organization_id IN hr_organization_units.organization_id%TYPE := FND_API.G_MISS_NUM
19: , p_organization_name IN hr_organization_units.name%TYPE := FND_API.G_MISS_CHAR
20: , p_employees_only IN VARCHAR2 := FND_API.G_MISS_CHAR
21: , p_territory_code IN fnd_territories_vl.territory_code%TYPE := FND_API.G_MISS_CHAR
14: , p_min_job_level IN pa_project_assignments.min_resource_job_level%TYPE := FND_API.G_MISS_NUM
15: , p_max_job_level IN pa_project_assignments.max_resource_job_level%TYPE := FND_API.G_MISS_NUM
16: , p_org_hierarchy_version_id IN per_org_structure_versions.org_structure_version_id%TYPE := FND_API.G_MISS_NUM
17: , p_org_hierarchy_name IN per_organization_structures.name%TYPE := FND_API.G_MISS_CHAR
18: , p_organization_id IN hr_organization_units.organization_id%TYPE := FND_API.G_MISS_NUM
19: , p_organization_name IN hr_organization_units.name%TYPE := FND_API.G_MISS_CHAR
20: , p_employees_only IN VARCHAR2 := FND_API.G_MISS_CHAR
21: , p_territory_code IN fnd_territories_vl.territory_code%TYPE := FND_API.G_MISS_CHAR
22: , p_territory_short_name IN fnd_territories_vl.territory_short_name%TYPE := FND_API.G_MISS_CHAR
15: , p_max_job_level IN pa_project_assignments.max_resource_job_level%TYPE := FND_API.G_MISS_NUM
16: , p_org_hierarchy_version_id IN per_org_structure_versions.org_structure_version_id%TYPE := FND_API.G_MISS_NUM
17: , p_org_hierarchy_name IN per_organization_structures.name%TYPE := FND_API.G_MISS_CHAR
18: , p_organization_id IN hr_organization_units.organization_id%TYPE := FND_API.G_MISS_NUM
19: , p_organization_name IN hr_organization_units.name%TYPE := FND_API.G_MISS_CHAR
20: , p_employees_only IN VARCHAR2 := FND_API.G_MISS_CHAR
21: , p_territory_code IN fnd_territories_vl.territory_code%TYPE := FND_API.G_MISS_CHAR
22: , p_territory_short_name IN fnd_territories_vl.territory_short_name%TYPE := FND_API.G_MISS_CHAR
23: , p_start_date IN DATE := FND_API.G_MISS_DATE
16: , p_org_hierarchy_version_id IN per_org_structure_versions.org_structure_version_id%TYPE := FND_API.G_MISS_NUM
17: , p_org_hierarchy_name IN per_organization_structures.name%TYPE := FND_API.G_MISS_CHAR
18: , p_organization_id IN hr_organization_units.organization_id%TYPE := FND_API.G_MISS_NUM
19: , p_organization_name IN hr_organization_units.name%TYPE := FND_API.G_MISS_CHAR
20: , p_employees_only IN VARCHAR2 := FND_API.G_MISS_CHAR
21: , p_territory_code IN fnd_territories_vl.territory_code%TYPE := FND_API.G_MISS_CHAR
22: , p_territory_short_name IN fnd_territories_vl.territory_short_name%TYPE := FND_API.G_MISS_CHAR
23: , p_start_date IN DATE := FND_API.G_MISS_DATE
24: , p_end_date IN DATE := FND_API.G_MISS_DATE
17: , p_org_hierarchy_name IN per_organization_structures.name%TYPE := FND_API.G_MISS_CHAR
18: , p_organization_id IN hr_organization_units.organization_id%TYPE := FND_API.G_MISS_NUM
19: , p_organization_name IN hr_organization_units.name%TYPE := FND_API.G_MISS_CHAR
20: , p_employees_only IN VARCHAR2 := FND_API.G_MISS_CHAR
21: , p_territory_code IN fnd_territories_vl.territory_code%TYPE := FND_API.G_MISS_CHAR
22: , p_territory_short_name IN fnd_territories_vl.territory_short_name%TYPE := FND_API.G_MISS_CHAR
23: , p_start_date IN DATE := FND_API.G_MISS_DATE
24: , p_end_date IN DATE := FND_API.G_MISS_DATE
25: , p_competence_id IN system.pa_num_tbl_type := NULL
18: , p_organization_id IN hr_organization_units.organization_id%TYPE := FND_API.G_MISS_NUM
19: , p_organization_name IN hr_organization_units.name%TYPE := FND_API.G_MISS_CHAR
20: , p_employees_only IN VARCHAR2 := FND_API.G_MISS_CHAR
21: , p_territory_code IN fnd_territories_vl.territory_code%TYPE := FND_API.G_MISS_CHAR
22: , p_territory_short_name IN fnd_territories_vl.territory_short_name%TYPE := FND_API.G_MISS_CHAR
23: , p_start_date IN DATE := FND_API.G_MISS_DATE
24: , p_end_date IN DATE := FND_API.G_MISS_DATE
25: , p_competence_id IN system.pa_num_tbl_type := NULL
26: , p_competence_alias IN system.pa_varchar2_30_tbl_type := NULL
19: , p_organization_name IN hr_organization_units.name%TYPE := FND_API.G_MISS_CHAR
20: , p_employees_only IN VARCHAR2 := FND_API.G_MISS_CHAR
21: , p_territory_code IN fnd_territories_vl.territory_code%TYPE := FND_API.G_MISS_CHAR
22: , p_territory_short_name IN fnd_territories_vl.territory_short_name%TYPE := FND_API.G_MISS_CHAR
23: , p_start_date IN DATE := FND_API.G_MISS_DATE
24: , p_end_date IN DATE := FND_API.G_MISS_DATE
25: , p_competence_id IN system.pa_num_tbl_type := NULL
26: , p_competence_alias IN system.pa_varchar2_30_tbl_type := NULL
27: , p_competence_name IN system.pa_varchar2_240_tbl_type := NULL
20: , p_employees_only IN VARCHAR2 := FND_API.G_MISS_CHAR
21: , p_territory_code IN fnd_territories_vl.territory_code%TYPE := FND_API.G_MISS_CHAR
22: , p_territory_short_name IN fnd_territories_vl.territory_short_name%TYPE := FND_API.G_MISS_CHAR
23: , p_start_date IN DATE := FND_API.G_MISS_DATE
24: , p_end_date IN DATE := FND_API.G_MISS_DATE
25: , p_competence_id IN system.pa_num_tbl_type := NULL
26: , p_competence_alias IN system.pa_varchar2_30_tbl_type := NULL
27: , p_competence_name IN system.pa_varchar2_240_tbl_type := NULL
28: , p_rating IN system.pa_num_tbl_type := NULL
27: , p_competence_name IN system.pa_varchar2_240_tbl_type := NULL
28: , p_rating IN system.pa_num_tbl_type := NULL
29: , p_mandatory IN system.pa_varchar2_1_tbl_type := NULL
30: , p_provisional_availability IN VARCHAR
31: , p_region IN VARCHAR := FND_API.G_MISS_CHAR
32: , p_city IN VARCHAR := FND_API.G_MISS_CHAR
33: --, p_competences IN pa_search_glob.Competence_Criteria_Tbl_Type
34: , p_work_current_loc IN VARCHAR
35: , p_work_all_loc IN VARCHAR
28: , p_rating IN system.pa_num_tbl_type := NULL
29: , p_mandatory IN system.pa_varchar2_1_tbl_type := NULL
30: , p_provisional_availability IN VARCHAR
31: , p_region IN VARCHAR := FND_API.G_MISS_CHAR
32: , p_city IN VARCHAR := FND_API.G_MISS_CHAR
33: --, p_competences IN pa_search_glob.Competence_Criteria_Tbl_Type
34: , p_work_current_loc IN VARCHAR
35: , p_work_all_loc IN VARCHAR
36: , p_travel_domestically IN VARCHAR
35: , p_work_all_loc IN VARCHAR
36: , p_travel_domestically IN VARCHAR
37: , p_travel_internationally IN VARCHAR
38: -- , p_ad_hoc_search IN VARCHAR := 'N'
39: , p_minimum_availability IN NUMBER := FND_API.G_MISS_NUM
40: , p_restrict_res_comp IN VARCHAR := FND_API.G_MISS_CHAR
41: , p_exclude_candidates IN VARCHAR := FND_API.G_MISS_CHAR
42: , p_staffing_priority_code IN VARCHAR := FND_API.G_MISS_CHAR
43: , p_staffing_priority_name IN VARCHAR := FND_API.G_MISS_CHAR
36: , p_travel_domestically IN VARCHAR
37: , p_travel_internationally IN VARCHAR
38: -- , p_ad_hoc_search IN VARCHAR := 'N'
39: , p_minimum_availability IN NUMBER := FND_API.G_MISS_NUM
40: , p_restrict_res_comp IN VARCHAR := FND_API.G_MISS_CHAR
41: , p_exclude_candidates IN VARCHAR := FND_API.G_MISS_CHAR
42: , p_staffing_priority_code IN VARCHAR := FND_API.G_MISS_CHAR
43: , p_staffing_priority_name IN VARCHAR := FND_API.G_MISS_CHAR
44: , p_staffing_owner_person_id IN NUMBER := FND_API.G_MISS_NUM
37: , p_travel_internationally IN VARCHAR
38: -- , p_ad_hoc_search IN VARCHAR := 'N'
39: , p_minimum_availability IN NUMBER := FND_API.G_MISS_NUM
40: , p_restrict_res_comp IN VARCHAR := FND_API.G_MISS_CHAR
41: , p_exclude_candidates IN VARCHAR := FND_API.G_MISS_CHAR
42: , p_staffing_priority_code IN VARCHAR := FND_API.G_MISS_CHAR
43: , p_staffing_priority_name IN VARCHAR := FND_API.G_MISS_CHAR
44: , p_staffing_owner_person_id IN NUMBER := FND_API.G_MISS_NUM
45: , p_staffing_owner_name IN VARCHAR := FND_API.G_MISS_CHAR
38: -- , p_ad_hoc_search IN VARCHAR := 'N'
39: , p_minimum_availability IN NUMBER := FND_API.G_MISS_NUM
40: , p_restrict_res_comp IN VARCHAR := FND_API.G_MISS_CHAR
41: , p_exclude_candidates IN VARCHAR := FND_API.G_MISS_CHAR
42: , p_staffing_priority_code IN VARCHAR := FND_API.G_MISS_CHAR
43: , p_staffing_priority_name IN VARCHAR := FND_API.G_MISS_CHAR
44: , p_staffing_owner_person_id IN NUMBER := FND_API.G_MISS_NUM
45: , p_staffing_owner_name IN VARCHAR := FND_API.G_MISS_CHAR
46: , p_comp_match_weighting IN NUMBER := FND_API.G_MISS_NUM
39: , p_minimum_availability IN NUMBER := FND_API.G_MISS_NUM
40: , p_restrict_res_comp IN VARCHAR := FND_API.G_MISS_CHAR
41: , p_exclude_candidates IN VARCHAR := FND_API.G_MISS_CHAR
42: , p_staffing_priority_code IN VARCHAR := FND_API.G_MISS_CHAR
43: , p_staffing_priority_name IN VARCHAR := FND_API.G_MISS_CHAR
44: , p_staffing_owner_person_id IN NUMBER := FND_API.G_MISS_NUM
45: , p_staffing_owner_name IN VARCHAR := FND_API.G_MISS_CHAR
46: , p_comp_match_weighting IN NUMBER := FND_API.G_MISS_NUM
47: , p_avail_match_weighting IN NUMBER := FND_API.G_MISS_NUM
40: , p_restrict_res_comp IN VARCHAR := FND_API.G_MISS_CHAR
41: , p_exclude_candidates IN VARCHAR := FND_API.G_MISS_CHAR
42: , p_staffing_priority_code IN VARCHAR := FND_API.G_MISS_CHAR
43: , p_staffing_priority_name IN VARCHAR := FND_API.G_MISS_CHAR
44: , p_staffing_owner_person_id IN NUMBER := FND_API.G_MISS_NUM
45: , p_staffing_owner_name IN VARCHAR := FND_API.G_MISS_CHAR
46: , p_comp_match_weighting IN NUMBER := FND_API.G_MISS_NUM
47: , p_avail_match_weighting IN NUMBER := FND_API.G_MISS_NUM
48: , p_job_level_match_weighting IN NUMBER := FND_API.G_MISS_NUM
41: , p_exclude_candidates IN VARCHAR := FND_API.G_MISS_CHAR
42: , p_staffing_priority_code IN VARCHAR := FND_API.G_MISS_CHAR
43: , p_staffing_priority_name IN VARCHAR := FND_API.G_MISS_CHAR
44: , p_staffing_owner_person_id IN NUMBER := FND_API.G_MISS_NUM
45: , p_staffing_owner_name IN VARCHAR := FND_API.G_MISS_CHAR
46: , p_comp_match_weighting IN NUMBER := FND_API.G_MISS_NUM
47: , p_avail_match_weighting IN NUMBER := FND_API.G_MISS_NUM
48: , p_job_level_match_weighting IN NUMBER := FND_API.G_MISS_NUM
49: , p_get_search_criteria IN VARCHAR2 := FND_API.G_FALSE
42: , p_staffing_priority_code IN VARCHAR := FND_API.G_MISS_CHAR
43: , p_staffing_priority_name IN VARCHAR := FND_API.G_MISS_CHAR
44: , p_staffing_owner_person_id IN NUMBER := FND_API.G_MISS_NUM
45: , p_staffing_owner_name IN VARCHAR := FND_API.G_MISS_CHAR
46: , p_comp_match_weighting IN NUMBER := FND_API.G_MISS_NUM
47: , p_avail_match_weighting IN NUMBER := FND_API.G_MISS_NUM
48: , p_job_level_match_weighting IN NUMBER := FND_API.G_MISS_NUM
49: , p_get_search_criteria IN VARCHAR2 := FND_API.G_FALSE
50: , p_validate_only IN VARCHAR2 := FND_API.G_FALSE
43: , p_staffing_priority_name IN VARCHAR := FND_API.G_MISS_CHAR
44: , p_staffing_owner_person_id IN NUMBER := FND_API.G_MISS_NUM
45: , p_staffing_owner_name IN VARCHAR := FND_API.G_MISS_CHAR
46: , p_comp_match_weighting IN NUMBER := FND_API.G_MISS_NUM
47: , p_avail_match_weighting IN NUMBER := FND_API.G_MISS_NUM
48: , p_job_level_match_weighting IN NUMBER := FND_API.G_MISS_NUM
49: , p_get_search_criteria IN VARCHAR2 := FND_API.G_FALSE
50: , p_validate_only IN VARCHAR2 := FND_API.G_FALSE
51: , p_api_version IN NUMBER := 1.0
44: , p_staffing_owner_person_id IN NUMBER := FND_API.G_MISS_NUM
45: , p_staffing_owner_name IN VARCHAR := FND_API.G_MISS_CHAR
46: , p_comp_match_weighting IN NUMBER := FND_API.G_MISS_NUM
47: , p_avail_match_weighting IN NUMBER := FND_API.G_MISS_NUM
48: , p_job_level_match_weighting IN NUMBER := FND_API.G_MISS_NUM
49: , p_get_search_criteria IN VARCHAR2 := FND_API.G_FALSE
50: , p_validate_only IN VARCHAR2 := FND_API.G_FALSE
51: , p_api_version IN NUMBER := 1.0
52: , p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
45: , p_staffing_owner_name IN VARCHAR := FND_API.G_MISS_CHAR
46: , p_comp_match_weighting IN NUMBER := FND_API.G_MISS_NUM
47: , p_avail_match_weighting IN NUMBER := FND_API.G_MISS_NUM
48: , p_job_level_match_weighting IN NUMBER := FND_API.G_MISS_NUM
49: , p_get_search_criteria IN VARCHAR2 := FND_API.G_FALSE
50: , p_validate_only IN VARCHAR2 := FND_API.G_FALSE
51: , p_api_version IN NUMBER := 1.0
52: , p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
53: , p_commit IN VARCHAR2 := FND_API.G_FALSE
46: , p_comp_match_weighting IN NUMBER := FND_API.G_MISS_NUM
47: , p_avail_match_weighting IN NUMBER := FND_API.G_MISS_NUM
48: , p_job_level_match_weighting IN NUMBER := FND_API.G_MISS_NUM
49: , p_get_search_criteria IN VARCHAR2 := FND_API.G_FALSE
50: , p_validate_only IN VARCHAR2 := FND_API.G_FALSE
51: , p_api_version IN NUMBER := 1.0
52: , p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
53: , p_commit IN VARCHAR2 := FND_API.G_FALSE
54: , p_max_msg_count IN NUMBER := FND_API.G_MISS_NUM
48: , p_job_level_match_weighting IN NUMBER := FND_API.G_MISS_NUM
49: , p_get_search_criteria IN VARCHAR2 := FND_API.G_FALSE
50: , p_validate_only IN VARCHAR2 := FND_API.G_FALSE
51: , p_api_version IN NUMBER := 1.0
52: , p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
53: , p_commit IN VARCHAR2 := FND_API.G_FALSE
54: , p_max_msg_count IN NUMBER := FND_API.G_MISS_NUM
55: , p_person_type IN VARCHAR2 := FND_API.G_MISS_CHAR
56: , x_return_status OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
49: , p_get_search_criteria IN VARCHAR2 := FND_API.G_FALSE
50: , p_validate_only IN VARCHAR2 := FND_API.G_FALSE
51: , p_api_version IN NUMBER := 1.0
52: , p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
53: , p_commit IN VARCHAR2 := FND_API.G_FALSE
54: , p_max_msg_count IN NUMBER := FND_API.G_MISS_NUM
55: , p_person_type IN VARCHAR2 := FND_API.G_MISS_CHAR
56: , x_return_status OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
57: , x_msg_count OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
50: , p_validate_only IN VARCHAR2 := FND_API.G_FALSE
51: , p_api_version IN NUMBER := 1.0
52: , p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
53: , p_commit IN VARCHAR2 := FND_API.G_FALSE
54: , p_max_msg_count IN NUMBER := FND_API.G_MISS_NUM
55: , p_person_type IN VARCHAR2 := FND_API.G_MISS_CHAR
56: , x_return_status OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
57: , x_msg_count OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
58: , x_msg_data OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
51: , p_api_version IN NUMBER := 1.0
52: , p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
53: , p_commit IN VARCHAR2 := FND_API.G_FALSE
54: , p_max_msg_count IN NUMBER := FND_API.G_MISS_NUM
55: , p_person_type IN VARCHAR2 := FND_API.G_MISS_CHAR
56: , x_return_status OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
57: , x_msg_count OUT NOCOPY NUMBER --File.Sql.39 bug 4440895
58: , x_msg_data OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
59: ) IS
109: x_Log_Level => 6);
110: End if;
111:
112: -- Initialize the return status.
113: x_return_status := FND_API.G_RET_STS_SUCCESS;
114:
115: -- Initialise the error stack
116: PA_DEBUG.init_err_stack('PA_SEARCH_PUB.Run_Search');
117:
115: -- Initialise the error stack
116: PA_DEBUG.init_err_stack('PA_SEARCH_PUB.Run_Search');
117:
118: -- Issue API savepoint if the transaction is to be committed
119: IF (p_commit = FND_API.G_TRUE) THEN
120: SAVEPOINT SEARCH_PUB_RUN_OA_SEARCH;
121: END IF;
122:
123: -- Initialise message stack if required
120: SAVEPOINT SEARCH_PUB_RUN_OA_SEARCH;
121: END IF;
122:
123: -- Initialise message stack if required
124: IF FND_API.TO_BOOLEAN (p_init_msg_list) THEN
125: FND_MSG_PUB.initialize;
126: END IF;
127:
128: -- assign the assignment id to the g_search_criteria global pl/sql record
126: END IF;
127:
128: -- assign the assignment id to the g_search_criteria global pl/sql record
129: -- if the assignment id is passed to the API.
130: IF p_assignment_id <> FND_API.G_MISS_NUM AND p_assignment_id IS NOT NULL THEN
131:
132: PA_SEARCH_GLOB.g_search_criteria.assignment_id := p_assignment_id;
133:
134: END IF;
134: END IF;
135:
136: -- assign the project id to the g_search_criteria global pl/sql record
137: -- if the project id is passed to the API.
138: IF p_project_id <> FND_API.G_MISS_NUM AND p_project_id IS NOT NULL THEN
139:
140: PA_SEARCH_GLOB.g_search_criteria.project_id := p_project_id;
141:
142: END IF;
151: -- if this is a Requirement Search
152: -- or if this is a Resource search and p_get_search_criteria is false then
153: -- validate the search criteria and assign to globals.
154: IF (p_search_mode = 'REQUIREMENT') OR (p_search_mode = 'ADHOC') OR
155: (p_search_mode = 'RESOURCE' AND p_get_search_criteria = FND_API.G_FALSE)
156: THEN
157:
158: -- validate the assignment number if it is passed to the API.
159: IF p_assignment_number <> FND_API.G_MISS_NUM AND
155: (p_search_mode = 'RESOURCE' AND p_get_search_criteria = FND_API.G_FALSE)
156: THEN
157:
158: -- validate the assignment number if it is passed to the API.
159: IF p_assignment_number <> FND_API.G_MISS_NUM AND
160: p_assignment_number IS NOT NULL THEN
161:
162: PA_ASSIGNMENT_UTILS.Check_Assignment_Number_Or_Id(
163: p_assignment_number => p_assignment_number,
168: x_error_message_code => l_error_message_code);
169:
170: -- if the assignment number is not valid then
171: -- add a message to the error stack.
172: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
173: PA_UTILS.Add_Message ('PA', l_error_message_code);
174: END IF;
175:
176: END IF;
176: END IF;
177:
178: -- assign the p_employees_only parameter, indicating if the search is for
179: -- employees only, to the g_search_criteria global record.
180: IF p_employees_only <> FND_API.G_MISS_CHAR THEN
181:
182: PA_SEARCH_GLOB.g_search_criteria.employees_only := p_employees_only;
183:
184: END IF;
187: -- global record. This parameter is used in the Requirement Search
188: -- to indicate if the a requirement should not be returned if the resource
189: -- does not have one of the requirement's mandatory competences.
190: --
191: IF p_restrict_res_comp <> FND_API.G_MISS_CHAR THEN
192:
193: PA_SEARCH_GLOB.g_search_criteria.restrict_res_comp :=
194: p_restrict_res_comp;
195:
199: -- global record. This parameter is used in the Requirement Search
200: -- to indicate if a requirement should not be returned if the resource
201: -- is already a candidate for that requirement.
202: --
203: IF p_exclude_candidates <> FND_API.G_MISS_CHAR THEN
204:
205: PA_SEARCH_GLOB.g_search_criteria.exclude_candidates :=
206: p_exclude_candidates;
207:
215: l_org_structure_type := 'PROJECTS';
216: END IF;
217:
218: -- Validate the org hierarchy and assign the id to the global record.
219: IF (p_org_hierarchy_version_id <> FND_API.G_MISS_NUM AND
220: p_org_hierarchy_version_id IS NOT NULL) OR
221: (p_org_hierarchy_name <> FND_API.G_MISS_CHAR AND
222: p_org_hierarchy_name IS NOT NULL )
223: THEN
217:
218: -- Validate the org hierarchy and assign the id to the global record.
219: IF (p_org_hierarchy_version_id <> FND_API.G_MISS_NUM AND
220: p_org_hierarchy_version_id IS NOT NULL) OR
221: (p_org_hierarchy_name <> FND_API.G_MISS_CHAR AND
222: p_org_hierarchy_name IS NOT NULL )
223: THEN
224:
225: PA_HR_ORG_UTILS.Check_OrgHierName_Or_Id(
229: x_org_hierarchy_version_id => PA_SEARCH_GLOB.g_search_criteria.org_hierarchy_version_id,
230: x_return_status => l_return_status,
231: x_error_msg_code => l_error_msg_data);
232:
233: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
234: PA_UTILS.Add_Message ('PA', l_error_msg_data);
235: ELSE
236:
237: -- check if the org hierarchy is of the correct type
243: p_org_structure_type => l_org_structure_type,
244: x_return_status => l_return_status,
245: x_error_message_code => l_error_msg_data);
246:
247: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
248: PA_UTILS.Add_Message ('PA', l_error_msg_data);
249: END IF;
250: END IF;
251:
251:
252: END IF;
253:
254: -- validate the organization and assign the id to the global record.
255: IF (p_organization_id <> FND_API.G_MISS_NUM AND
256: p_organization_id IS NOT NULL) OR
257: (p_organization_name <> FND_API.G_MISS_CHAR AND
258: p_organization_name IS NOT NULL)
259: THEN
253:
254: -- validate the organization and assign the id to the global record.
255: IF (p_organization_id <> FND_API.G_MISS_NUM AND
256: p_organization_id IS NOT NULL) OR
257: (p_organization_name <> FND_API.G_MISS_CHAR AND
258: p_organization_name IS NOT NULL)
259: THEN
260: PA_HR_ORG_UTILS.Check_OrgName_Or_Id(
261: p_organization_id => p_organization_id,
265: PA_SEARCH_GLOB.g_search_criteria.organization_id,
266: x_return_status => l_return_status,
267: x_error_msg_code => l_error_msg_data);
268:
269: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
270: PA_UTILS.Add_Message ('PA', l_error_msg_data);
271: ELSE
272: -- check if the starting org is of the correct type
273: -- i.e. EXPENDITURES for resource search
278: p_org_structure_type => l_org_structure_type,
279: x_return_status => l_return_status,
280: x_error_message_code => l_error_msg_data);
281:
282: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
283: PA_UTILS.Add_Message ('PA', l_error_msg_data);
284: END IF;
285: END IF;
286:
286:
287: END IF;
288:
289: -- check if the organization is in the organization hierarchy
290: IF (p_organization_id <> FND_API.G_MISS_NUM AND
291: p_organization_id IS NOT NULL) OR
292: (p_organization_name <> FND_API.G_MISS_CHAR AND
293: p_organization_name IS NOT NULL)
294: THEN
288:
289: -- check if the organization is in the organization hierarchy
290: IF (p_organization_id <> FND_API.G_MISS_NUM AND
291: p_organization_id IS NOT NULL) OR
292: (p_organization_name <> FND_API.G_MISS_CHAR AND
293: p_organization_name IS NOT NULL)
294: THEN
295:
296: IF PA_SEARCH_GLOB.g_search_criteria.organization_id IS NOT NULL AND
305: p_org_structure_type => l_org_structure_type,
306: x_return_status => l_return_status,
307: x_error_message_code => l_error_msg_data);
308:
309: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
310: PA_UTILS.Add_Message ('PA', l_error_msg_data);
311: END IF;
312: END IF;
313: END IF;
312: END IF;
313: END IF;
314:
315: -- validate the staffing priority code and assign it to global record
316: IF (p_staffing_priority_code <> FND_API.G_MISS_CHAR AND
317: p_staffing_priority_code IS NOT NULL) OR
318: (p_staffing_priority_name IS NOT NULL AND
319: p_staffing_priority_name <> FND_API.G_MISS_CHAR)
320: THEN
315: -- validate the staffing priority code and assign it to global record
316: IF (p_staffing_priority_code <> FND_API.G_MISS_CHAR AND
317: p_staffing_priority_code IS NOT NULL) OR
318: (p_staffing_priority_name IS NOT NULL AND
319: p_staffing_priority_name <> FND_API.G_MISS_CHAR)
320: THEN
321: PA_ASSIGNMENT_UTILS.Check_STF_PriorityName_Or_Code(
322: p_staffing_priority_code => p_staffing_priority_code,
323: p_staffing_priority_name => p_staffing_priority_name,
326: PA_SEARCH_GLOB.g_search_criteria.staffing_priority_code,
327: x_return_status => l_return_status,
328: x_error_message_code => l_error_msg_data);
329:
330: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
331: PA_UTILS.Add_Message ('PA', l_error_msg_data);
332: END IF;
333: END IF;
334:
332: END IF;
333: END IF;
334:
335: -- validate the staffing owner and assign it to global record
336: IF (p_staffing_owner_person_id <> FND_API.G_MISS_NUM AND
337: p_staffing_owner_person_id IS NOT NULL) OR
338: (p_staffing_owner_name IS NOT NULL AND
339: p_staffing_owner_name <> FND_API.G_MISS_CHAR)
340: THEN
335: -- validate the staffing owner and assign it to global record
336: IF (p_staffing_owner_person_id <> FND_API.G_MISS_NUM AND
337: p_staffing_owner_person_id IS NOT NULL) OR
338: (p_staffing_owner_name IS NOT NULL AND
339: p_staffing_owner_name <> FND_API.G_MISS_CHAR)
340: THEN
341:
342: PA_RESOURCE_UTILS.Check_ResourceName_Or_Id (
343: p_resource_id => p_staffing_owner_person_id
348: ,x_resource_type_id => l_resource_type_id
349: ,x_return_status => l_return_status
350: ,x_error_message_code => l_error_message_code);
351:
352: IF l_return_status <> FND_API.G_RET_STS_SUCCESS OR l_resource_type_id <> 101 THEN
353: PA_UTILS.Add_Message ('PA', 'PA_INV_STAFF_OWNER');
354: END IF;
355:
356: END IF;
357:
358: -- validate the territory code and assign the territory code
359: -- to the global record.
360: --
361: IF (p_territory_code <> FND_API.G_MISS_CHAR AND
362: p_territory_code IS NOT NULL) OR
363: (p_territory_short_name <> FND_API.G_MISS_CHAR AND
364: p_territory_short_name IS NOT NULL)
365: THEN
359: -- to the global record.
360: --
361: IF (p_territory_code <> FND_API.G_MISS_CHAR AND
362: p_territory_code IS NOT NULL) OR
363: (p_territory_short_name <> FND_API.G_MISS_CHAR AND
364: p_territory_short_name IS NOT NULL)
365: THEN
366: PA_LOCATION_UTILS.Check_Country_Name_Or_Code(
367: p_country_code => p_territory_code,
370: x_country_code => PA_SEARCH_GLOB.g_search_criteria.territory_code,
371: x_return_status => l_return_status,
372: x_error_message_code => l_error_msg_data);
373:
374: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
375: PA_UTILS.Add_Message ('PA', l_error_msg_data);
376: END IF;
377: END IF;
378:
392: p_travel_internationally;
393:
394: -- validate match weightings and assign them to global record
395:
396: IF (p_comp_match_weighting <> FND_API.G_MISS_NUM AND
397: p_comp_match_weighting IS NOT NULL) OR
398: (p_avail_match_weighting <> FND_API.G_MISS_NUM AND
399: p_avail_match_weighting IS NOT NULL) OR
400: (p_job_level_match_weighting <> FND_API.G_MISS_NUM AND
394: -- validate match weightings and assign them to global record
395:
396: IF (p_comp_match_weighting <> FND_API.G_MISS_NUM AND
397: p_comp_match_weighting IS NOT NULL) OR
398: (p_avail_match_weighting <> FND_API.G_MISS_NUM AND
399: p_avail_match_weighting IS NOT NULL) OR
400: (p_job_level_match_weighting <> FND_API.G_MISS_NUM AND
401: p_job_level_match_weighting IS NOT NULL)
402: THEN
396: IF (p_comp_match_weighting <> FND_API.G_MISS_NUM AND
397: p_comp_match_weighting IS NOT NULL) OR
398: (p_avail_match_weighting <> FND_API.G_MISS_NUM AND
399: p_avail_match_weighting IS NOT NULL) OR
400: (p_job_level_match_weighting <> FND_API.G_MISS_NUM AND
401: p_job_level_match_weighting IS NOT NULL)
402: THEN
403:
404: IF p_comp_match_weighting < 0 OR p_comp_match_weighting > 100 OR
424: -- A resource name or id may be passed in only for a requirement
425: -- search for the competence match criteria.
426: -- Validate the resource and get that resource's competences.
427: --
428: IF (p_resource_source_id <> FND_API.G_MISS_NUM AND
429: p_resource_source_id IS NOT NULL) OR
430: (p_resource_name <> FND_API.G_MISS_CHAR AND
431: p_resource_name IS NOT NULL)
432: THEN
426: -- Validate the resource and get that resource's competences.
427: --
428: IF (p_resource_source_id <> FND_API.G_MISS_NUM AND
429: p_resource_source_id IS NOT NULL) OR
430: (p_resource_name <> FND_API.G_MISS_CHAR AND
431: p_resource_name IS NOT NULL)
432: THEN
433:
434: PA_RESOURCE_UTILS.Check_ResourceName_Or_Id (
440: ,x_resource_type_id => l_resource_type_id
441: ,x_return_status => l_return_status
442: ,x_error_message_code => l_error_message_code);
443:
444: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
445: PA_UTILS.Add_Message ('PA', l_error_message_code);
446: END IF;
447:
448: END IF;
449:
450: -- validate the role if passed in, and assign the role id to
451: -- the global record.
452: --
453: IF (p_role_id <> FND_API.G_MISS_NUM AND p_role_id IS NOT NULL) OR
454: (p_role_name <> FND_API.G_MISS_CHAR AND p_role_name IS NOT NULL)
455: THEN
456:
457: PA_ROLE_UTILS.Check_Role_Name_Or_Id(
450: -- validate the role if passed in, and assign the role id to
451: -- the global record.
452: --
453: IF (p_role_id <> FND_API.G_MISS_NUM AND p_role_id IS NOT NULL) OR
454: (p_role_name <> FND_API.G_MISS_CHAR AND p_role_name IS NOT NULL)
455: THEN
456:
457: PA_ROLE_UTILS.Check_Role_Name_Or_Id(
458: p_role_id => p_role_id
461: ,x_role_id => PA_SEARCH_GLOB.g_search_criteria.role_id
462: ,x_return_status => l_return_status
463: ,x_error_message_code => l_error_message_code );
464:
465: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
466: PA_UTILS.Add_Message ('PA', l_error_message_code);
467: END IF;
468:
469: END IF;
470:
471: --
472: -- Check that max job level is >= min job level
473: --
474: IF (p_min_job_level <> FND_API.G_MISS_NUM AND
475: p_min_job_level IS NOT NULL) OR
476: (p_max_job_level <> FND_API.G_MISS_NUM AND
477: p_max_job_level IS NOT NULL)
478: THEN
472: -- Check that max job level is >= min job level
473: --
474: IF (p_min_job_level <> FND_API.G_MISS_NUM AND
475: p_min_job_level IS NOT NULL) OR
476: (p_max_job_level <> FND_API.G_MISS_NUM AND
477: p_max_job_level IS NOT NULL)
478: THEN
479: IF p_min_job_level > p_max_job_level THEN
480: PA_UTILS.Add_Message(
488: END IF;
489: END IF;
490:
491: --Check that min availability is between 0 and 100
492: IF p_minimum_availability <> FND_API.G_MISS_NUM AND
493: p_minimum_availability IS NOT NULL
494: THEN
495: IF p_minimum_availability < 0 OR p_minimum_availability > 100 THEN
496: PA_UTILS.Add_Message( p_app_short_name => 'PA'
513: -- date is required. So we only need to do the validation
514: -- if the end date is passed in as well. The end date will only
515: -- be assigned to the global record if it is passed in and valid.
516:
517: IF p_start_date <> FND_API.G_MISS_DATE AND p_start_date IS NOT NULL THEN
518: PA_SEARCH_GLOB.g_search_criteria.start_date := p_start_date;
519: END IF;
520:
521: IF (p_start_date <> FND_API.G_MISS_DATE AND p_start_date IS NOT NULL) AND
517: IF p_start_date <> FND_API.G_MISS_DATE AND p_start_date IS NOT NULL THEN
518: PA_SEARCH_GLOB.g_search_criteria.start_date := p_start_date;
519: END IF;
520:
521: IF (p_start_date <> FND_API.G_MISS_DATE AND p_start_date IS NOT NULL) AND
522: (p_end_date <> FND_API.G_MISS_DATE AND p_end_date IS NOT NULL)
523: THEN
524:
525: IF p_start_date > p_end_date THEN
518: PA_SEARCH_GLOB.g_search_criteria.start_date := p_start_date;
519: END IF;
520:
521: IF (p_start_date <> FND_API.G_MISS_DATE AND p_start_date IS NOT NULL) AND
522: (p_end_date <> FND_API.G_MISS_DATE AND p_end_date IS NOT NULL)
523: THEN
524:
525: IF p_start_date > p_end_date THEN
526: PA_UTILS.Add_Message( p_app_short_name => 'PA'
541: PA_UTILS.Add_Message(p_app_short_name => 'PA'
542: ,p_msg_name => 'PA_REQ_DATES_IN_PAST');
543: END IF;
544:
545: ELSIF (p_start_date <> FND_API.G_MISS_DATE AND
546: p_start_date IS NOT NULL) AND
547: (p_end_date = FND_API.G_MISS_DATE OR p_end_date IS NULL) THEN
548: PA_SEARCH_GLOB.g_search_criteria.end_date := ADD_MONTHS(p_start_date,6);
549: END IF;
543: END IF;
544:
545: ELSIF (p_start_date <> FND_API.G_MISS_DATE AND
546: p_start_date IS NOT NULL) AND
547: (p_end_date = FND_API.G_MISS_DATE OR p_end_date IS NULL) THEN
548: PA_SEARCH_GLOB.g_search_criteria.end_date := ADD_MONTHS(p_start_date,6);
549: END IF;
550:
551: -- validate competence
584: x_return_status => l_return_status,
585: x_error_msg_code => l_error_msg_data);
586:
587: -- added for Bug fix: 4537865
588: IF l_return_status = FND_API.G_RET_STS_SUCCESS THEN
589: l_competence_id := l_new_competence_id;
590: END IF;
591: -- added for Bug fix: 4537865
592:
589: l_competence_id := l_new_competence_id;
590: END IF;
591: -- added for Bug fix: 4537865
592:
593: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
594: PA_UTILS.Add_Message ('PA', l_error_msg_data);
595: ELSE
596:
597: -- insert the competence into the global table at l_index.
618: -- IF p_search_mode <> REQUIREMENT OR RESOURCE
619: -- resource search being execute from page OTHER than the resource
620: -- search criteria page
621: -- so we need to get the search criteria
622: ELSIF p_get_search_criteria = FND_API.G_TRUE THEN
623:
624: IF (P_DEBUG_MODE ='Y') THEN
625: PA_DEBUG.WRITE_LOG(
626: x_Module => 'pa.plsql.PA_SEARCH_PUB.Run_Search.get_search_criteria'
675: x_no_of_competencies => l_no_of_competencies,
676: x_error_message_code => l_error_msg_data,
677: x_return_status => l_return_status);
678:
679: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
680: PA_UTILS.Add_Message ('PA', l_error_msg_data);
681:
682: ELSIF l_competency_tbl.COUNT > 0 THEN
683:
713: -- 2) the search criteria has not been passed to the API --
714: -- we got the criteria in the API, then call the private API.
715:
716: IF FND_MSG_PUB.Count_Msg = 0 AND
717: (p_validate_only = FND_API.G_FALSE OR
718: p_get_search_criteria = FND_API.G_TRUE)
719: THEN
720:
721: -- DEBUG
714: -- we got the criteria in the API, then call the private API.
715:
716: IF FND_MSG_PUB.Count_Msg = 0 AND
717: (p_validate_only = FND_API.G_FALSE OR
718: p_get_search_criteria = FND_API.G_TRUE)
719: THEN
720:
721: -- DEBUG
722: IF (p_search_mode = 'RESOURCE' OR p_search_mode = 'ADHOC') AND
719: THEN
720:
721: -- DEBUG
722: IF (p_search_mode = 'RESOURCE' OR p_search_mode = 'ADHOC') AND
723: p_get_search_criteria = FND_API.G_FALSE
724: THEN
725: IF (P_DEBUG_MODE ='Y') THEN
726: PA_DEBUG.WRITE_LOG(
727: x_Module => 'pa.plsql.PA_SEARCH_PUB.Run_Search.parameters',
810:
811: x_msg_count := FND_MSG_PUB.Count_Msg;
812:
813: IF x_msg_count = 1 THEN
814: pa_interface_utils_pub.get_messages ( p_encoded => FND_API.G_TRUE
815: ,p_msg_index => 1
816: ,p_data => x_msg_data
817: ,p_msg_index_out => l_msg_index_out
818: );
821:
822: --if there are errors in the stack then set x_return_status.
823: IF FND_MSG_PUB.Count_Msg <> 0 THEN
824:
825: x_return_status := FND_API.G_RET_STS_ERROR;
826:
827: -- clear the globals
828: PA_SEARCH_GLOB.g_search_criteria := NULL;
829: PA_SEARCH_GLOB.g_competence_criteria.DELETE;
836: -- clear the globals
837: PA_SEARCH_GLOB.g_search_criteria := NULL;
838: PA_SEARCH_GLOB.g_competence_criteria.DELETE;
839:
840: IF p_commit = FND_API.G_TRUE THEN
841: ROLLBACK TO SEARCH_PUB_RUN_OA_SEARCH;
842: END IF;
843: FND_MSG_PUB.add_exc_msg ( p_pkg_name => 'PA_SEARCH_PUB.Run_Search'
844: , p_procedure_name => PA_DEBUG.G_Err_Stack);
841: ROLLBACK TO SEARCH_PUB_RUN_OA_SEARCH;
842: END IF;
843: FND_MSG_PUB.add_exc_msg ( p_pkg_name => 'PA_SEARCH_PUB.Run_Search'
844: , p_procedure_name => PA_DEBUG.G_Err_Stack);
845: x_return_status:= FND_API.G_RET_STS_UNEXP_ERROR;
846: RAISE;
847:
848: END Run_Search;
849: