9: -- Type : Public
10: -- Pre-reqs : None.
11: PROCEDURE COPY_USER_ATTRS_DATA
12: ( p_api_version IN NUMBER := 1.0
13: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
14: ,p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE
15: ,p_debug_mode IN VARCHAR2 := 'N'
16: ,p_object_id_from IN NUMBER
17: ,p_object_id_to IN NUMBER
10: -- Pre-reqs : None.
11: PROCEDURE COPY_USER_ATTRS_DATA
12: ( p_api_version IN NUMBER := 1.0
13: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
14: ,p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE
15: ,p_debug_mode IN VARCHAR2 := 'N'
16: ,p_object_id_from IN NUMBER
17: ,p_object_id_to IN NUMBER
18: ,p_object_type IN VARCHAR2
119: if (p_debug_mode = 'Y') then
120: pa_debug.debug('PA_USER_ATTR_PUB.Copy_User_Attrs_Data BEGIN');
121: end if;
122:
123: if not FND_API.COMPATIBLE_API_CALL(l_api_version, p_api_version, l_api_name, g_pkg_name) then
124: raise FND_API.G_EXC_UNEXPECTED_ERROR;
125: end if;
126:
127: if p_commit = FND_API.G_TRUE then
120: pa_debug.debug('PA_USER_ATTR_PUB.Copy_User_Attrs_Data BEGIN');
121: end if;
122:
123: if not FND_API.COMPATIBLE_API_CALL(l_api_version, p_api_version, l_api_name, g_pkg_name) then
124: raise FND_API.G_EXC_UNEXPECTED_ERROR;
125: end if;
126:
127: if p_commit = FND_API.G_TRUE then
128: savepoint copy_user_attrs_data;
123: if not FND_API.COMPATIBLE_API_CALL(l_api_version, p_api_version, l_api_name, g_pkg_name) then
124: raise FND_API.G_EXC_UNEXPECTED_ERROR;
125: end if;
126:
127: if p_commit = FND_API.G_TRUE then
128: savepoint copy_user_attrs_data;
129: end if;
130:
131: if FND_API.TO_BOOLEAN(nvl(p_init_msg_list,FND_API.G_FALSE)) then
127: if p_commit = FND_API.G_TRUE then
128: savepoint copy_user_attrs_data;
129: end if;
130:
131: if FND_API.TO_BOOLEAN(nvl(p_init_msg_list,FND_API.G_FALSE)) then
132: FND_MSG_PUB.initialize;
133: end if;
134:
135: if p_object_type = 'PA_PROJECTS' then
147: ,p_old_pk_col_value_pairs => l_orig_proj_pk_value_pairs
148: ,p_old_dtlevel_col_value_pairs => l_orig_task_pk_value_pairs
149: ,p_new_pk_col_value_pairs => l_new_proj_pk_value_pairs
150: ,p_new_dtlevel_col_value_pairs => l_new_task_pk_value_pairs
151: ,p_commit => FND_API.G_FALSE
152: ,x_return_status => l_return_status
153: ,x_errorcode => l_errorcode
154: ,x_msg_count => l_msg_count
155: ,x_msg_data => l_msg_data );
153: ,x_errorcode => l_errorcode
154: ,x_msg_count => l_msg_count
155: ,x_msg_data => l_msg_data );
156:
157: if l_return_status <> FND_API.G_RET_STS_SUCCESS then
158: x_msg_count := FND_MSG_PUB.count_msg;
159: if x_msg_count = 1 then
160: pa_interface_utils_pub.get_messages
161: (p_encoded => FND_API.G_TRUE,
157: if l_return_status <> FND_API.G_RET_STS_SUCCESS then
158: x_msg_count := FND_MSG_PUB.count_msg;
159: if x_msg_count = 1 then
160: pa_interface_utils_pub.get_messages
161: (p_encoded => FND_API.G_TRUE,
162: p_msg_index => 1,
163: p_msg_count => l_msg_count,
164: p_msg_data => l_msg_data,
165: p_data => l_data,
165: p_data => l_data,
166: p_msg_index_out => l_msg_index_out);
167: x_msg_data := l_data;
168: end if;
169: raise FND_API.G_EXC_ERROR;
170: end if;
171:
172: OPEN get_proj_elements(p_object_id_from);
173: LOOP
187: ,p_old_pk_col_value_pairs => l_orig_proj_pk_value_pairs
188: ,p_old_dtlevel_col_value_pairs => l_orig_task_pk_value_pairs
189: ,p_new_pk_col_value_pairs => l_new_proj_pk_value_pairs
190: ,p_new_dtlevel_col_value_pairs => l_new_task_pk_value_pairs
191: ,p_commit => FND_API.G_FALSE
192: ,x_return_status => l_return_status
193: ,x_errorcode => l_errorcode
194: ,x_msg_count => l_msg_count
195: ,x_msg_data => l_msg_data );
193: ,x_errorcode => l_errorcode
194: ,x_msg_count => l_msg_count
195: ,x_msg_data => l_msg_data );
196:
197: if l_return_status <> FND_API.G_RET_STS_SUCCESS then
198: x_msg_count := FND_MSG_PUB.count_msg;
199: if x_msg_count = 1 then
200: pa_interface_utils_pub.get_messages
201: (p_encoded => FND_API.G_TRUE,
197: if l_return_status <> FND_API.G_RET_STS_SUCCESS then
198: x_msg_count := FND_MSG_PUB.count_msg;
199: if x_msg_count = 1 then
200: pa_interface_utils_pub.get_messages
201: (p_encoded => FND_API.G_TRUE,
202: p_msg_index => 1,
203: p_msg_count => l_msg_count,
204: p_msg_data => l_msg_data,
205: p_data => l_data,
205: p_data => l_data,
206: p_msg_index_out => l_msg_index_out);
207: x_msg_data := l_data;
208: end if;
209: raise FND_API.G_EXC_ERROR;
210: end if;
211:
212: end if;
213: CLOSE get_new_proj_element_id;
230: FETCH get_category_id INTO l_category_id;
231: CLOSE get_category_id;
232:
233: PA_USER_ATTR_PUB.DELETE_USER_ATTRS_DATA (
234: p_validate_only => FND_API.G_FALSE
235: ,p_project_id => p_object_id_to
236: ,p_old_classification_id => l_category_id
237: ,p_classification_type => 'CLASS_CATEGORY'
238: ,x_return_status => l_return_status
238: ,x_return_status => l_return_status
239: ,x_msg_count => l_msg_count
240: ,x_msg_data => l_msg_data );
241:
242: if l_return_status <> FND_API.G_RET_STS_SUCCESS then
243: x_msg_count := FND_MSG_PUB.count_msg;
244: if x_msg_count = 1 then
245: pa_interface_utils_pub.get_messages
246: (p_encoded => FND_API.G_TRUE,
242: if l_return_status <> FND_API.G_RET_STS_SUCCESS then
243: x_msg_count := FND_MSG_PUB.count_msg;
244: if x_msg_count = 1 then
245: pa_interface_utils_pub.get_messages
246: (p_encoded => FND_API.G_TRUE,
247: p_msg_index => 1,
248: p_msg_count => l_msg_count,
249: p_msg_data => l_msg_data,
250: p_data => l_data,
250: p_data => l_data,
251: p_msg_index_out => l_msg_index_out);
252: x_msg_data := l_data;
253: end if;
254: raise FND_API.G_EXC_ERROR;
255: end if;
256: end if;
257: CLOSE check_category_removed;
258:
265: FETCH get_code_id INTO l_code_id;
266: CLOSE get_code_id;
267:
268: PA_USER_ATTR_PUB.DELETE_USER_ATTRS_DATA (
269: p_validate_only => FND_API.G_FALSE
270: ,p_project_id => p_object_id_to
271: ,p_old_classification_id => l_code_id
272: ,p_classification_type => 'CLASS_CODE'
273: ,x_return_status => l_return_status
273: ,x_return_status => l_return_status
274: ,x_msg_count => l_msg_count
275: ,x_msg_data => l_msg_data );
276:
277: if l_return_status <> FND_API.G_RET_STS_SUCCESS then
278: x_msg_count := FND_MSG_PUB.count_msg;
279: if x_msg_count = 1 then
280: pa_interface_utils_pub.get_messages
281: (p_encoded => FND_API.G_TRUE,
277: if l_return_status <> FND_API.G_RET_STS_SUCCESS then
278: x_msg_count := FND_MSG_PUB.count_msg;
279: if x_msg_count = 1 then
280: pa_interface_utils_pub.get_messages
281: (p_encoded => FND_API.G_TRUE,
282: p_msg_index => 1,
283: p_msg_count => l_msg_count,
284: p_msg_data => l_msg_data,
285: p_data => l_data,
285: p_data => l_data,
286: p_msg_index_out => l_msg_index_out);
287: x_msg_data := l_data;
288: end if;
289: raise FND_API.G_EXC_ERROR;
290: end if;
291:
292: END LOOP;
293: CLOSE get_codes;
296: CLOSE get_categories;
297:
298: end if;
299:
300: x_return_status := FND_API.G_RET_STS_SUCCESS;
301:
302: if p_commit = FND_API.G_TRUE then
303: commit work;
304: end if;
298: end if;
299:
300: x_return_status := FND_API.G_RET_STS_SUCCESS;
301:
302: if p_commit = FND_API.G_TRUE then
303: commit work;
304: end if;
305:
306: if (p_debug_mode = 'Y') then
307: pa_debug.debug('PA_USER_ATTR_PUB.Copy_User_Attrs_Data END');
308: end if;
309:
310: EXCEPTION
311: when FND_API.G_EXC_ERROR then
312: if p_commit = FND_API.G_TRUE then
313: rollback to copy_user_attrs_data;
314: end if;
315: x_errorcode := l_errorcode;
308: end if;
309:
310: EXCEPTION
311: when FND_API.G_EXC_ERROR then
312: if p_commit = FND_API.G_TRUE then
313: rollback to copy_user_attrs_data;
314: end if;
315: x_errorcode := l_errorcode;
316: x_return_status := FND_API.G_RET_STS_ERROR;
312: if p_commit = FND_API.G_TRUE then
313: rollback to copy_user_attrs_data;
314: end if;
315: x_errorcode := l_errorcode;
316: x_return_status := FND_API.G_RET_STS_ERROR;
317: when FND_API.G_EXC_UNEXPECTED_ERROR then
318: if p_commit = FND_API.G_TRUE then
319: rollback to copy_user_attrs_data;
320: end if;
313: rollback to copy_user_attrs_data;
314: end if;
315: x_errorcode := l_errorcode;
316: x_return_status := FND_API.G_RET_STS_ERROR;
317: when FND_API.G_EXC_UNEXPECTED_ERROR then
318: if p_commit = FND_API.G_TRUE then
319: rollback to copy_user_attrs_data;
320: end if;
321: x_errorcode := l_errorcode;
314: end if;
315: x_errorcode := l_errorcode;
316: x_return_status := FND_API.G_RET_STS_ERROR;
317: when FND_API.G_EXC_UNEXPECTED_ERROR then
318: if p_commit = FND_API.G_TRUE then
319: rollback to copy_user_attrs_data;
320: end if;
321: x_errorcode := l_errorcode;
322: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
318: if p_commit = FND_API.G_TRUE then
319: rollback to copy_user_attrs_data;
320: end if;
321: x_errorcode := l_errorcode;
322: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
323: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_USER_ATTR_PUB',
324: p_procedure_name => 'Copy_User_Attrs_Data',
325: p_error_text => SUBSTRB(SQLERRM,1,240));
326: when OTHERS then
323: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_USER_ATTR_PUB',
324: p_procedure_name => 'Copy_User_Attrs_Data',
325: p_error_text => SUBSTRB(SQLERRM,1,240));
326: when OTHERS then
327: if p_commit = FND_API.G_TRUE then
328: rollback to copy_user_attrs_data;
329: end if;
330: x_errorcode := l_errorcode;
331: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
327: if p_commit = FND_API.G_TRUE then
328: rollback to copy_user_attrs_data;
329: end if;
330: x_errorcode := l_errorcode;
331: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
332: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_USER_ATTR_PUB',
333: p_procedure_name => 'Copy_User_Attrs_Data',
334: p_error_text => SUBSTRB(SQLERRM,1,240));
335: raise;
341: -- Pre-reqs : None.
342:
343: PROCEDURE DELETE_USER_ATTRS_DATA
344: ( p_api_version IN NUMBER := 1.0
345: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
346: ,p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE
347: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
348: ,p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
349: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
342:
343: PROCEDURE DELETE_USER_ATTRS_DATA
344: ( p_api_version IN NUMBER := 1.0
345: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
346: ,p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE
347: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
348: ,p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
349: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
350: ,p_debug_mode IN VARCHAR2 := 'N'
343: PROCEDURE DELETE_USER_ATTRS_DATA
344: ( p_api_version IN NUMBER := 1.0
345: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
346: ,p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE
347: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
348: ,p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
349: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
350: ,p_debug_mode IN VARCHAR2 := 'N'
351: ,p_project_id IN NUMBER
344: ( p_api_version IN NUMBER := 1.0
345: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
346: ,p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE
347: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
348: ,p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
349: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
350: ,p_debug_mode IN VARCHAR2 := 'N'
351: ,p_project_id IN NUMBER
352: ,p_proj_element_id IN NUMBER DEFAULT NULL
374: if (p_debug_mode = 'Y') then
375: pa_debug.debug('PA_USER_ATTR_PUB.Delete_User_Attrs_Data BEGIN');
376: end if;
377:
378: if not FND_API.COMPATIBLE_API_CALL(l_api_version, p_api_version, l_api_name, g_pkg_name) then
379: raise FND_API.G_EXC_UNEXPECTED_ERROR;
380: end if;
381:
382: if p_commit = FND_API.G_TRUE then
375: pa_debug.debug('PA_USER_ATTR_PUB.Delete_User_Attrs_Data BEGIN');
376: end if;
377:
378: if not FND_API.COMPATIBLE_API_CALL(l_api_version, p_api_version, l_api_name, g_pkg_name) then
379: raise FND_API.G_EXC_UNEXPECTED_ERROR;
380: end if;
381:
382: if p_commit = FND_API.G_TRUE then
383: savepoint delete_user_attrs_data;
378: if not FND_API.COMPATIBLE_API_CALL(l_api_version, p_api_version, l_api_name, g_pkg_name) then
379: raise FND_API.G_EXC_UNEXPECTED_ERROR;
380: end if;
381:
382: if p_commit = FND_API.G_TRUE then
383: savepoint delete_user_attrs_data;
384: end if;
385:
386: if FND_API.TO_BOOLEAN(nvl(p_init_msg_list,FND_API.G_FALSE)) then
382: if p_commit = FND_API.G_TRUE then
383: savepoint delete_user_attrs_data;
384: end if;
385:
386: if FND_API.TO_BOOLEAN(nvl(p_init_msg_list,FND_API.G_FALSE)) then
387: FND_MSG_PUB.initialize;
388: end if;
389:
390: PA_USER_ATTR_PVT.DELETE_USER_ATTRS_DATA (
387: FND_MSG_PUB.initialize;
388: end if;
389:
390: PA_USER_ATTR_PVT.DELETE_USER_ATTRS_DATA (
391: p_commit => FND_API.G_FALSE
392: ,p_validate_only => p_validate_only
393: ,p_validation_level => p_validation_level
394: ,p_calling_module => p_calling_module
395: ,p_debug_mode => p_debug_mode
401: ,x_return_status => l_return_status
402: ,x_msg_count => l_msg_count
403: ,x_msg_data => l_msg_data );
404:
405: if l_return_status <> FND_API.G_RET_STS_SUCCESS then
406: x_msg_count := FND_MSG_PUB.count_msg;
407: if x_msg_count = 1 then
408: pa_interface_utils_pub.get_messages
409: (p_encoded => FND_API.G_TRUE,
405: if l_return_status <> FND_API.G_RET_STS_SUCCESS then
406: x_msg_count := FND_MSG_PUB.count_msg;
407: if x_msg_count = 1 then
408: pa_interface_utils_pub.get_messages
409: (p_encoded => FND_API.G_TRUE,
410: p_msg_index => 1,
411: p_msg_count => l_msg_count,
412: p_msg_data => l_msg_data,
413: p_data => l_data,
413: p_data => l_data,
414: p_msg_index_out => l_msg_index_out);
415: x_msg_data := l_data;
416: end if;
417: raise FND_API.G_EXC_ERROR;
418: end if;
419:
420: x_return_status := FND_API.G_RET_STS_SUCCESS;
421:
416: end if;
417: raise FND_API.G_EXC_ERROR;
418: end if;
419:
420: x_return_status := FND_API.G_RET_STS_SUCCESS;
421:
422: if p_commit = FND_API.G_TRUE then
423: commit work;
424: end if;
418: end if;
419:
420: x_return_status := FND_API.G_RET_STS_SUCCESS;
421:
422: if p_commit = FND_API.G_TRUE then
423: commit work;
424: end if;
425:
426: if (p_debug_mode = 'Y') then
427: pa_debug.debug('PA_USER_ATTR_PUB.Delete_User_Attrs_Data END');
428: end if;
429:
430: EXCEPTION
431: when FND_API.G_EXC_ERROR then
432: if p_commit = FND_API.G_TRUE then
433: rollback to delete_user_attrs_data;
434: end if;
435: x_return_status := FND_API.G_RET_STS_ERROR;
428: end if;
429:
430: EXCEPTION
431: when FND_API.G_EXC_ERROR then
432: if p_commit = FND_API.G_TRUE then
433: rollback to delete_user_attrs_data;
434: end if;
435: x_return_status := FND_API.G_RET_STS_ERROR;
436: when FND_API.G_EXC_UNEXPECTED_ERROR then
431: when FND_API.G_EXC_ERROR then
432: if p_commit = FND_API.G_TRUE then
433: rollback to delete_user_attrs_data;
434: end if;
435: x_return_status := FND_API.G_RET_STS_ERROR;
436: when FND_API.G_EXC_UNEXPECTED_ERROR then
437: if p_commit = FND_API.G_TRUE then
438: rollback to delete_user_attrs_data;
439: end if;
432: if p_commit = FND_API.G_TRUE then
433: rollback to delete_user_attrs_data;
434: end if;
435: x_return_status := FND_API.G_RET_STS_ERROR;
436: when FND_API.G_EXC_UNEXPECTED_ERROR then
437: if p_commit = FND_API.G_TRUE then
438: rollback to delete_user_attrs_data;
439: end if;
440: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
433: rollback to delete_user_attrs_data;
434: end if;
435: x_return_status := FND_API.G_RET_STS_ERROR;
436: when FND_API.G_EXC_UNEXPECTED_ERROR then
437: if p_commit = FND_API.G_TRUE then
438: rollback to delete_user_attrs_data;
439: end if;
440: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
441: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_USER_ATTR_PUB',
436: when FND_API.G_EXC_UNEXPECTED_ERROR then
437: if p_commit = FND_API.G_TRUE then
438: rollback to delete_user_attrs_data;
439: end if;
440: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
441: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_USER_ATTR_PUB',
442: p_procedure_name => 'Delete_User_Attrs_Data',
443: p_error_text => SUBSTRB(SQLERRM,1,240));
444: when OTHERS then
441: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_USER_ATTR_PUB',
442: p_procedure_name => 'Delete_User_Attrs_Data',
443: p_error_text => SUBSTRB(SQLERRM,1,240));
444: when OTHERS then
445: if p_commit = FND_API.G_TRUE then
446: rollback to delete_user_attrs_data;
447: end if;
448: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
449: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_USER_ATTR_PUB',
444: when OTHERS then
445: if p_commit = FND_API.G_TRUE then
446: rollback to delete_user_attrs_data;
447: end if;
448: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
449: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_USER_ATTR_PUB',
450: p_procedure_name => 'Delete_User_Attrs_Data',
451: p_error_text => SUBSTRB(SQLERRM,1,240));
452: raise;
509: WHERE attr_group_id = p_attr_group_id;
510:
511: BEGIN
512:
513: if not FND_API.COMPATIBLE_API_CALL(l_api_version, p_api_version, l_api_name, g_pkg_name) then
514: raise FND_API.G_EXC_UNEXPECTED_ERROR;
515: end if;
516:
517: OPEN exists_in_ext_tbl;
510:
511: BEGIN
512:
513: if not FND_API.COMPATIBLE_API_CALL(l_api_version, p_api_version, l_api_name, g_pkg_name) then
514: raise FND_API.G_EXC_UNEXPECTED_ERROR;
515: end if;
516:
517: OPEN exists_in_ext_tbl;
518: FETCH exists_in_ext_tbl INTO l_dummy;
517: OPEN exists_in_ext_tbl;
518: FETCH exists_in_ext_tbl INTO l_dummy;
519:
520: if exists_in_ext_tbl%NOTFOUND then
521: x_ok_to_delete := FND_API.G_TRUE;
522: else
523: OPEN get_assoc_date;
524: FETCH get_assoc_date INTO l_assoc_date;
525: CLOSE get_assoc_date;
528: FETCH get_max_ext_date INTO l_max_ext_date;
529: CLOSE get_max_ext_date;
530:
531: if l_assoc_date > l_max_ext_date then
532: x_ok_to_delete := FND_API.G_TRUE;
533: else
534: x_ok_to_delete := FND_API.G_FALSE;
535: PA_UTILS.Add_Message( p_app_short_name => 'PA'
536: ,p_msg_name => 'PA_EXT_CANT_DEL_ASSOC');
530:
531: if l_assoc_date > l_max_ext_date then
532: x_ok_to_delete := FND_API.G_TRUE;
533: else
534: x_ok_to_delete := FND_API.G_FALSE;
535: PA_UTILS.Add_Message( p_app_short_name => 'PA'
536: ,p_msg_name => 'PA_EXT_CANT_DEL_ASSOC');
537:
538: end if;
542: if l_msg_count > 0 then
543: x_msg_count := l_msg_count;
544: if x_msg_count = 1 then
545: pa_interface_utils_pub.get_messages
546: (p_encoded => FND_API.G_TRUE,
547: p_msg_index => 1,
548: p_msg_count => l_msg_count,
549: p_msg_data => l_msg_data,
550: p_data => l_data,
550: p_data => l_data,
551: p_msg_index_out => l_msg_index_out);
552: x_msg_data := l_data;
553: end if;
554: x_return_status := FND_API.G_RET_STS_ERROR;
555: else
556: x_return_status := FND_API.G_RET_STS_SUCCESS;
557: end if;
558:
552: x_msg_data := l_data;
553: end if;
554: x_return_status := FND_API.G_RET_STS_ERROR;
555: else
556: x_return_status := FND_API.G_RET_STS_SUCCESS;
557: end if;
558:
559: EXCEPTION
560: when OTHERS then
557: end if;
558:
559: EXCEPTION
560: when OTHERS then
561: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
562: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_USER_ATTR_PUB',
563: p_procedure_name => 'Check_Delete_Assoc_Ok',
564: p_error_text => SUBSTRB(SQLERRM,1,240));
565: x_ok_to_delete := FND_API.G_FALSE;
561: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
562: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_USER_ATTR_PUB',
563: p_procedure_name => 'Check_Delete_Assoc_Ok',
564: p_error_text => SUBSTRB(SQLERRM,1,240));
565: x_ok_to_delete := FND_API.G_FALSE;
566: raise;
567: END CHECK_DELETE_ASSOC_OK;
568:
569:
573: -- Pre-reqs : None.
574:
575: PROCEDURE DELETE_ALL_USER_ATTRS_DATA
576: ( p_api_version IN NUMBER := 1.0
577: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
578: ,p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE
579: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
580: ,p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
581: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
574:
575: PROCEDURE DELETE_ALL_USER_ATTRS_DATA
576: ( p_api_version IN NUMBER := 1.0
577: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
578: ,p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE
579: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
580: ,p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
581: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
582: ,p_debug_mode IN VARCHAR2 := 'N'
575: PROCEDURE DELETE_ALL_USER_ATTRS_DATA
576: ( p_api_version IN NUMBER := 1.0
577: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
578: ,p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE
579: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
580: ,p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
581: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
582: ,p_debug_mode IN VARCHAR2 := 'N'
583: ,p_project_id IN NUMBER
576: ( p_api_version IN NUMBER := 1.0
577: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
578: ,p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE
579: ,p_validate_only IN VARCHAR2 := FND_API.G_TRUE
580: ,p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
581: ,p_calling_module IN VARCHAR2 := 'SELF_SERVICE'
582: ,p_debug_mode IN VARCHAR2 := 'N'
583: ,p_project_id IN NUMBER
584: ,p_proj_element_id IN NUMBER DEFAULT NULL
603: if (p_debug_mode = 'Y') then
604: pa_debug.debug('PA_USER_ATTR_PUB.Delete_All_User_Attrs_Data BEGIN');
605: end if;
606:
607: if not FND_API.COMPATIBLE_API_CALL(l_api_version, p_api_version, l_api_name, g_pkg_name) then
608: raise FND_API.G_EXC_UNEXPECTED_ERROR;
609: end if;
610:
611: if p_commit = FND_API.G_TRUE then
604: pa_debug.debug('PA_USER_ATTR_PUB.Delete_All_User_Attrs_Data BEGIN');
605: end if;
606:
607: if not FND_API.COMPATIBLE_API_CALL(l_api_version, p_api_version, l_api_name, g_pkg_name) then
608: raise FND_API.G_EXC_UNEXPECTED_ERROR;
609: end if;
610:
611: if p_commit = FND_API.G_TRUE then
612: savepoint delete_all_user_attrs_data;
607: if not FND_API.COMPATIBLE_API_CALL(l_api_version, p_api_version, l_api_name, g_pkg_name) then
608: raise FND_API.G_EXC_UNEXPECTED_ERROR;
609: end if;
610:
611: if p_commit = FND_API.G_TRUE then
612: savepoint delete_all_user_attrs_data;
613: end if;
614:
615: if FND_API.TO_BOOLEAN(nvl(p_init_msg_list,FND_API.G_FALSE)) then
611: if p_commit = FND_API.G_TRUE then
612: savepoint delete_all_user_attrs_data;
613: end if;
614:
615: if FND_API.TO_BOOLEAN(nvl(p_init_msg_list,FND_API.G_FALSE)) then
616: FND_MSG_PUB.initialize;
617: end if;
618:
619: PA_USER_ATTR_PVT.DELETE_ALL_USER_ATTRS_DATA (
616: FND_MSG_PUB.initialize;
617: end if;
618:
619: PA_USER_ATTR_PVT.DELETE_ALL_USER_ATTRS_DATA (
620: p_commit => FND_API.G_FALSE
621: ,p_validate_only => p_validate_only
622: ,p_validation_level => p_validation_level
623: ,p_calling_module => p_calling_module
624: ,p_debug_mode => p_debug_mode
627: ,x_return_status => l_return_status
628: ,x_msg_count => l_msg_count
629: ,x_msg_data => l_msg_data );
630:
631: if l_return_status <> FND_API.G_RET_STS_SUCCESS then
632: x_msg_count := FND_MSG_PUB.count_msg;
633: if x_msg_count = 1 then
634: pa_interface_utils_pub.get_messages
635: (p_encoded => FND_API.G_TRUE,
631: if l_return_status <> FND_API.G_RET_STS_SUCCESS then
632: x_msg_count := FND_MSG_PUB.count_msg;
633: if x_msg_count = 1 then
634: pa_interface_utils_pub.get_messages
635: (p_encoded => FND_API.G_TRUE,
636: p_msg_index => 1,
637: p_msg_count => l_msg_count,
638: p_msg_data => l_msg_data,
639: p_data => l_data,
639: p_data => l_data,
640: p_msg_index_out => l_msg_index_out);
641: x_msg_data := l_data;
642: end if;
643: raise FND_API.G_EXC_ERROR;
644: end if;
645:
646: if p_commit = FND_API.G_TRUE then
647: commit work;
642: end if;
643: raise FND_API.G_EXC_ERROR;
644: end if;
645:
646: if p_commit = FND_API.G_TRUE then
647: commit work;
648: end if;
649:
650: x_return_status := FND_API.G_RET_STS_SUCCESS;
646: if p_commit = FND_API.G_TRUE then
647: commit work;
648: end if;
649:
650: x_return_status := FND_API.G_RET_STS_SUCCESS;
651:
652: if (p_debug_mode = 'Y') then
653: pa_debug.debug('PA_USER_ATTR_PUB.Delete_All_User_Attrs_Data END');
654: end if;
653: pa_debug.debug('PA_USER_ATTR_PUB.Delete_All_User_Attrs_Data END');
654: end if;
655:
656: EXCEPTION
657: when FND_API.G_EXC_ERROR then
658: if p_commit = FND_API.G_TRUE then
659: rollback to delete_all_user_attrs_data;
660: end if;
661: x_return_status := FND_API.G_RET_STS_ERROR;
654: end if;
655:
656: EXCEPTION
657: when FND_API.G_EXC_ERROR then
658: if p_commit = FND_API.G_TRUE then
659: rollback to delete_all_user_attrs_data;
660: end if;
661: x_return_status := FND_API.G_RET_STS_ERROR;
662: when FND_API.G_EXC_UNEXPECTED_ERROR then
657: when FND_API.G_EXC_ERROR then
658: if p_commit = FND_API.G_TRUE then
659: rollback to delete_all_user_attrs_data;
660: end if;
661: x_return_status := FND_API.G_RET_STS_ERROR;
662: when FND_API.G_EXC_UNEXPECTED_ERROR then
663: if p_commit = FND_API.G_TRUE then
664: rollback to delete_all_user_attrs_data;
665: end if;
658: if p_commit = FND_API.G_TRUE then
659: rollback to delete_all_user_attrs_data;
660: end if;
661: x_return_status := FND_API.G_RET_STS_ERROR;
662: when FND_API.G_EXC_UNEXPECTED_ERROR then
663: if p_commit = FND_API.G_TRUE then
664: rollback to delete_all_user_attrs_data;
665: end if;
666: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
659: rollback to delete_all_user_attrs_data;
660: end if;
661: x_return_status := FND_API.G_RET_STS_ERROR;
662: when FND_API.G_EXC_UNEXPECTED_ERROR then
663: if p_commit = FND_API.G_TRUE then
664: rollback to delete_all_user_attrs_data;
665: end if;
666: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
667: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_USER_ATTR_PUB',
662: when FND_API.G_EXC_UNEXPECTED_ERROR then
663: if p_commit = FND_API.G_TRUE then
664: rollback to delete_all_user_attrs_data;
665: end if;
666: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
667: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_USER_ATTR_PUB',
668: p_procedure_name => 'Delete_All_User_Attrs_Data',
669: p_error_text => SUBSTRB(SQLERRM,1,240));
670: when OTHERS then
667: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_USER_ATTR_PUB',
668: p_procedure_name => 'Delete_All_User_Attrs_Data',
669: p_error_text => SUBSTRB(SQLERRM,1,240));
670: when OTHERS then
671: if p_commit = FND_API.G_TRUE then
672: rollback to delete_all_user_attrs_data;
673: end if;
674: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
675: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_USER_ATTR_PUB',
670: when OTHERS then
671: if p_commit = FND_API.G_TRUE then
672: rollback to delete_all_user_attrs_data;
673: end if;
674: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
675: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_USER_ATTR_PUB',
676: p_procedure_name => 'Delete_All_User_Attrs_Data',
677: p_error_text => SUBSTRB(SQLERRM,1,240));
678: raise;
698: , p_entity_index IN NUMBER := NULL
699: , p_entity_code IN VARCHAR2 := NULL
700: , p_debug_mode IN VARCHAR2 := 'N'
701: , p_debug_level IN NUMBER := 0
702: , p_init_error_handler IN VARCHAR2 := FND_API.G_FALSE
703: , p_write_to_concurrent_log IN VARCHAR2 := FND_API.G_FALSE
704: , p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
705: , p_log_errors IN VARCHAR2 := FND_API.G_FALSE
706: , p_commit IN VARCHAR2 := FND_API.G_FALSE
699: , p_entity_code IN VARCHAR2 := NULL
700: , p_debug_mode IN VARCHAR2 := 'N'
701: , p_debug_level IN NUMBER := 0
702: , p_init_error_handler IN VARCHAR2 := FND_API.G_FALSE
703: , p_write_to_concurrent_log IN VARCHAR2 := FND_API.G_FALSE
704: , p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
705: , p_log_errors IN VARCHAR2 := FND_API.G_FALSE
706: , p_commit IN VARCHAR2 := FND_API.G_FALSE
707: , x_failed_row_id_list OUT NOCOPY VARCHAR2
700: , p_debug_mode IN VARCHAR2 := 'N'
701: , p_debug_level IN NUMBER := 0
702: , p_init_error_handler IN VARCHAR2 := FND_API.G_FALSE
703: , p_write_to_concurrent_log IN VARCHAR2 := FND_API.G_FALSE
704: , p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
705: , p_log_errors IN VARCHAR2 := FND_API.G_FALSE
706: , p_commit IN VARCHAR2 := FND_API.G_FALSE
707: , x_failed_row_id_list OUT NOCOPY VARCHAR2
708: , x_return_status OUT NOCOPY VARCHAR2
701: , p_debug_level IN NUMBER := 0
702: , p_init_error_handler IN VARCHAR2 := FND_API.G_FALSE
703: , p_write_to_concurrent_log IN VARCHAR2 := FND_API.G_FALSE
704: , p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
705: , p_log_errors IN VARCHAR2 := FND_API.G_FALSE
706: , p_commit IN VARCHAR2 := FND_API.G_FALSE
707: , x_failed_row_id_list OUT NOCOPY VARCHAR2
708: , x_return_status OUT NOCOPY VARCHAR2
709: , x_errorcode OUT NOCOPY NUMBER
702: , p_init_error_handler IN VARCHAR2 := FND_API.G_FALSE
703: , p_write_to_concurrent_log IN VARCHAR2 := FND_API.G_FALSE
704: , p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
705: , p_log_errors IN VARCHAR2 := FND_API.G_FALSE
706: , p_commit IN VARCHAR2 := FND_API.G_FALSE
707: , x_failed_row_id_list OUT NOCOPY VARCHAR2
708: , x_return_status OUT NOCOPY VARCHAR2
709: , x_errorcode OUT NOCOPY NUMBER
710: , x_msg_count OUT NOCOPY NUMBER
739: if (p_debug_mode = 'Y') then
740: pa_debug.debug('PA_USER_ATTR_PUB.Process_User_Attrs_Data BEGIN');
741: end if;
742:
743: if not FND_API.COMPATIBLE_API_CALL(l_api_version, p_api_version, l_api_name, g_pkg_name) then
744: raise FND_API.G_EXC_UNEXPECTED_ERROR;
745: end if;
746:
747: i := p_ext_attr_data_table.first;
740: pa_debug.debug('PA_USER_ATTR_PUB.Process_User_Attrs_Data BEGIN');
741: end if;
742:
743: if not FND_API.COMPATIBLE_API_CALL(l_api_version, p_api_version, l_api_name, g_pkg_name) then
744: raise FND_API.G_EXC_UNEXPECTED_ERROR;
745: end if;
746:
747: i := p_ext_attr_data_table.first;
748:
794: , p_pm_task_reference => attr_rec.PROJ_ELEMENT_REFERENCE
795: , p_out_task_id => l_proj_elem_id
796: , p_return_status => l_return_status );
797:
798: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
799: THEN
800: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
801: ELSIF (l_return_status = FND_API.G_RET_STS_ERROR)
802: THEN
796: , p_return_status => l_return_status );
797:
798: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
799: THEN
800: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
801: ELSIF (l_return_status = FND_API.G_RET_STS_ERROR)
802: THEN
803: RAISE FND_API.G_EXC_ERROR;
804: END IF;
797:
798: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
799: THEN
800: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
801: ELSIF (l_return_status = FND_API.G_RET_STS_ERROR)
802: THEN
803: RAISE FND_API.G_EXC_ERROR;
804: END IF;
805: END IF;
799: THEN
800: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
801: ELSIF (l_return_status = FND_API.G_RET_STS_ERROR)
802: THEN
803: RAISE FND_API.G_EXC_ERROR;
804: END IF;
805: END IF;
806: ELSE
807: l_proj_elem_id := attr_rec.PROJ_ELEMENT_ID;
878: ,p_object_name => p_object_name
879: ,p_attributes_row_table => p_attributes_row_table
880: ,p_attributes_data_table => p_attributes_data_table
881: ,p_pk_column_name_value_pairs => p_pk_column_name_value_pairs
882: ,p_add_errors_to_fnd_stack => FND_API.G_TRUE
883: ,p_class_code_name_value_pairs => p_class_code_name_value_pairs --Bug 7688888
884: ,p_entity_id => p_entity_id
885: ,p_entity_index => p_entity_index
886: ,p_entity_code => p_entity_code
885: ,p_entity_index => p_entity_index
886: ,p_entity_code => p_entity_code
887: ,p_debug_level => p_debug_level
888: ,p_commit => p_commit
889: ,p_log_errors => FND_API.G_TRUE
890: ,x_failed_row_id_list => l_failed_row_id_list
891: ,x_return_status => l_return_status
892: ,x_errorcode => l_errorcode
893: ,x_msg_count => l_msg_count
903: x_failed_row_id_list := l_failed_row_id_list;
904: x_return_status := l_return_status;
905: x_errorcode := l_errorcode;
906:
907: if l_return_status <> FND_API.G_RET_STS_SUCCESS then
908: x_msg_count := FND_MSG_PUB.count_msg;
909: if x_msg_count = 1 then
910: pa_interface_utils_pub.get_messages
911: (p_encoded => FND_API.G_TRUE,
907: if l_return_status <> FND_API.G_RET_STS_SUCCESS then
908: x_msg_count := FND_MSG_PUB.count_msg;
909: if x_msg_count = 1 then
910: pa_interface_utils_pub.get_messages
911: (p_encoded => FND_API.G_TRUE,
912: p_msg_index => 1,
913: p_msg_count => l_msg_count,
914: p_msg_data => l_msg_data,
915: p_data => l_data,
915: p_data => l_data,
916: p_msg_index_out => l_msg_index_out);
917: x_msg_data := l_data;
918: end if;
919: raise FND_API.G_EXC_ERROR;
920: end if;
921:
922: if p_commit = FND_API.G_TRUE then
923: commit work;
918: end if;
919: raise FND_API.G_EXC_ERROR;
920: end if;
921:
922: if p_commit = FND_API.G_TRUE then
923: commit work;
924: end if;
925:
926: x_return_status := FND_API.G_RET_STS_SUCCESS;
922: if p_commit = FND_API.G_TRUE then
923: commit work;
924: end if;
925:
926: x_return_status := FND_API.G_RET_STS_SUCCESS;
927:
928: EXCEPTION
929: when FND_API.G_EXC_ERROR then
930: if p_commit = FND_API.G_TRUE then
925:
926: x_return_status := FND_API.G_RET_STS_SUCCESS;
927:
928: EXCEPTION
929: when FND_API.G_EXC_ERROR then
930: if p_commit = FND_API.G_TRUE then
931: rollback to PROCESS_USER_ATTRS_DATA_PUB;
932: end if;
933: x_return_status := FND_API.G_RET_STS_ERROR;
926: x_return_status := FND_API.G_RET_STS_SUCCESS;
927:
928: EXCEPTION
929: when FND_API.G_EXC_ERROR then
930: if p_commit = FND_API.G_TRUE then
931: rollback to PROCESS_USER_ATTRS_DATA_PUB;
932: end if;
933: x_return_status := FND_API.G_RET_STS_ERROR;
934: when FND_API.G_EXC_UNEXPECTED_ERROR then
929: when FND_API.G_EXC_ERROR then
930: if p_commit = FND_API.G_TRUE then
931: rollback to PROCESS_USER_ATTRS_DATA_PUB;
932: end if;
933: x_return_status := FND_API.G_RET_STS_ERROR;
934: when FND_API.G_EXC_UNEXPECTED_ERROR then
935: if p_commit = FND_API.G_TRUE then
936: rollback to PROCESS_USER_ATTRS_DATA_PUB;
937: end if;
930: if p_commit = FND_API.G_TRUE then
931: rollback to PROCESS_USER_ATTRS_DATA_PUB;
932: end if;
933: x_return_status := FND_API.G_RET_STS_ERROR;
934: when FND_API.G_EXC_UNEXPECTED_ERROR then
935: if p_commit = FND_API.G_TRUE then
936: rollback to PROCESS_USER_ATTRS_DATA_PUB;
937: end if;
938: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
931: rollback to PROCESS_USER_ATTRS_DATA_PUB;
932: end if;
933: x_return_status := FND_API.G_RET_STS_ERROR;
934: when FND_API.G_EXC_UNEXPECTED_ERROR then
935: if p_commit = FND_API.G_TRUE then
936: rollback to PROCESS_USER_ATTRS_DATA_PUB;
937: end if;
938: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
939: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_USER_ATTR_PUB',
934: when FND_API.G_EXC_UNEXPECTED_ERROR then
935: if p_commit = FND_API.G_TRUE then
936: rollback to PROCESS_USER_ATTRS_DATA_PUB;
937: end if;
938: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
939: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_USER_ATTR_PUB',
940: p_procedure_name => 'PROCESS_USER_ATTRS_DATA',
941: p_error_text => SUBSTRB(SQLERRM,1,240));
942: when OTHERS then
939: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_USER_ATTR_PUB',
940: p_procedure_name => 'PROCESS_USER_ATTRS_DATA',
941: p_error_text => SUBSTRB(SQLERRM,1,240));
942: when OTHERS then
943: if p_commit = FND_API.G_TRUE then
944: rollback to PROCESS_USER_ATTRS_DATA_PUB;
945: end if;
946: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
947: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_USER_ATTR_PUB',
942: when OTHERS then
943: if p_commit = FND_API.G_TRUE then
944: rollback to PROCESS_USER_ATTRS_DATA_PUB;
945: end if;
946: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
947: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_USER_ATTR_PUB',
948: p_procedure_name => 'PROCESS_USER_ATTRS_DATA',
949: p_error_text => SUBSTRB(SQLERRM,1,240));
950: raise;