73: l_resource_type_id NUMBER;
74: l_competence_criteria PA_SEARCH_GLOB.Competence_Criteria_Tbl_Type;
75: l_org_structure_type PA_ORG_HIERARCHY_DENORM.pa_org_use_type%TYPE;
76: i NUMBER := 1;
77: P_DEBUG_MODE varchar2(1) := NVL(FND_PROFILE.value('PA_DEBUG_MODE'), 'N');
78:
79: -- cursor to get the search criteria if a Resource search is performed
80: -- directly on a requirement (without entering the search criteria
81: -- on the screen).
103:
104: BEGIN
105:
106: IF (P_DEBUG_MODE ='Y') THEN
107: PA_DEBUG.WRITE_LOG(x_Module => 'pa.plsql.PA_SEARCH_PUB.Run_Search.begin',
108: x_Msg => 'in PA_SEARCH_PUB.Run_Search',
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:
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;
141:
142: END IF;
143:
144: IF (P_DEBUG_MODE ='Y') THEN
145: PA_DEBUG.WRITE_LOG(
146: x_Module => 'pa.plsql.PA_SEARCH_PUB.Run_Search.validation',
147: x_Msg => 'validate input parameters',
148: x_Log_Level => 6);
149: End If;
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'
627: ,x_Msg => 'resource search being execute from page OTHER than the resource search criteria page, get search criteria'
628: ,x_Log_Level => 6);
629: End If;
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',
728: x_Msg => 'calling pvt',
729: x_Log_Level => 6);
730: PA_DEBUG.WRITE_LOG(
726: PA_DEBUG.WRITE_LOG(
727: x_Module => 'pa.plsql.PA_SEARCH_PUB.Run_Search.parameters',
728: x_Msg => 'calling pvt',
729: x_Log_Level => 6);
730: PA_DEBUG.WRITE_LOG(
731: x_Module => 'pa.plsql.PA_SEARCH_PUB.Run_Search.parameter',
732: x_Msg => 'p_search_mode=' || p_search_mode,
733: x_Log_Level => 6);
734: PA_DEBUG.WRITE_LOG(
730: PA_DEBUG.WRITE_LOG(
731: x_Module => 'pa.plsql.PA_SEARCH_PUB.Run_Search.parameter',
732: x_Msg => 'p_search_mode=' || p_search_mode,
733: x_Log_Level => 6);
734: PA_DEBUG.WRITE_LOG(
735: x_Module => 'pa.plsql.PA_SEARCH_PUB.Run_Search.parameter',
736: x_Msg => 'assignment_id=' || PA_SEARCH_GLOB.g_search_criteria.assignment_id,
737: x_Log_Level => 6);
738: PA_DEBUG.WRITE_LOG(
734: PA_DEBUG.WRITE_LOG(
735: x_Module => 'pa.plsql.PA_SEARCH_PUB.Run_Search.parameter',
736: x_Msg => 'assignment_id=' || PA_SEARCH_GLOB.g_search_criteria.assignment_id,
737: x_Log_Level => 6);
738: PA_DEBUG.WRITE_LOG(
739: x_Module => 'pa.plsql.PA_SEARCH_PUB.Run_Search.parameter',
740: x_Msg => 'resource_source_id' || PA_SEARCH_GLOB.g_search_criteria.resource_source_id,
741: x_Log_Level => 6);
742: PA_DEBUG.WRITE_LOG(
738: PA_DEBUG.WRITE_LOG(
739: x_Module => 'pa.plsql.PA_SEARCH_PUB.Run_Search.parameter',
740: x_Msg => 'resource_source_id' || PA_SEARCH_GLOB.g_search_criteria.resource_source_id,
741: x_Log_Level => 6);
742: PA_DEBUG.WRITE_LOG(
743: x_Module => 'pa.plsql.PA_SEARCH_PUB.Run_Search.parameter',
744: x_Msg => 'project_id=' || PA_SEARCH_GLOB.g_search_criteria.project_id,
745: x_Log_Level => 6);
746: PA_DEBUG.WRITE_LOG(
742: PA_DEBUG.WRITE_LOG(
743: x_Module => 'pa.plsql.PA_SEARCH_PUB.Run_Search.parameter',
744: x_Msg => 'project_id=' || PA_SEARCH_GLOB.g_search_criteria.project_id,
745: x_Log_Level => 6);
746: PA_DEBUG.WRITE_LOG(
747: x_Module => 'pa.plsql.PA_SEARCH_PUB.Run_Search.parameter',
748: x_Msg => 'min_job_level=' || PA_SEARCH_GLOB.g_search_criteria.min_job_level,
749: x_Log_Level => 6);
750: PA_DEBUG.WRITE_LOG(
746: PA_DEBUG.WRITE_LOG(
747: x_Module => 'pa.plsql.PA_SEARCH_PUB.Run_Search.parameter',
748: x_Msg => 'min_job_level=' || PA_SEARCH_GLOB.g_search_criteria.min_job_level,
749: x_Log_Level => 6);
750: PA_DEBUG.WRITE_LOG(
751: x_Module => 'pa.plsql.PA_SEARCH_PUB.Run_Search.parameter',
752: x_Msg => 'max_job_level=' || PA_SEARCH_GLOB.g_search_criteria.max_job_level,
753: x_Log_Level => 6);
754: PA_DEBUG.WRITE_LOG(
750: PA_DEBUG.WRITE_LOG(
751: x_Module => 'pa.plsql.PA_SEARCH_PUB.Run_Search.parameter',
752: x_Msg => 'max_job_level=' || PA_SEARCH_GLOB.g_search_criteria.max_job_level,
753: x_Log_Level => 6);
754: PA_DEBUG.WRITE_LOG(
755: x_Module => 'pa.plsql.PA_SEARCH_PUB.Run_Search.parameter',
756: x_Msg => 'org_hierarchy_version_id=' || PA_SEARCH_GLOB.g_search_criteria.org_hierarchy_version_id,
757: x_Log_Level => 6);
758: PA_DEBUG.WRITE_LOG(
754: PA_DEBUG.WRITE_LOG(
755: x_Module => 'pa.plsql.PA_SEARCH_PUB.Run_Search.parameter',
756: x_Msg => 'org_hierarchy_version_id=' || PA_SEARCH_GLOB.g_search_criteria.org_hierarchy_version_id,
757: x_Log_Level => 6);
758: PA_DEBUG.WRITE_LOG(
759: x_Module => 'pa.plsql.PA_SEARCH_PUB.Run_Search.parameter',
760: x_Msg => 'organization_id=' || PA_SEARCH_GLOB.g_search_criteria.organization_id,
761: x_Log_Level => 6);
762: PA_DEBUG.WRITE_LOG(
758: PA_DEBUG.WRITE_LOG(
759: x_Module => 'pa.plsql.PA_SEARCH_PUB.Run_Search.parameter',
760: x_Msg => 'organization_id=' || PA_SEARCH_GLOB.g_search_criteria.organization_id,
761: x_Log_Level => 6);
762: PA_DEBUG.WRITE_LOG(
763: x_Module => 'pa.plsql.PA_SEARCH_PUB.Run_Search.parameter',
764: x_Msg => 'territory_code=' || PA_SEARCH_GLOB.g_search_criteria.territory_code,
765: x_Log_Level => 6);
766: PA_DEBUG.WRITE_LOG(
762: PA_DEBUG.WRITE_LOG(
763: x_Module => 'pa.plsql.PA_SEARCH_PUB.Run_Search.parameter',
764: x_Msg => 'territory_code=' || PA_SEARCH_GLOB.g_search_criteria.territory_code,
765: x_Log_Level => 6);
766: PA_DEBUG.WRITE_LOG(
767: x_Module => 'pa.plsql.PA_SEARCH_PUB.Run_Search.parameter',
768: x_Msg => 'start_date=' || PA_SEARCH_GLOB.g_search_criteria.start_date,
769: x_Log_Level => 6);
770: PA_DEBUG.WRITE_LOG(
766: PA_DEBUG.WRITE_LOG(
767: x_Module => 'pa.plsql.PA_SEARCH_PUB.Run_Search.parameter',
768: x_Msg => 'start_date=' || PA_SEARCH_GLOB.g_search_criteria.start_date,
769: x_Log_Level => 6);
770: PA_DEBUG.WRITE_LOG(
771: x_Module => 'pa.plsql.PA_SEARCH_PUB.Run_Search.parameter',
772: x_Msg => 'end_date=' || PA_SEARCH_GLOB.g_search_criteria.end_date,
773: x_Log_Level => 6);
774: PA_DEBUG.WRITE_LOG(
770: PA_DEBUG.WRITE_LOG(
771: x_Module => 'pa.plsql.PA_SEARCH_PUB.Run_Search.parameter',
772: x_Msg => 'end_date=' || PA_SEARCH_GLOB.g_search_criteria.end_date,
773: x_Log_Level => 6);
774: PA_DEBUG.WRITE_LOG(
775: x_Module => 'pa.plsql.PA_SEARCH_PUB.Run_Search.parameter',
776: x_Msg => 'min_availability=' || PA_SEARCH_GLOB.g_search_criteria.min_availability,
777: x_Log_Level => 6);
778: End if;
781:
782: -- Call Private API
783:
784: IF (P_DEBUG_MODE ='Y') THEN
785: PA_DEBUG.WRITE_LOG(x_Module => 'pa.plsql.PA_SEARCH_PUB.Run_Search.call_pvt',x_Msg => 'calling PA_SEARCH_PVT.Run_Search', x_Log_Level => 6);
786: End If;
787:
788: PA_SEARCH_PVT.Run_Search(
789: p_search_mode => p_search_mode
798: PA_SEARCH_GLOB.g_search_criteria := NULL;
799: PA_SEARCH_GLOB.g_competence_criteria.DELETE;
800:
801: -- Reset the error stack when returning to the calling environment
802: PA_DEBUG.Reset_Err_Stack;
803:
804: END IF;
805:
806: --
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);
845: x_return_status:= FND_API.G_RET_STS_UNEXP_ERROR;
846: RAISE;
847:
848: END Run_Search;