35: -- End of Comments.
36:
37: PROCEDURE Validate_Rule_Stmt (
38: p_api_version IN NUMBER,
39: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
40: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
41: x_return_status OUT NOCOPY VARCHAR2,
42: x_msg_count OUT NOCOPY NUMBER,
43: x_msg_data OUT NOCOPY VARCHAR2,
36:
37: PROCEDURE Validate_Rule_Stmt (
38: p_api_version IN NUMBER,
39: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
40: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
41: x_return_status OUT NOCOPY VARCHAR2,
42: x_msg_count OUT NOCOPY NUMBER,
43: x_msg_data OUT NOCOPY VARCHAR2,
44: p_rule_stmt_rec IN AHL_MC_RULE_PVT.Rule_Stmt_Rec_Type)
87: l_rule_type AHL_MC_RULES_B.RULE_TYPE_CODE%TYPE;
88: --
89: BEGIN
90: -- Initialize Procedure return status to success
91: x_return_status := FND_API.G_RET_STS_SUCCESS;
92: -- Standard call to check for call compatibility
93: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name,
94: G_PKG_NAME) THEN
95: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
89: BEGIN
90: -- Initialize Procedure return status to success
91: x_return_status := FND_API.G_RET_STS_SUCCESS;
92: -- Standard call to check for call compatibility
93: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name,
94: G_PKG_NAME) THEN
95: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
96: END IF;
97: -- Initialize message list if p_init_msg_list is set to TRUE
91: x_return_status := FND_API.G_RET_STS_SUCCESS;
92: -- Standard call to check for call compatibility
93: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name,
94: G_PKG_NAME) THEN
95: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
96: END IF;
97: -- Initialize message list if p_init_msg_list is set to TRUE
98: IF FND_API.To_Boolean(p_init_msg_list) THEN
99: FND_MSG_PUB.Initialize;
94: G_PKG_NAME) THEN
95: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
96: END IF;
97: -- Initialize message list if p_init_msg_list is set to TRUE
98: IF FND_API.To_Boolean(p_init_msg_list) THEN
99: FND_MSG_PUB.Initialize;
100: END IF;
101:
102: --Check Rule subject id is not null
361:
362: -- Check Error Message stack.
363: x_msg_count := FND_MSG_PUB.count_msg;
364: IF x_msg_count > 0 THEN
365: RAISE FND_API.G_EXC_ERROR;
366: END IF;
367: -- Standard call to get message count and if count is 1, get message info
368: FND_MSG_PUB.Count_And_Get
369: ( p_count => x_msg_count,
367: -- Standard call to get message count and if count is 1, get message info
368: FND_MSG_PUB.Count_And_Get
369: ( p_count => x_msg_count,
370: p_data => x_msg_data,
371: p_encoded => fnd_api.g_false
372: );
373:
374: EXCEPTION
375: WHEN FND_API.G_EXC_ERROR THEN
371: p_encoded => fnd_api.g_false
372: );
373:
374: EXCEPTION
375: WHEN FND_API.G_EXC_ERROR THEN
376: x_return_status := FND_API.G_RET_STS_ERROR;
377: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
378: p_data => x_msg_data,
379: p_encoded => fnd_api.g_false);
372: );
373:
374: EXCEPTION
375: WHEN FND_API.G_EXC_ERROR THEN
376: x_return_status := FND_API.G_RET_STS_ERROR;
377: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
378: p_data => x_msg_data,
379: p_encoded => fnd_api.g_false);
380: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
375: WHEN FND_API.G_EXC_ERROR THEN
376: x_return_status := FND_API.G_RET_STS_ERROR;
377: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
378: p_data => x_msg_data,
379: p_encoded => fnd_api.g_false);
380: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
381: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
382: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
383: p_data => x_msg_data,
376: x_return_status := FND_API.G_RET_STS_ERROR;
377: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
378: p_data => x_msg_data,
379: p_encoded => fnd_api.g_false);
380: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
381: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
382: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
383: p_data => x_msg_data,
384: p_encoded => fnd_api.g_false);
377: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
378: p_data => x_msg_data,
379: p_encoded => fnd_api.g_false);
380: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
381: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
382: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
383: p_data => x_msg_data,
384: p_encoded => fnd_api.g_false);
385: WHEN OTHERS THEN
380: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
381: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
382: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
383: p_data => x_msg_data,
384: p_encoded => fnd_api.g_false);
385: WHEN OTHERS THEN
386: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
387: Fnd_Msg_Pub.add_exc_msg( p_pkg_name => G_PKG_NAME,
388: p_procedure_name => l_api_name,
382: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
383: p_data => x_msg_data,
384: p_encoded => fnd_api.g_false);
385: WHEN OTHERS THEN
386: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
387: Fnd_Msg_Pub.add_exc_msg( p_pkg_name => G_PKG_NAME,
388: p_procedure_name => l_api_name,
389: p_error_text => SQLERRM);
390: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
388: p_procedure_name => l_api_name,
389: p_error_text => SQLERRM);
390: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
391: p_data => x_msg_data,
392: p_encoded => fnd_api.g_false);
393:
394: END Validate_Rule_Stmt;
395:
396: --------------------------------
407: -- End of Comments.
408:
409: PROCEDURE Insert_Rule_Stmt (
410: p_api_version IN NUMBER,
411: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
412: p_commit IN VARCHAR2 := FND_API.G_FALSE,
413: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
414: x_return_status OUT NOCOPY VARCHAR2,
415: x_msg_count OUT NOCOPY NUMBER,
408:
409: PROCEDURE Insert_Rule_Stmt (
410: p_api_version IN NUMBER,
411: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
412: p_commit IN VARCHAR2 := FND_API.G_FALSE,
413: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
414: x_return_status OUT NOCOPY VARCHAR2,
415: x_msg_count OUT NOCOPY NUMBER,
416: x_msg_data OUT NOCOPY VARCHAR2,
409: PROCEDURE Insert_Rule_Stmt (
410: p_api_version IN NUMBER,
411: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
412: p_commit IN VARCHAR2 := FND_API.G_FALSE,
413: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
414: x_return_status OUT NOCOPY VARCHAR2,
415: x_msg_count OUT NOCOPY NUMBER,
416: x_msg_data OUT NOCOPY VARCHAR2,
417: p_module IN VARCHAR2 := 'JSP',
427: BEGIN
428: -- Standard start of API savepoint
429: SAVEPOINT Insert_Rule_Stmt_pvt;
430: -- Initialize Procedure return status to success
431: x_return_status := FND_API.G_RET_STS_SUCCESS;
432: -- Standard call to check for call compatibility
433: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name,
434: G_PKG_NAME) THEN
435: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
429: SAVEPOINT Insert_Rule_Stmt_pvt;
430: -- Initialize Procedure return status to success
431: x_return_status := FND_API.G_RET_STS_SUCCESS;
432: -- Standard call to check for call compatibility
433: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name,
434: G_PKG_NAME) THEN
435: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
436: END IF;
437: -- Initialize message list if p_init_msg_list is set to TRUE
431: x_return_status := FND_API.G_RET_STS_SUCCESS;
432: -- Standard call to check for call compatibility
433: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name,
434: G_PKG_NAME) THEN
435: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
436: END IF;
437: -- Initialize message list if p_init_msg_list is set to TRUE
438: IF FND_API.To_Boolean(p_init_msg_list) THEN
439: FND_MSG_PUB.Initialize;
434: G_PKG_NAME) THEN
435: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
436: END IF;
437: -- Initialize message list if p_init_msg_list is set to TRUE
438: IF FND_API.To_Boolean(p_init_msg_list) THEN
439: FND_MSG_PUB.Initialize;
440: END IF;
441:
442: --Check Status of MC allows for editing
442: --Check Status of MC allows for editing
443: /*IF NOT(check_mc_status(p_x_rule_stmt_rec.rule_id)) THEN
444: FND_MESSAGE.Set_Name('AHL','AHL_INVALID_MC_STATUS');
445: FND_MSG_PUB.ADD;
446: Raise FND_API.G_EXC_ERROR;
447: END IF; */
448:
449: IF (p_module = 'JSP') THEN
450: IF (p_x_rule_stmt_rec.OBJECT_ATTRIBUTE1 = FND_API.G_MISS_CHAR) THEN
446: Raise FND_API.G_EXC_ERROR;
447: END IF; */
448:
449: IF (p_module = 'JSP') THEN
450: IF (p_x_rule_stmt_rec.OBJECT_ATTRIBUTE1 = FND_API.G_MISS_CHAR) THEN
451: p_x_rule_stmt_rec.OBJECT_ATTRIBUTE1 := null;
452: END IF;
453: IF (p_x_rule_stmt_rec.OBJECT_ATTRIBUTE2 = FND_API.G_MISS_CHAR) THEN
454: p_x_rule_stmt_rec.OBJECT_ATTRIBUTE2 := null;
449: IF (p_module = 'JSP') THEN
450: IF (p_x_rule_stmt_rec.OBJECT_ATTRIBUTE1 = FND_API.G_MISS_CHAR) THEN
451: p_x_rule_stmt_rec.OBJECT_ATTRIBUTE1 := null;
452: END IF;
453: IF (p_x_rule_stmt_rec.OBJECT_ATTRIBUTE2 = FND_API.G_MISS_CHAR) THEN
454: p_x_rule_stmt_rec.OBJECT_ATTRIBUTE2 := null;
455: END IF;
456: IF (p_x_rule_stmt_rec.OBJECT_ATTRIBUTE3 = FND_API.G_MISS_CHAR) THEN
457: p_x_rule_stmt_rec.OBJECT_ATTRIBUTE3 := null;
452: END IF;
453: IF (p_x_rule_stmt_rec.OBJECT_ATTRIBUTE2 = FND_API.G_MISS_CHAR) THEN
454: p_x_rule_stmt_rec.OBJECT_ATTRIBUTE2 := null;
455: END IF;
456: IF (p_x_rule_stmt_rec.OBJECT_ATTRIBUTE3 = FND_API.G_MISS_CHAR) THEN
457: p_x_rule_stmt_rec.OBJECT_ATTRIBUTE3 := null;
458: END IF;
459: IF (p_x_rule_stmt_rec.OBJECT_ATTRIBUTE4 = FND_API.G_MISS_CHAR) THEN
460: p_x_rule_stmt_rec.OBJECT_ATTRIBUTE4 := null;
455: END IF;
456: IF (p_x_rule_stmt_rec.OBJECT_ATTRIBUTE3 = FND_API.G_MISS_CHAR) THEN
457: p_x_rule_stmt_rec.OBJECT_ATTRIBUTE3 := null;
458: END IF;
459: IF (p_x_rule_stmt_rec.OBJECT_ATTRIBUTE4 = FND_API.G_MISS_CHAR) THEN
460: p_x_rule_stmt_rec.OBJECT_ATTRIBUTE4 := null;
461: END IF;
462: IF (p_x_rule_stmt_rec.OBJECT_ATTRIBUTE5 = FND_API.G_MISS_CHAR) THEN
463: p_x_rule_stmt_rec.OBJECT_ATTRIBUTE5 := null;
458: END IF;
459: IF (p_x_rule_stmt_rec.OBJECT_ATTRIBUTE4 = FND_API.G_MISS_CHAR) THEN
460: p_x_rule_stmt_rec.OBJECT_ATTRIBUTE4 := null;
461: END IF;
462: IF (p_x_rule_stmt_rec.OBJECT_ATTRIBUTE5 = FND_API.G_MISS_CHAR) THEN
463: p_x_rule_stmt_rec.OBJECT_ATTRIBUTE5 := null;
464: END IF;
465: IF (p_x_rule_stmt_rec.ATTRIBUTE_CATEGORY = FND_API.G_MISS_CHAR) THEN
466: p_x_rule_stmt_rec.ATTRIBUTE_CATEGORY := null;
461: END IF;
462: IF (p_x_rule_stmt_rec.OBJECT_ATTRIBUTE5 = FND_API.G_MISS_CHAR) THEN
463: p_x_rule_stmt_rec.OBJECT_ATTRIBUTE5 := null;
464: END IF;
465: IF (p_x_rule_stmt_rec.ATTRIBUTE_CATEGORY = FND_API.G_MISS_CHAR) THEN
466: p_x_rule_stmt_rec.ATTRIBUTE_CATEGORY := null;
467: END IF;
468: IF (p_x_rule_stmt_rec.ATTRIBUTE1 = FND_API.G_MISS_CHAR) THEN
469: p_x_rule_stmt_rec.ATTRIBUTE1 := null;
464: END IF;
465: IF (p_x_rule_stmt_rec.ATTRIBUTE_CATEGORY = FND_API.G_MISS_CHAR) THEN
466: p_x_rule_stmt_rec.ATTRIBUTE_CATEGORY := null;
467: END IF;
468: IF (p_x_rule_stmt_rec.ATTRIBUTE1 = FND_API.G_MISS_CHAR) THEN
469: p_x_rule_stmt_rec.ATTRIBUTE1 := null;
470: END IF;
471: IF (p_x_rule_stmt_rec.ATTRIBUTE2 = FND_API.G_MISS_CHAR) THEN
472: p_x_rule_stmt_rec.ATTRIBUTE2 := null;
467: END IF;
468: IF (p_x_rule_stmt_rec.ATTRIBUTE1 = FND_API.G_MISS_CHAR) THEN
469: p_x_rule_stmt_rec.ATTRIBUTE1 := null;
470: END IF;
471: IF (p_x_rule_stmt_rec.ATTRIBUTE2 = FND_API.G_MISS_CHAR) THEN
472: p_x_rule_stmt_rec.ATTRIBUTE2 := null;
473: END IF;
474: IF (p_x_rule_stmt_rec.ATTRIBUTE3 = FND_API.G_MISS_CHAR) THEN
475: p_x_rule_stmt_rec.ATTRIBUTE3 := null;
470: END IF;
471: IF (p_x_rule_stmt_rec.ATTRIBUTE2 = FND_API.G_MISS_CHAR) THEN
472: p_x_rule_stmt_rec.ATTRIBUTE2 := null;
473: END IF;
474: IF (p_x_rule_stmt_rec.ATTRIBUTE3 = FND_API.G_MISS_CHAR) THEN
475: p_x_rule_stmt_rec.ATTRIBUTE3 := null;
476: END IF;
477: IF (p_x_rule_stmt_rec.ATTRIBUTE4 = FND_API.G_MISS_CHAR) THEN
478: p_x_rule_stmt_rec.ATTRIBUTE4 := null;
473: END IF;
474: IF (p_x_rule_stmt_rec.ATTRIBUTE3 = FND_API.G_MISS_CHAR) THEN
475: p_x_rule_stmt_rec.ATTRIBUTE3 := null;
476: END IF;
477: IF (p_x_rule_stmt_rec.ATTRIBUTE4 = FND_API.G_MISS_CHAR) THEN
478: p_x_rule_stmt_rec.ATTRIBUTE4 := null;
479: END IF;
480: IF (p_x_rule_stmt_rec.ATTRIBUTE5 = FND_API.G_MISS_CHAR) THEN
481: p_x_rule_stmt_rec.ATTRIBUTE5 := null;
476: END IF;
477: IF (p_x_rule_stmt_rec.ATTRIBUTE4 = FND_API.G_MISS_CHAR) THEN
478: p_x_rule_stmt_rec.ATTRIBUTE4 := null;
479: END IF;
480: IF (p_x_rule_stmt_rec.ATTRIBUTE5 = FND_API.G_MISS_CHAR) THEN
481: p_x_rule_stmt_rec.ATTRIBUTE5 := null;
482: END IF;
483: IF (p_x_rule_stmt_rec.ATTRIBUTE6 = FND_API.G_MISS_CHAR) THEN
484: p_x_rule_stmt_rec.ATTRIBUTE6 := null;
479: END IF;
480: IF (p_x_rule_stmt_rec.ATTRIBUTE5 = FND_API.G_MISS_CHAR) THEN
481: p_x_rule_stmt_rec.ATTRIBUTE5 := null;
482: END IF;
483: IF (p_x_rule_stmt_rec.ATTRIBUTE6 = FND_API.G_MISS_CHAR) THEN
484: p_x_rule_stmt_rec.ATTRIBUTE6 := null;
485: END IF;
486: IF (p_x_rule_stmt_rec.ATTRIBUTE7 = FND_API.G_MISS_CHAR) THEN
487: p_x_rule_stmt_rec.ATTRIBUTE7 := null;
482: END IF;
483: IF (p_x_rule_stmt_rec.ATTRIBUTE6 = FND_API.G_MISS_CHAR) THEN
484: p_x_rule_stmt_rec.ATTRIBUTE6 := null;
485: END IF;
486: IF (p_x_rule_stmt_rec.ATTRIBUTE7 = FND_API.G_MISS_CHAR) THEN
487: p_x_rule_stmt_rec.ATTRIBUTE7 := null;
488: END IF;
489: IF (p_x_rule_stmt_rec.ATTRIBUTE8 = FND_API.G_MISS_CHAR) THEN
490: p_x_rule_stmt_rec.ATTRIBUTE8 := null;
485: END IF;
486: IF (p_x_rule_stmt_rec.ATTRIBUTE7 = FND_API.G_MISS_CHAR) THEN
487: p_x_rule_stmt_rec.ATTRIBUTE7 := null;
488: END IF;
489: IF (p_x_rule_stmt_rec.ATTRIBUTE8 = FND_API.G_MISS_CHAR) THEN
490: p_x_rule_stmt_rec.ATTRIBUTE8 := null;
491: END IF;
492: IF (p_x_rule_stmt_rec.ATTRIBUTE9 = FND_API.G_MISS_CHAR) THEN
493: p_x_rule_stmt_rec.ATTRIBUTE9 := null;
488: END IF;
489: IF (p_x_rule_stmt_rec.ATTRIBUTE8 = FND_API.G_MISS_CHAR) THEN
490: p_x_rule_stmt_rec.ATTRIBUTE8 := null;
491: END IF;
492: IF (p_x_rule_stmt_rec.ATTRIBUTE9 = FND_API.G_MISS_CHAR) THEN
493: p_x_rule_stmt_rec.ATTRIBUTE9 := null;
494: END IF;
495: IF (p_x_rule_stmt_rec.ATTRIBUTE10 = FND_API.G_MISS_CHAR) THEN
496: p_x_rule_stmt_rec.ATTRIBUTE10 := null;
491: END IF;
492: IF (p_x_rule_stmt_rec.ATTRIBUTE9 = FND_API.G_MISS_CHAR) THEN
493: p_x_rule_stmt_rec.ATTRIBUTE9 := null;
494: END IF;
495: IF (p_x_rule_stmt_rec.ATTRIBUTE10 = FND_API.G_MISS_CHAR) THEN
496: p_x_rule_stmt_rec.ATTRIBUTE10 := null;
497: END IF;
498: IF (p_x_rule_stmt_rec.ATTRIBUTE11 = FND_API.G_MISS_CHAR) THEN
499: p_x_rule_stmt_rec.ATTRIBUTE11 := null;
494: END IF;
495: IF (p_x_rule_stmt_rec.ATTRIBUTE10 = FND_API.G_MISS_CHAR) THEN
496: p_x_rule_stmt_rec.ATTRIBUTE10 := null;
497: END IF;
498: IF (p_x_rule_stmt_rec.ATTRIBUTE11 = FND_API.G_MISS_CHAR) THEN
499: p_x_rule_stmt_rec.ATTRIBUTE11 := null;
500: END IF;
501: IF (p_x_rule_stmt_rec.ATTRIBUTE12 = FND_API.G_MISS_CHAR) THEN
502: p_x_rule_stmt_rec.ATTRIBUTE12 := null;
497: END IF;
498: IF (p_x_rule_stmt_rec.ATTRIBUTE11 = FND_API.G_MISS_CHAR) THEN
499: p_x_rule_stmt_rec.ATTRIBUTE11 := null;
500: END IF;
501: IF (p_x_rule_stmt_rec.ATTRIBUTE12 = FND_API.G_MISS_CHAR) THEN
502: p_x_rule_stmt_rec.ATTRIBUTE12 := null;
503: END IF;
504: IF (p_x_rule_stmt_rec.ATTRIBUTE13 = FND_API.G_MISS_CHAR) THEN
505: p_x_rule_stmt_rec.ATTRIBUTE13 := null;
500: END IF;
501: IF (p_x_rule_stmt_rec.ATTRIBUTE12 = FND_API.G_MISS_CHAR) THEN
502: p_x_rule_stmt_rec.ATTRIBUTE12 := null;
503: END IF;
504: IF (p_x_rule_stmt_rec.ATTRIBUTE13 = FND_API.G_MISS_CHAR) THEN
505: p_x_rule_stmt_rec.ATTRIBUTE13 := null;
506: END IF;
507: IF (p_x_rule_stmt_rec.ATTRIBUTE14 = FND_API.G_MISS_CHAR) THEN
508: p_x_rule_stmt_rec.ATTRIBUTE14 := null;
503: END IF;
504: IF (p_x_rule_stmt_rec.ATTRIBUTE13 = FND_API.G_MISS_CHAR) THEN
505: p_x_rule_stmt_rec.ATTRIBUTE13 := null;
506: END IF;
507: IF (p_x_rule_stmt_rec.ATTRIBUTE14 = FND_API.G_MISS_CHAR) THEN
508: p_x_rule_stmt_rec.ATTRIBUTE14 := null;
509: END IF;
510: IF (p_x_rule_stmt_rec.ATTRIBUTE15 = FND_API.G_MISS_CHAR) THEN
511: p_x_rule_stmt_rec.ATTRIBUTE15 := null;
506: END IF;
507: IF (p_x_rule_stmt_rec.ATTRIBUTE14 = FND_API.G_MISS_CHAR) THEN
508: p_x_rule_stmt_rec.ATTRIBUTE14 := null;
509: END IF;
510: IF (p_x_rule_stmt_rec.ATTRIBUTE15 = FND_API.G_MISS_CHAR) THEN
511: p_x_rule_stmt_rec.ATTRIBUTE15 := null;
512: END IF;
513: END IF;
514:
519: x_msg_count => x_msg_count,
520: x_msg_data => x_msg_data);
521:
522: -- Check return status.
523: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
524: RAISE FND_API.G_EXC_ERROR;
525: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
526: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
527: END IF;
520: x_msg_data => x_msg_data);
521:
522: -- Check return status.
523: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
524: RAISE FND_API.G_EXC_ERROR;
525: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
526: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
527: END IF;
528:
521:
522: -- Check return status.
523: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
524: RAISE FND_API.G_EXC_ERROR;
525: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
526: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
527: END IF;
528:
529: IF (p_x_rule_stmt_rec.rule_statement_id IS NULL) THEN
522: -- Check return status.
523: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
524: RAISE FND_API.G_EXC_ERROR;
525: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
526: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
527: END IF;
528:
529: IF (p_x_rule_stmt_rec.rule_statement_id IS NULL) THEN
530: OPEN next_rule_stmt_id_csr;
610: )
611: RETURNING object_version_number INTO p_x_rule_stmt_rec.object_version_number;
612:
613: -- Standard check of p_commit
614: IF FND_API.TO_BOOLEAN(p_commit) THEN
615: COMMIT WORK;
616: END IF;
617: -- Standard call to get message count and if count is 1, get message info
618: FND_MSG_PUB.Count_And_Get
617: -- Standard call to get message count and if count is 1, get message info
618: FND_MSG_PUB.Count_And_Get
619: ( p_count => x_msg_count,
620: p_data => x_msg_data,
621: p_encoded => fnd_api.g_false
622: );
623: EXCEPTION
624: WHEN FND_API.G_EXC_ERROR THEN
625: Rollback to Insert_Rule_Stmt_pvt;
620: p_data => x_msg_data,
621: p_encoded => fnd_api.g_false
622: );
623: EXCEPTION
624: WHEN FND_API.G_EXC_ERROR THEN
625: Rollback to Insert_Rule_Stmt_pvt;
626: x_return_status := FND_API.G_RET_STS_ERROR;
627: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
628: p_data => x_msg_data,
622: );
623: EXCEPTION
624: WHEN FND_API.G_EXC_ERROR THEN
625: Rollback to Insert_Rule_Stmt_pvt;
626: x_return_status := FND_API.G_RET_STS_ERROR;
627: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
628: p_data => x_msg_data,
629: p_encoded => fnd_api.g_false);
630: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
625: Rollback to Insert_Rule_Stmt_pvt;
626: x_return_status := FND_API.G_RET_STS_ERROR;
627: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
628: p_data => x_msg_data,
629: p_encoded => fnd_api.g_false);
630: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
631: Rollback to Insert_Rule_Stmt_pvt;
632: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
633: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
626: x_return_status := FND_API.G_RET_STS_ERROR;
627: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
628: p_data => x_msg_data,
629: p_encoded => fnd_api.g_false);
630: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
631: Rollback to Insert_Rule_Stmt_pvt;
632: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
633: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
634: p_data => x_msg_data,
628: p_data => x_msg_data,
629: p_encoded => fnd_api.g_false);
630: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
631: Rollback to Insert_Rule_Stmt_pvt;
632: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
633: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
634: p_data => x_msg_data,
635: p_encoded => fnd_api.g_false);
636: WHEN OTHERS THEN
631: Rollback to Insert_Rule_Stmt_pvt;
632: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
633: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
634: p_data => x_msg_data,
635: p_encoded => fnd_api.g_false);
636: WHEN OTHERS THEN
637: Rollback to Insert_Rule_Stmt_pvt;
638: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
639: Fnd_Msg_Pub.add_exc_msg( p_pkg_name => G_PKG_NAME,
634: p_data => x_msg_data,
635: p_encoded => fnd_api.g_false);
636: WHEN OTHERS THEN
637: Rollback to Insert_Rule_Stmt_pvt;
638: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
639: Fnd_Msg_Pub.add_exc_msg( p_pkg_name => G_PKG_NAME,
640: p_procedure_name => l_api_name,
641: p_error_text => SQLERRM);
642: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
640: p_procedure_name => l_api_name,
641: p_error_text => SQLERRM);
642: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
643: p_data => x_msg_data,
644: p_encoded => fnd_api.g_false);
645: END Insert_Rule_Stmt;
646:
647:
648: --------------------------------
659: -- End of Comments.
660:
661: PROCEDURE Update_Rule_Stmt (
662: p_api_version IN NUMBER,
663: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
664: p_commit IN VARCHAR2 := FND_API.G_FALSE,
665: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
666: x_return_status OUT NOCOPY VARCHAR2,
667: x_msg_count OUT NOCOPY NUMBER,
660:
661: PROCEDURE Update_Rule_Stmt (
662: p_api_version IN NUMBER,
663: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
664: p_commit IN VARCHAR2 := FND_API.G_FALSE,
665: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
666: x_return_status OUT NOCOPY VARCHAR2,
667: x_msg_count OUT NOCOPY NUMBER,
668: x_msg_data OUT NOCOPY VARCHAR2,
661: PROCEDURE Update_Rule_Stmt (
662: p_api_version IN NUMBER,
663: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
664: p_commit IN VARCHAR2 := FND_API.G_FALSE,
665: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
666: x_return_status OUT NOCOPY VARCHAR2,
667: x_msg_count OUT NOCOPY NUMBER,
668: x_msg_data OUT NOCOPY VARCHAR2,
669: p_module IN VARCHAR2 := 'JSP',
683: BEGIN
684: -- Standard start of API savepoint
685: SAVEPOINT Update_Rule_Stmt_pvt;
686: -- Initialize Procedure return status to success
687: x_return_status := FND_API.G_RET_STS_SUCCESS;
688: -- Standard call to check for call compatibility
689: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name,
690: G_PKG_NAME) THEN
691: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
685: SAVEPOINT Update_Rule_Stmt_pvt;
686: -- Initialize Procedure return status to success
687: x_return_status := FND_API.G_RET_STS_SUCCESS;
688: -- Standard call to check for call compatibility
689: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name,
690: G_PKG_NAME) THEN
691: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
692: END IF;
693: -- Initialize message list if p_init_msg_list is set to TRUE
687: x_return_status := FND_API.G_RET_STS_SUCCESS;
688: -- Standard call to check for call compatibility
689: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name,
690: G_PKG_NAME) THEN
691: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
692: END IF;
693: -- Initialize message list if p_init_msg_list is set to TRUE
694: IF FND_API.To_Boolean(p_init_msg_list) THEN
695: FND_MSG_PUB.Initialize;
690: G_PKG_NAME) THEN
691: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
692: END IF;
693: -- Initialize message list if p_init_msg_list is set to TRUE
694: IF FND_API.To_Boolean(p_init_msg_list) THEN
695: FND_MSG_PUB.Initialize;
696: END IF;
697:
698: --Check that rule_statement_id is valid
702: FND_MESSAGE.Set_Name('AHL','AHL_MC_RULE_STMT_ID_INV');
703: FND_MESSAGE.Set_Token('RULE_STMT_ID',p_rule_stmt_rec.rule_statement_id);
704: FND_MSG_PUB.ADD;
705: CLOSE ahl_mc_rule_stmt_csr;
706: Raise FND_API.G_EXC_ERROR;
707: END IF;
708: CLOSE ahl_mc_rule_stmt_csr;
709:
710: --Check Status of MC allows for editing
710: --Check Status of MC allows for editing
711: /*IF NOT(check_mc_status(p_rule_stmt_rec.rule_id)) THEN
712: FND_MESSAGE.Set_Name('AHL','AHL_INVALID_MC_STATUS');
713: FND_MSG_PUB.ADD;
714: Raise FND_API.G_EXC_ERROR;
715: END IF; */
716:
717: l_rule_stmt_rec := p_rule_stmt_rec;
718:
719: -- Check Object version number.
720: IF (l_old_rstmt_rec.object_version_number <> l_rule_stmt_rec.object_version_number) THEN
721: FND_MESSAGE.Set_Name('AHL','AHL_COM_RECORD_CHANGED');
722: FND_MSG_PUB.ADD;
723: Raise FND_API.G_EXC_UNEXPECTED_ERROR;
724: END IF;
725:
726: --Do NULL/G_MISS conversion
727: IF (p_module = 'JSP') THEN
727: IF (p_module = 'JSP') THEN
728:
729: IF (l_rule_stmt_rec.OBJECT_ATTRIBUTE1 IS NULL) THEN
730: l_rule_stmt_rec.OBJECT_ATTRIBUTE1 := l_old_rstmt_rec.OBJECT_ATTRIBUTE1;
731: ELSIF (l_rule_stmt_rec.OBJECT_ATTRIBUTE1 = FND_API.G_MISS_CHAR) THEN
732: l_rule_stmt_rec.OBJECT_ATTRIBUTE1 := NULL;
733: END IF;
734: IF (l_rule_stmt_rec.OBJECT_ATTRIBUTE2 IS NULL) THEN
735: l_rule_stmt_rec.OBJECT_ATTRIBUTE2 := l_old_rstmt_rec.OBJECT_ATTRIBUTE2;
732: l_rule_stmt_rec.OBJECT_ATTRIBUTE1 := NULL;
733: END IF;
734: IF (l_rule_stmt_rec.OBJECT_ATTRIBUTE2 IS NULL) THEN
735: l_rule_stmt_rec.OBJECT_ATTRIBUTE2 := l_old_rstmt_rec.OBJECT_ATTRIBUTE2;
736: ELSIF (l_rule_stmt_rec.OBJECT_ATTRIBUTE2 = FND_API.G_MISS_CHAR) THEN
737: l_rule_stmt_rec.OBJECT_ATTRIBUTE2 := NULL;
738: END IF;
739: IF (l_rule_stmt_rec.OBJECT_ATTRIBUTE3 IS NULL) THEN
740: l_rule_stmt_rec.OBJECT_ATTRIBUTE3 := l_old_rstmt_rec.OBJECT_ATTRIBUTE3;
737: l_rule_stmt_rec.OBJECT_ATTRIBUTE2 := NULL;
738: END IF;
739: IF (l_rule_stmt_rec.OBJECT_ATTRIBUTE3 IS NULL) THEN
740: l_rule_stmt_rec.OBJECT_ATTRIBUTE3 := l_old_rstmt_rec.OBJECT_ATTRIBUTE3;
741: ELSIF (l_rule_stmt_rec.OBJECT_ATTRIBUTE3 = FND_API.G_MISS_CHAR) THEN
742: l_rule_stmt_rec.OBJECT_ATTRIBUTE3 := NULL;
743: END IF;
744: IF (l_rule_stmt_rec.OBJECT_ATTRIBUTE4 IS NULL) THEN
745: l_rule_stmt_rec.OBJECT_ATTRIBUTE4 := l_old_rstmt_rec.OBJECT_ATTRIBUTE4;
742: l_rule_stmt_rec.OBJECT_ATTRIBUTE3 := NULL;
743: END IF;
744: IF (l_rule_stmt_rec.OBJECT_ATTRIBUTE4 IS NULL) THEN
745: l_rule_stmt_rec.OBJECT_ATTRIBUTE4 := l_old_rstmt_rec.OBJECT_ATTRIBUTE4;
746: ELSIF (l_rule_stmt_rec.OBJECT_ATTRIBUTE4 = FND_API.G_MISS_CHAR) THEN
747: l_rule_stmt_rec.OBJECT_ATTRIBUTE4 := NULL;
748: END IF;
749: IF (l_rule_stmt_rec.OBJECT_ATTRIBUTE5 IS NULL) THEN
750: l_rule_stmt_rec.OBJECT_ATTRIBUTE5 := l_old_rstmt_rec.OBJECT_ATTRIBUTE5;
747: l_rule_stmt_rec.OBJECT_ATTRIBUTE4 := NULL;
748: END IF;
749: IF (l_rule_stmt_rec.OBJECT_ATTRIBUTE5 IS NULL) THEN
750: l_rule_stmt_rec.OBJECT_ATTRIBUTE5 := l_old_rstmt_rec.OBJECT_ATTRIBUTE5;
751: ELSIF (l_rule_stmt_rec.OBJECT_ATTRIBUTE5 = FND_API.G_MISS_CHAR) THEN
752: l_rule_stmt_rec.OBJECT_ATTRIBUTE5 := NULL;
753: END IF;
754:
755: IF (l_rule_stmt_rec.ATTRIBUTE_CATEGORY IS NULL) THEN
753: END IF;
754:
755: IF (l_rule_stmt_rec.ATTRIBUTE_CATEGORY IS NULL) THEN
756: l_rule_stmt_rec.ATTRIBUTE_CATEGORY := l_old_rstmt_rec.ATTRIBUTE_CATEGORY;
757: ELSIF (l_rule_stmt_rec.ATTRIBUTE_CATEGORY = FND_API.G_MISS_CHAR) THEN
758: l_rule_stmt_rec.ATTRIBUTE_CATEGORY := NULL;
759: END IF;
760: IF (l_rule_stmt_rec.ATTRIBUTE1 IS NULL) THEN
761: l_rule_stmt_rec.ATTRIBUTE1 := l_old_rstmt_rec.ATTRIBUTE1;
758: l_rule_stmt_rec.ATTRIBUTE_CATEGORY := NULL;
759: END IF;
760: IF (l_rule_stmt_rec.ATTRIBUTE1 IS NULL) THEN
761: l_rule_stmt_rec.ATTRIBUTE1 := l_old_rstmt_rec.ATTRIBUTE1;
762: ELSIF (l_rule_stmt_rec.ATTRIBUTE1 = FND_API.G_MISS_CHAR) THEN
763: l_rule_stmt_rec.ATTRIBUTE1 := NULL;
764: END IF;
765: IF (l_rule_stmt_rec.ATTRIBUTE2 IS NULL) THEN
766: l_rule_stmt_rec.ATTRIBUTE2 := l_old_rstmt_rec.ATTRIBUTE2;
763: l_rule_stmt_rec.ATTRIBUTE1 := NULL;
764: END IF;
765: IF (l_rule_stmt_rec.ATTRIBUTE2 IS NULL) THEN
766: l_rule_stmt_rec.ATTRIBUTE2 := l_old_rstmt_rec.ATTRIBUTE2;
767: ELSIF (l_rule_stmt_rec.ATTRIBUTE2 = FND_API.G_MISS_CHAR) THEN
768: l_rule_stmt_rec.ATTRIBUTE2 := NULL;
769: END IF;
770: IF (l_rule_stmt_rec.ATTRIBUTE3 IS NULL) THEN
771: l_rule_stmt_rec.ATTRIBUTE3 := l_old_rstmt_rec.ATTRIBUTE3;
768: l_rule_stmt_rec.ATTRIBUTE2 := NULL;
769: END IF;
770: IF (l_rule_stmt_rec.ATTRIBUTE3 IS NULL) THEN
771: l_rule_stmt_rec.ATTRIBUTE3 := l_old_rstmt_rec.ATTRIBUTE3;
772: ELSIF (l_rule_stmt_rec.ATTRIBUTE3 = FND_API.G_MISS_CHAR) THEN
773: l_rule_stmt_rec.ATTRIBUTE3 := NULL;
774: END IF;
775: IF (l_rule_stmt_rec.ATTRIBUTE4 IS NULL) THEN
776: l_rule_stmt_rec.ATTRIBUTE4 := l_old_rstmt_rec.ATTRIBUTE4;
773: l_rule_stmt_rec.ATTRIBUTE3 := NULL;
774: END IF;
775: IF (l_rule_stmt_rec.ATTRIBUTE4 IS NULL) THEN
776: l_rule_stmt_rec.ATTRIBUTE4 := l_old_rstmt_rec.ATTRIBUTE4;
777: ELSIF (l_rule_stmt_rec.ATTRIBUTE4 = FND_API.G_MISS_CHAR) THEN
778: l_rule_stmt_rec.ATTRIBUTE4 := NULL;
779: END IF;
780: IF (l_rule_stmt_rec.ATTRIBUTE5 IS NULL) THEN
781: l_rule_stmt_rec.ATTRIBUTE5 := l_old_rstmt_rec.ATTRIBUTE5;
778: l_rule_stmt_rec.ATTRIBUTE4 := NULL;
779: END IF;
780: IF (l_rule_stmt_rec.ATTRIBUTE5 IS NULL) THEN
781: l_rule_stmt_rec.ATTRIBUTE5 := l_old_rstmt_rec.ATTRIBUTE5;
782: ELSIF (l_rule_stmt_rec.ATTRIBUTE5 = FND_API.G_MISS_CHAR) THEN
783: l_rule_stmt_rec.ATTRIBUTE5 := NULL;
784: END IF;
785: IF (l_rule_stmt_rec.ATTRIBUTE6 IS NULL) THEN
786: l_rule_stmt_rec.ATTRIBUTE6 := l_old_rstmt_rec.ATTRIBUTE6;
783: l_rule_stmt_rec.ATTRIBUTE5 := NULL;
784: END IF;
785: IF (l_rule_stmt_rec.ATTRIBUTE6 IS NULL) THEN
786: l_rule_stmt_rec.ATTRIBUTE6 := l_old_rstmt_rec.ATTRIBUTE6;
787: ELSIF (l_rule_stmt_rec.ATTRIBUTE6 = FND_API.G_MISS_CHAR) THEN
788: l_rule_stmt_rec.ATTRIBUTE6 := NULL;
789: END IF;
790: IF (l_rule_stmt_rec.ATTRIBUTE7 IS NULL) THEN
791: l_rule_stmt_rec.ATTRIBUTE7 := l_old_rstmt_rec.ATTRIBUTE7;
788: l_rule_stmt_rec.ATTRIBUTE6 := NULL;
789: END IF;
790: IF (l_rule_stmt_rec.ATTRIBUTE7 IS NULL) THEN
791: l_rule_stmt_rec.ATTRIBUTE7 := l_old_rstmt_rec.ATTRIBUTE7;
792: ELSIF (l_rule_stmt_rec.ATTRIBUTE7 = FND_API.G_MISS_CHAR) THEN
793: l_rule_stmt_rec.ATTRIBUTE7 := NULL;
794: END IF;
795: IF (l_rule_stmt_rec.ATTRIBUTE8 IS NULL) THEN
796: l_rule_stmt_rec.ATTRIBUTE8 := l_old_rstmt_rec.ATTRIBUTE8;
793: l_rule_stmt_rec.ATTRIBUTE7 := NULL;
794: END IF;
795: IF (l_rule_stmt_rec.ATTRIBUTE8 IS NULL) THEN
796: l_rule_stmt_rec.ATTRIBUTE8 := l_old_rstmt_rec.ATTRIBUTE8;
797: ELSIF (l_rule_stmt_rec.ATTRIBUTE8 = FND_API.G_MISS_CHAR) THEN
798: l_rule_stmt_rec.ATTRIBUTE8 := NULL;
799: END IF;
800: IF (l_rule_stmt_rec.ATTRIBUTE9 IS NULL) THEN
801: l_rule_stmt_rec.ATTRIBUTE9 := l_old_rstmt_rec.ATTRIBUTE9;
798: l_rule_stmt_rec.ATTRIBUTE8 := NULL;
799: END IF;
800: IF (l_rule_stmt_rec.ATTRIBUTE9 IS NULL) THEN
801: l_rule_stmt_rec.ATTRIBUTE9 := l_old_rstmt_rec.ATTRIBUTE9;
802: ELSIF (l_rule_stmt_rec.ATTRIBUTE9 = FND_API.G_MISS_CHAR) THEN
803: l_rule_stmt_rec.ATTRIBUTE9 := NULL;
804: END IF;
805: IF (l_rule_stmt_rec.ATTRIBUTE10 IS NULL) THEN
806: l_rule_stmt_rec.ATTRIBUTE10 := l_old_rstmt_rec.ATTRIBUTE10;
803: l_rule_stmt_rec.ATTRIBUTE9 := NULL;
804: END IF;
805: IF (l_rule_stmt_rec.ATTRIBUTE10 IS NULL) THEN
806: l_rule_stmt_rec.ATTRIBUTE10 := l_old_rstmt_rec.ATTRIBUTE10;
807: ELSIF (l_rule_stmt_rec.ATTRIBUTE10 = FND_API.G_MISS_CHAR) THEN
808: l_rule_stmt_rec.ATTRIBUTE10 := NULL;
809: END IF;
810: IF (l_rule_stmt_rec.ATTRIBUTE11 IS NULL) THEN
811: l_rule_stmt_rec.ATTRIBUTE11 := l_old_rstmt_rec.ATTRIBUTE11;
808: l_rule_stmt_rec.ATTRIBUTE10 := NULL;
809: END IF;
810: IF (l_rule_stmt_rec.ATTRIBUTE11 IS NULL) THEN
811: l_rule_stmt_rec.ATTRIBUTE11 := l_old_rstmt_rec.ATTRIBUTE11;
812: ELSIF (l_rule_stmt_rec.ATTRIBUTE11 = FND_API.G_MISS_CHAR) THEN
813: l_rule_stmt_rec.ATTRIBUTE11 := NULL;
814: END IF;
815: IF (l_rule_stmt_rec.ATTRIBUTE12 IS NULL) THEN
816: l_rule_stmt_rec.ATTRIBUTE12 := l_old_rstmt_rec.ATTRIBUTE12;
813: l_rule_stmt_rec.ATTRIBUTE11 := NULL;
814: END IF;
815: IF (l_rule_stmt_rec.ATTRIBUTE12 IS NULL) THEN
816: l_rule_stmt_rec.ATTRIBUTE12 := l_old_rstmt_rec.ATTRIBUTE12;
817: ELSIF (l_rule_stmt_rec.ATTRIBUTE12 = FND_API.G_MISS_CHAR) THEN
818: l_rule_stmt_rec.ATTRIBUTE12 := NULL;
819: END IF;
820: IF (l_rule_stmt_rec.ATTRIBUTE13 IS NULL) THEN
821: l_rule_stmt_rec.ATTRIBUTE13 := l_old_rstmt_rec.ATTRIBUTE13;
818: l_rule_stmt_rec.ATTRIBUTE12 := NULL;
819: END IF;
820: IF (l_rule_stmt_rec.ATTRIBUTE13 IS NULL) THEN
821: l_rule_stmt_rec.ATTRIBUTE13 := l_old_rstmt_rec.ATTRIBUTE13;
822: ELSIF (l_rule_stmt_rec.ATTRIBUTE13 = FND_API.G_MISS_CHAR) THEN
823: l_rule_stmt_rec.ATTRIBUTE13 := NULL;
824: END IF;
825: IF (l_rule_stmt_rec.ATTRIBUTE14 IS NULL) THEN
826: l_rule_stmt_rec.ATTRIBUTE14 := l_old_rstmt_rec.ATTRIBUTE14;
823: l_rule_stmt_rec.ATTRIBUTE13 := NULL;
824: END IF;
825: IF (l_rule_stmt_rec.ATTRIBUTE14 IS NULL) THEN
826: l_rule_stmt_rec.ATTRIBUTE14 := l_old_rstmt_rec.ATTRIBUTE14;
827: ELSIF (l_rule_stmt_rec.ATTRIBUTE14 = FND_API.G_MISS_CHAR) THEN
828: l_rule_stmt_rec.ATTRIBUTE14 := NULL;
829: END IF;
830: IF (l_rule_stmt_rec.ATTRIBUTE15 IS NULL) THEN
831: l_rule_stmt_rec.ATTRIBUTE15 := l_old_rstmt_rec.ATTRIBUTE15;
828: l_rule_stmt_rec.ATTRIBUTE14 := NULL;
829: END IF;
830: IF (l_rule_stmt_rec.ATTRIBUTE15 IS NULL) THEN
831: l_rule_stmt_rec.ATTRIBUTE15 := l_old_rstmt_rec.ATTRIBUTE15;
832: ELSIF (l_rule_stmt_rec.ATTRIBUTE15 = FND_API.G_MISS_CHAR) THEN
833: l_rule_stmt_rec.ATTRIBUTE15 := NULL;
834: END IF;
835:
836: END IF;
842: x_msg_count => x_msg_count,
843: x_msg_data => x_msg_data);
844:
845: -- Check return status.
846: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
847: RAISE FND_API.G_EXC_ERROR;
848: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
849: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
850: END IF;
843: x_msg_data => x_msg_data);
844:
845: -- Check return status.
846: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
847: RAISE FND_API.G_EXC_ERROR;
848: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
849: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
850: END IF;
851:
844:
845: -- Check return status.
846: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
847: RAISE FND_API.G_EXC_ERROR;
848: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
849: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
850: END IF;
851:
852: UPDATE ahl_mc_rule_statements SET
845: -- Check return status.
846: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
847: RAISE FND_API.G_EXC_ERROR;
848: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
849: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
850: END IF;
851:
852: UPDATE ahl_mc_rule_statements SET
853: OBJECT_VERSION_NUMBER = OBJECT_VERSION_NUMBER+1,
885: ATTRIBUTE15 = l_rule_stmt_rec.ATTRIBUTE15
886: WHERE RULE_STATEMENT_ID = l_rule_stmt_rec.rule_statement_id;
887:
888: -- Standard check of p_commit
889: IF FND_API.TO_BOOLEAN(p_commit) THEN
890: COMMIT WORK;
891: END IF;
892: -- Standard call to get message count and if count is 1, get message info
893: FND_MSG_PUB.Count_And_Get
892: -- Standard call to get message count and if count is 1, get message info
893: FND_MSG_PUB.Count_And_Get
894: ( p_count => x_msg_count,
895: p_data => x_msg_data,
896: p_encoded => fnd_api.g_false);
897:
898: EXCEPTION
899: WHEN FND_API.G_EXC_ERROR THEN
900: Rollback to Update_Rule_Stmt_pvt;
895: p_data => x_msg_data,
896: p_encoded => fnd_api.g_false);
897:
898: EXCEPTION
899: WHEN FND_API.G_EXC_ERROR THEN
900: Rollback to Update_Rule_Stmt_pvt;
901: x_return_status := FND_API.G_RET_STS_ERROR;
902: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
903: p_data => x_msg_data,
897:
898: EXCEPTION
899: WHEN FND_API.G_EXC_ERROR THEN
900: Rollback to Update_Rule_Stmt_pvt;
901: x_return_status := FND_API.G_RET_STS_ERROR;
902: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
903: p_data => x_msg_data,
904: p_encoded => fnd_api.g_false);
905: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
900: Rollback to Update_Rule_Stmt_pvt;
901: x_return_status := FND_API.G_RET_STS_ERROR;
902: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
903: p_data => x_msg_data,
904: p_encoded => fnd_api.g_false);
905: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
906: Rollback to Update_Rule_Stmt_pvt;
907: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
908: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
901: x_return_status := FND_API.G_RET_STS_ERROR;
902: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
903: p_data => x_msg_data,
904: p_encoded => fnd_api.g_false);
905: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
906: Rollback to Update_Rule_Stmt_pvt;
907: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
908: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
909: p_data => x_msg_data,
903: p_data => x_msg_data,
904: p_encoded => fnd_api.g_false);
905: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
906: Rollback to Update_Rule_Stmt_pvt;
907: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
908: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
909: p_data => x_msg_data,
910: p_encoded => fnd_api.g_false);
911: WHEN OTHERS THEN
906: Rollback to Update_Rule_Stmt_pvt;
907: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
908: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
909: p_data => x_msg_data,
910: p_encoded => fnd_api.g_false);
911: WHEN OTHERS THEN
912: Rollback to Update_Rule_Stmt_pvt;
913: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
914: Fnd_Msg_Pub.add_exc_msg( p_pkg_name => G_PKG_NAME,
909: p_data => x_msg_data,
910: p_encoded => fnd_api.g_false);
911: WHEN OTHERS THEN
912: Rollback to Update_Rule_Stmt_pvt;
913: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
914: Fnd_Msg_Pub.add_exc_msg( p_pkg_name => G_PKG_NAME,
915: p_procedure_name => l_api_name,
916: p_error_text => SQLERRM);
917: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
915: p_procedure_name => l_api_name,
916: p_error_text => SQLERRM);
917: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
918: p_data => x_msg_data,
919: p_encoded => fnd_api.g_false);
920: END Update_Rule_Stmt;
921:
922: --------------------------------
923: -- Start of Comments --
936: -- End of Comments.
937:
938: PROCEDURE Copy_Rule_Stmt (
939: p_api_version IN NUMBER,
940: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
941: p_commit IN VARCHAR2 := FND_API.G_FALSE,
942: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
943: x_return_status OUT NOCOPY VARCHAR2,
944: x_msg_count OUT NOCOPY NUMBER,
937:
938: PROCEDURE Copy_Rule_Stmt (
939: p_api_version IN NUMBER,
940: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
941: p_commit IN VARCHAR2 := FND_API.G_FALSE,
942: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
943: x_return_status OUT NOCOPY VARCHAR2,
944: x_msg_count OUT NOCOPY NUMBER,
945: x_msg_data OUT NOCOPY VARCHAR2,
938: PROCEDURE Copy_Rule_Stmt (
939: p_api_version IN NUMBER,
940: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
941: p_commit IN VARCHAR2 := FND_API.G_FALSE,
942: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
943: x_return_status OUT NOCOPY VARCHAR2,
944: x_msg_count OUT NOCOPY NUMBER,
945: x_msg_data OUT NOCOPY VARCHAR2,
946: p_rule_stmt_id IN NUMBER,
963: BEGIN
964: -- Standard start of API savepoint
965: SAVEPOINT Copy_Rule_Stmt_pvt;
966: -- Initialize Procedure return status to success
967: x_return_status := FND_API.G_RET_STS_SUCCESS;
968: -- Standard call to check for call compatibility
969: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name,
970: G_PKG_NAME) THEN
971: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
965: SAVEPOINT Copy_Rule_Stmt_pvt;
966: -- Initialize Procedure return status to success
967: x_return_status := FND_API.G_RET_STS_SUCCESS;
968: -- Standard call to check for call compatibility
969: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name,
970: G_PKG_NAME) THEN
971: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
972: END IF;
973: -- Initialize message list if p_init_msg_list is set to TRUE
967: x_return_status := FND_API.G_RET_STS_SUCCESS;
968: -- Standard call to check for call compatibility
969: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name,
970: G_PKG_NAME) THEN
971: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
972: END IF;
973: -- Initialize message list if p_init_msg_list is set to TRUE
974: IF FND_API.To_Boolean(p_init_msg_list) THEN
975: FND_MSG_PUB.Initialize;
970: G_PKG_NAME) THEN
971: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
972: END IF;
973: -- Initialize message list if p_init_msg_list is set to TRUE
974: IF FND_API.To_Boolean(p_init_msg_list) THEN
975: FND_MSG_PUB.Initialize;
976: END IF;
977:
978: OPEN get_rule_stmt_csr(p_rule_stmt_id);
984: (l_stmt_rec.operator = 'REQUIRES'))
985: THEN
986: --1) Copy the subject table
987: Copy_Rule_Stmt (p_api_version => 1.0,
988: p_commit => FND_API.G_FALSE,
989: p_rule_stmt_id => l_stmt_rec.subject_id,
990: p_to_rule_id => p_to_rule_id,
991: p_to_mc_header_id => p_to_mc_header_id,
992: x_rule_stmt_id => l_new_subject_id,
995: x_msg_data => x_msg_data);
996:
997: --Verify that the rule stmt is null
998: IF (l_new_subject_id is NULL AND
999: x_return_Status = fnd_api.g_ret_sts_success) THEN
1000: x_rule_stmt_id := null;
1001: RETURN;
1002: END IF;
1003:
1001: RETURN;
1002: END IF;
1003:
1004: -- Check return status.
1005: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1006: RAISE FND_API.G_EXC_ERROR;
1007: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1008: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1009: END IF;
1002: END IF;
1003:
1004: -- Check return status.
1005: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1006: RAISE FND_API.G_EXC_ERROR;
1007: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1008: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1009: END IF;
1010:
1003:
1004: -- Check return status.
1005: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1006: RAISE FND_API.G_EXC_ERROR;
1007: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1008: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1009: END IF;
1010:
1011:
1004: -- Check return status.
1005: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1006: RAISE FND_API.G_EXC_ERROR;
1007: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1008: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1009: END IF;
1010:
1011:
1012: --2) Build the object table
1010:
1011:
1012: --2) Build the object table
1013: Copy_Rule_Stmt (p_api_version => 1.0,
1014: p_commit => FND_API.G_FALSE,
1015: p_rule_stmt_id => l_stmt_rec.object_id,
1016: p_to_rule_id => p_to_rule_id,
1017: p_to_mc_header_id => p_to_mc_header_id,
1018: x_rule_stmt_id => l_new_object_id,
1020: x_msg_count => x_msg_count,
1021: x_msg_data => x_msg_data);
1022:
1023: IF (l_new_object_id is NULL AND
1024: x_return_Status = fnd_api.g_ret_sts_success) THEN
1025: x_rule_stmt_id := null;
1026: RETURN;
1027: END IF;
1028:
1026: RETURN;
1027: END IF;
1028:
1029: -- Check return status.
1030: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1031: RAISE FND_API.G_EXC_ERROR;
1032: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1033: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1034: END IF;
1027: END IF;
1028:
1029: -- Check return status.
1030: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1031: RAISE FND_API.G_EXC_ERROR;
1032: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1033: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1034: END IF;
1035:
1028:
1029: -- Check return status.
1030: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1031: RAISE FND_API.G_EXC_ERROR;
1032: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1033: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1034: END IF;
1035:
1036: --3) Change the rule stmt record and insert
1029: -- Check return status.
1030: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1031: RAISE FND_API.G_EXC_ERROR;
1032: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1033: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1034: END IF;
1035:
1036: --3) Change the rule stmt record and insert
1037: l_rstmt_rec.subject_id := l_new_subject_id;
1065: l_rstmt_rec.ATTRIBUTE14:= l_stmt_rec.ATTRIBUTE14;
1066: l_rstmt_rec.ATTRIBUTE15:= l_stmt_rec.ATTRIBUTE15;
1067:
1068: Insert_Rule_Stmt (p_api_version => 1.0,
1069: p_commit => FND_API.G_FALSE,
1070: p_module => 'PLSQL',
1071: p_x_rule_stmt_rec => l_rstmt_rec,
1072: x_return_status => x_return_status,
1073: x_msg_count => x_msg_count,
1078: --Convert for positions
1079: IF (l_stmt_rec.subject_type = 'POSITION') THEN
1080: AHL_MC_PATH_POSITION_PVT.Copy_Position (
1081: p_api_version => 1.0,
1082: p_commit => FND_API.G_FALSE,
1083: p_position_id => l_stmt_rec.subject_id,
1084: p_to_mc_header_id => p_to_mc_header_id,
1085: x_position_id => l_rstmt_rec.subject_id,
1086: x_return_status => x_return_status,
1088: x_msg_data => x_msg_data);
1089:
1090: --If position can not be copied, return and not copy the rule.
1091: IF (l_rstmt_rec.subject_id is NULL AND
1092: x_return_Status = fnd_api.g_ret_sts_success) THEN
1093: x_rule_stmt_id := null;
1094: RETURN;
1095: END IF;
1096:
1094: RETURN;
1095: END IF;
1096:
1097: -- Check return status.
1098: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1099: RAISE FND_API.G_EXC_ERROR;
1100: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1101: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1102: END IF;
1095: END IF;
1096:
1097: -- Check return status.
1098: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1099: RAISE FND_API.G_EXC_ERROR;
1100: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1101: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1102: END IF;
1103:
1096:
1097: -- Check return status.
1098: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1099: RAISE FND_API.G_EXC_ERROR;
1100: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1101: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1102: END IF;
1103:
1104: ELSE
1097: -- Check return status.
1098: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1099: RAISE FND_API.G_EXC_ERROR;
1100: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1101: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1102: END IF;
1103:
1104: ELSE
1105: l_rstmt_rec.subject_id := l_stmt_rec.subject_id;
1108: IF (l_stmt_rec.object_type = 'ITEM_AS_POSITION' OR
1109: l_stmt_rec.object_type = 'CONFIG_AS_POSITION') THEN
1110: AHL_MC_PATH_POSITION_PVT.Copy_Position (
1111: p_api_version => 1.0,
1112: p_commit => FND_API.G_FALSE,
1113: p_position_id => l_stmt_rec.object_id,
1114: p_to_mc_header_id => p_to_mc_header_id,
1115: x_position_id => l_rstmt_rec.object_id,
1116: x_return_status => x_return_status,
1118: x_msg_data => x_msg_data);
1119:
1120: --If position can not be copied, return and not copy the rule.
1121: IF (l_rstmt_rec.object_id is NULL AND
1122: x_return_Status = fnd_api.g_ret_sts_success) THEN
1123: x_rule_stmt_id := null;
1124: RETURN;
1125: END IF;
1126:
1124: RETURN;
1125: END IF;
1126:
1127: -- Check return status.
1128: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1129: RAISE FND_API.G_EXC_ERROR;
1130: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1131: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1132: END IF;
1125: END IF;
1126:
1127: -- Check return status.
1128: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1129: RAISE FND_API.G_EXC_ERROR;
1130: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1131: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1132: END IF;
1133:
1126:
1127: -- Check return status.
1128: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1129: RAISE FND_API.G_EXC_ERROR;
1130: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1131: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1132: END IF;
1133:
1134: ELSE
1127: -- Check return status.
1128: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1129: RAISE FND_API.G_EXC_ERROR;
1130: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1131: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1132: END IF;
1133:
1134: ELSE
1135: l_rstmt_rec.object_id := l_stmt_rec.object_id;
1163: l_rstmt_rec.ATTRIBUTE14:= l_stmt_rec.ATTRIBUTE14;
1164: l_rstmt_rec.ATTRIBUTE15:= l_stmt_rec.ATTRIBUTE15;
1165:
1166: Insert_Rule_Stmt (p_api_version => 1.0,
1167: p_commit => FND_API.G_FALSE,
1168: p_module => 'PLSQL',
1169: p_x_rule_stmt_rec => l_rstmt_rec,
1170: x_return_status => x_return_status,
1171: x_msg_count => x_msg_count,
1175: END IF;
1176: CLOSE get_rule_stmt_csr;
1177:
1178: -- Standard check of p_commit
1179: IF FND_API.TO_BOOLEAN(p_commit) THEN
1180: COMMIT WORK;
1181: END IF;
1182: -- Standard call to get message count and if count is 1, get message info
1183: FND_MSG_PUB.Count_And_Get
1182: -- Standard call to get message count and if count is 1, get message info
1183: FND_MSG_PUB.Count_And_Get
1184: ( p_count => x_msg_count,
1185: p_data => x_msg_data,
1186: p_encoded => fnd_api.g_false
1187: );
1188: EXCEPTION
1189: WHEN FND_API.G_EXC_ERROR THEN
1190: Rollback to Copy_Rule_Stmt_pvt;
1185: p_data => x_msg_data,
1186: p_encoded => fnd_api.g_false
1187: );
1188: EXCEPTION
1189: WHEN FND_API.G_EXC_ERROR THEN
1190: Rollback to Copy_Rule_Stmt_pvt;
1191: x_return_status := FND_API.G_RET_STS_ERROR;
1192: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1193: p_data => x_msg_data,
1187: );
1188: EXCEPTION
1189: WHEN FND_API.G_EXC_ERROR THEN
1190: Rollback to Copy_Rule_Stmt_pvt;
1191: x_return_status := FND_API.G_RET_STS_ERROR;
1192: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1193: p_data => x_msg_data,
1194: p_encoded => fnd_api.g_false);
1195: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1190: Rollback to Copy_Rule_Stmt_pvt;
1191: x_return_status := FND_API.G_RET_STS_ERROR;
1192: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1193: p_data => x_msg_data,
1194: p_encoded => fnd_api.g_false);
1195: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1196: Rollback to Copy_Rule_Stmt_pvt;
1197: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1198: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1191: x_return_status := FND_API.G_RET_STS_ERROR;
1192: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1193: p_data => x_msg_data,
1194: p_encoded => fnd_api.g_false);
1195: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1196: Rollback to Copy_Rule_Stmt_pvt;
1197: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1198: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1199: p_data => x_msg_data,
1193: p_data => x_msg_data,
1194: p_encoded => fnd_api.g_false);
1195: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1196: Rollback to Copy_Rule_Stmt_pvt;
1197: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1198: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1199: p_data => x_msg_data,
1200: p_encoded => fnd_api.g_false);
1201: WHEN OTHERS THEN
1196: Rollback to Copy_Rule_Stmt_pvt;
1197: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1198: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1199: p_data => x_msg_data,
1200: p_encoded => fnd_api.g_false);
1201: WHEN OTHERS THEN
1202: Rollback to Copy_Rule_Stmt_pvt;
1203: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1204: Fnd_Msg_Pub.add_exc_msg( p_pkg_name => G_PKG_NAME,
1199: p_data => x_msg_data,
1200: p_encoded => fnd_api.g_false);
1201: WHEN OTHERS THEN
1202: Rollback to Copy_Rule_Stmt_pvt;
1203: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1204: Fnd_Msg_Pub.add_exc_msg( p_pkg_name => G_PKG_NAME,
1205: p_procedure_name => l_api_name,
1206: p_error_text => SQLERRM);
1207: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1205: p_procedure_name => l_api_name,
1206: p_error_text => SQLERRM);
1207: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1208: p_data => x_msg_data,
1209: p_encoded => fnd_api.g_false);
1210: END Copy_Rule_Stmt;
1211:
1212: -----------------------------
1213: -- Start of Comments --
1223: -- End of Comments.
1224:
1225: PROCEDURE Delete_Rule_Stmts (
1226: p_api_version IN NUMBER,
1227: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1228: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1229: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1230: x_return_status OUT NOCOPY VARCHAR2,
1231: x_msg_count OUT NOCOPY NUMBER,
1224:
1225: PROCEDURE Delete_Rule_Stmts (
1226: p_api_version IN NUMBER,
1227: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1228: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1229: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1230: x_return_status OUT NOCOPY VARCHAR2,
1231: x_msg_count OUT NOCOPY NUMBER,
1232: x_msg_data OUT NOCOPY VARCHAR2,
1225: PROCEDURE Delete_Rule_Stmts (
1226: p_api_version IN NUMBER,
1227: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1228: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1229: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1230: x_return_status OUT NOCOPY VARCHAR2,
1231: x_msg_count OUT NOCOPY NUMBER,
1232: x_msg_data OUT NOCOPY VARCHAR2,
1233: p_rule_id IN NUMBER)
1245: BEGIN
1246: -- Standard start of API savepoint
1247: SAVEPOINT Delete_Rule_Stmts_pvt;
1248: -- Initialize Procedure return status to success
1249: x_return_status := FND_API.G_RET_STS_SUCCESS;
1250: -- Standard call to check for call compatibility
1251: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name,
1252: G_PKG_NAME) THEN
1253: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1247: SAVEPOINT Delete_Rule_Stmts_pvt;
1248: -- Initialize Procedure return status to success
1249: x_return_status := FND_API.G_RET_STS_SUCCESS;
1250: -- Standard call to check for call compatibility
1251: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name,
1252: G_PKG_NAME) THEN
1253: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1254: END IF;
1255: -- Initialize message list if p_init_msg_list is set to TRUE
1249: x_return_status := FND_API.G_RET_STS_SUCCESS;
1250: -- Standard call to check for call compatibility
1251: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name,
1252: G_PKG_NAME) THEN
1253: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1254: END IF;
1255: -- Initialize message list if p_init_msg_list is set to TRUE
1256: IF FND_API.To_Boolean(p_init_msg_list) THEN
1257: FND_MSG_PUB.Initialize;
1252: G_PKG_NAME) THEN
1253: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1254: END IF;
1255: -- Initialize message list if p_init_msg_list is set to TRUE
1256: IF FND_API.To_Boolean(p_init_msg_list) THEN
1257: FND_MSG_PUB.Initialize;
1258: END IF;
1259:
1260: --Check Status of MC allows for editing
1260: --Check Status of MC allows for editing
1261: /*IF NOT(check_mc_status(p_rule_id)) THEN
1262: FND_MESSAGE.Set_Name('AHL','AHL_INVALID_MC_STATUS');
1263: FND_MSG_PUB.ADD;
1264: Raise FND_API.G_EXC_ERROR;
1265: END IF; */
1266:
1267: --Delete the rule statments corresponding to rule
1268: OPEN ahl_rule_stmts_csr(p_rule_id);
1278: END LOOP;
1279: CLOSE ahl_rule_stmts_csr;
1280:
1281: -- Standard check of p_commit
1282: IF FND_API.TO_BOOLEAN(p_commit) THEN
1283: COMMIT WORK;
1284: END IF;
1285: -- Standard call to get message count and if count is 1, get message info
1286: FND_MSG_PUB.Count_And_Get
1285: -- Standard call to get message count and if count is 1, get message info
1286: FND_MSG_PUB.Count_And_Get
1287: ( p_count => x_msg_count,
1288: p_data => x_msg_data,
1289: p_encoded => fnd_api.g_false
1290: );
1291: EXCEPTION
1292: WHEN FND_API.G_EXC_ERROR THEN
1293: Rollback to Delete_Rule_Stmts_pvt;
1288: p_data => x_msg_data,
1289: p_encoded => fnd_api.g_false
1290: );
1291: EXCEPTION
1292: WHEN FND_API.G_EXC_ERROR THEN
1293: Rollback to Delete_Rule_Stmts_pvt;
1294: x_return_status := FND_API.G_RET_STS_ERROR;
1295: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1296: p_data => x_msg_data,
1290: );
1291: EXCEPTION
1292: WHEN FND_API.G_EXC_ERROR THEN
1293: Rollback to Delete_Rule_Stmts_pvt;
1294: x_return_status := FND_API.G_RET_STS_ERROR;
1295: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1296: p_data => x_msg_data,
1297: p_encoded => fnd_api.g_false);
1298: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1293: Rollback to Delete_Rule_Stmts_pvt;
1294: x_return_status := FND_API.G_RET_STS_ERROR;
1295: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1296: p_data => x_msg_data,
1297: p_encoded => fnd_api.g_false);
1298: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1299: Rollback to Delete_Rule_Stmts_pvt;
1300: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1301: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1294: x_return_status := FND_API.G_RET_STS_ERROR;
1295: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1296: p_data => x_msg_data,
1297: p_encoded => fnd_api.g_false);
1298: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1299: Rollback to Delete_Rule_Stmts_pvt;
1300: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1301: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1302: p_data => x_msg_data,
1296: p_data => x_msg_data,
1297: p_encoded => fnd_api.g_false);
1298: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1299: Rollback to Delete_Rule_Stmts_pvt;
1300: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1301: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1302: p_data => x_msg_data,
1303: p_encoded => fnd_api.g_false);
1304: WHEN OTHERS THEN
1299: Rollback to Delete_Rule_Stmts_pvt;
1300: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1301: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1302: p_data => x_msg_data,
1303: p_encoded => fnd_api.g_false);
1304: WHEN OTHERS THEN
1305: Rollback to Delete_Rule_Stmts_pvt;
1306: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1307: Fnd_Msg_Pub.add_exc_msg( p_pkg_name => G_PKG_NAME,
1302: p_data => x_msg_data,
1303: p_encoded => fnd_api.g_false);
1304: WHEN OTHERS THEN
1305: Rollback to Delete_Rule_Stmts_pvt;
1306: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1307: Fnd_Msg_Pub.add_exc_msg( p_pkg_name => G_PKG_NAME,
1308: p_procedure_name => l_api_name,
1309: p_error_text => SQLERRM);
1310: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1308: p_procedure_name => l_api_name,
1309: p_error_text => SQLERRM);
1310: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1311: p_data => x_msg_data,
1312: p_encoded => fnd_api.g_false);
1313: End Delete_Rule_Stmts;
1314:
1315: -----------------------------
1316: -- Start of Comments --
1513: --
1514: -- End of Comments.
1515: PROCEDURE validate_quantity_rules_for_mc(
1516: p_api_version IN NUMBER,
1517: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1518: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1519: p_mc_header_id IN NUMBER,
1520: x_return_status OUT NOCOPY VARCHAR2,
1521: x_msg_count OUT NOCOPY NUMBER,
1514: -- End of Comments.
1515: PROCEDURE validate_quantity_rules_for_mc(
1516: p_api_version IN NUMBER,
1517: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1518: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1519: p_mc_header_id IN NUMBER,
1520: x_return_status OUT NOCOPY VARCHAR2,
1521: x_msg_count OUT NOCOPY NUMBER,
1522: x_msg_data OUT NOCOPY VARCHAR2)
1551:
1552: --
1553: BEGIN
1554: -- Initialize Procedure return status to success
1555: x_return_status := FND_API.G_RET_STS_SUCCESS;
1556: -- Standard call to check for call compatibility
1557: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name,
1558: G_PKG_NAME) THEN
1559: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1553: BEGIN
1554: -- Initialize Procedure return status to success
1555: x_return_status := FND_API.G_RET_STS_SUCCESS;
1556: -- Standard call to check for call compatibility
1557: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name,
1558: G_PKG_NAME) THEN
1559: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1560: END IF;
1561: -- Initialize message list if p_init_msg_list is set to TRUE
1555: x_return_status := FND_API.G_RET_STS_SUCCESS;
1556: -- Standard call to check for call compatibility
1557: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name,
1558: G_PKG_NAME) THEN
1559: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1560: END IF;
1561: -- Initialize message list if p_init_msg_list is set to TRUE
1562: IF FND_API.To_Boolean(p_init_msg_list) THEN
1563: FND_MSG_PUB.Initialize;
1558: G_PKG_NAME) THEN
1559: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1560: END IF;
1561: -- Initialize message list if p_init_msg_list is set to TRUE
1562: IF FND_API.To_Boolean(p_init_msg_list) THEN
1563: FND_MSG_PUB.Initialize;
1564: END IF;
1565:
1566: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL)THEN
1573:
1574: IF(p_mc_header_id is NULL) THEN
1575: FND_MESSAGE.Set_Name('AHL','AHL_COM_REQD_PARAM_MISSING');
1576: FND_MSG_PUB.ADD;
1577: RAISE FND_API.G_EXC_ERROR;
1578: END IF;
1579:
1580: --Validate the position quantity rules.
1581: OPEN get_quantity_rule_stmt_csr (p_mc_header_id);
1630: -- Standard call to get message count and if count is 1, get message info
1631: FND_MSG_PUB.Count_And_Get
1632: ( p_count => x_msg_count,
1633: p_data => x_msg_data,
1634: p_encoded => fnd_api.g_false
1635: );
1636:
1637: EXCEPTION
1638: WHEN FND_API.G_EXC_ERROR THEN
1634: p_encoded => fnd_api.g_false
1635: );
1636:
1637: EXCEPTION
1638: WHEN FND_API.G_EXC_ERROR THEN
1639: x_return_status := FND_API.G_RET_STS_ERROR;
1640: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1641: p_data => x_msg_data,
1642: p_encoded => fnd_api.g_false);
1635: );
1636:
1637: EXCEPTION
1638: WHEN FND_API.G_EXC_ERROR THEN
1639: x_return_status := FND_API.G_RET_STS_ERROR;
1640: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1641: p_data => x_msg_data,
1642: p_encoded => fnd_api.g_false);
1643: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1638: WHEN FND_API.G_EXC_ERROR THEN
1639: x_return_status := FND_API.G_RET_STS_ERROR;
1640: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1641: p_data => x_msg_data,
1642: p_encoded => fnd_api.g_false);
1643: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1644: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1645: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1646: p_data => x_msg_data,
1639: x_return_status := FND_API.G_RET_STS_ERROR;
1640: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1641: p_data => x_msg_data,
1642: p_encoded => fnd_api.g_false);
1643: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1644: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1645: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1646: p_data => x_msg_data,
1647: p_encoded => fnd_api.g_false);
1640: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1641: p_data => x_msg_data,
1642: p_encoded => fnd_api.g_false);
1643: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1644: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1645: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1646: p_data => x_msg_data,
1647: p_encoded => fnd_api.g_false);
1648: WHEN OTHERS THEN
1643: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1644: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1645: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1646: p_data => x_msg_data,
1647: p_encoded => fnd_api.g_false);
1648: WHEN OTHERS THEN
1649: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1650: Fnd_Msg_Pub.add_exc_msg( p_pkg_name => G_PKG_NAME,
1651: p_procedure_name => l_api_name,
1645: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1646: p_data => x_msg_data,
1647: p_encoded => fnd_api.g_false);
1648: WHEN OTHERS THEN
1649: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1650: Fnd_Msg_Pub.add_exc_msg( p_pkg_name => G_PKG_NAME,
1651: p_procedure_name => l_api_name,
1652: p_error_text => SQLERRM);
1653: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1651: p_procedure_name => l_api_name,
1652: p_error_text => SQLERRM);
1653: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1654: p_data => x_msg_data,
1655: p_encoded => fnd_api.g_false);
1656:
1657: END validate_quantity_rules_for_mc;
1658:
1659: --