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,
51: -- Initialize the Error Stack
52: PA_DEBUG.init_err_stack('PA_CI_ACTIONS_PVT.CREATE_CI_ACTION');
53:
54: -- Initialize the return status to success
55: x_return_status := FND_API.G_RET_STS_SUCCESS;
56:
57: IF p_commit = FND_API.G_TRUE
58: THEN
59: SAVEPOINT ADD_ACTION;
53:
54: -- Initialize the return status to success
55: x_return_status := FND_API.G_RET_STS_SUCCESS;
56:
57: IF p_commit = FND_API.G_TRUE
58: THEN
59: SAVEPOINT ADD_ACTION;
60: END IF;
61: x_msg_count := 0;
62:
63: if (P_ASSIGNED_TO IS NULL) then
64: PA_UTILS.Add_Message( p_app_short_name => 'PA'
65: ,p_msg_name => 'PA_CI_ACTION_INVALID_ASSIGNEE');
66: x_return_status := FND_API.G_RET_STS_ERROR;
67: return;
68: end if;
69:
70:
75: l_action_number := PA_CI_ACTIONS_UTIL.get_next_ci_action_number(p_ci_id);
76: end if;
77:
78: -- Validate the Input Values
79: If (x_return_status = fnd_api.g_ret_sts_success
80: AND p_validate_only <> fnd_api.g_true) then
81:
82: PA_CI_ACTIONS_PKG.INSERT_ROW(
83: P_CI_ACTION_ID => l_ci_action_id,
76: end if;
77:
78: -- Validate the Input Values
79: If (x_return_status = fnd_api.g_ret_sts_success
80: AND p_validate_only <> fnd_api.g_true) then
81:
82: PA_CI_ACTIONS_PKG.INSERT_ROW(
83: P_CI_ACTION_ID => l_ci_action_id,
84: P_CI_ID => P_CI_ID,
104: else
105: l_comment_text := p_comment_text;
106: end if;
107:
108: If (x_return_status = fnd_api.g_ret_sts_success
109: AND p_validate_only <> fnd_api.g_true) then
110: PA_CI_ACTIONS_PVT.ADD_CI_COMMENT(
111: p_api_version => P_API_VERSION,
112: p_init_msg_list => P_INIT_MSG_LIST,
105: l_comment_text := p_comment_text;
106: end if;
107:
108: If (x_return_status = fnd_api.g_ret_sts_success
109: AND p_validate_only <> fnd_api.g_true) then
110: PA_CI_ACTIONS_PVT.ADD_CI_COMMENT(
111: p_api_version => P_API_VERSION,
112: p_init_msg_list => P_INIT_MSG_LIST,
113: p_commit => P_COMMIT,
127: OPEN getRecordVersionNumber;
128: FETCH getRecordVersionNumber into l_ci_record_version_number;
129: CLOSE getRecordVersionNumber;
130:
131: If (x_return_status = fnd_api.g_ret_sts_success
132: AND p_validate_only <> fnd_api.g_true) then
133: PA_CONTROL_ITEMS_PVT.UPDATE_NUMBER_OF_ACTIONS (
134: p_api_version => P_API_VERSION,
135: p_init_msg_list => P_INIT_MSG_LIST,
128: FETCH getRecordVersionNumber into l_ci_record_version_number;
129: CLOSE getRecordVersionNumber;
130:
131: If (x_return_status = fnd_api.g_ret_sts_success
132: AND p_validate_only <> fnd_api.g_true) then
133: PA_CONTROL_ITEMS_PVT.UPDATE_NUMBER_OF_ACTIONS (
134: p_api_version => P_API_VERSION,
135: p_init_msg_list => P_INIT_MSG_LIST,
136: p_commit => P_COMMIT,
153: l_process_name := 'PA_CI_ACTION_ASMT_NO_SIGN_OFF';
154: end if;
155: -- Launch the workflow notification if it is not validate only mode and no errors occured till now.
156: -- Bug 3297238. FP M Changes.
157: IF ( p_validate_only = FND_API.G_FALSE AND x_return_status = FND_API.g_ret_sts_success )THEN
158: pa_control_items_workflow.START_NOTIFICATION_WF
159: ( p_item_type => 'PAWFCIAC'
160: ,p_process_name => l_process_name
161: ,p_ci_id => p_ci_id
163: ,x_item_key => l_item_key
164: ,x_return_status => x_return_status
165: ,x_msg_count => x_msg_count
166: ,x_msg_data => x_msg_data );
167: if(x_return_status <> FND_API.g_ret_sts_success) then
168: raise FND_API.G_EXC_ERROR;
169: end if;
170: END IF;
171:
164: ,x_return_status => x_return_status
165: ,x_msg_count => x_msg_count
166: ,x_msg_data => x_msg_data );
167: if(x_return_status <> FND_API.g_ret_sts_success) then
168: raise FND_API.G_EXC_ERROR;
169: end if;
170: END IF;
171:
172: -- Commit the changes if requested
169: end if;
170: END IF;
171:
172: -- Commit the changes if requested
173: if (p_commit = FND_API.G_TRUE
174: AND x_return_status = fnd_api.g_ret_sts_success) then
175: commit;
176: end if;
177:
170: END IF;
171:
172: -- Commit the changes if requested
173: if (p_commit = FND_API.G_TRUE
174: AND x_return_status = fnd_api.g_ret_sts_success) then
175: commit;
176: end if;
177:
178: EXCEPTION
175: commit;
176: end if;
177:
178: EXCEPTION
179: WHEN FND_API.G_EXC_ERROR THEN
180: IF p_commit = FND_API.G_TRUE
181: THEN
182: ROLLBACK TO ADD_ACTION;
183: END IF;
176: end if;
177:
178: EXCEPTION
179: WHEN FND_API.G_EXC_ERROR THEN
180: IF p_commit = FND_API.G_TRUE
181: THEN
182: ROLLBACK TO ADD_ACTION;
183: END IF;
184: x_return_status := 'E';
183: END IF;
184: x_return_status := 'E';
185:
186: WHEN OTHERS THEN
187: IF p_commit = FND_API.G_TRUE
188: THEN
189: ROLLBACK TO ADD_ACTION;
190: END IF;
191: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
187: IF p_commit = FND_API.G_TRUE
188: THEN
189: ROLLBACK TO ADD_ACTION;
190: END IF;
191: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
192: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_CI_ACTIONS_PVT',
193: p_procedure_name => 'CREATE_CI_ACTIONS',
194: p_error_text => SUBSTRB(SQLERRM,1,240));
195: RAISE;
196: END CREATE_CI_ACTION;
197:
198: PROCEDURE CLOSE_CI_ACTION (
199: p_api_version IN NUMBER := 1.0,
200: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
201: p_commit IN VARCHAR2 := FND_API.g_false,
202: p_validate_only IN VARCHAR2 := FND_API.g_true,
203: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
204: P_calling_context IN VARCHAR2,
197:
198: PROCEDURE CLOSE_CI_ACTION (
199: p_api_version IN NUMBER := 1.0,
200: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
201: p_commit IN VARCHAR2 := FND_API.g_false,
202: p_validate_only IN VARCHAR2 := FND_API.g_true,
203: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
204: P_calling_context IN VARCHAR2,
205: P_CI_ACTION_ID in NUMBER,
198: PROCEDURE CLOSE_CI_ACTION (
199: p_api_version IN NUMBER := 1.0,
200: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
201: p_commit IN VARCHAR2 := FND_API.g_false,
202: p_validate_only IN VARCHAR2 := FND_API.g_true,
203: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
204: P_calling_context IN VARCHAR2,
205: P_CI_ACTION_ID in NUMBER,
206: P_SIGN_OFF_FLAG in VARCHAR2,
199: p_api_version IN NUMBER := 1.0,
200: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
201: p_commit IN VARCHAR2 := FND_API.g_false,
202: p_validate_only IN VARCHAR2 := FND_API.g_true,
203: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
204: P_calling_context IN VARCHAR2,
205: P_CI_ACTION_ID in NUMBER,
206: P_SIGN_OFF_FLAG in VARCHAR2,
207: P_RECORD_VERSION_NUMBER in NUMBER,
254: -- Initialize the Error Stack
255: PA_DEBUG.init_err_stack('PA_CI_ACTIONS_PVT.CLOSE_CI_ACTION');
256:
257: -- Initialize the return status to success
258: x_return_status := FND_API.G_RET_STS_SUCCESS;
259:
260: x_msg_count :=0 ;
261: IF p_commit = FND_API.G_TRUE
262: THEN
257: -- Initialize the return status to success
258: x_return_status := FND_API.G_RET_STS_SUCCESS;
259:
260: x_msg_count :=0 ;
261: IF p_commit = FND_API.G_TRUE
262: THEN
263: SAVEPOINT CLOSE_CI_ACTION;
264: END IF;
265:
270: l_created_by, l_creation_date;
271: IF ci_action%NOTFOUND THEN
272: PA_UTILS.Add_Message( p_app_short_name => 'PA'
273: ,p_msg_name => 'PA_NO_ACTION_FOUND');
274: x_return_status := FND_API.G_RET_STS_ERROR;
275: CLOSE ci_action;
276: return;
277: END IF;
278:
282: FETCH check_record_changed INTO l_rowid;
283: IF check_record_changed%NOTFOUND THEN
284: PA_UTILS.Add_Message( p_app_short_name => 'PA'
285: ,p_msg_name => 'PA_PR_RECORD_CHANGED');
286: x_return_status := FND_API.G_RET_STS_ERROR;
287: CLOSE check_record_changed;
288: return;
289: END IF;
290: if (check_record_changed%ISOPEN) then
289: END IF;
290: if (check_record_changed%ISOPEN) then
291: CLOSE check_record_changed;
292: end if;
293: If (x_return_status = fnd_api.g_ret_sts_success
294: AND p_validate_only <> fnd_api.g_true) then
295: PA_CI_ACTIONS_PKG.UPDATE_ROW(
296: P_CI_ACTION_ID => P_CI_ACTION_ID,
297: P_CI_ID => l_ci_id,
290: if (check_record_changed%ISOPEN) then
291: CLOSE check_record_changed;
292: end if;
293: If (x_return_status = fnd_api.g_ret_sts_success
294: AND p_validate_only <> fnd_api.g_true) then
295: PA_CI_ACTIONS_PKG.UPDATE_ROW(
296: P_CI_ACTION_ID => P_CI_ACTION_ID,
297: P_CI_ID => l_ci_id,
298: P_STATUS_CODE => 'CI_ACTION_CLOSED',
316: else
317: l_comment_text := p_comment_text;
318: end if;
319:
320: If (x_return_status = fnd_api.g_ret_sts_success
321: AND p_validate_only <> fnd_api.g_true) then
322: PA_CI_ACTIONS_PVT.ADD_CI_COMMENT(
323: p_api_version => P_API_VERSION,
324: p_init_msg_list => P_INIT_MSG_LIST,
317: l_comment_text := p_comment_text;
318: end if;
319:
320: If (x_return_status = fnd_api.g_ret_sts_success
321: AND p_validate_only <> fnd_api.g_true) then
322: PA_CI_ACTIONS_PVT.ADD_CI_COMMENT(
323: p_api_version => P_API_VERSION,
324: p_init_msg_list => P_INIT_MSG_LIST,
325: p_commit => P_COMMIT,
338: OPEN getRecordVersionNumber;
339: FETCH getRecordVersionNumber into l_ci_record_version_number;
340: CLOSE getRecordVersionNumber;
341:
342: If (x_return_status = fnd_api.g_ret_sts_success
343: AND p_validate_only <> fnd_api.g_true) then
344: PA_CONTROL_ITEMS_PVT.UPDATE_NUMBER_OF_ACTIONS (
345: p_api_version => P_API_VERSION,
346: p_init_msg_list => P_INIT_MSG_LIST,
339: FETCH getRecordVersionNumber into l_ci_record_version_number;
340: CLOSE getRecordVersionNumber;
341:
342: If (x_return_status = fnd_api.g_ret_sts_success
343: AND p_validate_only <> fnd_api.g_true) then
344: PA_CONTROL_ITEMS_PVT.UPDATE_NUMBER_OF_ACTIONS (
345: p_api_version => P_API_VERSION,
346: p_init_msg_list => P_INIT_MSG_LIST,
347: p_commit => P_COMMIT,
358:
359:
360: -- Launch the workflow notification if it is not validate only mode and no errors occured till now and calling context is CLOSE.
361: -- Bug 3297238. FP M Changes.
362: IF ( p_validate_only = FND_API.G_FALSE AND x_return_status = FND_API.g_ret_sts_success AND P_calling_context = 'CLOSE' )THEN
363: pa_control_items_workflow.START_NOTIFICATION_WF
364: ( p_item_type => 'PAWFCIAC'
365: ,p_process_name => 'PA_CI_ACTION_CLOSE_FYI'
366: ,p_ci_id => l_ci_id
368: ,x_item_key => l_item_key
369: ,x_return_status => x_return_status
370: ,x_msg_count => x_msg_count
371: ,x_msg_data => x_msg_data );
372: if(x_return_status <> FND_API.g_ret_sts_success) then
373: raise FND_API.G_EXC_ERROR;
374: end if;
375: END IF;
376:
369: ,x_return_status => x_return_status
370: ,x_msg_count => x_msg_count
371: ,x_msg_data => x_msg_data );
372: if(x_return_status <> FND_API.g_ret_sts_success) then
373: raise FND_API.G_EXC_ERROR;
374: end if;
375: END IF;
376:
377: -- Commit the changes if requested
374: end if;
375: END IF;
376:
377: -- Commit the changes if requested
378: if (p_commit = FND_API.G_TRUE
379: AND x_return_status = fnd_api.g_ret_sts_success) then
380: commit;
381: end if;
382:
375: END IF;
376:
377: -- Commit the changes if requested
378: if (p_commit = FND_API.G_TRUE
379: AND x_return_status = fnd_api.g_ret_sts_success) then
380: commit;
381: end if;
382:
383:
380: commit;
381: end if;
382:
383:
384: EXCEPTION WHEN FND_API.G_EXC_ERROR THEN
385: IF p_commit = FND_API.G_TRUE THEN
386: ROLLBACK TO CLOSE_CI_ACTION;
387: END IF;
388: x_return_status := 'E';
381: end if;
382:
383:
384: EXCEPTION WHEN FND_API.G_EXC_ERROR THEN
385: IF p_commit = FND_API.G_TRUE THEN
386: ROLLBACK TO CLOSE_CI_ACTION;
387: END IF;
388: x_return_status := 'E';
389: WHEN OTHERS THEN
386: ROLLBACK TO CLOSE_CI_ACTION;
387: END IF;
388: x_return_status := 'E';
389: WHEN OTHERS THEN
390: IF p_commit = FND_API.G_TRUE THEN
391: ROLLBACK TO CLOSE_CI_ACTION;
392: END IF;
393: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
394: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_CI_ACTIONS_PVT',
389: WHEN OTHERS THEN
390: IF p_commit = FND_API.G_TRUE THEN
391: ROLLBACK TO CLOSE_CI_ACTION;
392: END IF;
393: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
394: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_CI_ACTIONS_PVT',
395: p_procedure_name => 'CLOSE_CI_ACTIONS',
396: p_error_text => SUBSTRB(SQLERRM,1,240));
397: RAISE;
399:
400:
401: PROCEDURE REASSIGN_CI_ACTION (
402: p_api_version IN NUMBER := 1.0,
403: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
404: p_commit IN VARCHAR2 := FND_API.g_false,
405: p_validate_only IN VARCHAR2 := FND_API.g_true,
406: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
407: P_CI_ACTION_ID in NUMBER,
400:
401: PROCEDURE REASSIGN_CI_ACTION (
402: p_api_version IN NUMBER := 1.0,
403: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
404: p_commit IN VARCHAR2 := FND_API.g_false,
405: p_validate_only IN VARCHAR2 := FND_API.g_true,
406: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
407: P_CI_ACTION_ID in NUMBER,
408: P_SIGN_OFF_FLAG in VARCHAR2 := 'N',
401: PROCEDURE REASSIGN_CI_ACTION (
402: p_api_version IN NUMBER := 1.0,
403: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
404: p_commit IN VARCHAR2 := FND_API.g_false,
405: p_validate_only IN VARCHAR2 := FND_API.g_true,
406: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
407: P_CI_ACTION_ID in NUMBER,
408: P_SIGN_OFF_FLAG in VARCHAR2 := 'N',
409: P_RECORD_VERSION_NUMBER in NUMBER,
402: p_api_version IN NUMBER := 1.0,
403: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
404: p_commit IN VARCHAR2 := FND_API.g_false,
405: p_validate_only IN VARCHAR2 := FND_API.g_true,
406: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
407: P_CI_ACTION_ID in NUMBER,
408: P_SIGN_OFF_FLAG in VARCHAR2 := 'N',
409: P_RECORD_VERSION_NUMBER in NUMBER,
410: P_ASSIGNED_TO in NUMBER,
452: -- Initialize the Error Stack
453: PA_DEBUG.init_err_stack('PA_CI_ACTIONS_PVT.REASSIGN_CI_ACTION');
454:
455: -- Initialize the return status to success
456: x_return_status := FND_API.G_RET_STS_SUCCESS;
457: x_msg_data := 0;
458:
459: IF p_commit = FND_API.G_TRUE
460: THEN
455: -- Initialize the return status to success
456: x_return_status := FND_API.G_RET_STS_SUCCESS;
457: x_msg_data := 0;
458:
459: IF p_commit = FND_API.G_TRUE
460: THEN
461: SAVEPOINT REASSIGN_CI_ACTION;
462: END IF;
463:
467: l_date_required, l_sign_off_required_flag, l_source_ci_action_id;
468: IF ci_action%NOTFOUND THEN
469: PA_UTILS.Add_Message( p_app_short_name => 'PA'
470: ,p_msg_name => 'PA_NO_ACTION_FOUND');
471: x_return_status := FND_API.G_RET_STS_ERROR;
472: CLOSE ci_action;
473: return;
474: END IF;
475:
480: FETCH check_record_changed INTO l_rowid;
481: IF check_record_changed%NOTFOUND THEN
482: PA_UTILS.Add_Message( p_app_short_name => 'PA'
483: ,p_msg_name => 'PA_PR_RECORD_CHANGED');
484: x_return_status := FND_API.G_RET_STS_ERROR;
485: CLOSE check_record_changed;
486: return;
487: END IF;
488: if (check_record_changed%ISOPEN) then
500:
501: if l_assigned_to_party = p_assigned_to THEN
502: PA_UTILS.Add_Message( p_app_short_name => 'PA'
503: ,p_msg_name => 'PA_CI_ACTION_REASSIGN_INV');
504: x_return_status := FND_API.G_RET_STS_ERROR;
505: end if;
506:
507: if (P_DATE_REQUIRED is not null) and (P_DATE_REQUIRED < sysdate) then
508: PA_UTILS.Add_Message( p_app_short_name => 'PA'
506:
507: if (P_DATE_REQUIRED is not null) and (P_DATE_REQUIRED < sysdate) then
508: PA_UTILS.Add_Message( p_app_short_name => 'PA'
509: ,p_msg_name => 'PA_CI_ACTION_DATE_REQ_INV');
510: x_return_status := FND_API.G_RET_STS_ERROR;
511: end if;
512:
513: return;
514: end if;
514: end if;
515: --validation for action assignee and date ends here.
516:
517:
518: If (x_return_status = fnd_api.g_ret_sts_success
519: AND p_validate_only <> fnd_api.g_true) then
520: PA_CI_ACTIONS_PVT.CLOSE_CI_ACTION
521: (
522: p_api_version => P_API_VERSION,
515: --validation for action assignee and date ends here.
516:
517:
518: If (x_return_status = fnd_api.g_ret_sts_success
519: AND p_validate_only <> fnd_api.g_true) then
520: PA_CI_ACTIONS_PVT.CLOSE_CI_ACTION
521: (
522: p_api_version => P_API_VERSION,
523: p_init_msg_list => P_INIT_MSG_LIST,
534: x_msg_data => x_msg_data
535: );
536: END IF;
537:
538: If (x_return_status = fnd_api.g_ret_sts_success
539: AND p_validate_only <> fnd_api.g_true) then
540:
541: PA_CI_ACTIONS_PVT.CREATE_CI_ACTION
542: (
535: );
536: END IF;
537:
538: If (x_return_status = fnd_api.g_ret_sts_success
539: AND p_validate_only <> fnd_api.g_true) then
540:
541: PA_CI_ACTIONS_PVT.CREATE_CI_ACTION
542: (
543: P_API_VERSION => P_API_VERSION,
559: );
560: end if;
561:
562: -- Commit the changes if requested
563: if (p_commit = FND_API.G_TRUE
564: AND x_return_status = fnd_api.g_ret_sts_success) then
565: commit;
566: end if;
567:
560: end if;
561:
562: -- Commit the changes if requested
563: if (p_commit = FND_API.G_TRUE
564: AND x_return_status = fnd_api.g_ret_sts_success) then
565: commit;
566: end if;
567:
568: EXCEPTION WHEN FND_API.G_EXC_ERROR THEN
564: AND x_return_status = fnd_api.g_ret_sts_success) then
565: commit;
566: end if;
567:
568: EXCEPTION WHEN FND_API.G_EXC_ERROR THEN
569: IF p_commit = FND_API.G_TRUE THEN
570: ROLLBACK TO REASSIGN_CI_ACTION;
571: END IF;
572: x_return_status := 'E';
565: commit;
566: end if;
567:
568: EXCEPTION WHEN FND_API.G_EXC_ERROR THEN
569: IF p_commit = FND_API.G_TRUE THEN
570: ROLLBACK TO REASSIGN_CI_ACTION;
571: END IF;
572: x_return_status := 'E';
573: WHEN OTHERS THEN
570: ROLLBACK TO REASSIGN_CI_ACTION;
571: END IF;
572: x_return_status := 'E';
573: WHEN OTHERS THEN
574: IF p_commit = FND_API.G_TRUE THEN
575: ROLLBACK TO REASSIGN_CI_ACTION;
576: END IF;
577: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
578: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_CI_ACTIONS_PVT',
573: WHEN OTHERS THEN
574: IF p_commit = FND_API.G_TRUE THEN
575: ROLLBACK TO REASSIGN_CI_ACTION;
576: END IF;
577: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
578: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_CI_ACTIONS_PVT',
579: p_procedure_name => 'REASSIGN_CI_ACTION',
580: p_error_text => SUBSTRB(SQLERRM,1,240));
581: RAISE;
582: END REASSIGN_CI_ACTION;
583:
584: PROCEDURE CANCEL_CI_ACTION (
585: p_api_version IN NUMBER := 1.0,
586: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
587: p_commit IN VARCHAR2 := FND_API.g_false,
588: p_validate_only IN VARCHAR2 := FND_API.g_true,
589: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
590: P_CI_ACTION_ID in NUMBER,
583:
584: PROCEDURE CANCEL_CI_ACTION (
585: p_api_version IN NUMBER := 1.0,
586: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
587: p_commit IN VARCHAR2 := FND_API.g_false,
588: p_validate_only IN VARCHAR2 := FND_API.g_true,
589: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
590: P_CI_ACTION_ID in NUMBER,
591: P_RECORD_VERSION_NUMBER in NUMBER,
584: PROCEDURE CANCEL_CI_ACTION (
585: p_api_version IN NUMBER := 1.0,
586: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
587: p_commit IN VARCHAR2 := FND_API.g_false,
588: p_validate_only IN VARCHAR2 := FND_API.g_true,
589: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
590: P_CI_ACTION_ID in NUMBER,
591: P_RECORD_VERSION_NUMBER in NUMBER,
592: P_CANCEL_COMMENT in VARCHAR2,
585: p_api_version IN NUMBER := 1.0,
586: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
587: p_commit IN VARCHAR2 := FND_API.g_false,
588: p_validate_only IN VARCHAR2 := FND_API.g_true,
589: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
590: P_CI_ACTION_ID in NUMBER,
591: P_RECORD_VERSION_NUMBER in NUMBER,
592: P_CANCEL_COMMENT in VARCHAR2,
593: P_LAST_UPDATED_BY in NUMBER default fnd_global.user_id,
633: from pa_control_items
634: where ci_id = l_ci_id;
635:
636: BEGIN
637: x_return_status := fnd_api.g_ret_sts_success;
638: x_msg_count :=0 ;
639: IF p_commit = FND_API.G_TRUE
640: THEN
641: SAVEPOINT CANCEL_CI_ACTION;
635:
636: BEGIN
637: x_return_status := fnd_api.g_ret_sts_success;
638: x_msg_count :=0 ;
639: IF p_commit = FND_API.G_TRUE
640: THEN
641: SAVEPOINT CANCEL_CI_ACTION;
642: END IF;
643:
648: l_created_by, l_creation_date,l_sign_off_flag;
649: IF ci_action%NOTFOUND THEN
650: PA_UTILS.Add_Message( p_app_short_name => 'PA'
651: ,p_msg_name => 'PA_NO_ACTION_FOUND');
652: x_return_status := FND_API.G_RET_STS_ERROR;
653: CLOSE ci_action;
654: return;
655: END IF;
656:
655: END IF;
656:
657: l_party_id := PA_UTILS.get_party_id(P_LAST_UPDATED_BY);
658: if (l_party_id IS NULL) then
659: x_return_status := FND_API.G_RET_STS_ERROR;
660: PA_UTILS.Add_Message( p_app_short_name => 'PA'
661: ,p_msg_name => 'PA_RESOURCE_INVALID_PERSON');
662: return;
663: end if;
668: FETCH check_record_changed INTO l_rowid;
669: IF check_record_changed%NOTFOUND THEN
670: PA_UTILS.Add_Message( p_app_short_name => 'PA'
671: ,p_msg_name => 'PA_PR_RECORD_CHANGED');
672: x_return_status := FND_API.G_RET_STS_ERROR;
673: CLOSE check_record_changed;
674: return;
675: END IF;
676: if (check_record_changed%ISOPEN) then
675: END IF;
676: if (check_record_changed%ISOPEN) then
677: CLOSE check_record_changed;
678: end if;
679: If (x_return_status = fnd_api.g_ret_sts_success
680: AND p_validate_only <> fnd_api.g_true) then
681: PA_CI_ACTIONS_PKG.UPDATE_ROW(
682: P_CI_ACTION_ID => P_CI_ACTION_ID,
683: P_CI_ID => l_ci_id,
676: if (check_record_changed%ISOPEN) then
677: CLOSE check_record_changed;
678: end if;
679: If (x_return_status = fnd_api.g_ret_sts_success
680: AND p_validate_only <> fnd_api.g_true) then
681: PA_CI_ACTIONS_PKG.UPDATE_ROW(
682: P_CI_ACTION_ID => P_CI_ACTION_ID,
683: P_CI_ID => l_ci_id,
684: P_STATUS_CODE => 'CI_ACTION_CANCELED',
703: else
704: l_comment_text := P_CANCEL_COMMENT;
705: end if;
706:
707: If (x_return_status = fnd_api.g_ret_sts_success
708: AND p_validate_only <> fnd_api.g_true) then
709: PA_CI_ACTIONS_PVT.ADD_CI_COMMENT(
710: p_api_version => P_API_VERSION,
711: p_init_msg_list => P_INIT_MSG_LIST,
704: l_comment_text := P_CANCEL_COMMENT;
705: end if;
706:
707: If (x_return_status = fnd_api.g_ret_sts_success
708: AND p_validate_only <> fnd_api.g_true) then
709: PA_CI_ACTIONS_PVT.ADD_CI_COMMENT(
710: p_api_version => P_API_VERSION,
711: p_init_msg_list => P_INIT_MSG_LIST,
712: p_commit => P_COMMIT,
725: OPEN getRecordVersionNumber;
726: FETCH getRecordVersionNumber into l_ci_record_version_number;
727: CLOSE getRecordVersionNumber;
728:
729: If (x_return_status = fnd_api.g_ret_sts_success
730: AND p_validate_only <> fnd_api.g_true) then
731: PA_CONTROL_ITEMS_PVT.UPDATE_NUMBER_OF_ACTIONS (
732: p_api_version => P_API_VERSION,
733: p_init_msg_list => P_INIT_MSG_LIST,
726: FETCH getRecordVersionNumber into l_ci_record_version_number;
727: CLOSE getRecordVersionNumber;
728:
729: If (x_return_status = fnd_api.g_ret_sts_success
730: AND p_validate_only <> fnd_api.g_true) then
731: PA_CONTROL_ITEMS_PVT.UPDATE_NUMBER_OF_ACTIONS (
732: p_api_version => P_API_VERSION,
733: p_init_msg_list => P_INIT_MSG_LIST,
734: p_commit => P_COMMIT,
744: End if;
745:
746:
747: -- Commit the changes if requested
748: if (p_commit = FND_API.G_TRUE
749: AND x_return_status = fnd_api.g_ret_sts_success) then
750: commit;
751: end if;
752:
745:
746:
747: -- Commit the changes if requested
748: if (p_commit = FND_API.G_TRUE
749: AND x_return_status = fnd_api.g_ret_sts_success) then
750: commit;
751: end if;
752:
753: EXCEPTION WHEN FND_API.G_EXC_ERROR THEN
749: AND x_return_status = fnd_api.g_ret_sts_success) then
750: commit;
751: end if;
752:
753: EXCEPTION WHEN FND_API.G_EXC_ERROR THEN
754: IF p_commit = FND_API.G_TRUE THEN
755: ROLLBACK TO CLOSE_CI_ACTION;
756: END IF;
757: x_return_status := 'E';
750: commit;
751: end if;
752:
753: EXCEPTION WHEN FND_API.G_EXC_ERROR THEN
754: IF p_commit = FND_API.G_TRUE THEN
755: ROLLBACK TO CLOSE_CI_ACTION;
756: END IF;
757: x_return_status := 'E';
758: WHEN OTHERS THEN
755: ROLLBACK TO CLOSE_CI_ACTION;
756: END IF;
757: x_return_status := 'E';
758: WHEN OTHERS THEN
759: IF p_commit = FND_API.G_TRUE THEN
760: ROLLBACK TO CLOSE_CI_ACTION;
761: END IF;
762: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
763: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_CI_ACTIONS_PVT',
758: WHEN OTHERS THEN
759: IF p_commit = FND_API.G_TRUE THEN
760: ROLLBACK TO CLOSE_CI_ACTION;
761: END IF;
762: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
763: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_CI_ACTIONS_PVT',
764: p_procedure_name => 'CLOSE_CI_ACTIONS',
765: p_error_text => SUBSTRB(SQLERRM,1,240));
766: RAISE;
767: END CANCEL_CI_ACTION;
768:
769: PROCEDURE UPDATE_CI_COMMENT(
770: p_api_version IN NUMBER := 1.0,
771: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
772: p_commit IN VARCHAR2 := FND_API.g_false,
773: p_validate_only IN VARCHAR2 := FND_API.g_true,
774: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
775: p_ci_comment_id IN NUMBER,
768:
769: PROCEDURE UPDATE_CI_COMMENT(
770: p_api_version IN NUMBER := 1.0,
771: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
772: p_commit IN VARCHAR2 := FND_API.g_false,
773: p_validate_only IN VARCHAR2 := FND_API.g_true,
774: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
775: p_ci_comment_id IN NUMBER,
776: p_comment_text IN VARCHAR2,
769: PROCEDURE UPDATE_CI_COMMENT(
770: p_api_version IN NUMBER := 1.0,
771: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
772: p_commit IN VARCHAR2 := FND_API.g_false,
773: p_validate_only IN VARCHAR2 := FND_API.g_true,
774: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
775: p_ci_comment_id IN NUMBER,
776: p_comment_text IN VARCHAR2,
777: p_record_version_number IN NUMBER,
770: p_api_version IN NUMBER := 1.0,
771: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
772: p_commit IN VARCHAR2 := FND_API.g_false,
773: p_validate_only IN VARCHAR2 := FND_API.g_true,
774: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
775: p_ci_comment_id IN NUMBER,
776: p_comment_text IN VARCHAR2,
777: p_record_version_number IN NUMBER,
778: P_LAST_UPDATED_BY in NUMBER default fnd_global.user_id,
802: and record_version_number = p_record_version_number
803: for update;
804: BEGIN
805:
806: x_return_status := fnd_api.g_ret_sts_success;
807: x_msg_data := 0;
808:
809:
810: IF p_commit = FND_API.G_TRUE
806: x_return_status := fnd_api.g_ret_sts_success;
807: x_msg_data := 0;
808:
809:
810: IF p_commit = FND_API.G_TRUE
811: THEN
812: SAVEPOINT UPDATE_CI_COMMENT;
813: END IF;
814:
827: FETCH check_record_changed INTO l_rowid;
828: IF check_record_changed%NOTFOUND THEN
829: PA_UTILS.Add_Message( p_app_short_name => 'PA'
830: ,p_msg_name => 'PA_PR_RECORD_CHANGED');
831: x_return_status := FND_API.G_RET_STS_ERROR;
832: CLOSE check_record_changed;
833: return;
834: END IF;
835: if (check_record_changed%ISOPEN) then
835: if (check_record_changed%ISOPEN) then
836: CLOSE check_record_changed;
837: end if;
838:
839: If (x_return_status = fnd_api.g_ret_sts_success
840: AND p_validate_only <> fnd_api.g_true) then
841:
842: PA_CI_COMMENTS_PKG.UPDATE_ROW(
843: P_CI_COMMENT_ID => P_CI_COMMENT_ID,
836: CLOSE check_record_changed;
837: end if;
838:
839: If (x_return_status = fnd_api.g_ret_sts_success
840: AND p_validate_only <> fnd_api.g_true) then
841:
842: PA_CI_COMMENTS_PKG.UPDATE_ROW(
843: P_CI_COMMENT_ID => P_CI_COMMENT_ID,
844: P_CI_ID => l_ci_id,
852: P_RECORD_VERSION_NUMBER => p_record_version_number,
853: P_CI_ACTION_ID => l_ci_action_id);
854: End If;
855: -- Commit the changes if requested
856: if (p_commit = FND_API.G_TRUE
857: AND x_return_status = fnd_api.g_ret_sts_success) then
858: commit;
859: end if;
860:
853: P_CI_ACTION_ID => l_ci_action_id);
854: End If;
855: -- Commit the changes if requested
856: if (p_commit = FND_API.G_TRUE
857: AND x_return_status = fnd_api.g_ret_sts_success) then
858: commit;
859: end if;
860:
861: EXCEPTION WHEN FND_API.G_EXC_ERROR THEN
857: AND x_return_status = fnd_api.g_ret_sts_success) then
858: commit;
859: end if;
860:
861: EXCEPTION WHEN FND_API.G_EXC_ERROR THEN
862: IF p_commit = FND_API.G_TRUE THEN
863: ROLLBACK TO UPDATE_CI_COMMENT;
864: END IF;
865: x_return_status := 'E';
858: commit;
859: end if;
860:
861: EXCEPTION WHEN FND_API.G_EXC_ERROR THEN
862: IF p_commit = FND_API.G_TRUE THEN
863: ROLLBACK TO UPDATE_CI_COMMENT;
864: END IF;
865: x_return_status := 'E';
866: WHEN OTHERS THEN
863: ROLLBACK TO UPDATE_CI_COMMENT;
864: END IF;
865: x_return_status := 'E';
866: WHEN OTHERS THEN
867: IF p_commit = FND_API.G_TRUE THEN
868: ROLLBACK TO UPDATE_CI_COMMENT;
869: END IF;
870: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
871: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_CI_ACTIONS_PVT',
866: WHEN OTHERS THEN
867: IF p_commit = FND_API.G_TRUE THEN
868: ROLLBACK TO UPDATE_CI_COMMENT;
869: END IF;
870: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
871: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_CI_ACTIONS_PVT',
872: p_procedure_name => 'UPDATE_CI_COMMENT',
873: p_error_text => SUBSTRB(SQLERRM,1,240));
874: RAISE;
879:
880:
881: PROCEDURE ADD_CI_COMMENT(
882: p_api_version IN NUMBER := 1.0,
883: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
884: p_commit IN VARCHAR2 := FND_API.g_false,
885: p_validate_only IN VARCHAR2 := FND_API.g_true,
886: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
887: p_ci_comment_id out NOCOPY NUMBER,
880:
881: PROCEDURE ADD_CI_COMMENT(
882: p_api_version IN NUMBER := 1.0,
883: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
884: p_commit IN VARCHAR2 := FND_API.g_false,
885: p_validate_only IN VARCHAR2 := FND_API.g_true,
886: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
887: p_ci_comment_id out NOCOPY NUMBER,
888: p_ci_id IN NUMBER,
881: PROCEDURE ADD_CI_COMMENT(
882: p_api_version IN NUMBER := 1.0,
883: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
884: p_commit IN VARCHAR2 := FND_API.g_false,
885: p_validate_only IN VARCHAR2 := FND_API.g_true,
886: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
887: p_ci_comment_id out NOCOPY NUMBER,
888: p_ci_id IN NUMBER,
889: p_type_code IN VARCHAR2,
882: p_api_version IN NUMBER := 1.0,
883: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
884: p_commit IN VARCHAR2 := FND_API.g_false,
885: p_validate_only IN VARCHAR2 := FND_API.g_true,
886: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
887: p_ci_comment_id out NOCOPY NUMBER,
888: p_ci_id IN NUMBER,
889: p_type_code IN VARCHAR2,
890: p_comment_text IN VARCHAR2,
900: IS
901: l_error_msg_code varchar2(30);
902: l_party_id number;
903: BEGIN
904: x_return_status := fnd_api.g_ret_sts_success;
905: x_msg_data := 0;
906:
907: IF p_commit = FND_API.G_TRUE
908: THEN
903: BEGIN
904: x_return_status := fnd_api.g_ret_sts_success;
905: x_msg_data := 0;
906:
907: IF p_commit = FND_API.G_TRUE
908: THEN
909: SAVEPOINT ADD_CI_COMMENT;
910: END IF;
911:
908: THEN
909: SAVEPOINT ADD_CI_COMMENT;
910: END IF;
911:
912: If (x_return_status = fnd_api.g_ret_sts_success
913: AND p_validate_only <> fnd_api.g_true
914: AND P_COMMENT_TEXT IS NOT NULL) then
915: PA_CI_COMMENTS_PKG.INSERT_ROW(
916: P_CI_COMMENT_ID => P_CI_COMMENT_ID,
909: SAVEPOINT ADD_CI_COMMENT;
910: END IF;
911:
912: If (x_return_status = fnd_api.g_ret_sts_success
913: AND p_validate_only <> fnd_api.g_true
914: AND P_COMMENT_TEXT IS NOT NULL) then
915: PA_CI_COMMENTS_PKG.INSERT_ROW(
916: P_CI_COMMENT_ID => P_CI_COMMENT_ID,
917: P_CI_ID => P_CI_ID,
924: P_LAST_UPDATE_LOGIN => P_LAST_UPDATE_LOGIN,
925: P_CI_ACTION_ID => P_CI_ACTION_ID);
926: End If;
927: -- Commit the changes if requested
928: if (p_commit = FND_API.G_TRUE
929: AND x_return_status = fnd_api.g_ret_sts_success) then
930: commit;
931: end if;
932:
925: P_CI_ACTION_ID => P_CI_ACTION_ID);
926: End If;
927: -- Commit the changes if requested
928: if (p_commit = FND_API.G_TRUE
929: AND x_return_status = fnd_api.g_ret_sts_success) then
930: commit;
931: end if;
932:
933: EXCEPTION WHEN FND_API.G_EXC_ERROR THEN
929: AND x_return_status = fnd_api.g_ret_sts_success) then
930: commit;
931: end if;
932:
933: EXCEPTION WHEN FND_API.G_EXC_ERROR THEN
934: IF p_commit = FND_API.G_TRUE THEN
935: ROLLBACK TO ADD_CI_COMMENT;
936: END IF;
937: x_return_status := 'E';
930: commit;
931: end if;
932:
933: EXCEPTION WHEN FND_API.G_EXC_ERROR THEN
934: IF p_commit = FND_API.G_TRUE THEN
935: ROLLBACK TO ADD_CI_COMMENT;
936: END IF;
937: x_return_status := 'E';
938: WHEN OTHERS THEN
935: ROLLBACK TO ADD_CI_COMMENT;
936: END IF;
937: x_return_status := 'E';
938: WHEN OTHERS THEN
939: IF p_commit = FND_API.G_TRUE THEN
940: ROLLBACK TO ADD_CI_COMMENT;
941: END IF;
942: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
943: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_CI_ACTIONS_PVT',
938: WHEN OTHERS THEN
939: IF p_commit = FND_API.G_TRUE THEN
940: ROLLBACK TO ADD_CI_COMMENT;
941: END IF;
942: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
943: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_CI_ACTIONS_PVT',
944: p_procedure_name => 'ADD_CI_COMMENT',
945: p_error_text => SUBSTRB(SQLERRM,1,240));
946: RAISE;
947: END ADD_CI_COMMENT;
948:
949: PROCEDURE CANCEL_ALL_ACTIONS(
950: p_api_version IN NUMBER := 1.0,
951: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
952: p_commit IN VARCHAR2 := FND_API.g_false,
953: p_validate_only IN VARCHAR2 := FND_API.g_true,
954: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
955: p_ci_id IN NUMBER,
948:
949: PROCEDURE CANCEL_ALL_ACTIONS(
950: p_api_version IN NUMBER := 1.0,
951: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
952: p_commit IN VARCHAR2 := FND_API.g_false,
953: p_validate_only IN VARCHAR2 := FND_API.g_true,
954: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
955: p_ci_id IN NUMBER,
956: p_cancel_comment IN VARCHAR2 := NULL,
949: PROCEDURE CANCEL_ALL_ACTIONS(
950: p_api_version IN NUMBER := 1.0,
951: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
952: p_commit IN VARCHAR2 := FND_API.g_false,
953: p_validate_only IN VARCHAR2 := FND_API.g_true,
954: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
955: p_ci_id IN NUMBER,
956: p_cancel_comment IN VARCHAR2 := NULL,
957: P_CREATED_BY in NUMBER default fnd_global.user_id,
950: p_api_version IN NUMBER := 1.0,
951: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
952: p_commit IN VARCHAR2 := FND_API.g_false,
953: p_validate_only IN VARCHAR2 := FND_API.g_true,
954: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
955: p_ci_id IN NUMBER,
956: p_cancel_comment IN VARCHAR2 := NULL,
957: P_CREATED_BY in NUMBER default fnd_global.user_id,
958: P_CREATION_DATE in DATE default sysdate,
976: AND status_code = 'CI_ACTION_OPEN';
977:
978:
979: BEGIN
980: x_return_status := fnd_api.g_ret_sts_success;
981: x_msg_data := 0;
982:
983: IF p_commit = FND_API.G_TRUE
984: THEN
979: BEGIN
980: x_return_status := fnd_api.g_ret_sts_success;
981: x_msg_data := 0;
982:
983: IF p_commit = FND_API.G_TRUE
984: THEN
985: SAVEPOINT CLOSE_ALL_ACTIONS;
986: END IF;
987:
990: l_cancel_comment := FND_MESSAGE.GET;
991: else
992: l_cancel_comment := p_cancel_comment;
993: end if;
994: If (x_return_status = fnd_api.g_ret_sts_success
995: AND p_validate_only <> fnd_api.g_true) then
996: OPEN cancel_action;
997: LOOP
998: FETCH cancel_action INTO l_ci_action_id,
991: else
992: l_cancel_comment := p_cancel_comment;
993: end if;
994: If (x_return_status = fnd_api.g_ret_sts_success
995: AND p_validate_only <> fnd_api.g_true) then
996: OPEN cancel_action;
997: LOOP
998: FETCH cancel_action INTO l_ci_action_id,
999: l_record_version_number;
1014: END LOOP;
1015: CLOSE cancel_action;
1016: End If;
1017: -- Commit the changes if requested
1018: if (p_commit = FND_API.G_TRUE
1019: AND x_return_status = fnd_api.g_ret_sts_success) then
1020: commit;
1021: end if;
1022:
1015: CLOSE cancel_action;
1016: End If;
1017: -- Commit the changes if requested
1018: if (p_commit = FND_API.G_TRUE
1019: AND x_return_status = fnd_api.g_ret_sts_success) then
1020: commit;
1021: end if;
1022:
1023: EXCEPTION WHEN FND_API.G_EXC_ERROR THEN
1019: AND x_return_status = fnd_api.g_ret_sts_success) then
1020: commit;
1021: end if;
1022:
1023: EXCEPTION WHEN FND_API.G_EXC_ERROR THEN
1024: IF p_commit = FND_API.G_TRUE THEN
1025: ROLLBACK TO ADD_CI_COMMENT;
1026: END IF;
1027: x_return_status := 'E';
1020: commit;
1021: end if;
1022:
1023: EXCEPTION WHEN FND_API.G_EXC_ERROR THEN
1024: IF p_commit = FND_API.G_TRUE THEN
1025: ROLLBACK TO ADD_CI_COMMENT;
1026: END IF;
1027: x_return_status := 'E';
1028: WHEN OTHERS THEN
1025: ROLLBACK TO ADD_CI_COMMENT;
1026: END IF;
1027: x_return_status := 'E';
1028: WHEN OTHERS THEN
1029: IF p_commit = FND_API.G_TRUE THEN
1030: ROLLBACK TO ADD_CI_COMMENT;
1031: END IF;
1032: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1033: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_CI_ACTIONS_PVT',
1028: WHEN OTHERS THEN
1029: IF p_commit = FND_API.G_TRUE THEN
1030: ROLLBACK TO ADD_CI_COMMENT;
1031: END IF;
1032: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1033: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_CI_ACTIONS_PVT',
1034: p_procedure_name => 'DELETE_ALL_ACTIONS',
1035: p_error_text => SUBSTRB(SQLERRM,1,240));
1036: RAISE;
1039:
1040:
1041: PROCEDURE DELETE_ALL_ACTIONS(
1042: p_api_version IN NUMBER := 1.0,
1043: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
1044: p_commit IN VARCHAR2 := FND_API.g_false,
1045: p_validate_only IN VARCHAR2 := FND_API.g_true,
1046: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
1047: p_ci_id IN NUMBER,
1040:
1041: PROCEDURE DELETE_ALL_ACTIONS(
1042: p_api_version IN NUMBER := 1.0,
1043: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
1044: p_commit IN VARCHAR2 := FND_API.g_false,
1045: p_validate_only IN VARCHAR2 := FND_API.g_true,
1046: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
1047: p_ci_id IN NUMBER,
1048: x_return_status OUT NOCOPY VARCHAR2,
1041: PROCEDURE DELETE_ALL_ACTIONS(
1042: p_api_version IN NUMBER := 1.0,
1043: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
1044: p_commit IN VARCHAR2 := FND_API.g_false,
1045: p_validate_only IN VARCHAR2 := FND_API.g_true,
1046: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
1047: p_ci_id IN NUMBER,
1048: x_return_status OUT NOCOPY VARCHAR2,
1049: x_msg_count OUT NOCOPY NUMBER,
1042: p_api_version IN NUMBER := 1.0,
1043: p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
1044: p_commit IN VARCHAR2 := FND_API.g_false,
1045: p_validate_only IN VARCHAR2 := FND_API.g_true,
1046: p_max_msg_count IN NUMBER := FND_API.g_miss_num,
1047: p_ci_id IN NUMBER,
1048: x_return_status OUT NOCOPY VARCHAR2,
1049: x_msg_count OUT NOCOPY NUMBER,
1050: x_msg_data OUT NOCOPY VARCHAR2)
1063: FROM PA_CI_COMMENTS
1064: WHERE ci_action_id = l_ci_action_id;
1065:
1066: BEGIN
1067: x_return_status := fnd_api.g_ret_sts_success;
1068: x_msg_data := 0;
1069:
1070: IF p_commit = FND_API.G_TRUE
1071: THEN
1066: BEGIN
1067: x_return_status := fnd_api.g_ret_sts_success;
1068: x_msg_data := 0;
1069:
1070: IF p_commit = FND_API.G_TRUE
1071: THEN
1072: SAVEPOINT DELETE_ALL_ACTIONS;
1073: END IF;
1074:
1071: THEN
1072: SAVEPOINT DELETE_ALL_ACTIONS;
1073: END IF;
1074:
1075: If (x_return_status = fnd_api.g_ret_sts_success
1076: AND p_validate_only <> fnd_api.g_true) then
1077:
1078: OPEN delete_action;
1079: LOOP
1072: SAVEPOINT DELETE_ALL_ACTIONS;
1073: END IF;
1074:
1075: If (x_return_status = fnd_api.g_ret_sts_success
1076: AND p_validate_only <> fnd_api.g_true) then
1077:
1078: OPEN delete_action;
1079: LOOP
1080: FETCH delete_action INTO l_ci_action_id;
1093: CLOSE delete_action;
1094:
1095: End If;
1096: -- Commit the changes if requested
1097: if (p_commit = FND_API.G_TRUE
1098: AND x_return_status = fnd_api.g_ret_sts_success) then
1099: commit;
1100: end if;
1101:
1094:
1095: End If;
1096: -- Commit the changes if requested
1097: if (p_commit = FND_API.G_TRUE
1098: AND x_return_status = fnd_api.g_ret_sts_success) then
1099: commit;
1100: end if;
1101:
1102: EXCEPTION WHEN FND_API.G_EXC_ERROR THEN
1098: AND x_return_status = fnd_api.g_ret_sts_success) then
1099: commit;
1100: end if;
1101:
1102: EXCEPTION WHEN FND_API.G_EXC_ERROR THEN
1103: IF p_commit = FND_API.G_TRUE THEN
1104: ROLLBACK TO ADD_CI_COMMENT;
1105: END IF;
1106: x_return_status := 'E';
1099: commit;
1100: end if;
1101:
1102: EXCEPTION WHEN FND_API.G_EXC_ERROR THEN
1103: IF p_commit = FND_API.G_TRUE THEN
1104: ROLLBACK TO ADD_CI_COMMENT;
1105: END IF;
1106: x_return_status := 'E';
1107: WHEN OTHERS THEN
1104: ROLLBACK TO ADD_CI_COMMENT;
1105: END IF;
1106: x_return_status := 'E';
1107: WHEN OTHERS THEN
1108: IF p_commit = FND_API.G_TRUE THEN
1109: ROLLBACK TO ADD_CI_COMMENT;
1110: END IF;
1111: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1112: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_CI_ACTIONS_PVT',
1107: WHEN OTHERS THEN
1108: IF p_commit = FND_API.G_TRUE THEN
1109: ROLLBACK TO ADD_CI_COMMENT;
1110: END IF;
1111: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1112: fnd_msg_pub.add_exc_msg(p_pkg_name => 'PA_CI_ACTIONS_PVT',
1113: p_procedure_name => 'DELETE_ALL_ACTIONS',
1114: p_error_text => SUBSTRB(SQLERRM,1,240));
1115: RAISE;