40:
41: BEGIN
42:
43: -- Initialize the Error Stack
44: PA_DEBUG.init_err_stack('PA_PERF_OBJECT_RULES_PVT.create_rule_object');
45: x_msg_count := 0;
46: x_msg_data := NULL;
47: x_return_status := FND_API.G_RET_STS_SUCCESS;
48: l_debug_mode := NVL(FND_PROFILE.value('PA_DEBUG_MODE'),'N');
44: PA_DEBUG.init_err_stack('PA_PERF_OBJECT_RULES_PVT.create_rule_object');
45: x_msg_count := 0;
46: x_msg_data := NULL;
47: x_return_status := FND_API.G_RET_STS_SUCCESS;
48: l_debug_mode := NVL(FND_PROFILE.value('PA_DEBUG_MODE'),'N');
49:
50: IF l_debug_mode = 'Y' THEN
51: pa_debug.set_curr_function( p_function => 'PA_PERF_OBJECT_RULES_PVT.create_rule_object',
52: p_debug_mode => l_debug_mode );
47: x_return_status := FND_API.G_RET_STS_SUCCESS;
48: l_debug_mode := NVL(FND_PROFILE.value('PA_DEBUG_MODE'),'N');
49:
50: IF l_debug_mode = 'Y' THEN
51: pa_debug.set_curr_function( p_function => 'PA_PERF_OBJECT_RULES_PVT.create_rule_object',
52: p_debug_mode => l_debug_mode );
53: END IF;
54:
55: IF l_debug_mode = 'Y' THEN
52: p_debug_mode => l_debug_mode );
53: END IF;
54:
55: IF l_debug_mode = 'Y' THEN
56: pa_debug.g_err_stage:= 'Entered PA_PERF_OBJECT_RULES_PVT.create_rule_object';
57: pa_debug.write(g_module_name,pa_debug.g_err_stage,
58: l_debug_level3);
59: END IF;
60:
53: END IF;
54:
55: IF l_debug_mode = 'Y' THEN
56: pa_debug.g_err_stage:= 'Entered PA_PERF_OBJECT_RULES_PVT.create_rule_object';
57: pa_debug.write(g_module_name,pa_debug.g_err_stage,
58: l_debug_level3);
59: END IF;
60:
61: IF l_debug_mode = 'Y' THEN
58: l_debug_level3);
59: END IF;
60:
61: IF l_debug_mode = 'Y' THEN
62: pa_debug.g_err_stage:= 'Going to check if the rule has already been associated to this project';
63: pa_debug.write(g_module_name,pa_debug.g_err_stage,
64: l_debug_level3);
65: END IF;
66:
59: END IF;
60:
61: IF l_debug_mode = 'Y' THEN
62: pa_debug.g_err_stage:= 'Going to check if the rule has already been associated to this project';
63: pa_debug.write(g_module_name,pa_debug.g_err_stage,
64: l_debug_level3);
65: END IF;
66:
67: DECLARE
142:
143: -- Check for business rules violations
144:
145: IF l_debug_mode = 'Y' THEN
146: pa_debug.g_err_stage:= 'Exiting PA_PERF_OBJECT_RULES_PVT.create_rule_object';
147: pa_debug.write(g_module_name,pa_debug.g_err_stage,
148: l_debug_level3);
149: pa_debug.reset_curr_function;
150: END IF;
143: -- Check for business rules violations
144:
145: IF l_debug_mode = 'Y' THEN
146: pa_debug.g_err_stage:= 'Exiting PA_PERF_OBJECT_RULES_PVT.create_rule_object';
147: pa_debug.write(g_module_name,pa_debug.g_err_stage,
148: l_debug_level3);
149: pa_debug.reset_curr_function;
150: END IF;
151:
145: IF l_debug_mode = 'Y' THEN
146: pa_debug.g_err_stage:= 'Exiting PA_PERF_OBJECT_RULES_PVT.create_rule_object';
147: pa_debug.write(g_module_name,pa_debug.g_err_stage,
148: l_debug_level3);
149: pa_debug.reset_curr_function;
150: END IF;
151:
152: -- Reset the Error Stack
153: PA_DEBUG.reset_err_stack;
149: pa_debug.reset_curr_function;
150: END IF;
151:
152: -- Reset the Error Stack
153: PA_DEBUG.reset_err_stack;
154:
155:
156: EXCEPTION
157: WHEN others THEN
164: ,p_procedure_name => 'CREATE_RULE_OBJECT'
165: ,p_error_text => x_msg_data);
166:
167: IF l_debug_mode = 'Y' THEN
168: pa_debug.g_err_stage:= 'Unexpected Error: '||x_msg_data;
169: pa_debug.write(g_module_name,pa_debug.g_err_stage,
170: l_debug_level5);
171: pa_debug.reset_curr_function;
172: END IF;
165: ,p_error_text => x_msg_data);
166:
167: IF l_debug_mode = 'Y' THEN
168: pa_debug.g_err_stage:= 'Unexpected Error: '||x_msg_data;
169: pa_debug.write(g_module_name,pa_debug.g_err_stage,
170: l_debug_level5);
171: pa_debug.reset_curr_function;
172: END IF;
173: RAISE;
167: IF l_debug_mode = 'Y' THEN
168: pa_debug.g_err_stage:= 'Unexpected Error: '||x_msg_data;
169: pa_debug.write(g_module_name,pa_debug.g_err_stage,
170: l_debug_level5);
171: pa_debug.reset_curr_function;
172: END IF;
173: RAISE;
174: END create_rule_object;
175:
210: BEGIN
211:
212: savepoint sp;
213: -- Initialize the Error Stack
214: PA_DEBUG.init_err_stack('PA_PERF_OBJECT_RULES_PVT.update_rule_object');
215: x_msg_count := 0;
216: x_msg_data := NULL;
217:
218: -- Initialize the return status to success
216: x_msg_data := NULL;
217:
218: -- Initialize the return status to success
219: x_return_status := FND_API.G_RET_STS_SUCCESS;
220: l_debug_mode := NVL(FND_PROFILE.value('PA_DEBUG_MODE'),'N');
221: IF l_debug_mode = 'Y' THEN
222: pa_debug.set_curr_function( p_function => 'PA_PERF_OBJECT_RULES_PVT.update_rule_object',
223: p_debug_mode => l_debug_mode );
224: END IF;
218: -- Initialize the return status to success
219: x_return_status := FND_API.G_RET_STS_SUCCESS;
220: l_debug_mode := NVL(FND_PROFILE.value('PA_DEBUG_MODE'),'N');
221: IF l_debug_mode = 'Y' THEN
222: pa_debug.set_curr_function( p_function => 'PA_PERF_OBJECT_RULES_PVT.update_rule_object',
223: p_debug_mode => l_debug_mode );
224: END IF;
225:
226: IF l_debug_mode = 'Y' THEN
223: p_debug_mode => l_debug_mode );
224: END IF;
225:
226: IF l_debug_mode = 'Y' THEN
227: pa_debug.g_err_stage:= 'Entered PA_PERF_OBJECT_RULES_PVT.update_rule_object';
228: pa_debug.write(g_module_name,pa_debug.g_err_stage,
229: l_debug_level3);
230:
231: pa_debug.g_err_stage:= 'P_OBJECT_RULE_ID = '|| P_OBJECT_RULE_ID;
224: END IF;
225:
226: IF l_debug_mode = 'Y' THEN
227: pa_debug.g_err_stage:= 'Entered PA_PERF_OBJECT_RULES_PVT.update_rule_object';
228: pa_debug.write(g_module_name,pa_debug.g_err_stage,
229: l_debug_level3);
230:
231: pa_debug.g_err_stage:= 'P_OBJECT_RULE_ID = '|| P_OBJECT_RULE_ID;
232: pa_debug.write(g_module_name,pa_debug.g_err_stage,
227: pa_debug.g_err_stage:= 'Entered PA_PERF_OBJECT_RULES_PVT.update_rule_object';
228: pa_debug.write(g_module_name,pa_debug.g_err_stage,
229: l_debug_level3);
230:
231: pa_debug.g_err_stage:= 'P_OBJECT_RULE_ID = '|| P_OBJECT_RULE_ID;
232: pa_debug.write(g_module_name,pa_debug.g_err_stage,
233: l_debug_level5);
234:
235: pa_debug.g_err_stage:= 'P_OBJECT_TYPE = '|| P_OBJECT_TYPE;
228: pa_debug.write(g_module_name,pa_debug.g_err_stage,
229: l_debug_level3);
230:
231: pa_debug.g_err_stage:= 'P_OBJECT_RULE_ID = '|| P_OBJECT_RULE_ID;
232: pa_debug.write(g_module_name,pa_debug.g_err_stage,
233: l_debug_level5);
234:
235: pa_debug.g_err_stage:= 'P_OBJECT_TYPE = '|| P_OBJECT_TYPE;
236: pa_debug.write(g_module_name,pa_debug.g_err_stage,
231: pa_debug.g_err_stage:= 'P_OBJECT_RULE_ID = '|| P_OBJECT_RULE_ID;
232: pa_debug.write(g_module_name,pa_debug.g_err_stage,
233: l_debug_level5);
234:
235: pa_debug.g_err_stage:= 'P_OBJECT_TYPE = '|| P_OBJECT_TYPE;
236: pa_debug.write(g_module_name,pa_debug.g_err_stage,
237: l_debug_level5);
238: pa_debug.g_err_stage:= 'P_OBJECT_ID = '|| P_OBJECT_ID ;
239: pa_debug.write(g_module_name,pa_debug.g_err_stage,
232: pa_debug.write(g_module_name,pa_debug.g_err_stage,
233: l_debug_level5);
234:
235: pa_debug.g_err_stage:= 'P_OBJECT_TYPE = '|| P_OBJECT_TYPE;
236: pa_debug.write(g_module_name,pa_debug.g_err_stage,
237: l_debug_level5);
238: pa_debug.g_err_stage:= 'P_OBJECT_ID = '|| P_OBJECT_ID ;
239: pa_debug.write(g_module_name,pa_debug.g_err_stage,
240: l_debug_level5);
234:
235: pa_debug.g_err_stage:= 'P_OBJECT_TYPE = '|| P_OBJECT_TYPE;
236: pa_debug.write(g_module_name,pa_debug.g_err_stage,
237: l_debug_level5);
238: pa_debug.g_err_stage:= 'P_OBJECT_ID = '|| P_OBJECT_ID ;
239: pa_debug.write(g_module_name,pa_debug.g_err_stage,
240: l_debug_level5);
241: pa_debug.g_err_stage:= 'P_RULE_ID = '|| P_RULE_ID ;
242: pa_debug.write(g_module_name,pa_debug.g_err_stage,
235: pa_debug.g_err_stage:= 'P_OBJECT_TYPE = '|| P_OBJECT_TYPE;
236: pa_debug.write(g_module_name,pa_debug.g_err_stage,
237: l_debug_level5);
238: pa_debug.g_err_stage:= 'P_OBJECT_ID = '|| P_OBJECT_ID ;
239: pa_debug.write(g_module_name,pa_debug.g_err_stage,
240: l_debug_level5);
241: pa_debug.g_err_stage:= 'P_RULE_ID = '|| P_RULE_ID ;
242: pa_debug.write(g_module_name,pa_debug.g_err_stage,
243: l_debug_level5);
237: l_debug_level5);
238: pa_debug.g_err_stage:= 'P_OBJECT_ID = '|| P_OBJECT_ID ;
239: pa_debug.write(g_module_name,pa_debug.g_err_stage,
240: l_debug_level5);
241: pa_debug.g_err_stage:= 'P_RULE_ID = '|| P_RULE_ID ;
242: pa_debug.write(g_module_name,pa_debug.g_err_stage,
243: l_debug_level5);
244: END IF;
245:
238: pa_debug.g_err_stage:= 'P_OBJECT_ID = '|| P_OBJECT_ID ;
239: pa_debug.write(g_module_name,pa_debug.g_err_stage,
240: l_debug_level5);
241: pa_debug.g_err_stage:= 'P_RULE_ID = '|| P_RULE_ID ;
242: pa_debug.write(g_module_name,pa_debug.g_err_stage,
243: l_debug_level5);
244: END IF;
245:
246: IF l_debug_mode = 'Y' THEN
243: l_debug_level5);
244: END IF;
245:
246: IF l_debug_mode = 'Y' THEN
247: pa_debug.g_err_stage:= 'about to call lock row method';
248: pa_debug.write(g_module_name,pa_debug.g_err_stage,
249: l_debug_level3);
250: END IF;
251:
244: END IF;
245:
246: IF l_debug_mode = 'Y' THEN
247: pa_debug.g_err_stage:= 'about to call lock row method';
248: pa_debug.write(g_module_name,pa_debug.g_err_stage,
249: l_debug_level3);
250: END IF;
251:
252: PA_PERF_OBJECT_RULES_PKG.LOCK_ROW
253: (X_OBJECT_RULE_ID => P_OBJECT_RULE_ID,
254: X_RECORD_VERSION_NUMBER => P_RECORD_VERSION_NUMBER ) ;
255:
256: IF l_debug_mode = 'Y' THEN
257: pa_debug.g_err_stage:= 'lock row method called';
258: pa_debug.write(g_module_name,pa_debug.g_err_stage,
259: l_debug_level3);
260: END IF;
261:
254: X_RECORD_VERSION_NUMBER => P_RECORD_VERSION_NUMBER ) ;
255:
256: IF l_debug_mode = 'Y' THEN
257: pa_debug.g_err_stage:= 'lock row method called';
258: pa_debug.write(g_module_name,pa_debug.g_err_stage,
259: l_debug_level3);
260: END IF;
261:
262: l_msg_count := FND_MSG_PUB.count_msg;
265: Raise Invalid_Ret_Status;
266: end if;
267:
268: IF l_debug_mode = 'Y' THEN
269: pa_debug.g_err_stage:= 'about to call PA_PERF_RULES_PKG.update_rule_object';
270: pa_debug.write(g_module_name,pa_debug.g_err_stage,
271: l_debug_level3);
272: END IF;
273:
266: end if;
267:
268: IF l_debug_mode = 'Y' THEN
269: pa_debug.g_err_stage:= 'about to call PA_PERF_RULES_PKG.update_rule_object';
270: pa_debug.write(g_module_name,pa_debug.g_err_stage,
271: l_debug_level3);
272: END IF;
273:
274: PA_PERF_OBJECT_RULES_PKG.UPDATE_ROW(
281: X_LAST_UPDATED_BY => P_LAST_UPDATED_BY,
282: X_LAST_UPDATE_LOGIN => P_LAST_UPDATE_LOGIN );
283:
284: IF l_debug_mode = 'Y' THEN
285: pa_debug.g_err_stage:= 'Exiting PA_PERF_OBJECT_RULES_PVT.update_rule_object';
286: pa_debug.write(g_module_name,pa_debug.g_err_stage,
287: l_debug_level3);
288: pa_debug.reset_curr_function;
289: END IF;
282: X_LAST_UPDATE_LOGIN => P_LAST_UPDATE_LOGIN );
283:
284: IF l_debug_mode = 'Y' THEN
285: pa_debug.g_err_stage:= 'Exiting PA_PERF_OBJECT_RULES_PVT.update_rule_object';
286: pa_debug.write(g_module_name,pa_debug.g_err_stage,
287: l_debug_level3);
288: pa_debug.reset_curr_function;
289: END IF;
290:
284: IF l_debug_mode = 'Y' THEN
285: pa_debug.g_err_stage:= 'Exiting PA_PERF_OBJECT_RULES_PVT.update_rule_object';
286: pa_debug.write(g_module_name,pa_debug.g_err_stage,
287: l_debug_level3);
288: pa_debug.reset_curr_function;
289: END IF;
290:
291: -- Reset the Error Stack
292: PA_DEBUG.reset_err_stack;
288: pa_debug.reset_curr_function;
289: END IF;
290:
291: -- Reset the Error Stack
292: PA_DEBUG.reset_err_stack;
293:
294: EXCEPTION
295: WHEN Invalid_Ret_Status THEN
296: x_return_status := FND_API.G_RET_STS_ERROR;
311: x_msg_count := l_msg_count;
312: END IF;
313:
314: IF l_debug_mode = 'Y' THEN
315: pa_debug.reset_curr_function;
316: END IF;
317:
318: rollback to sp;
319: RETURN;
323: x_msg_data := substr(SQLERRM,1,240);
324: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
325: FND_MSG_PUB.add_exc_msg (
326: p_pkg_name => 'PA_PERF_OBJECT_RULES_PVT'
327: , p_procedure_name => PA_DEBUG.G_Err_Stack
328: , p_error_text => substr(SQLERRM,1,240));
329:
330: rollback to sp;
331: RAISE;
363: savepoint sp;
364:
365:
366: -- Initialize the Error Stack
367: PA_DEBUG.init_err_stack('PA_PERF_OBJECT_RULES_PVT.Delete_Rule_object');
368: x_msg_count := 0;
369: x_msg_data := NULL;
370:
371: -- Initialize the return status to success
371: -- Initialize the return status to success
372: x_return_status := FND_API.G_RET_STS_SUCCESS;
373:
374: IF l_debug_mode = 'Y' THEN
375: pa_debug.set_curr_function( p_function => 'PA_PERF_OBJECT_RULES_PVT.Delete_Rule_object',
376: p_debug_mode => l_debug_mode );
377: END IF;
378:
379: IF l_debug_mode = 'Y' THEN
376: p_debug_mode => l_debug_mode );
377: END IF;
378:
379: IF l_debug_mode = 'Y' THEN
380: pa_debug.g_err_stage:= 'Entered PA_PERF_OBJECT_RULES_PVT.Delete_Rule_object';
381: pa_debug.write(g_module_name,pa_debug.g_err_stage,
382: l_debug_level3);
383: pa_debug.g_err_stage:= 'P_OBJECT_RULE_ID = '|| P_OBJECT_RULE_ID;
384: pa_debug.write(g_module_name,pa_debug.g_err_stage,
377: END IF;
378:
379: IF l_debug_mode = 'Y' THEN
380: pa_debug.g_err_stage:= 'Entered PA_PERF_OBJECT_RULES_PVT.Delete_Rule_object';
381: pa_debug.write(g_module_name,pa_debug.g_err_stage,
382: l_debug_level3);
383: pa_debug.g_err_stage:= 'P_OBJECT_RULE_ID = '|| P_OBJECT_RULE_ID;
384: pa_debug.write(g_module_name,pa_debug.g_err_stage,
385: l_debug_level5);
379: IF l_debug_mode = 'Y' THEN
380: pa_debug.g_err_stage:= 'Entered PA_PERF_OBJECT_RULES_PVT.Delete_Rule_object';
381: pa_debug.write(g_module_name,pa_debug.g_err_stage,
382: l_debug_level3);
383: pa_debug.g_err_stage:= 'P_OBJECT_RULE_ID = '|| P_OBJECT_RULE_ID;
384: pa_debug.write(g_module_name,pa_debug.g_err_stage,
385: l_debug_level5);
386:
387: pa_debug.g_err_stage:= 'about to call lock row method';
380: pa_debug.g_err_stage:= 'Entered PA_PERF_OBJECT_RULES_PVT.Delete_Rule_object';
381: pa_debug.write(g_module_name,pa_debug.g_err_stage,
382: l_debug_level3);
383: pa_debug.g_err_stage:= 'P_OBJECT_RULE_ID = '|| P_OBJECT_RULE_ID;
384: pa_debug.write(g_module_name,pa_debug.g_err_stage,
385: l_debug_level5);
386:
387: pa_debug.g_err_stage:= 'about to call lock row method';
388: pa_debug.write(g_module_name,pa_debug.g_err_stage,
383: pa_debug.g_err_stage:= 'P_OBJECT_RULE_ID = '|| P_OBJECT_RULE_ID;
384: pa_debug.write(g_module_name,pa_debug.g_err_stage,
385: l_debug_level5);
386:
387: pa_debug.g_err_stage:= 'about to call lock row method';
388: pa_debug.write(g_module_name,pa_debug.g_err_stage,
389: l_debug_level3);
390: END IF;
391:
384: pa_debug.write(g_module_name,pa_debug.g_err_stage,
385: l_debug_level5);
386:
387: pa_debug.g_err_stage:= 'about to call lock row method';
388: pa_debug.write(g_module_name,pa_debug.g_err_stage,
389: l_debug_level3);
390: END IF;
391:
392: BEGIN
412: Raise Invalid_Ret_Status;
413: end if;
414:
415: IF l_debug_mode = 'Y' THEN
416: pa_debug.g_err_stage:= 'about to call PA_PERF_THRESHOLDS_PKG.delete_row';
417: pa_debug.write(g_module_name,pa_debug.g_err_stage,
418: l_debug_level3);
419: END IF;
420:
413: end if;
414:
415: IF l_debug_mode = 'Y' THEN
416: pa_debug.g_err_stage:= 'about to call PA_PERF_THRESHOLDS_PKG.delete_row';
417: pa_debug.write(g_module_name,pa_debug.g_err_stage,
418: l_debug_level3);
419: END IF;
420:
421: -- Delete Role
422: PA_PERF_OBJECT_RULES_PKG.DELETE_ROW
423: (X_OBJECT_RULE_ID => P_OBJECT_RULE_ID);
424:
425: IF l_debug_mode = 'Y' THEN
426: pa_debug.g_err_stage:= 'Exiting PA_PERF_OBJECT_RULES_PVT.Delete_Rule_object';
427: pa_debug.write(g_module_name,pa_debug.g_err_stage,
428: l_debug_level3);
429: pa_debug.reset_curr_function;
430: END IF;
423: (X_OBJECT_RULE_ID => P_OBJECT_RULE_ID);
424:
425: IF l_debug_mode = 'Y' THEN
426: pa_debug.g_err_stage:= 'Exiting PA_PERF_OBJECT_RULES_PVT.Delete_Rule_object';
427: pa_debug.write(g_module_name,pa_debug.g_err_stage,
428: l_debug_level3);
429: pa_debug.reset_curr_function;
430: END IF;
431:
425: IF l_debug_mode = 'Y' THEN
426: pa_debug.g_err_stage:= 'Exiting PA_PERF_OBJECT_RULES_PVT.Delete_Rule_object';
427: pa_debug.write(g_module_name,pa_debug.g_err_stage,
428: l_debug_level3);
429: pa_debug.reset_curr_function;
430: END IF;
431:
432: -- Reset the Error Stack
433: PA_DEBUG.reset_err_stack;
429: pa_debug.reset_curr_function;
430: END IF;
431:
432: -- Reset the Error Stack
433: PA_DEBUG.reset_err_stack;
434:
435: EXCEPTION
436: WHEN Invalid_Ret_Status THEN
437: x_return_status := FND_API.G_RET_STS_ERROR;
452: x_msg_count := l_msg_count;
453: END IF;
454:
455: IF l_debug_mode = 'Y' THEN
456: pa_debug.reset_curr_function;
457: END IF;
458:
459: rollback to sp;
460: RETURN;
464: x_msg_data := substr(SQLERRM,1,240);
465: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
466: FND_MSG_PUB.add_exc_msg
467: ( p_pkg_name => 'PA_PERF_OBJECT_RULES_PVT'
468: , p_procedure_name => PA_DEBUG.G_Err_Stack
469: , p_error_text => substr(SQLERRM,1,240));
470:
471: rollback to sp;
472: RAISE;