3:
4:
5: PROCEDURE CREATE_CI_ACTION (
6: p_api_version IN NUMBER := 1.0,
7: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
8: p_commit IN VARCHAR2 := FND_API.g_false,
9: p_validate_only IN VARCHAR2 := FND_API.g_true,
10: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
11: P_CI_ACTION_ID out NOCOPY NUMBER,
4:
5: PROCEDURE CREATE_CI_ACTION (
6: p_api_version IN NUMBER := 1.0,
7: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
8: p_commit IN VARCHAR2 := FND_API.g_false,
9: p_validate_only IN VARCHAR2 := FND_API.g_true,
10: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
11: P_CI_ACTION_ID out NOCOPY NUMBER,
12: P_CI_ID in NUMBER,
5: PROCEDURE CREATE_CI_ACTION (
6: p_api_version IN NUMBER := 1.0,
7: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
8: p_commit IN VARCHAR2 := FND_API.g_false,
9: p_validate_only IN VARCHAR2 := FND_API.g_true,
10: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
11: P_CI_ACTION_ID out NOCOPY NUMBER,
12: P_CI_ID in NUMBER,
13: P_TYPE_CODE in VARCHAR2,
6: p_api_version IN NUMBER := 1.0,
7: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
8: p_commit IN VARCHAR2 := FND_API.g_false,
9: p_validate_only IN VARCHAR2 := FND_API.g_true,
10: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
11: P_CI_ACTION_ID out NOCOPY NUMBER,
12: P_CI_ID in NUMBER,
13: P_TYPE_CODE in VARCHAR2,
14: P_ASSIGNED_TO in NUMBER,
57: -- Initialize the Error Stack
58: PA_DEBUG.init_err_stack('PA_CI_ACTIONS_PVT.CREATE_CI_ACTION');
59:
60: -- Initialize the return status to success
61: x_return_status := FND_API.G_RET_STS_SUCCESS;
62:
63: IF p_commit = FND_API.G_TRUE
64: THEN
65: SAVEPOINT ADD_ACTION;
59:
60: -- Initialize the return status to success
61: x_return_status := FND_API.G_RET_STS_SUCCESS;
62:
63: IF p_commit = FND_API.G_TRUE
64: THEN
65: SAVEPOINT ADD_ACTION;
66: END IF;
67: x_msg_count := 0;
68:
69: if (P_ASSIGNED_TO IS NULL) then
70: PA_UTILS.Add_Message( p_app_short_name => 'PA'
71: ,p_msg_name => 'PA_CI_ACTION_INVALID_ASSIGNEE');
72: x_return_status := FND_API.G_RET_STS_ERROR;
73: return;
74: end if;
75:
76: if (p_ci_id IS NOT NULL) then
77: l_action_number := PA_CI_ACTIONS_UTIL.get_next_ci_action_number(p_ci_id);
78: end if;
79:
80: -- Validate the Input Values
81: If (x_return_status = fnd_api.g_ret_sts_success
82: AND p_validate_only <> fnd_api.g_true) then
83:
84: PA_CI_ACTIONS_PKG.INSERT_ROW(
85: P_CI_ACTION_ID => l_ci_action_id,
78: end if;
79:
80: -- Validate the Input Values
81: If (x_return_status = fnd_api.g_ret_sts_success
82: AND p_validate_only <> fnd_api.g_true) then
83:
84: PA_CI_ACTIONS_PKG.INSERT_ROW(
85: P_CI_ACTION_ID => l_ci_action_id,
86: P_CI_ID => P_CI_ID,
107: else
108: l_comment_text := p_comment_text;
109: end if;
110:
111: If (x_return_status = fnd_api.g_ret_sts_success
112: AND p_validate_only <> fnd_api.g_true) then
113: PA_CI_ACTIONS_PVT.ADD_CI_COMMENT(
114: p_api_version => P_API_VERSION,
115: p_init_msg_list => P_INIT_MSG_LIST,
108: l_comment_text := p_comment_text;
109: end if;
110:
111: If (x_return_status = fnd_api.g_ret_sts_success
112: AND p_validate_only <> fnd_api.g_true) then
113: PA_CI_ACTIONS_PVT.ADD_CI_COMMENT(
114: p_api_version => P_API_VERSION,
115: p_init_msg_list => P_INIT_MSG_LIST,
116: p_commit => P_COMMIT,
130: OPEN getRecordVersionNumber;
131: FETCH getRecordVersionNumber into l_ci_record_version_number;
132: CLOSE getRecordVersionNumber;
133:
134: If (x_return_status = fnd_api.g_ret_sts_success
135: AND p_validate_only <> fnd_api.g_true) then
136: PA_CONTROL_ITEMS_PVT.UPDATE_NUMBER_OF_ACTIONS (
137: p_api_version => P_API_VERSION,
138: p_init_msg_list => P_INIT_MSG_LIST,
131: FETCH getRecordVersionNumber into l_ci_record_version_number;
132: CLOSE getRecordVersionNumber;
133:
134: If (x_return_status = fnd_api.g_ret_sts_success
135: AND p_validate_only <> fnd_api.g_true) then
136: PA_CONTROL_ITEMS_PVT.UPDATE_NUMBER_OF_ACTIONS (
137: p_api_version => P_API_VERSION,
138: p_init_msg_list => P_INIT_MSG_LIST,
139: p_commit => P_COMMIT,
163: IF l_ci_status_code = 'CI_WORKING' THEN
164: -- Launch the workflow notification if it is not validate only mode and no errors occured till now.
165: -- Bug 3297238. FP M Changes.
166:
167: IF ( p_validate_only = FND_API.G_FALSE AND x_return_status = FND_API.g_ret_sts_success )THEN
168: pa_control_items_workflow.START_NOTIFICATION_WF
169: ( p_item_type => 'PAWFCIAC'
170: ,p_process_name => l_process_name
171: ,p_ci_id => p_ci_id
174: ,x_return_status => x_return_status
175: ,x_msg_count => x_msg_count
176: ,x_msg_data => x_msg_data );
177: END IF;
178: if(x_return_status <> FND_API.g_ret_sts_success) then
179: raise FND_API.G_EXC_ERROR;
180: end if;
181: END IF;
182: -- Bug#14267314 end.
175: ,x_msg_count => x_msg_count
176: ,x_msg_data => x_msg_data );
177: END IF;
178: if(x_return_status <> FND_API.g_ret_sts_success) then
179: raise FND_API.G_EXC_ERROR;
180: end if;
181: END IF;
182: -- Bug#14267314 end.
183: -- Commit the changes if requested
180: end if;
181: END IF;
182: -- Bug#14267314 end.
183: -- Commit the changes if requested
184: if (p_commit = FND_API.G_TRUE
185: AND x_return_status = fnd_api.g_ret_sts_success) then
186: commit;
187: end if;
188:
181: END IF;
182: -- Bug#14267314 end.
183: -- Commit the changes if requested
184: if (p_commit = FND_API.G_TRUE
185: AND x_return_status = fnd_api.g_ret_sts_success) then
186: commit;
187: end if;
188:
189: EXCEPTION
186: commit;
187: end if;
188:
189: EXCEPTION
190: WHEN FND_API.G_EXC_ERROR THEN
191: IF p_commit = FND_API.G_TRUE
192: THEN
193: ROLLBACK TO ADD_ACTION;
194: END IF;
187: end if;
188:
189: EXCEPTION
190: WHEN FND_API.G_EXC_ERROR THEN
191: IF p_commit = FND_API.G_TRUE
192: THEN
193: ROLLBACK TO ADD_ACTION;
194: END IF;
195: x_return_status := 'E';
194: END IF;
195: x_return_status := 'E';
196:
197: WHEN OTHERS THEN
198: IF p_commit = FND_API.G_TRUE
199: THEN
200: ROLLBACK TO ADD_ACTION;
201: END IF;
202: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
198: IF p_commit = FND_API.G_TRUE
199: THEN
200: ROLLBACK TO ADD_ACTION;
201: END IF;
202: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
203: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_CI_ACTIONS_PVT',
204: p_procedure_name => 'CREATE_CI_ACTIONS',
205: p_error_text => SUBSTRB(SQLERRM,1,240));
206: RAISE;
207: END CREATE_CI_ACTION;
208:
209: PROCEDURE CLOSE_CI_ACTION (
210: p_api_version IN NUMBER := 1.0,
211: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
212: p_commit IN VARCHAR2 := FND_API.g_false,
213: p_validate_only IN VARCHAR2 := FND_API.g_true,
214: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
215: P_calling_context IN VARCHAR2,
208:
209: PROCEDURE CLOSE_CI_ACTION (
210: p_api_version IN NUMBER := 1.0,
211: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
212: p_commit IN VARCHAR2 := FND_API.g_false,
213: p_validate_only IN VARCHAR2 := FND_API.g_true,
214: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
215: P_calling_context IN VARCHAR2,
216: P_CI_ACTION_ID in NUMBER,
209: PROCEDURE CLOSE_CI_ACTION (
210: p_api_version IN NUMBER := 1.0,
211: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
212: p_commit IN VARCHAR2 := FND_API.g_false,
213: p_validate_only IN VARCHAR2 := FND_API.g_true,
214: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
215: P_calling_context IN VARCHAR2,
216: P_CI_ACTION_ID in NUMBER,
217: P_SIGN_OFF_FLAG in VARCHAR2,
210: p_api_version IN NUMBER := 1.0,
211: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
212: p_commit IN VARCHAR2 := FND_API.g_false,
213: p_validate_only IN VARCHAR2 := FND_API.g_true,
214: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
215: P_calling_context IN VARCHAR2,
216: P_CI_ACTION_ID in NUMBER,
217: P_SIGN_OFF_FLAG in VARCHAR2,
218: P_RECORD_VERSION_NUMBER in NUMBER,
267: -- Initialize the Error Stack
268: PA_DEBUG.init_err_stack('PA_CI_ACTIONS_PVT.CLOSE_CI_ACTION');
269:
270: -- Initialize the return status to success
271: x_return_status := FND_API.G_RET_STS_SUCCESS;
272:
273: x_msg_count :=0 ;
274: IF p_commit = FND_API.G_TRUE
275: THEN
270: -- Initialize the return status to success
271: x_return_status := FND_API.G_RET_STS_SUCCESS;
272:
273: x_msg_count :=0 ;
274: IF p_commit = FND_API.G_TRUE
275: THEN
276: SAVEPOINT CLOSE_CI_ACTION;
277: END IF;
278:
283: l_created_by, l_creation_date;
284: IF ci_action%NOTFOUND THEN
285: PA_UTILS.Add_Message( p_app_short_name => 'PA'
286: ,p_msg_name => 'PA_NO_ACTION_FOUND');
287: x_return_status := FND_API.G_RET_STS_ERROR;
288: CLOSE ci_action;
289: return;
290: END IF;
291:
295: FETCH check_record_changed INTO l_rowid;
296: IF check_record_changed%NOTFOUND THEN
297: PA_UTILS.Add_Message( p_app_short_name => 'PA'
298: ,p_msg_name => 'PA_PR_RECORD_CHANGED');
299: x_return_status := FND_API.G_RET_STS_ERROR;
300: CLOSE check_record_changed;
301: return;
302: END IF;
303: if (check_record_changed%ISOPEN) then
311: END IF;
312: END IF;
313: -- End Modification for Bug#12839389
314:
315: If (x_return_status = fnd_api.g_ret_sts_success
316: AND p_validate_only <> fnd_api.g_true) then
317: PA_CI_ACTIONS_PKG.UPDATE_ROW(
318: P_CI_ACTION_ID => P_CI_ACTION_ID,
319: P_CI_ID => l_ci_id,
312: END IF;
313: -- End Modification for Bug#12839389
314:
315: If (x_return_status = fnd_api.g_ret_sts_success
316: AND p_validate_only <> fnd_api.g_true) then
317: PA_CI_ACTIONS_PKG.UPDATE_ROW(
318: P_CI_ACTION_ID => P_CI_ACTION_ID,
319: P_CI_ID => l_ci_id,
320: P_STATUS_CODE => l_action_status_code,
340: else
341: l_comment_text := p_comment_text;
342: end if;
343:
344: If (x_return_status = fnd_api.g_ret_sts_success
345: AND p_validate_only <> fnd_api.g_true) then
346: PA_CI_ACTIONS_PVT.ADD_CI_COMMENT(
347: p_api_version => P_API_VERSION,
348: p_init_msg_list => P_INIT_MSG_LIST,
341: l_comment_text := p_comment_text;
342: end if;
343:
344: If (x_return_status = fnd_api.g_ret_sts_success
345: AND p_validate_only <> fnd_api.g_true) then
346: PA_CI_ACTIONS_PVT.ADD_CI_COMMENT(
347: p_api_version => P_API_VERSION,
348: p_init_msg_list => P_INIT_MSG_LIST,
349: p_commit => P_COMMIT,
362: OPEN getRecordVersionNumber;
363: FETCH getRecordVersionNumber into l_ci_record_version_number;
364: CLOSE getRecordVersionNumber;
365:
366: If (x_return_status = fnd_api.g_ret_sts_success
367: AND p_validate_only <> fnd_api.g_true) then
368: PA_CONTROL_ITEMS_PVT.UPDATE_NUMBER_OF_ACTIONS (
369: p_api_version => P_API_VERSION,
370: p_init_msg_list => P_INIT_MSG_LIST,
363: FETCH getRecordVersionNumber into l_ci_record_version_number;
364: CLOSE getRecordVersionNumber;
365:
366: If (x_return_status = fnd_api.g_ret_sts_success
367: AND p_validate_only <> fnd_api.g_true) then
368: PA_CONTROL_ITEMS_PVT.UPDATE_NUMBER_OF_ACTIONS (
369: p_api_version => P_API_VERSION,
370: p_init_msg_list => P_INIT_MSG_LIST,
371: p_commit => P_COMMIT,
382:
383:
384: -- Launch the workflow notification if it is not validate only mode and no errors occured till now and calling context is CLOSE.
385: -- Bug 3297238. FP M Changes.
386: IF ( p_validate_only = FND_API.G_FALSE AND x_return_status = FND_API.g_ret_sts_success AND P_calling_context = 'CLOSE' )THEN
387: pa_control_items_workflow.START_NOTIFICATION_WF
388: ( p_item_type => 'PAWFCIAC'
389: ,p_process_name => 'PA_CI_ACTION_CLOSE_FYI'
390: ,p_ci_id => l_ci_id
392: ,x_item_key => l_item_key
393: ,x_return_status => x_return_status
394: ,x_msg_count => x_msg_count
395: ,x_msg_data => x_msg_data );
396: if(x_return_status <> FND_API.g_ret_sts_success) then
397: raise FND_API.G_EXC_ERROR;
398: end if;
399: END IF;
400: END IF;
393: ,x_return_status => x_return_status
394: ,x_msg_count => x_msg_count
395: ,x_msg_data => x_msg_data );
396: if(x_return_status <> FND_API.g_ret_sts_success) then
397: raise FND_API.G_EXC_ERROR;
398: end if;
399: END IF;
400: END IF;
401: -- End Modification for Bug#12839389
399: END IF;
400: END IF;
401: -- End Modification for Bug#12839389
402: -- Commit the changes if requested
403: if (p_commit = FND_API.G_TRUE
404: AND x_return_status = fnd_api.g_ret_sts_success) then
405: commit;
406: end if;
407:
400: END IF;
401: -- End Modification for Bug#12839389
402: -- Commit the changes if requested
403: if (p_commit = FND_API.G_TRUE
404: AND x_return_status = fnd_api.g_ret_sts_success) then
405: commit;
406: end if;
407:
408:
405: commit;
406: end if;
407:
408:
409: EXCEPTION WHEN FND_API.G_EXC_ERROR THEN
410: IF p_commit = FND_API.G_TRUE THEN
411: ROLLBACK TO CLOSE_CI_ACTION;
412: END IF;
413: x_return_status := 'E';
406: end if;
407:
408:
409: EXCEPTION WHEN FND_API.G_EXC_ERROR THEN
410: IF p_commit = FND_API.G_TRUE THEN
411: ROLLBACK TO CLOSE_CI_ACTION;
412: END IF;
413: x_return_status := 'E';
414: WHEN OTHERS THEN
411: ROLLBACK TO CLOSE_CI_ACTION;
412: END IF;
413: x_return_status := 'E';
414: WHEN OTHERS THEN
415: IF p_commit = FND_API.G_TRUE THEN
416: ROLLBACK TO CLOSE_CI_ACTION;
417: END IF;
418: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
419: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_CI_ACTIONS_PVT',
414: WHEN OTHERS THEN
415: IF p_commit = FND_API.G_TRUE THEN
416: ROLLBACK TO CLOSE_CI_ACTION;
417: END IF;
418: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
419: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_CI_ACTIONS_PVT',
420: p_procedure_name => 'CLOSE_CI_ACTIONS',
421: p_error_text => SUBSTRB(SQLERRM,1,240));
422: RAISE;
424:
425:
426: PROCEDURE REASSIGN_CI_ACTION (
427: p_api_version IN NUMBER := 1.0,
428: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
429: p_commit IN VARCHAR2 := FND_API.g_false,
430: p_validate_only IN VARCHAR2 := FND_API.g_true,
431: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
432: P_CI_ACTION_ID in NUMBER,
425:
426: PROCEDURE REASSIGN_CI_ACTION (
427: p_api_version IN NUMBER := 1.0,
428: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
429: p_commit IN VARCHAR2 := FND_API.g_false,
430: p_validate_only IN VARCHAR2 := FND_API.g_true,
431: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
432: P_CI_ACTION_ID in NUMBER,
433: P_SIGN_OFF_FLAG in VARCHAR2 := 'N',
426: PROCEDURE REASSIGN_CI_ACTION (
427: p_api_version IN NUMBER := 1.0,
428: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
429: p_commit IN VARCHAR2 := FND_API.g_false,
430: p_validate_only IN VARCHAR2 := FND_API.g_true,
431: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
432: P_CI_ACTION_ID in NUMBER,
433: P_SIGN_OFF_FLAG in VARCHAR2 := 'N',
434: P_RECORD_VERSION_NUMBER in NUMBER,
427: p_api_version IN NUMBER := 1.0,
428: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
429: p_commit IN VARCHAR2 := FND_API.g_false,
430: p_validate_only IN VARCHAR2 := FND_API.g_true,
431: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
432: P_CI_ACTION_ID in NUMBER,
433: P_SIGN_OFF_FLAG in VARCHAR2 := 'N',
434: P_RECORD_VERSION_NUMBER in NUMBER,
435: P_ASSIGNED_TO in NUMBER,
477: -- Initialize the Error Stack
478: PA_DEBUG.init_err_stack('PA_CI_ACTIONS_PVT.REASSIGN_CI_ACTION');
479:
480: -- Initialize the return status to success
481: x_return_status := FND_API.G_RET_STS_SUCCESS;
482: x_msg_data := 0;
483:
484: IF p_commit = FND_API.G_TRUE
485: THEN
480: -- Initialize the return status to success
481: x_return_status := FND_API.G_RET_STS_SUCCESS;
482: x_msg_data := 0;
483:
484: IF p_commit = FND_API.G_TRUE
485: THEN
486: SAVEPOINT REASSIGN_CI_ACTION;
487: END IF;
488:
492: l_date_required, l_sign_off_required_flag, l_source_ci_action_id;
493: IF ci_action%NOTFOUND THEN
494: PA_UTILS.Add_Message( p_app_short_name => 'PA'
495: ,p_msg_name => 'PA_NO_ACTION_FOUND');
496: x_return_status := FND_API.G_RET_STS_ERROR;
497: CLOSE ci_action;
498: return;
499: END IF;
500:
505: FETCH check_record_changed INTO l_rowid;
506: IF check_record_changed%NOTFOUND THEN
507: PA_UTILS.Add_Message( p_app_short_name => 'PA'
508: ,p_msg_name => 'PA_PR_RECORD_CHANGED');
509: x_return_status := FND_API.G_RET_STS_ERROR;
510: CLOSE check_record_changed;
511: return;
512: END IF;
513: if (check_record_changed%ISOPEN) then
525:
526: if l_assigned_to_party = p_assigned_to THEN
527: PA_UTILS.Add_Message( p_app_short_name => 'PA'
528: ,p_msg_name => 'PA_CI_ACTION_REASSIGN_INV');
529: x_return_status := FND_API.G_RET_STS_ERROR;
530: end if;
531:
532: if (P_DATE_REQUIRED is not null) and (P_DATE_REQUIRED < sysdate) then
533: PA_UTILS.Add_Message( p_app_short_name => 'PA'
531:
532: if (P_DATE_REQUIRED is not null) and (P_DATE_REQUIRED < sysdate) then
533: PA_UTILS.Add_Message( p_app_short_name => 'PA'
534: ,p_msg_name => 'PA_CI_ACTION_DATE_REQ_INV');
535: x_return_status := FND_API.G_RET_STS_ERROR;
536: end if;
537:
538: return;
539: end if;
539: end if;
540: --validation for action assignee and date ends here.
541:
542:
543: If (x_return_status = fnd_api.g_ret_sts_success
544: AND p_validate_only <> fnd_api.g_true) then
545: PA_CI_ACTIONS_PVT.CLOSE_CI_ACTION
546: (
547: p_api_version => P_API_VERSION,
540: --validation for action assignee and date ends here.
541:
542:
543: If (x_return_status = fnd_api.g_ret_sts_success
544: AND p_validate_only <> fnd_api.g_true) then
545: PA_CI_ACTIONS_PVT.CLOSE_CI_ACTION
546: (
547: p_api_version => P_API_VERSION,
548: p_init_msg_list => P_INIT_MSG_LIST,
559: x_msg_data => x_msg_data
560: );
561: END IF;
562:
563: If (x_return_status = fnd_api.g_ret_sts_success
564: AND p_validate_only <> fnd_api.g_true) then
565:
566: PA_CI_ACTIONS_PVT.CREATE_CI_ACTION
567: (
560: );
561: END IF;
562:
563: If (x_return_status = fnd_api.g_ret_sts_success
564: AND p_validate_only <> fnd_api.g_true) then
565:
566: PA_CI_ACTIONS_PVT.CREATE_CI_ACTION
567: (
568: P_API_VERSION => P_API_VERSION,
584: );
585: end if;
586:
587: -- Commit the changes if requested
588: if (p_commit = FND_API.G_TRUE
589: AND x_return_status = fnd_api.g_ret_sts_success) then
590: commit;
591: end if;
592:
585: end if;
586:
587: -- Commit the changes if requested
588: if (p_commit = FND_API.G_TRUE
589: AND x_return_status = fnd_api.g_ret_sts_success) then
590: commit;
591: end if;
592:
593: EXCEPTION WHEN FND_API.G_EXC_ERROR THEN
589: AND x_return_status = fnd_api.g_ret_sts_success) then
590: commit;
591: end if;
592:
593: EXCEPTION WHEN FND_API.G_EXC_ERROR THEN
594: IF p_commit = FND_API.G_TRUE THEN
595: ROLLBACK TO REASSIGN_CI_ACTION;
596: END IF;
597: x_return_status := 'E';
590: commit;
591: end if;
592:
593: EXCEPTION WHEN FND_API.G_EXC_ERROR THEN
594: IF p_commit = FND_API.G_TRUE THEN
595: ROLLBACK TO REASSIGN_CI_ACTION;
596: END IF;
597: x_return_status := 'E';
598: WHEN OTHERS THEN
595: ROLLBACK TO REASSIGN_CI_ACTION;
596: END IF;
597: x_return_status := 'E';
598: WHEN OTHERS THEN
599: IF p_commit = FND_API.G_TRUE THEN
600: ROLLBACK TO REASSIGN_CI_ACTION;
601: END IF;
602: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
603: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_CI_ACTIONS_PVT',
598: WHEN OTHERS THEN
599: IF p_commit = FND_API.G_TRUE THEN
600: ROLLBACK TO REASSIGN_CI_ACTION;
601: END IF;
602: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
603: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_CI_ACTIONS_PVT',
604: p_procedure_name => 'REASSIGN_CI_ACTION',
605: p_error_text => SUBSTRB(SQLERRM,1,240));
606: RAISE;
607: END REASSIGN_CI_ACTION;
608:
609: PROCEDURE CANCEL_CI_ACTION (
610: p_api_version IN NUMBER := 1.0,
611: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
612: p_commit IN VARCHAR2 := FND_API.g_false,
613: p_validate_only IN VARCHAR2 := FND_API.g_true,
614: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
615: P_CI_ACTION_ID in NUMBER,
608:
609: PROCEDURE CANCEL_CI_ACTION (
610: p_api_version IN NUMBER := 1.0,
611: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
612: p_commit IN VARCHAR2 := FND_API.g_false,
613: p_validate_only IN VARCHAR2 := FND_API.g_true,
614: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
615: P_CI_ACTION_ID in NUMBER,
616: P_RECORD_VERSION_NUMBER in NUMBER,
609: PROCEDURE CANCEL_CI_ACTION (
610: p_api_version IN NUMBER := 1.0,
611: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
612: p_commit IN VARCHAR2 := FND_API.g_false,
613: p_validate_only IN VARCHAR2 := FND_API.g_true,
614: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
615: P_CI_ACTION_ID in NUMBER,
616: P_RECORD_VERSION_NUMBER in NUMBER,
617: P_CANCEL_COMMENT in VARCHAR2,
610: p_api_version IN NUMBER := 1.0,
611: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
612: p_commit IN VARCHAR2 := FND_API.g_false,
613: p_validate_only IN VARCHAR2 := FND_API.g_true,
614: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
615: P_CI_ACTION_ID in NUMBER,
616: P_RECORD_VERSION_NUMBER in NUMBER,
617: P_CANCEL_COMMENT in VARCHAR2,
618: P_LAST_UPDATED_BY in NUMBER default fnd_global.user_id,
658: from pa_control_items
659: where ci_id = l_ci_id;
660:
661: BEGIN
662: x_return_status := fnd_api.g_ret_sts_success;
663: x_msg_count :=0 ;
664: IF p_commit = FND_API.G_TRUE
665: THEN
666: SAVEPOINT CANCEL_CI_ACTION;
660:
661: BEGIN
662: x_return_status := fnd_api.g_ret_sts_success;
663: x_msg_count :=0 ;
664: IF p_commit = FND_API.G_TRUE
665: THEN
666: SAVEPOINT CANCEL_CI_ACTION;
667: END IF;
668:
673: l_created_by, l_creation_date,l_sign_off_flag;
674: IF ci_action%NOTFOUND THEN
675: PA_UTILS.Add_Message( p_app_short_name => 'PA'
676: ,p_msg_name => 'PA_NO_ACTION_FOUND');
677: x_return_status := FND_API.G_RET_STS_ERROR;
678: CLOSE ci_action;
679: return;
680: END IF;
681:
680: END IF;
681:
682: l_party_id := PA_UTILS.get_party_id(P_LAST_UPDATED_BY);
683: if (l_party_id IS NULL) then
684: x_return_status := FND_API.G_RET_STS_ERROR;
685: PA_UTILS.Add_Message( p_app_short_name => 'PA'
686: ,p_msg_name => 'PA_RESOURCE_INVALID_PERSON');
687: return;
688: end if;
693: FETCH check_record_changed INTO l_rowid;
694: IF check_record_changed%NOTFOUND THEN
695: PA_UTILS.Add_Message( p_app_short_name => 'PA'
696: ,p_msg_name => 'PA_PR_RECORD_CHANGED');
697: x_return_status := FND_API.G_RET_STS_ERROR;
698: CLOSE check_record_changed;
699: return;
700: END IF;
701: if (check_record_changed%ISOPEN) then
700: END IF;
701: if (check_record_changed%ISOPEN) then
702: CLOSE check_record_changed;
703: end if;
704: If (x_return_status = fnd_api.g_ret_sts_success
705: AND p_validate_only <> fnd_api.g_true) then
706: PA_CI_ACTIONS_PKG.UPDATE_ROW(
707: P_CI_ACTION_ID => P_CI_ACTION_ID,
708: P_CI_ID => l_ci_id,
701: if (check_record_changed%ISOPEN) then
702: CLOSE check_record_changed;
703: end if;
704: If (x_return_status = fnd_api.g_ret_sts_success
705: AND p_validate_only <> fnd_api.g_true) then
706: PA_CI_ACTIONS_PKG.UPDATE_ROW(
707: P_CI_ACTION_ID => P_CI_ACTION_ID,
708: P_CI_ID => l_ci_id,
709: P_STATUS_CODE => 'CI_ACTION_CANCELED',
728: else
729: l_comment_text := P_CANCEL_COMMENT;
730: end if;
731:
732: If (x_return_status = fnd_api.g_ret_sts_success
733: AND p_validate_only <> fnd_api.g_true) then
734: PA_CI_ACTIONS_PVT.ADD_CI_COMMENT(
735: p_api_version => P_API_VERSION,
736: p_init_msg_list => P_INIT_MSG_LIST,
729: l_comment_text := P_CANCEL_COMMENT;
730: end if;
731:
732: If (x_return_status = fnd_api.g_ret_sts_success
733: AND p_validate_only <> fnd_api.g_true) then
734: PA_CI_ACTIONS_PVT.ADD_CI_COMMENT(
735: p_api_version => P_API_VERSION,
736: p_init_msg_list => P_INIT_MSG_LIST,
737: p_commit => P_COMMIT,
750: OPEN getRecordVersionNumber;
751: FETCH getRecordVersionNumber into l_ci_record_version_number;
752: CLOSE getRecordVersionNumber;
753:
754: If (x_return_status = fnd_api.g_ret_sts_success
755: AND p_validate_only <> fnd_api.g_true) then
756: PA_CONTROL_ITEMS_PVT.UPDATE_NUMBER_OF_ACTIONS (
757: p_api_version => P_API_VERSION,
758: p_init_msg_list => P_INIT_MSG_LIST,
751: FETCH getRecordVersionNumber into l_ci_record_version_number;
752: CLOSE getRecordVersionNumber;
753:
754: If (x_return_status = fnd_api.g_ret_sts_success
755: AND p_validate_only <> fnd_api.g_true) then
756: PA_CONTROL_ITEMS_PVT.UPDATE_NUMBER_OF_ACTIONS (
757: p_api_version => P_API_VERSION,
758: p_init_msg_list => P_INIT_MSG_LIST,
759: p_commit => P_COMMIT,
776: x_return_status => x_return_status );
777:
778: -- Bug#12409104 end.
779: -- Commit the changes if requested
780: if (p_commit = FND_API.G_TRUE
781: AND x_return_status = fnd_api.g_ret_sts_success) then
782: commit;
783: end if;
784:
777:
778: -- Bug#12409104 end.
779: -- Commit the changes if requested
780: if (p_commit = FND_API.G_TRUE
781: AND x_return_status = fnd_api.g_ret_sts_success) then
782: commit;
783: end if;
784:
785: EXCEPTION WHEN FND_API.G_EXC_ERROR THEN
781: AND x_return_status = fnd_api.g_ret_sts_success) then
782: commit;
783: end if;
784:
785: EXCEPTION WHEN FND_API.G_EXC_ERROR THEN
786: IF p_commit = FND_API.G_TRUE THEN
787: ROLLBACK TO CLOSE_CI_ACTION;
788: END IF;
789: x_return_status := 'E';
782: commit;
783: end if;
784:
785: EXCEPTION WHEN FND_API.G_EXC_ERROR THEN
786: IF p_commit = FND_API.G_TRUE THEN
787: ROLLBACK TO CLOSE_CI_ACTION;
788: END IF;
789: x_return_status := 'E';
790: WHEN OTHERS THEN
787: ROLLBACK TO CLOSE_CI_ACTION;
788: END IF;
789: x_return_status := 'E';
790: WHEN OTHERS THEN
791: IF p_commit = FND_API.G_TRUE THEN
792: ROLLBACK TO CLOSE_CI_ACTION;
793: END IF;
794: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
795: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_CI_ACTIONS_PVT',
790: WHEN OTHERS THEN
791: IF p_commit = FND_API.G_TRUE THEN
792: ROLLBACK TO CLOSE_CI_ACTION;
793: END IF;
794: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
795: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_CI_ACTIONS_PVT',
796: p_procedure_name => 'CLOSE_CI_ACTIONS',
797: p_error_text => SUBSTRB(SQLERRM,1,240));
798: RAISE;
799: END CANCEL_CI_ACTION;
800:
801: PROCEDURE UPDATE_CI_COMMENT(
802: p_api_version IN NUMBER := 1.0,
803: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
804: p_commit IN VARCHAR2 := FND_API.g_false,
805: p_validate_only IN VARCHAR2 := FND_API.g_true,
806: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
807: p_ci_comment_id IN NUMBER,
800:
801: PROCEDURE UPDATE_CI_COMMENT(
802: p_api_version IN NUMBER := 1.0,
803: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
804: p_commit IN VARCHAR2 := FND_API.g_false,
805: p_validate_only IN VARCHAR2 := FND_API.g_true,
806: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
807: p_ci_comment_id IN NUMBER,
808: p_comment_text IN VARCHAR2,
801: PROCEDURE UPDATE_CI_COMMENT(
802: p_api_version IN NUMBER := 1.0,
803: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
804: p_commit IN VARCHAR2 := FND_API.g_false,
805: p_validate_only IN VARCHAR2 := FND_API.g_true,
806: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
807: p_ci_comment_id IN NUMBER,
808: p_comment_text IN VARCHAR2,
809: p_record_version_number IN NUMBER,
802: p_api_version IN NUMBER := 1.0,
803: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
804: p_commit IN VARCHAR2 := FND_API.g_false,
805: p_validate_only IN VARCHAR2 := FND_API.g_true,
806: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
807: p_ci_comment_id IN NUMBER,
808: p_comment_text IN VARCHAR2,
809: p_record_version_number IN NUMBER,
810: P_LAST_UPDATED_BY in NUMBER default fnd_global.user_id,
834: and record_version_number = p_record_version_number
835: for update;
836: BEGIN
837:
838: x_return_status := fnd_api.g_ret_sts_success;
839: x_msg_data := 0;
840:
841:
842: IF p_commit = FND_API.G_TRUE
838: x_return_status := fnd_api.g_ret_sts_success;
839: x_msg_data := 0;
840:
841:
842: IF p_commit = FND_API.G_TRUE
843: THEN
844: SAVEPOINT UPDATE_CI_COMMENT;
845: END IF;
846:
859: FETCH check_record_changed INTO l_rowid;
860: IF check_record_changed%NOTFOUND THEN
861: PA_UTILS.Add_Message( p_app_short_name => 'PA'
862: ,p_msg_name => 'PA_PR_RECORD_CHANGED');
863: x_return_status := FND_API.G_RET_STS_ERROR;
864: CLOSE check_record_changed;
865: return;
866: END IF;
867: if (check_record_changed%ISOPEN) then
867: if (check_record_changed%ISOPEN) then
868: CLOSE check_record_changed;
869: end if;
870:
871: If (x_return_status = fnd_api.g_ret_sts_success
872: AND p_validate_only <> fnd_api.g_true) then
873:
874: PA_CI_COMMENTS_PKG.UPDATE_ROW(
875: P_CI_COMMENT_ID => P_CI_COMMENT_ID,
868: CLOSE check_record_changed;
869: end if;
870:
871: If (x_return_status = fnd_api.g_ret_sts_success
872: AND p_validate_only <> fnd_api.g_true) then
873:
874: PA_CI_COMMENTS_PKG.UPDATE_ROW(
875: P_CI_COMMENT_ID => P_CI_COMMENT_ID,
876: P_CI_ID => l_ci_id,
884: P_RECORD_VERSION_NUMBER => p_record_version_number,
885: P_CI_ACTION_ID => l_ci_action_id);
886: End If;
887: -- Commit the changes if requested
888: if (p_commit = FND_API.G_TRUE
889: AND x_return_status = fnd_api.g_ret_sts_success) then
890: commit;
891: end if;
892:
885: P_CI_ACTION_ID => l_ci_action_id);
886: End If;
887: -- Commit the changes if requested
888: if (p_commit = FND_API.G_TRUE
889: AND x_return_status = fnd_api.g_ret_sts_success) then
890: commit;
891: end if;
892:
893: EXCEPTION WHEN FND_API.G_EXC_ERROR THEN
889: AND x_return_status = fnd_api.g_ret_sts_success) then
890: commit;
891: end if;
892:
893: EXCEPTION WHEN FND_API.G_EXC_ERROR THEN
894: IF p_commit = FND_API.G_TRUE THEN
895: ROLLBACK TO UPDATE_CI_COMMENT;
896: END IF;
897: x_return_status := 'E';
890: commit;
891: end if;
892:
893: EXCEPTION WHEN FND_API.G_EXC_ERROR THEN
894: IF p_commit = FND_API.G_TRUE THEN
895: ROLLBACK TO UPDATE_CI_COMMENT;
896: END IF;
897: x_return_status := 'E';
898: WHEN OTHERS THEN
895: ROLLBACK TO UPDATE_CI_COMMENT;
896: END IF;
897: x_return_status := 'E';
898: WHEN OTHERS THEN
899: IF p_commit = FND_API.G_TRUE THEN
900: ROLLBACK TO UPDATE_CI_COMMENT;
901: END IF;
902: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
903: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_CI_ACTIONS_PVT',
898: WHEN OTHERS THEN
899: IF p_commit = FND_API.G_TRUE THEN
900: ROLLBACK TO UPDATE_CI_COMMENT;
901: END IF;
902: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
903: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_CI_ACTIONS_PVT',
904: p_procedure_name => 'UPDATE_CI_COMMENT',
905: p_error_text => SUBSTRB(SQLERRM,1,240));
906: RAISE;
911:
912:
913: PROCEDURE ADD_CI_COMMENT(
914: p_api_version IN NUMBER := 1.0,
915: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
916: p_commit IN VARCHAR2 := FND_API.g_false,
917: p_validate_only IN VARCHAR2 := FND_API.g_true,
918: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
919: p_ci_comment_id out NOCOPY NUMBER,
912:
913: PROCEDURE ADD_CI_COMMENT(
914: p_api_version IN NUMBER := 1.0,
915: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
916: p_commit IN VARCHAR2 := FND_API.g_false,
917: p_validate_only IN VARCHAR2 := FND_API.g_true,
918: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
919: p_ci_comment_id out NOCOPY NUMBER,
920: p_ci_id IN NUMBER,
913: PROCEDURE ADD_CI_COMMENT(
914: p_api_version IN NUMBER := 1.0,
915: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
916: p_commit IN VARCHAR2 := FND_API.g_false,
917: p_validate_only IN VARCHAR2 := FND_API.g_true,
918: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
919: p_ci_comment_id out NOCOPY NUMBER,
920: p_ci_id IN NUMBER,
921: p_type_code IN VARCHAR2,
914: p_api_version IN NUMBER := 1.0,
915: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
916: p_commit IN VARCHAR2 := FND_API.g_false,
917: p_validate_only IN VARCHAR2 := FND_API.g_true,
918: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
919: p_ci_comment_id out NOCOPY NUMBER,
920: p_ci_id IN NUMBER,
921: p_type_code IN VARCHAR2,
922: p_comment_text IN VARCHAR2,
932: IS
933: l_error_msg_code varchar2(30);
934: l_party_id number;
935: BEGIN
936: x_return_status := fnd_api.g_ret_sts_success;
937: x_msg_data := 0;
938:
939: IF p_commit = FND_API.G_TRUE
940: THEN
935: BEGIN
936: x_return_status := fnd_api.g_ret_sts_success;
937: x_msg_data := 0;
938:
939: IF p_commit = FND_API.G_TRUE
940: THEN
941: SAVEPOINT ADD_CI_COMMENT;
942: END IF;
943:
940: THEN
941: SAVEPOINT ADD_CI_COMMENT;
942: END IF;
943:
944: If (x_return_status = fnd_api.g_ret_sts_success
945: AND p_validate_only <> fnd_api.g_true
946: AND P_COMMENT_TEXT IS NOT NULL) then
947: PA_CI_COMMENTS_PKG.INSERT_ROW(
948: P_CI_COMMENT_ID => P_CI_COMMENT_ID,
941: SAVEPOINT ADD_CI_COMMENT;
942: END IF;
943:
944: If (x_return_status = fnd_api.g_ret_sts_success
945: AND p_validate_only <> fnd_api.g_true
946: AND P_COMMENT_TEXT IS NOT NULL) then
947: PA_CI_COMMENTS_PKG.INSERT_ROW(
948: P_CI_COMMENT_ID => P_CI_COMMENT_ID,
949: P_CI_ID => P_CI_ID,
956: P_LAST_UPDATE_LOGIN => P_LAST_UPDATE_LOGIN,
957: P_CI_ACTION_ID => P_CI_ACTION_ID);
958: End If;
959: -- Commit the changes if requested
960: if (p_commit = FND_API.G_TRUE
961: AND x_return_status = fnd_api.g_ret_sts_success) then
962: commit;
963: end if;
964:
957: P_CI_ACTION_ID => P_CI_ACTION_ID);
958: End If;
959: -- Commit the changes if requested
960: if (p_commit = FND_API.G_TRUE
961: AND x_return_status = fnd_api.g_ret_sts_success) then
962: commit;
963: end if;
964:
965: EXCEPTION WHEN FND_API.G_EXC_ERROR THEN
961: AND x_return_status = fnd_api.g_ret_sts_success) then
962: commit;
963: end if;
964:
965: EXCEPTION WHEN FND_API.G_EXC_ERROR THEN
966: IF p_commit = FND_API.G_TRUE THEN
967: ROLLBACK TO ADD_CI_COMMENT;
968: END IF;
969: x_return_status := 'E';
962: commit;
963: end if;
964:
965: EXCEPTION WHEN FND_API.G_EXC_ERROR THEN
966: IF p_commit = FND_API.G_TRUE THEN
967: ROLLBACK TO ADD_CI_COMMENT;
968: END IF;
969: x_return_status := 'E';
970: WHEN OTHERS THEN
967: ROLLBACK TO ADD_CI_COMMENT;
968: END IF;
969: x_return_status := 'E';
970: WHEN OTHERS THEN
971: IF p_commit = FND_API.G_TRUE THEN
972: ROLLBACK TO ADD_CI_COMMENT;
973: END IF;
974: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
975: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_CI_ACTIONS_PVT',
970: WHEN OTHERS THEN
971: IF p_commit = FND_API.G_TRUE THEN
972: ROLLBACK TO ADD_CI_COMMENT;
973: END IF;
974: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
975: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_CI_ACTIONS_PVT',
976: p_procedure_name => 'ADD_CI_COMMENT',
977: p_error_text => SUBSTRB(SQLERRM,1,240));
978: RAISE;
979: END ADD_CI_COMMENT;
980:
981: PROCEDURE CANCEL_ALL_ACTIONS(
982: p_api_version IN NUMBER := 1.0,
983: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
984: p_commit IN VARCHAR2 := FND_API.g_false,
985: p_validate_only IN VARCHAR2 := FND_API.g_true,
986: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
987: p_ci_id IN NUMBER,
980:
981: PROCEDURE CANCEL_ALL_ACTIONS(
982: p_api_version IN NUMBER := 1.0,
983: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
984: p_commit IN VARCHAR2 := FND_API.g_false,
985: p_validate_only IN VARCHAR2 := FND_API.g_true,
986: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
987: p_ci_id IN NUMBER,
988: p_cancel_comment IN VARCHAR2 := NULL,
981: PROCEDURE CANCEL_ALL_ACTIONS(
982: p_api_version IN NUMBER := 1.0,
983: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
984: p_commit IN VARCHAR2 := FND_API.g_false,
985: p_validate_only IN VARCHAR2 := FND_API.g_true,
986: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
987: p_ci_id IN NUMBER,
988: p_cancel_comment IN VARCHAR2 := NULL,
989: P_CREATED_BY in NUMBER default fnd_global.user_id,
982: p_api_version IN NUMBER := 1.0,
983: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
984: p_commit IN VARCHAR2 := FND_API.g_false,
985: p_validate_only IN VARCHAR2 := FND_API.g_true,
986: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
987: p_ci_id IN NUMBER,
988: p_cancel_comment IN VARCHAR2 := NULL,
989: P_CREATED_BY in NUMBER default fnd_global.user_id,
990: P_CREATION_DATE in DATE default sysdate,
1008: AND status_code = 'CI_ACTION_OPEN';
1009:
1010:
1011: BEGIN
1012: x_return_status := fnd_api.g_ret_sts_success;
1013: x_msg_data := 0;
1014:
1015: IF p_commit = FND_API.G_TRUE
1016: THEN
1011: BEGIN
1012: x_return_status := fnd_api.g_ret_sts_success;
1013: x_msg_data := 0;
1014:
1015: IF p_commit = FND_API.G_TRUE
1016: THEN
1017: SAVEPOINT CLOSE_ALL_ACTIONS;
1018: END IF;
1019:
1022: l_cancel_comment := FND_MESSAGE.GET;
1023: else
1024: l_cancel_comment := p_cancel_comment;
1025: end if;
1026: If (x_return_status = fnd_api.g_ret_sts_success
1027: AND p_validate_only <> fnd_api.g_true) then
1028: OPEN cancel_action;
1029: LOOP
1030: FETCH cancel_action INTO l_ci_action_id,
1023: else
1024: l_cancel_comment := p_cancel_comment;
1025: end if;
1026: If (x_return_status = fnd_api.g_ret_sts_success
1027: AND p_validate_only <> fnd_api.g_true) then
1028: OPEN cancel_action;
1029: LOOP
1030: FETCH cancel_action INTO l_ci_action_id,
1031: l_record_version_number;
1046: END LOOP;
1047: CLOSE cancel_action;
1048: End If;
1049: -- Commit the changes if requested
1050: if (p_commit = FND_API.G_TRUE
1051: AND x_return_status = fnd_api.g_ret_sts_success) then
1052: commit;
1053: end if;
1054:
1047: CLOSE cancel_action;
1048: End If;
1049: -- Commit the changes if requested
1050: if (p_commit = FND_API.G_TRUE
1051: AND x_return_status = fnd_api.g_ret_sts_success) then
1052: commit;
1053: end if;
1054:
1055: EXCEPTION WHEN FND_API.G_EXC_ERROR THEN
1051: AND x_return_status = fnd_api.g_ret_sts_success) then
1052: commit;
1053: end if;
1054:
1055: EXCEPTION WHEN FND_API.G_EXC_ERROR THEN
1056: IF p_commit = FND_API.G_TRUE THEN
1057: ROLLBACK TO ADD_CI_COMMENT;
1058: END IF;
1059: x_return_status := 'E';
1052: commit;
1053: end if;
1054:
1055: EXCEPTION WHEN FND_API.G_EXC_ERROR THEN
1056: IF p_commit = FND_API.G_TRUE THEN
1057: ROLLBACK TO ADD_CI_COMMENT;
1058: END IF;
1059: x_return_status := 'E';
1060: WHEN OTHERS THEN
1057: ROLLBACK TO ADD_CI_COMMENT;
1058: END IF;
1059: x_return_status := 'E';
1060: WHEN OTHERS THEN
1061: IF p_commit = FND_API.G_TRUE THEN
1062: ROLLBACK TO ADD_CI_COMMENT;
1063: END IF;
1064: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1065: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_CI_ACTIONS_PVT',
1060: WHEN OTHERS THEN
1061: IF p_commit = FND_API.G_TRUE THEN
1062: ROLLBACK TO ADD_CI_COMMENT;
1063: END IF;
1064: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1065: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_CI_ACTIONS_PVT',
1066: p_procedure_name => 'DELETE_ALL_ACTIONS',
1067: p_error_text => SUBSTRB(SQLERRM,1,240));
1068: RAISE;
1071:
1072:
1073: PROCEDURE DELETE_ALL_ACTIONS(
1074: p_api_version IN NUMBER := 1.0,
1075: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
1076: p_commit IN VARCHAR2 := FND_API.g_false,
1077: p_validate_only IN VARCHAR2 := FND_API.g_true,
1078: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
1079: p_ci_id IN NUMBER,
1072:
1073: PROCEDURE DELETE_ALL_ACTIONS(
1074: p_api_version IN NUMBER := 1.0,
1075: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
1076: p_commit IN VARCHAR2 := FND_API.g_false,
1077: p_validate_only IN VARCHAR2 := FND_API.g_true,
1078: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
1079: p_ci_id IN NUMBER,
1080: x_return_status OUT NOCOPY VARCHAR2,
1073: PROCEDURE DELETE_ALL_ACTIONS(
1074: p_api_version IN NUMBER := 1.0,
1075: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
1076: p_commit IN VARCHAR2 := FND_API.g_false,
1077: p_validate_only IN VARCHAR2 := FND_API.g_true,
1078: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
1079: p_ci_id IN NUMBER,
1080: x_return_status OUT NOCOPY VARCHAR2,
1081: x_msg_count OUT NOCOPY NUMBER,
1074: p_api_version IN NUMBER := 1.0,
1075: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
1076: p_commit IN VARCHAR2 := FND_API.g_false,
1077: p_validate_only IN VARCHAR2 := FND_API.g_true,
1078: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
1079: p_ci_id IN NUMBER,
1080: x_return_status OUT NOCOPY VARCHAR2,
1081: x_msg_count OUT NOCOPY NUMBER,
1082: x_msg_data OUT NOCOPY VARCHAR2)
1095: FROM PA_CI_COMMENTS
1096: WHERE ci_action_id = l_ci_action_id;
1097:
1098: BEGIN
1099: x_return_status := fnd_api.g_ret_sts_success;
1100: x_msg_data := 0;
1101:
1102: IF p_commit = FND_API.G_TRUE
1103: THEN
1098: BEGIN
1099: x_return_status := fnd_api.g_ret_sts_success;
1100: x_msg_data := 0;
1101:
1102: IF p_commit = FND_API.G_TRUE
1103: THEN
1104: SAVEPOINT DELETE_ALL_ACTIONS;
1105: END IF;
1106:
1103: THEN
1104: SAVEPOINT DELETE_ALL_ACTIONS;
1105: END IF;
1106:
1107: If (x_return_status = fnd_api.g_ret_sts_success
1108: AND p_validate_only <> fnd_api.g_true) then
1109:
1110: OPEN delete_action;
1111: LOOP
1104: SAVEPOINT DELETE_ALL_ACTIONS;
1105: END IF;
1106:
1107: If (x_return_status = fnd_api.g_ret_sts_success
1108: AND p_validate_only <> fnd_api.g_true) then
1109:
1110: OPEN delete_action;
1111: LOOP
1112: FETCH delete_action INTO l_ci_action_id;
1125: CLOSE delete_action;
1126:
1127: End If;
1128: -- Commit the changes if requested
1129: if (p_commit = FND_API.G_TRUE
1130: AND x_return_status = fnd_api.g_ret_sts_success) then
1131: commit;
1132: end if;
1133:
1126:
1127: End If;
1128: -- Commit the changes if requested
1129: if (p_commit = FND_API.G_TRUE
1130: AND x_return_status = fnd_api.g_ret_sts_success) then
1131: commit;
1132: end if;
1133:
1134: EXCEPTION WHEN FND_API.G_EXC_ERROR THEN
1130: AND x_return_status = fnd_api.g_ret_sts_success) then
1131: commit;
1132: end if;
1133:
1134: EXCEPTION WHEN FND_API.G_EXC_ERROR THEN
1135: IF p_commit = FND_API.G_TRUE THEN
1136: ROLLBACK TO ADD_CI_COMMENT;
1137: END IF;
1138: x_return_status := 'E';
1131: commit;
1132: end if;
1133:
1134: EXCEPTION WHEN FND_API.G_EXC_ERROR THEN
1135: IF p_commit = FND_API.G_TRUE THEN
1136: ROLLBACK TO ADD_CI_COMMENT;
1137: END IF;
1138: x_return_status := 'E';
1139: WHEN OTHERS THEN
1136: ROLLBACK TO ADD_CI_COMMENT;
1137: END IF;
1138: x_return_status := 'E';
1139: WHEN OTHERS THEN
1140: IF p_commit = FND_API.G_TRUE THEN
1141: ROLLBACK TO ADD_CI_COMMENT;
1142: END IF;
1143: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1144: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_CI_ACTIONS_PVT',
1139: WHEN OTHERS THEN
1140: IF p_commit = FND_API.G_TRUE THEN
1141: ROLLBACK TO ADD_CI_COMMENT;
1142: END IF;
1143: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1144: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_CI_ACTIONS_PVT',
1145: p_procedure_name => 'DELETE_ALL_ACTIONS',
1146: p_error_text => SUBSTRB(SQLERRM,1,240));
1147: RAISE;