4: -- Forward declaration of validate_attributes procedure
5: PROCEDURE validate_attributes
6: (
7: p_element_id IN NUMBER := null,
8: p_person_id IN per_competences.competence_id%TYPE := FND_API.G_MISS_NUM,
9: p_competence_id IN per_competences.competence_id%TYPE := FND_API.G_MISS_NUM,
10: p_competence_alias IN per_competences.competence_alias%TYPE := FND_API.G_MISS_CHAR,
11: p_competence_name IN per_competences.name%TYPE := FND_API.G_MISS_CHAR,
12: p_rating_level_id IN per_competence_elements.rating_level_id%TYPE := FND_API.G_MISS_NUM,
5: PROCEDURE validate_attributes
6: (
7: p_element_id IN NUMBER := null,
8: p_person_id IN per_competences.competence_id%TYPE := FND_API.G_MISS_NUM,
9: p_competence_id IN per_competences.competence_id%TYPE := FND_API.G_MISS_NUM,
10: p_competence_alias IN per_competences.competence_alias%TYPE := FND_API.G_MISS_CHAR,
11: p_competence_name IN per_competences.name%TYPE := FND_API.G_MISS_CHAR,
12: p_rating_level_id IN per_competence_elements.rating_level_id%TYPE := FND_API.G_MISS_NUM,
13: p_rating_level_value IN per_rating_levels.step_value%TYPE := FND_API.G_MISS_NUM,
6: (
7: p_element_id IN NUMBER := null,
8: p_person_id IN per_competences.competence_id%TYPE := FND_API.G_MISS_NUM,
9: p_competence_id IN per_competences.competence_id%TYPE := FND_API.G_MISS_NUM,
10: p_competence_alias IN per_competences.competence_alias%TYPE := FND_API.G_MISS_CHAR,
11: p_competence_name IN per_competences.name%TYPE := FND_API.G_MISS_CHAR,
12: p_rating_level_id IN per_competence_elements.rating_level_id%TYPE := FND_API.G_MISS_NUM,
13: p_rating_level_value IN per_rating_levels.step_value%TYPE := FND_API.G_MISS_NUM,
14: p_effective_date_from IN DATE := FND_API.G_MISS_DATE,
7: p_element_id IN NUMBER := null,
8: p_person_id IN per_competences.competence_id%TYPE := FND_API.G_MISS_NUM,
9: p_competence_id IN per_competences.competence_id%TYPE := FND_API.G_MISS_NUM,
10: p_competence_alias IN per_competences.competence_alias%TYPE := FND_API.G_MISS_CHAR,
11: p_competence_name IN per_competences.name%TYPE := FND_API.G_MISS_CHAR,
12: p_rating_level_id IN per_competence_elements.rating_level_id%TYPE := FND_API.G_MISS_NUM,
13: p_rating_level_value IN per_rating_levels.step_value%TYPE := FND_API.G_MISS_NUM,
14: p_effective_date_from IN DATE := FND_API.G_MISS_DATE,
15: p_operation IN VARCHAR2,
8: p_person_id IN per_competences.competence_id%TYPE := FND_API.G_MISS_NUM,
9: p_competence_id IN per_competences.competence_id%TYPE := FND_API.G_MISS_NUM,
10: p_competence_alias IN per_competences.competence_alias%TYPE := FND_API.G_MISS_CHAR,
11: p_competence_name IN per_competences.name%TYPE := FND_API.G_MISS_CHAR,
12: p_rating_level_id IN per_competence_elements.rating_level_id%TYPE := FND_API.G_MISS_NUM,
13: p_rating_level_value IN per_rating_levels.step_value%TYPE := FND_API.G_MISS_NUM,
14: p_effective_date_from IN DATE := FND_API.G_MISS_DATE,
15: p_operation IN VARCHAR2,
16: x_return_status OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
9: p_competence_id IN per_competences.competence_id%TYPE := FND_API.G_MISS_NUM,
10: p_competence_alias IN per_competences.competence_alias%TYPE := FND_API.G_MISS_CHAR,
11: p_competence_name IN per_competences.name%TYPE := FND_API.G_MISS_CHAR,
12: p_rating_level_id IN per_competence_elements.rating_level_id%TYPE := FND_API.G_MISS_NUM,
13: p_rating_level_value IN per_rating_levels.step_value%TYPE := FND_API.G_MISS_NUM,
14: p_effective_date_from IN DATE := FND_API.G_MISS_DATE,
15: p_operation IN VARCHAR2,
16: x_return_status OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
17: x_competence_id OUT NOCOPY per_competences.competence_id%TYPE, --File.Sql.39 bug 4440895
10: p_competence_alias IN per_competences.competence_alias%TYPE := FND_API.G_MISS_CHAR,
11: p_competence_name IN per_competences.name%TYPE := FND_API.G_MISS_CHAR,
12: p_rating_level_id IN per_competence_elements.rating_level_id%TYPE := FND_API.G_MISS_NUM,
13: p_rating_level_value IN per_rating_levels.step_value%TYPE := FND_API.G_MISS_NUM,
14: p_effective_date_from IN DATE := FND_API.G_MISS_DATE,
15: p_operation IN VARCHAR2,
16: x_return_status OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
17: x_competence_id OUT NOCOPY per_competences.competence_id%TYPE, --File.Sql.39 bug 4440895
18: x_rating_level_id OUT NOCOPY per_competence_elements.rating_level_id%TYPE, --File.Sql.39 bug 4440895
26: PROCEDURE Add_competence_element
27: (
28: p_person_id IN per_competence_elements.person_id%TYPE,
29: p_competence_id IN per_competences.competence_id%TYPE,
30: p_competence_alias IN per_competences.competence_alias%TYPE := FND_API.G_MISS_CHAR,
31: p_competence_name IN per_competences.name%TYPE := FND_API.G_MISS_CHAR,
32: p_rating_level_id IN per_competence_elements.rating_level_id%TYPE := FND_API.G_MISS_NUM,
33: p_rating_level_value IN per_rating_levels.step_value%TYPE := FND_API.G_MISS_NUM,
34: p_effective_date_from IN DATE := FND_API.G_MISS_DATE,
27: (
28: p_person_id IN per_competence_elements.person_id%TYPE,
29: p_competence_id IN per_competences.competence_id%TYPE,
30: p_competence_alias IN per_competences.competence_alias%TYPE := FND_API.G_MISS_CHAR,
31: p_competence_name IN per_competences.name%TYPE := FND_API.G_MISS_CHAR,
32: p_rating_level_id IN per_competence_elements.rating_level_id%TYPE := FND_API.G_MISS_NUM,
33: p_rating_level_value IN per_rating_levels.step_value%TYPE := FND_API.G_MISS_NUM,
34: p_effective_date_from IN DATE := FND_API.G_MISS_DATE,
35: p_init_msg_list IN VARCHAR2 := FND_API.G_MISS_CHAR,
28: p_person_id IN per_competence_elements.person_id%TYPE,
29: p_competence_id IN per_competences.competence_id%TYPE,
30: p_competence_alias IN per_competences.competence_alias%TYPE := FND_API.G_MISS_CHAR,
31: p_competence_name IN per_competences.name%TYPE := FND_API.G_MISS_CHAR,
32: p_rating_level_id IN per_competence_elements.rating_level_id%TYPE := FND_API.G_MISS_NUM,
33: p_rating_level_value IN per_rating_levels.step_value%TYPE := FND_API.G_MISS_NUM,
34: p_effective_date_from IN DATE := FND_API.G_MISS_DATE,
35: p_init_msg_list IN VARCHAR2 := FND_API.G_MISS_CHAR,
36: p_commit IN VARCHAR2 := FND_API.G_MISS_CHAR,
29: p_competence_id IN per_competences.competence_id%TYPE,
30: p_competence_alias IN per_competences.competence_alias%TYPE := FND_API.G_MISS_CHAR,
31: p_competence_name IN per_competences.name%TYPE := FND_API.G_MISS_CHAR,
32: p_rating_level_id IN per_competence_elements.rating_level_id%TYPE := FND_API.G_MISS_NUM,
33: p_rating_level_value IN per_rating_levels.step_value%TYPE := FND_API.G_MISS_NUM,
34: p_effective_date_from IN DATE := FND_API.G_MISS_DATE,
35: p_init_msg_list IN VARCHAR2 := FND_API.G_MISS_CHAR,
36: p_commit IN VARCHAR2 := FND_API.G_MISS_CHAR,
37: p_validate_only IN VARCHAR2 := FND_API.G_MISS_CHAR,
30: p_competence_alias IN per_competences.competence_alias%TYPE := FND_API.G_MISS_CHAR,
31: p_competence_name IN per_competences.name%TYPE := FND_API.G_MISS_CHAR,
32: p_rating_level_id IN per_competence_elements.rating_level_id%TYPE := FND_API.G_MISS_NUM,
33: p_rating_level_value IN per_rating_levels.step_value%TYPE := FND_API.G_MISS_NUM,
34: p_effective_date_from IN DATE := FND_API.G_MISS_DATE,
35: p_init_msg_list IN VARCHAR2 := FND_API.G_MISS_CHAR,
36: p_commit IN VARCHAR2 := FND_API.G_MISS_CHAR,
37: p_validate_only IN VARCHAR2 := FND_API.G_MISS_CHAR,
38: x_return_status OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
31: p_competence_name IN per_competences.name%TYPE := FND_API.G_MISS_CHAR,
32: p_rating_level_id IN per_competence_elements.rating_level_id%TYPE := FND_API.G_MISS_NUM,
33: p_rating_level_value IN per_rating_levels.step_value%TYPE := FND_API.G_MISS_NUM,
34: p_effective_date_from IN DATE := FND_API.G_MISS_DATE,
35: p_init_msg_list IN VARCHAR2 := FND_API.G_MISS_CHAR,
36: p_commit IN VARCHAR2 := FND_API.G_MISS_CHAR,
37: p_validate_only IN VARCHAR2 := FND_API.G_MISS_CHAR,
38: x_return_status OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
39: x_msg_count OUT NOCOPY NUMBER, --File.Sql.39 bug 4440895
32: p_rating_level_id IN per_competence_elements.rating_level_id%TYPE := FND_API.G_MISS_NUM,
33: p_rating_level_value IN per_rating_levels.step_value%TYPE := FND_API.G_MISS_NUM,
34: p_effective_date_from IN DATE := FND_API.G_MISS_DATE,
35: p_init_msg_list IN VARCHAR2 := FND_API.G_MISS_CHAR,
36: p_commit IN VARCHAR2 := FND_API.G_MISS_CHAR,
37: p_validate_only IN VARCHAR2 := FND_API.G_MISS_CHAR,
38: x_return_status OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
39: x_msg_count OUT NOCOPY NUMBER, --File.Sql.39 bug 4440895
40: x_msg_data OUT NOCOPY VARCHAR2) IS --File.Sql.39 bug 4440895
33: p_rating_level_value IN per_rating_levels.step_value%TYPE := FND_API.G_MISS_NUM,
34: p_effective_date_from IN DATE := FND_API.G_MISS_DATE,
35: p_init_msg_list IN VARCHAR2 := FND_API.G_MISS_CHAR,
36: p_commit IN VARCHAR2 := FND_API.G_MISS_CHAR,
37: p_validate_only IN VARCHAR2 := FND_API.G_MISS_CHAR,
38: x_return_status OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
39: x_msg_count OUT NOCOPY NUMBER, --File.Sql.39 bug 4440895
40: x_msg_data OUT NOCOPY VARCHAR2) IS --File.Sql.39 bug 4440895
41:
64:
65: -- dbms_output.put_line('Person ID : ' || p_person_id);
66: -- dbms_output.put_line('Date : ' || p_effective_date_from);
67:
68: x_return_status := FND_API.G_RET_STS_SUCCESS;
69:
70: -- Initialize the PL/SQL message stack
71: PA_COMP_PROFILE_PVT.g_noof_errors := 0;
72:
69:
70: -- Initialize the PL/SQL message stack
71: PA_COMP_PROFILE_PVT.g_noof_errors := 0;
72:
73: IF p_init_msg_list = FND_API.G_TRUE THEN
74: fnd_msg_pub.initialize;
75: END IF;
76:
77: -- Do the standard public api checks
93: -- If there are errors at this stage, there is no point
94: -- in proceeding further since the competence id or rating level
95: -- values are invalid
96:
97: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
98: x_return_status:= FND_API.G_RET_STS_ERROR;
99: IF PA_COMP_PROFILE_PVT.g_noof_errors = 1 THEN
100: pa_interface_utils_pub.get_messages
101: (p_encoded => FND_API.G_TRUE,
94: -- in proceeding further since the competence id or rating level
95: -- values are invalid
96:
97: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
98: x_return_status:= FND_API.G_RET_STS_ERROR;
99: IF PA_COMP_PROFILE_PVT.g_noof_errors = 1 THEN
100: pa_interface_utils_pub.get_messages
101: (p_encoded => FND_API.G_TRUE,
102: p_msg_index => 1,
97: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
98: x_return_status:= FND_API.G_RET_STS_ERROR;
99: IF PA_COMP_PROFILE_PVT.g_noof_errors = 1 THEN
100: pa_interface_utils_pub.get_messages
101: (p_encoded => FND_API.G_TRUE,
102: p_msg_index => 1,
103: p_msg_count => x_msg_count ,
104: p_msg_data => l_msg_data ,
105: p_data => l_data,
128:
129:
130: x_msg_count := pa_comp_profile_pvt.g_noof_errors;
131:
132: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
133: x_return_status:= FND_API.G_RET_STS_ERROR;
134: IF pa_comp_profile_pvt.g_noof_errors = 1 THEN
135: pa_interface_utils_pub.get_messages
136: (p_encoded => FND_API.G_TRUE,
129:
130: x_msg_count := pa_comp_profile_pvt.g_noof_errors;
131:
132: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
133: x_return_status:= FND_API.G_RET_STS_ERROR;
134: IF pa_comp_profile_pvt.g_noof_errors = 1 THEN
135: pa_interface_utils_pub.get_messages
136: (p_encoded => FND_API.G_TRUE,
137: p_msg_index => 1,
132: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
133: x_return_status:= FND_API.G_RET_STS_ERROR;
134: IF pa_comp_profile_pvt.g_noof_errors = 1 THEN
135: pa_interface_utils_pub.get_messages
136: (p_encoded => FND_API.G_TRUE,
137: p_msg_index => 1,
138: p_msg_count => x_msg_count ,
139: p_msg_data => l_msg_data ,
140: p_data => l_data,
149: pa_debug.reset_err_stack;
150: END IF;
151: RETURN;
152: ELSE
153: x_return_status:= FND_API.G_RET_STS_SUCCESS;
154: END IF;
155:
156: IF p_commit = FND_API.G_TRUE THEN
157: COMMIT;
152: ELSE
153: x_return_status:= FND_API.G_RET_STS_SUCCESS;
154: END IF;
155:
156: IF p_commit = FND_API.G_TRUE THEN
157: COMMIT;
158: END IF;
159:
160: IF l_enable_log = 'Y' THEN
162: END IF;
163:
164: EXCEPTION
165: WHEN OTHERS THEN
166: IF p_commit = FND_API.G_TRUE THEN
167: ROLLBACK TO COMPETENCE_PUB_ADD_COMP_ELE;
168: END IF;
169:
170: fnd_msg_pub.add_exc_msg
174: x_msg_count := 1;
175:
176: IF x_msg_count = 1 THEN
177: pa_interface_utils_pub.get_messages
178: (p_encoded => FND_API.G_TRUE,
179: p_msg_index => 1,
180: p_msg_count => x_msg_count ,
181: p_msg_data => l_msg_data ,
182: p_data => l_data,
184:
185: x_msg_data := l_data;
186: END IF;
187:
188: x_return_status:= FND_API.G_RET_STS_UNEXP_ERROR;
189:
190: END Add_Competence_Element;
191:
192: /* --------------------------------------------------------------------
195: -------------------------------------------------------------------- */
196:
197: PROCEDURE Update_competence_element
198: (
199: p_person_id IN per_competence_elements.person_id%TYPE := FND_API.G_MISS_NUM,
200: p_competence_id IN per_competences.competence_id%TYPE := FND_API.G_MISS_NUM,
201: p_competence_alias IN per_competences.competence_alias%TYPE := FND_API.G_MISS_CHAR,
202: p_competence_name IN per_competences.name%TYPE := FND_API.G_MISS_CHAR,
203: p_element_id IN per_competence_elements.competence_element_id%TYPE := FND_API.G_MISS_NUM,
196:
197: PROCEDURE Update_competence_element
198: (
199: p_person_id IN per_competence_elements.person_id%TYPE := FND_API.G_MISS_NUM,
200: p_competence_id IN per_competences.competence_id%TYPE := FND_API.G_MISS_NUM,
201: p_competence_alias IN per_competences.competence_alias%TYPE := FND_API.G_MISS_CHAR,
202: p_competence_name IN per_competences.name%TYPE := FND_API.G_MISS_CHAR,
203: p_element_id IN per_competence_elements.competence_element_id%TYPE := FND_API.G_MISS_NUM,
204: p_rating_level_id IN per_competence_elements.rating_level_id%TYPE := FND_API.G_MISS_NUM,
197: PROCEDURE Update_competence_element
198: (
199: p_person_id IN per_competence_elements.person_id%TYPE := FND_API.G_MISS_NUM,
200: p_competence_id IN per_competences.competence_id%TYPE := FND_API.G_MISS_NUM,
201: p_competence_alias IN per_competences.competence_alias%TYPE := FND_API.G_MISS_CHAR,
202: p_competence_name IN per_competences.name%TYPE := FND_API.G_MISS_CHAR,
203: p_element_id IN per_competence_elements.competence_element_id%TYPE := FND_API.G_MISS_NUM,
204: p_rating_level_id IN per_competence_elements.rating_level_id%TYPE := FND_API.G_MISS_NUM,
205: p_rating_level_value IN per_rating_levels.step_value%TYPE := FND_API.G_MISS_NUM,
198: (
199: p_person_id IN per_competence_elements.person_id%TYPE := FND_API.G_MISS_NUM,
200: p_competence_id IN per_competences.competence_id%TYPE := FND_API.G_MISS_NUM,
201: p_competence_alias IN per_competences.competence_alias%TYPE := FND_API.G_MISS_CHAR,
202: p_competence_name IN per_competences.name%TYPE := FND_API.G_MISS_CHAR,
203: p_element_id IN per_competence_elements.competence_element_id%TYPE := FND_API.G_MISS_NUM,
204: p_rating_level_id IN per_competence_elements.rating_level_id%TYPE := FND_API.G_MISS_NUM,
205: p_rating_level_value IN per_rating_levels.step_value%TYPE := FND_API.G_MISS_NUM,
206: p_effective_date_from IN DATE := FND_API.G_MISS_DATE,
199: p_person_id IN per_competence_elements.person_id%TYPE := FND_API.G_MISS_NUM,
200: p_competence_id IN per_competences.competence_id%TYPE := FND_API.G_MISS_NUM,
201: p_competence_alias IN per_competences.competence_alias%TYPE := FND_API.G_MISS_CHAR,
202: p_competence_name IN per_competences.name%TYPE := FND_API.G_MISS_CHAR,
203: p_element_id IN per_competence_elements.competence_element_id%TYPE := FND_API.G_MISS_NUM,
204: p_rating_level_id IN per_competence_elements.rating_level_id%TYPE := FND_API.G_MISS_NUM,
205: p_rating_level_value IN per_rating_levels.step_value%TYPE := FND_API.G_MISS_NUM,
206: p_effective_date_from IN DATE := FND_API.G_MISS_DATE,
207: p_init_msg_list IN VARCHAR2 := FND_API.G_MISS_CHAR,
200: p_competence_id IN per_competences.competence_id%TYPE := FND_API.G_MISS_NUM,
201: p_competence_alias IN per_competences.competence_alias%TYPE := FND_API.G_MISS_CHAR,
202: p_competence_name IN per_competences.name%TYPE := FND_API.G_MISS_CHAR,
203: p_element_id IN per_competence_elements.competence_element_id%TYPE := FND_API.G_MISS_NUM,
204: p_rating_level_id IN per_competence_elements.rating_level_id%TYPE := FND_API.G_MISS_NUM,
205: p_rating_level_value IN per_rating_levels.step_value%TYPE := FND_API.G_MISS_NUM,
206: p_effective_date_from IN DATE := FND_API.G_MISS_DATE,
207: p_init_msg_list IN VARCHAR2 := FND_API.G_MISS_CHAR,
208: p_commit IN VARCHAR2 := FND_API.G_MISS_CHAR,
201: p_competence_alias IN per_competences.competence_alias%TYPE := FND_API.G_MISS_CHAR,
202: p_competence_name IN per_competences.name%TYPE := FND_API.G_MISS_CHAR,
203: p_element_id IN per_competence_elements.competence_element_id%TYPE := FND_API.G_MISS_NUM,
204: p_rating_level_id IN per_competence_elements.rating_level_id%TYPE := FND_API.G_MISS_NUM,
205: p_rating_level_value IN per_rating_levels.step_value%TYPE := FND_API.G_MISS_NUM,
206: p_effective_date_from IN DATE := FND_API.G_MISS_DATE,
207: p_init_msg_list IN VARCHAR2 := FND_API.G_MISS_CHAR,
208: p_commit IN VARCHAR2 := FND_API.G_MISS_CHAR,
209: p_validate_only IN VARCHAR2 := FND_API.G_MISS_CHAR,
202: p_competence_name IN per_competences.name%TYPE := FND_API.G_MISS_CHAR,
203: p_element_id IN per_competence_elements.competence_element_id%TYPE := FND_API.G_MISS_NUM,
204: p_rating_level_id IN per_competence_elements.rating_level_id%TYPE := FND_API.G_MISS_NUM,
205: p_rating_level_value IN per_rating_levels.step_value%TYPE := FND_API.G_MISS_NUM,
206: p_effective_date_from IN DATE := FND_API.G_MISS_DATE,
207: p_init_msg_list IN VARCHAR2 := FND_API.G_MISS_CHAR,
208: p_commit IN VARCHAR2 := FND_API.G_MISS_CHAR,
209: p_validate_only IN VARCHAR2 := FND_API.G_MISS_CHAR,
210: p_object_version_number IN NUMBER,
203: p_element_id IN per_competence_elements.competence_element_id%TYPE := FND_API.G_MISS_NUM,
204: p_rating_level_id IN per_competence_elements.rating_level_id%TYPE := FND_API.G_MISS_NUM,
205: p_rating_level_value IN per_rating_levels.step_value%TYPE := FND_API.G_MISS_NUM,
206: p_effective_date_from IN DATE := FND_API.G_MISS_DATE,
207: p_init_msg_list IN VARCHAR2 := FND_API.G_MISS_CHAR,
208: p_commit IN VARCHAR2 := FND_API.G_MISS_CHAR,
209: p_validate_only IN VARCHAR2 := FND_API.G_MISS_CHAR,
210: p_object_version_number IN NUMBER,
211: x_object_version_number OUT NOCOPY NUMBER , --File.Sql.39 bug 4440895
204: p_rating_level_id IN per_competence_elements.rating_level_id%TYPE := FND_API.G_MISS_NUM,
205: p_rating_level_value IN per_rating_levels.step_value%TYPE := FND_API.G_MISS_NUM,
206: p_effective_date_from IN DATE := FND_API.G_MISS_DATE,
207: p_init_msg_list IN VARCHAR2 := FND_API.G_MISS_CHAR,
208: p_commit IN VARCHAR2 := FND_API.G_MISS_CHAR,
209: p_validate_only IN VARCHAR2 := FND_API.G_MISS_CHAR,
210: p_object_version_number IN NUMBER,
211: x_object_version_number OUT NOCOPY NUMBER , --File.Sql.39 bug 4440895
212: x_return_status OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
205: p_rating_level_value IN per_rating_levels.step_value%TYPE := FND_API.G_MISS_NUM,
206: p_effective_date_from IN DATE := FND_API.G_MISS_DATE,
207: p_init_msg_list IN VARCHAR2 := FND_API.G_MISS_CHAR,
208: p_commit IN VARCHAR2 := FND_API.G_MISS_CHAR,
209: p_validate_only IN VARCHAR2 := FND_API.G_MISS_CHAR,
210: p_object_version_number IN NUMBER,
211: x_object_version_number OUT NOCOPY NUMBER , --File.Sql.39 bug 4440895
212: x_return_status OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
213: x_msg_count OUT NOCOPY NUMBER, --File.Sql.39 bug 4440895
235: pa_debug.init_err_stack ('PA_COMP_PROFILE_PUB.update_competence_element');
236: END IF;
237:
238: SAVEPOINT COMPETENCE_PUB_UPD_COMP_ELE;
239: x_return_status := FND_API.G_RET_STS_SUCCESS;
240:
241: -- Initialize the PL/SQL message stack
242:
243: PA_COMP_PROFILE_PVT.g_noof_errors := 0;
241: -- Initialize the PL/SQL message stack
242:
243: PA_COMP_PROFILE_PVT.g_noof_errors := 0;
244:
245: IF p_init_msg_list = FND_API.G_TRUE THEN
246: fnd_msg_pub.initialize;
247: END IF;
248:
249: -- Validate the atttributes
266: x_effective_date_from => l_effective_date_from);
267:
268:
269: -- dbms_output.put_line('After Calling Validate Attributes');
270: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
271:
272: -- dbms_output.put_line('Error in Validate Attributes');
273: x_return_status:= FND_API.G_RET_STS_ERROR;
274: IF PA_COMP_PROFILE_PVT.g_noof_errors = 1 THEN
269: -- dbms_output.put_line('After Calling Validate Attributes');
270: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
271:
272: -- dbms_output.put_line('Error in Validate Attributes');
273: x_return_status:= FND_API.G_RET_STS_ERROR;
274: IF PA_COMP_PROFILE_PVT.g_noof_errors = 1 THEN
275: pa_interface_utils_pub.get_messages
276: (p_encoded => FND_API.G_TRUE,
277: p_msg_index => 1,
272: -- dbms_output.put_line('Error in Validate Attributes');
273: x_return_status:= FND_API.G_RET_STS_ERROR;
274: IF PA_COMP_PROFILE_PVT.g_noof_errors = 1 THEN
275: pa_interface_utils_pub.get_messages
276: (p_encoded => FND_API.G_TRUE,
277: p_msg_index => 1,
278: p_msg_count => x_msg_count ,
279: p_msg_data => l_msg_data ,
280: p_data => l_data,
303: ,x_return_status => l_return_status );
304:
305: x_return_status := l_return_status;
306:
307: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
308: x_return_status:= FND_API.G_RET_STS_ERROR;
309: IF pa_comp_profile_pvt.g_noof_errors = 1 THEN
310: pa_interface_utils_pub.get_messages
311: (p_encoded => FND_API.G_TRUE,
304:
305: x_return_status := l_return_status;
306:
307: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
308: x_return_status:= FND_API.G_RET_STS_ERROR;
309: IF pa_comp_profile_pvt.g_noof_errors = 1 THEN
310: pa_interface_utils_pub.get_messages
311: (p_encoded => FND_API.G_TRUE,
312: p_msg_index => 1,
307: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
308: x_return_status:= FND_API.G_RET_STS_ERROR;
309: IF pa_comp_profile_pvt.g_noof_errors = 1 THEN
310: pa_interface_utils_pub.get_messages
311: (p_encoded => FND_API.G_TRUE,
312: p_msg_index => 1,
313: p_msg_count => x_msg_count ,
314: p_msg_data => l_msg_data ,
315: p_data => l_data,
324: pa_debug.reset_err_stack;
325: END IF;
326: RETURN;
327: ELSE
328: x_return_status:= FND_API.G_RET_STS_SUCCESS;
329: END IF;
330:
331: IF p_commit = FND_API.G_TRUE THEN
332: COMMIT;
327: ELSE
328: x_return_status:= FND_API.G_RET_STS_SUCCESS;
329: END IF;
330:
331: IF p_commit = FND_API.G_TRUE THEN
332: COMMIT;
333: END IF;
334:
335: IF l_enable_log = 'Y' THEN
340: WHEN OTHERS THEN
341:
342: l_err := SQLERRM;
343:
344: IF p_commit = FND_API.G_TRUE THEN
345: ROLLBACK TO COMPETENCE_PUB_UPD_COMP_ELE;
346: END IF;
347:
348: fnd_msg_pub.add_exc_msg
352: x_msg_count := 1;
353:
354: IF x_msg_count = 1 THEN
355: pa_interface_utils_pub.get_messages
356: (p_encoded => FND_API.G_TRUE,
357: p_msg_index => 1,
358: p_msg_count => x_msg_count ,
359: p_msg_data => l_msg_data ,
360: p_data => l_data,
362:
363: x_msg_data := l_data;
364: END IF;
365:
366: x_return_status:= FND_API.G_RET_STS_UNEXP_ERROR;
367:
368: END update_competence_element ;
369:
370: PROCEDURE delete_competence_element
367:
368: END update_competence_element ;
369:
370: PROCEDURE delete_competence_element
371: (p_person_id IN per_competence_elements.person_id%TYPE := FND_API.G_MISS_NUM,
372: p_competence_id IN per_competence_elements.competence_id%TYPE := FND_API.G_MISS_NUM,
373: p_element_id IN per_competence_elements.competence_element_id%TYPE := FND_API.G_MISS_NUM,
374: p_init_msg_list IN VARCHAR2 := FND_API.G_MISS_CHAR,
375: p_commit IN VARCHAR2 := FND_API.G_MISS_CHAR,
368: END update_competence_element ;
369:
370: PROCEDURE delete_competence_element
371: (p_person_id IN per_competence_elements.person_id%TYPE := FND_API.G_MISS_NUM,
372: p_competence_id IN per_competence_elements.competence_id%TYPE := FND_API.G_MISS_NUM,
373: p_element_id IN per_competence_elements.competence_element_id%TYPE := FND_API.G_MISS_NUM,
374: p_init_msg_list IN VARCHAR2 := FND_API.G_MISS_CHAR,
375: p_commit IN VARCHAR2 := FND_API.G_MISS_CHAR,
376: p_validate_only IN VARCHAR2 := FND_API.G_MISS_CHAR,
369:
370: PROCEDURE delete_competence_element
371: (p_person_id IN per_competence_elements.person_id%TYPE := FND_API.G_MISS_NUM,
372: p_competence_id IN per_competence_elements.competence_id%TYPE := FND_API.G_MISS_NUM,
373: p_element_id IN per_competence_elements.competence_element_id%TYPE := FND_API.G_MISS_NUM,
374: p_init_msg_list IN VARCHAR2 := FND_API.G_MISS_CHAR,
375: p_commit IN VARCHAR2 := FND_API.G_MISS_CHAR,
376: p_validate_only IN VARCHAR2 := FND_API.G_MISS_CHAR,
377: p_object_version_number IN NUMBER,
370: PROCEDURE delete_competence_element
371: (p_person_id IN per_competence_elements.person_id%TYPE := FND_API.G_MISS_NUM,
372: p_competence_id IN per_competence_elements.competence_id%TYPE := FND_API.G_MISS_NUM,
373: p_element_id IN per_competence_elements.competence_element_id%TYPE := FND_API.G_MISS_NUM,
374: p_init_msg_list IN VARCHAR2 := FND_API.G_MISS_CHAR,
375: p_commit IN VARCHAR2 := FND_API.G_MISS_CHAR,
376: p_validate_only IN VARCHAR2 := FND_API.G_MISS_CHAR,
377: p_object_version_number IN NUMBER,
378: x_return_status OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
371: (p_person_id IN per_competence_elements.person_id%TYPE := FND_API.G_MISS_NUM,
372: p_competence_id IN per_competence_elements.competence_id%TYPE := FND_API.G_MISS_NUM,
373: p_element_id IN per_competence_elements.competence_element_id%TYPE := FND_API.G_MISS_NUM,
374: p_init_msg_list IN VARCHAR2 := FND_API.G_MISS_CHAR,
375: p_commit IN VARCHAR2 := FND_API.G_MISS_CHAR,
376: p_validate_only IN VARCHAR2 := FND_API.G_MISS_CHAR,
377: p_object_version_number IN NUMBER,
378: x_return_status OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
379: x_msg_count OUT NOCOPY NUMBER, --File.Sql.39 bug 4440895
372: p_competence_id IN per_competence_elements.competence_id%TYPE := FND_API.G_MISS_NUM,
373: p_element_id IN per_competence_elements.competence_element_id%TYPE := FND_API.G_MISS_NUM,
374: p_init_msg_list IN VARCHAR2 := FND_API.G_MISS_CHAR,
375: p_commit IN VARCHAR2 := FND_API.G_MISS_CHAR,
376: p_validate_only IN VARCHAR2 := FND_API.G_MISS_CHAR,
377: p_object_version_number IN NUMBER,
378: x_return_status OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
379: x_msg_count OUT NOCOPY NUMBER, --File.Sql.39 bug 4440895
380: x_msg_data OUT NOCOPY VARCHAR2) --File.Sql.39 bug 4440895
378: x_return_status OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
379: x_msg_count OUT NOCOPY NUMBER, --File.Sql.39 bug 4440895
380: x_msg_data OUT NOCOPY VARCHAR2) --File.Sql.39 bug 4440895
381: IS
382: l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
383: l_err VARCHAR2(2000);
384: l_data VARCHAR2(500);
385: l_msg_data VARCHAR2(500);
386: l_msg_count NUMBER;
407: x_msg_count := 1;
408:
409: IF x_msg_count = 1 THEN
410: pa_interface_utils_pub.get_messages
411: (p_encoded => FND_API.G_TRUE,
412: p_msg_index => 1,
413: p_msg_count => l_msg_count ,
414: p_msg_data => l_msg_data ,
415: p_data => l_data,
417:
418: x_msg_data := l_data;
419: END IF;
420:
421: x_return_status:= FND_API.G_RET_STS_UNEXP_ERROR;
422: END;
423:
424: /* --------------------------------------------------------------------
425: PROCEDURE validate_attributes
441: -------------------------------------------------------------------- */
442: PROCEDURE validate_attributes
443: (
444: p_element_id IN NUMBER := null,
445: p_person_id IN per_competences.competence_id%TYPE := FND_API.G_MISS_NUM,
446: p_competence_id IN per_competences.competence_id%TYPE := FND_API.G_MISS_NUM,
447: p_competence_alias IN per_competences.competence_alias%TYPE := FND_API.G_MISS_CHAR,
448: p_competence_name IN per_competences.name%TYPE := FND_API.G_MISS_CHAR,
449: p_rating_level_id IN per_competence_elements.rating_level_id%TYPE := FND_API.G_MISS_NUM,
442: PROCEDURE validate_attributes
443: (
444: p_element_id IN NUMBER := null,
445: p_person_id IN per_competences.competence_id%TYPE := FND_API.G_MISS_NUM,
446: p_competence_id IN per_competences.competence_id%TYPE := FND_API.G_MISS_NUM,
447: p_competence_alias IN per_competences.competence_alias%TYPE := FND_API.G_MISS_CHAR,
448: p_competence_name IN per_competences.name%TYPE := FND_API.G_MISS_CHAR,
449: p_rating_level_id IN per_competence_elements.rating_level_id%TYPE := FND_API.G_MISS_NUM,
450: p_rating_level_value IN per_rating_levels.step_value%TYPE := FND_API.G_MISS_NUM,
443: (
444: p_element_id IN NUMBER := null,
445: p_person_id IN per_competences.competence_id%TYPE := FND_API.G_MISS_NUM,
446: p_competence_id IN per_competences.competence_id%TYPE := FND_API.G_MISS_NUM,
447: p_competence_alias IN per_competences.competence_alias%TYPE := FND_API.G_MISS_CHAR,
448: p_competence_name IN per_competences.name%TYPE := FND_API.G_MISS_CHAR,
449: p_rating_level_id IN per_competence_elements.rating_level_id%TYPE := FND_API.G_MISS_NUM,
450: p_rating_level_value IN per_rating_levels.step_value%TYPE := FND_API.G_MISS_NUM,
451: p_effective_date_from IN DATE := FND_API.G_MISS_DATE,
444: p_element_id IN NUMBER := null,
445: p_person_id IN per_competences.competence_id%TYPE := FND_API.G_MISS_NUM,
446: p_competence_id IN per_competences.competence_id%TYPE := FND_API.G_MISS_NUM,
447: p_competence_alias IN per_competences.competence_alias%TYPE := FND_API.G_MISS_CHAR,
448: p_competence_name IN per_competences.name%TYPE := FND_API.G_MISS_CHAR,
449: p_rating_level_id IN per_competence_elements.rating_level_id%TYPE := FND_API.G_MISS_NUM,
450: p_rating_level_value IN per_rating_levels.step_value%TYPE := FND_API.G_MISS_NUM,
451: p_effective_date_from IN DATE := FND_API.G_MISS_DATE,
452: p_operation IN VARCHAR2,
445: p_person_id IN per_competences.competence_id%TYPE := FND_API.G_MISS_NUM,
446: p_competence_id IN per_competences.competence_id%TYPE := FND_API.G_MISS_NUM,
447: p_competence_alias IN per_competences.competence_alias%TYPE := FND_API.G_MISS_CHAR,
448: p_competence_name IN per_competences.name%TYPE := FND_API.G_MISS_CHAR,
449: p_rating_level_id IN per_competence_elements.rating_level_id%TYPE := FND_API.G_MISS_NUM,
450: p_rating_level_value IN per_rating_levels.step_value%TYPE := FND_API.G_MISS_NUM,
451: p_effective_date_from IN DATE := FND_API.G_MISS_DATE,
452: p_operation IN VARCHAR2,
453: x_return_status OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
446: p_competence_id IN per_competences.competence_id%TYPE := FND_API.G_MISS_NUM,
447: p_competence_alias IN per_competences.competence_alias%TYPE := FND_API.G_MISS_CHAR,
448: p_competence_name IN per_competences.name%TYPE := FND_API.G_MISS_CHAR,
449: p_rating_level_id IN per_competence_elements.rating_level_id%TYPE := FND_API.G_MISS_NUM,
450: p_rating_level_value IN per_rating_levels.step_value%TYPE := FND_API.G_MISS_NUM,
451: p_effective_date_from IN DATE := FND_API.G_MISS_DATE,
452: p_operation IN VARCHAR2,
453: x_return_status OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
454: x_competence_id OUT NOCOPY per_competences.competence_id%TYPE, --File.Sql.39 bug 4440895
447: p_competence_alias IN per_competences.competence_alias%TYPE := FND_API.G_MISS_CHAR,
448: p_competence_name IN per_competences.name%TYPE := FND_API.G_MISS_CHAR,
449: p_rating_level_id IN per_competence_elements.rating_level_id%TYPE := FND_API.G_MISS_NUM,
450: p_rating_level_value IN per_rating_levels.step_value%TYPE := FND_API.G_MISS_NUM,
451: p_effective_date_from IN DATE := FND_API.G_MISS_DATE,
452: p_operation IN VARCHAR2,
453: x_return_status OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
454: x_competence_id OUT NOCOPY per_competences.competence_id%TYPE, --File.Sql.39 bug 4440895
455: x_rating_level_id OUT NOCOPY per_competence_elements.rating_level_id%TYPE, --File.Sql.39 bug 4440895
477:
478: IF l_enable_log = 'Y' THEN
479: pa_debug.init_err_stack ('PA_COMP_PROFILE_PUB.standard_pub_checks');
480: END IF;
481: x_return_status:= FND_API.G_RET_STS_SUCCESS;
482:
483: -- Check whether competence alias or id is passed and call competence utils
484: -- to validate
485:
483: -- Check whether competence alias or id is passed and call competence utils
484: -- to validate
485:
486: l_in_competence_id := p_competence_id;
487: IF l_in_competence_id = FND_API.G_MISS_NUM THEN
488: l_in_competence_id := NULL;
489: END IF;
490:
491: -- angie had commented out following three lines to fix bug 1569499 which was not
491: -- angie had commented out following three lines to fix bug 1569499 which was not
492: -- correct. So uncommented out again.
493: l_in_rating_level_id := p_rating_level_id;
494:
495: IF l_in_rating_level_id = FND_API.G_MISS_NUM THEN
496: l_in_rating_level_id := NULL;
497: END IF;
498:
499: l_in_competence_alias := p_competence_alias;
497: END IF;
498:
499: l_in_competence_alias := p_competence_alias;
500:
501: IF l_in_competence_alias = FND_API.G_MISS_CHAR THEN
502: l_in_competence_alias := NULL;
503: END IF;
504:
505: l_in_competence_name := p_competence_name;
503: END IF;
504:
505: l_in_competence_name := p_competence_name;
506:
507: IF l_in_competence_name = FND_API.G_MISS_CHAR THEN
508: l_in_competence_name := NULL;
509: END IF;
510:
511: l_in_rating_level_value := p_rating_level_value;
509: END IF;
510:
511: l_in_rating_level_value := p_rating_level_value;
512:
513: IF l_in_rating_level_value = FND_API.G_MISS_NUM THEN
514: l_in_rating_level_value := NULL;
515: END IF;
516:
517: IF p_operation = 'INSERT' THEN
524: WHERE name = l_in_competence_name
525: AND competence_alias = l_in_competence_alias;
526: EXCEPTION
527: WHEN NO_DATA_FOUND THEN
528: l_return_status := FND_API.G_RET_STS_ERROR;
529: PA_COMP_PROFILE_PVT.Check_Error
530: (p_return_status => l_return_status,
531: p_error_message_code => 'PA_PRM_INVALID_ALIAS');
532:
550: IF (nvl(l_in_competence_name,l_old_comp_name) <> l_old_comp_name) OR
551: (nvl(l_in_competence_alias,l_old_comp_alias) <> l_old_comp_alias) OR
552: (nvl(l_in_competence_id,l_old_competence_id) <> l_old_competence_id)
553: THEN
554: l_return_status := FND_API.G_RET_STS_ERROR;
555: PA_COMP_PROFILE_PVT.Check_Error
556: (p_return_status => l_return_status,
557: p_error_message_code => 'PA_PRM_CANNOT_UPD_COMP');
558: END IF;
558: END IF;
559: END IF;
560: END IF;
561:
562: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
563: x_return_status:= FND_API.G_RET_STS_ERROR;
564: IF l_enable_log = 'Y' THEN
565: pa_debug.reset_err_stack;
566: END IF;
559: END IF;
560: END IF;
561:
562: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
563: x_return_status:= FND_API.G_RET_STS_ERROR;
564: IF l_enable_log = 'Y' THEN
565: pa_debug.reset_err_stack;
566: END IF;
567: RETURN;
586:
587: --If the return status is invalid, we cannot proceed further
588: -- All further validations require a competency id to be present
589:
590: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
591: x_return_status:= FND_API.G_RET_STS_ERROR;
592: IF l_enable_log = 'Y' THEN
593: pa_debug.reset_err_stack;
594: END IF;
587: --If the return status is invalid, we cannot proceed further
588: -- All further validations require a competency id to be present
589:
590: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
591: x_return_status:= FND_API.G_RET_STS_ERROR;
592: IF l_enable_log = 'Y' THEN
593: pa_debug.reset_err_stack;
594: END IF;
595: RETURN;
607: WHERE competence_element_id = p_element_id;
608:
609: IF l_old_competence_id <> l_competence_id THEN
610: PA_COMP_PROFILE_PVT.Check_Error
611: (p_return_status => FND_API.G_RET_STS_ERROR,
612: p_error_message_code => 'PA_PRM_CANNOT_UPD_COMP');
613: END IF;
614: EXCEPTION
615: WHEN OTHERS THEN
620:
621: x_competence_id := l_competence_id;
622:
623: IF p_effective_date_from is null OR
624: p_effective_date_from = FND_API.G_MISS_DATE THEN
625: x_effective_date_from := trunc(sysdate);
626: ELSE
627: x_effective_date_from := p_effective_date_from;
628: END IF;
639: WHERE x_effective_date_from BETWEEN date_from AND NVL(date_to,x_effective_date_from)
640: AND competence_id=x_competence_id;
641: EXCEPTION
642: WHEN NO_DATA_FOUND THEN
643: l_return_status := FND_API.G_RET_STS_ERROR;
644: PA_COMP_PROFILE_PVT.Check_Error
645: (p_return_status => l_return_status,
646: p_error_message_code => 'PA_PRM_INVALID_DATE');
647: END;
645: (p_return_status => l_return_status,
646: p_error_message_code => 'PA_PRM_INVALID_DATE');
647: END;
648:
649: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
650: x_return_status:= FND_API.G_RET_STS_ERROR;
651: IF l_enable_log = 'Y' THEN
652: pa_debug.reset_err_stack;
653: END IF;
646: p_error_message_code => 'PA_PRM_INVALID_DATE');
647: END;
648:
649: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
650: x_return_status:= FND_API.G_RET_STS_ERROR;
651: IF l_enable_log = 'Y' THEN
652: pa_debug.reset_err_stack;
653: END IF;
654: RETURN;
685: (p_return_status => l_return_status,
686: p_error_message_code => l_error_message_code );
687:
688: IF PA_COMP_PROFILE_PVT.g_noof_errors > 0 THEN
689: x_return_status:= FND_API.G_RET_STS_ERROR;
690: ELSE
691: x_return_status:= FND_API.G_RET_STS_SUCCESS;
692: END IF;
693: IF l_enable_log = 'Y' THEN
687:
688: IF PA_COMP_PROFILE_PVT.g_noof_errors > 0 THEN
689: x_return_status:= FND_API.G_RET_STS_ERROR;
690: ELSE
691: x_return_status:= FND_API.G_RET_STS_SUCCESS;
692: END IF;
693: IF l_enable_log = 'Y' THEN
694: pa_debug.reset_err_stack;
695: END IF;
702: x_rating_level_id := NULL ;
703: x_effective_date_from := NULL ;
704: x_competence_id := NULL ;
705:
706: x_return_status:= FND_API.G_RET_STS_UNEXP_ERROR;
707: RAISE;
708: END validate_attributes;
709:
710: Procedure Start_Approval_Process
729: actid in number,
730: funcmode in varchar2,
731: resultout in out NOCOPY varchar2) --File.Sql.39 bug 4440895
732: IS
733: l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
734: l_msg_count NUMBER;
735: l_msg_data VARCHAR2(2000);
736: l_enable_log varchar2(1) := NVL(FND_PROFILE.value('PA_DEBUG_MODE'), 'N');
737: BEGIN
772: actid in number,
773: funcmode in varchar2,
774: resultout in out NOCOPY varchar2) --File.Sql.39 bug 4440895
775: IS
776: l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
777: l_msg_count NUMBER;
778: l_msg_data VARCHAR2(2000);
779: l_enable_log varchar2(1) := NVL(FND_PROFILE.value('PA_DEBUG_MODE'), 'N');
780: BEGIN