33: fnd_message.set_name('CN', 'CN_CANNOT_NULL');
34: fnd_message.set_token('OBJ_NAME', l_prompt);
35: fnd_msg_pub.ADD;
36: END IF;
37: RAISE fnd_api.g_exc_error;
38: END IF;
39:
40: OPEN name_exists;
41: FETCH name_exists INTO l_dummy;
45: IF (fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_error)) THEN
46: fnd_message.set_name('CN', 'CN_NAME_NOT_UNIQUE');
47: fnd_msg_pub.ADD;
48: END IF;
49: RAISE fnd_api.g_exc_error;
50: END IF;
51:
52: -- validate commission_unit_code
53: IF (p_commission_unit_code NOT IN ('AMOUNT', 'PERCENT')) THEN
54: IF (fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_error)) THEN
55: fnd_message.set_name('CN', 'CN_INVALID_CUC');
56: fnd_msg_pub.ADD;
57: END IF;
58: RAISE fnd_api.g_exc_error;
59: END IF;
60:
61: -- if p_dims_tbl is not empty, then p_number_dim should be equal to the number of
62: -- records in p_dims_tbl. also the sequence numbers should be unique
64: IF (fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_error)) THEN
65: fnd_message.set_name('CN', 'CN_X_NUMBER_DIM');
66: fnd_msg_pub.ADD;
67: END IF;
68: RAISE fnd_api.g_exc_error;
69: END IF;
70:
71: IF (p_number_dim >= 2) THEN
72: for i in p_dims_tbl.first..p_dims_tbl.last-1 loop
77: IF (fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_error)) THEN
78: fnd_message.set_name('CN', 'CN_SEQUENCE_NOT_UNIQUE');
79: fnd_msg_pub.ADD;
80: END IF;
81: RAISE fnd_api.g_exc_error;
82: END IF;
83: if p_dims_tbl(i).rate_dimension_id = p_dims_tbl(j).rate_dimension_id then
84: IF (fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_error)) THEN
85: fnd_message.set_name('CN', 'CN_DUPLICATE_DIM_ASSIGN');
84: IF (fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_error)) THEN
85: fnd_message.set_name('CN', 'CN_DUPLICATE_DIM_ASSIGN');
86: fnd_msg_pub.ADD;
87: END IF;
88: RAISE fnd_api.g_exc_error;
89: END IF;
90: end loop;
91: end loop;
92: END IF;
279: -- Pre-reqs : None.
280: -- Parameters :
281: -- IN : p_api_version IN NUMBER Required
282: -- p_init_msg_list IN VARCHAR2 Optional
283: -- Default = FND_API.G_FALSE
284: -- p_commit IN VARCHAR2 Optional
285: -- Default = FND_API.G_FALSE
286: -- p_validation_level IN NUMBER Optional
287: -- Default = FND_API.G_VALID_LEVEL_FULL
281: -- IN : p_api_version IN NUMBER Required
282: -- p_init_msg_list IN VARCHAR2 Optional
283: -- Default = FND_API.G_FALSE
284: -- p_commit IN VARCHAR2 Optional
285: -- Default = FND_API.G_FALSE
286: -- p_validation_level IN NUMBER Optional
287: -- Default = FND_API.G_VALID_LEVEL_FULL
288: -- p_name IN VARCHAR2 Required
289: -- p_commission_unit_code IN VARCHAR2 Required
283: -- Default = FND_API.G_FALSE
284: -- p_commit IN VARCHAR2 Optional
285: -- Default = FND_API.G_FALSE
286: -- p_validation_level IN NUMBER Optional
287: -- Default = FND_API.G_VALID_LEVEL_FULL
288: -- p_name IN VARCHAR2 Required
289: -- p_commission_unit_code IN VARCHAR2 Required
290: -- p_number_dim IN NUMBER Required
291: -- p_dims_tbl IN dims_tbl_type Optional
305: --
306: -- End of comments
307: PROCEDURE Create_Schedule
308: (p_api_version IN NUMBER ,
309: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
310: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
311: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
312: p_name IN CN_RATE_SCHEDULES.NAME%TYPE ,
313: p_commission_unit_code IN CN_RATE_SCHEDULES.COMMISSION_UNIT_CODE%TYPE,
306: -- End of comments
307: PROCEDURE Create_Schedule
308: (p_api_version IN NUMBER ,
309: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
310: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
311: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
312: p_name IN CN_RATE_SCHEDULES.NAME%TYPE ,
313: p_commission_unit_code IN CN_RATE_SCHEDULES.COMMISSION_UNIT_CODE%TYPE,
314: p_number_dim IN CN_RATE_SCHEDULES.NUMBER_DIM%TYPE, -- not used
307: PROCEDURE Create_Schedule
308: (p_api_version IN NUMBER ,
309: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
310: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
311: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
312: p_name IN CN_RATE_SCHEDULES.NAME%TYPE ,
313: p_commission_unit_code IN CN_RATE_SCHEDULES.COMMISSION_UNIT_CODE%TYPE,
314: p_number_dim IN CN_RATE_SCHEDULES.NUMBER_DIM%TYPE, -- not used
315: p_dims_tbl IN dims_tbl_type := g_miss_dims_tbl,
334: BEGIN
335: -- Standard Start of API savepoint
336: SAVEPOINT Create_Schedule;
337: -- Standard call to check for call compatibility.
338: IF NOT FND_API.Compatible_API_Call
339: (l_api_version ,
340: p_api_version ,
341: l_api_name ,
342: G_PKG_NAME )
340: p_api_version ,
341: l_api_name ,
342: G_PKG_NAME )
343: THEN
344: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
345: END IF;
346: -- Initialize message list if p_init_msg_list is set to TRUE.
347: IF FND_API.to_Boolean( p_init_msg_list ) THEN
348: FND_MSG_PUB.initialize;
343: THEN
344: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
345: END IF;
346: -- Initialize message list if p_init_msg_list is set to TRUE.
347: IF FND_API.to_Boolean( p_init_msg_list ) THEN
348: FND_MSG_PUB.initialize;
349: END IF;
350: -- Initialize API return status to success
351: x_return_status := FND_API.G_RET_STS_SUCCESS;
347: IF FND_API.to_Boolean( p_init_msg_list ) THEN
348: FND_MSG_PUB.initialize;
349: END IF;
350: -- Initialize API return status to success
351: x_return_status := FND_API.G_RET_STS_SUCCESS;
352:
353: -- calculate number of dimensions (p_number_dim not used)
354: -- set number_dim := number of dimensions of p_dims_tbl
355: l_number_dim := p_dims_tbl.count;
425:
426: -- End of API body.
427:
428: -- Standard check of p_commit.
429: IF FND_API.To_Boolean( p_commit ) THEN
430: COMMIT WORK;
431: END IF;
432: -- Standard call to get message count and if count is 1, get message info.
433: FND_MSG_PUB.Count_And_Get
432: -- Standard call to get message count and if count is 1, get message info.
433: FND_MSG_PUB.Count_And_Get
434: (p_count => x_msg_count ,
435: p_data => x_msg_data ,
436: p_encoded => FND_API.G_FALSE );
437: EXCEPTION
438: WHEN FND_API.G_EXC_ERROR THEN
439: ROLLBACK TO Create_Schedule;
440: x_return_status := FND_API.G_RET_STS_ERROR ;
434: (p_count => x_msg_count ,
435: p_data => x_msg_data ,
436: p_encoded => FND_API.G_FALSE );
437: EXCEPTION
438: WHEN FND_API.G_EXC_ERROR THEN
439: ROLLBACK TO Create_Schedule;
440: x_return_status := FND_API.G_RET_STS_ERROR ;
441: FND_MSG_PUB.count_and_get
442: (p_count => x_msg_count ,
436: p_encoded => FND_API.G_FALSE );
437: EXCEPTION
438: WHEN FND_API.G_EXC_ERROR THEN
439: ROLLBACK TO Create_Schedule;
440: x_return_status := FND_API.G_RET_STS_ERROR ;
441: FND_MSG_PUB.count_and_get
442: (p_count => x_msg_count ,
443: p_data => x_msg_data ,
444: p_encoded => FND_API.G_FALSE );
440: x_return_status := FND_API.G_RET_STS_ERROR ;
441: FND_MSG_PUB.count_and_get
442: (p_count => x_msg_count ,
443: p_data => x_msg_data ,
444: p_encoded => FND_API.G_FALSE );
445: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
446: ROLLBACK TO Create_Schedule;
447: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
448: FND_MSG_PUB.count_and_get
441: FND_MSG_PUB.count_and_get
442: (p_count => x_msg_count ,
443: p_data => x_msg_data ,
444: p_encoded => FND_API.G_FALSE );
445: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
446: ROLLBACK TO Create_Schedule;
447: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
448: FND_MSG_PUB.count_and_get
449: (p_count => x_msg_count ,
443: p_data => x_msg_data ,
444: p_encoded => FND_API.G_FALSE );
445: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
446: ROLLBACK TO Create_Schedule;
447: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
448: FND_MSG_PUB.count_and_get
449: (p_count => x_msg_count ,
450: p_data => x_msg_data ,
451: p_encoded => FND_API.G_FALSE );
447: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
448: FND_MSG_PUB.count_and_get
449: (p_count => x_msg_count ,
450: p_data => x_msg_data ,
451: p_encoded => FND_API.G_FALSE );
452: WHEN OTHERS THEN
453: ROLLBACK TO Create_Schedule;
454: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
455: IF FND_MSG_PUB.check_msg_level
450: p_data => x_msg_data ,
451: p_encoded => FND_API.G_FALSE );
452: WHEN OTHERS THEN
453: ROLLBACK TO Create_Schedule;
454: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
455: IF FND_MSG_PUB.check_msg_level
456: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
457: THEN
458: FND_MSG_PUB.add_exc_msg
461: END IF;
462: FND_MSG_PUB.count_and_get
463: (p_count => x_msg_count ,
464: p_data => x_msg_data ,
465: p_encoded => FND_API.G_FALSE );
466: END Create_Schedule;
467:
468:
469: -- Start of comments
473: -- Pre-reqs : None.
474: -- Parameters :
475: -- IN : p_api_version IN NUMBER Required
476: -- p_init_msg_list IN VARCHAR2 Optional
477: -- Default = FND_API.G_FALSE
478: -- p_commit IN VARCHAR2 Optional
479: -- Default = FND_API.G_FALSE
480: -- p_validation_level IN NUMBER Optional
481: -- Default = FND_API.G_VALID_LEVEL_FULL
475: -- IN : p_api_version IN NUMBER Required
476: -- p_init_msg_list IN VARCHAR2 Optional
477: -- Default = FND_API.G_FALSE
478: -- p_commit IN VARCHAR2 Optional
479: -- Default = FND_API.G_FALSE
480: -- p_validation_level IN NUMBER Optional
481: -- Default = FND_API.G_VALID_LEVEL_FULL
482: -- p_rate_schedule_id IN NUMBER Required
483: -- p_name IN VARCHAR2 Required
477: -- Default = FND_API.G_FALSE
478: -- p_commit IN VARCHAR2 Optional
479: -- Default = FND_API.G_FALSE
480: -- p_validation_level IN NUMBER Optional
481: -- Default = FND_API.G_VALID_LEVEL_FULL
482: -- p_rate_schedule_id IN NUMBER Required
483: -- p_name IN VARCHAR2 Required
484: -- p_commission_unit_code IN VARCHAR2 Required
485: -- p_number_dim IN NUMBER Required
503: --
504: -- End of comments
505: PROCEDURE Update_Schedule
506: (p_api_version IN NUMBER ,
507: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
508: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
509: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
510: p_rate_schedule_id IN CN_RATE_SCHEDULES.RATE_SCHEDULE_ID%TYPE,
511: p_name IN CN_RATE_SCHEDULES.NAME%TYPE,
504: -- End of comments
505: PROCEDURE Update_Schedule
506: (p_api_version IN NUMBER ,
507: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
508: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
509: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
510: p_rate_schedule_id IN CN_RATE_SCHEDULES.RATE_SCHEDULE_ID%TYPE,
511: p_name IN CN_RATE_SCHEDULES.NAME%TYPE,
512: p_commission_unit_code IN CN_RATE_SCHEDULES.COMMISSION_UNIT_CODE%TYPE,
505: PROCEDURE Update_Schedule
506: (p_api_version IN NUMBER ,
507: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
508: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
509: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
510: p_rate_schedule_id IN CN_RATE_SCHEDULES.RATE_SCHEDULE_ID%TYPE,
511: p_name IN CN_RATE_SCHEDULES.NAME%TYPE,
512: p_commission_unit_code IN CN_RATE_SCHEDULES.COMMISSION_UNIT_CODE%TYPE,
513: p_number_dim IN CN_RATE_SCHEDULES.NUMBER_DIM%TYPE, -- not used
551: BEGIN
552: -- Standard Start of API savepoint
553: SAVEPOINT Update_Schedule;
554: -- Standard call to check for call compatibility.
555: IF NOT FND_API.Compatible_API_Call
556: (l_api_version ,
557: p_api_version ,
558: l_api_name ,
559: G_PKG_NAME )
557: p_api_version ,
558: l_api_name ,
559: G_PKG_NAME )
560: THEN
561: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
562: END IF;
563: -- Initialize message list if p_init_msg_list is set to TRUE.
564: IF FND_API.to_Boolean( p_init_msg_list ) THEN
565: FND_MSG_PUB.initialize;
560: THEN
561: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
562: END IF;
563: -- Initialize message list if p_init_msg_list is set to TRUE.
564: IF FND_API.to_Boolean( p_init_msg_list ) THEN
565: FND_MSG_PUB.initialize;
566: END IF;
567: -- Initialize API return status to success
568: x_return_status := FND_API.G_RET_STS_SUCCESS;
564: IF FND_API.to_Boolean( p_init_msg_list ) THEN
565: FND_MSG_PUB.initialize;
566: END IF;
567: -- Initialize API return status to success
568: x_return_status := FND_API.G_RET_STS_SUCCESS;
569:
570: -- calculate number of dimensions (p_number_dim not used)
571: -- set number_dim := number of dimensions of p_dims_tbl
572: l_number_dim := p_dims_tbl.count;
596: IF (fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_error)) THEN
597: fnd_message.set_name('CN', 'CN_SCHEDULE_IN_USE');
598: fnd_msg_pub.ADD;
599: END IF;
600: RAISE fnd_api.g_exc_error;
601: END IF;
602:
603: -- Start - R12 Notes History Query for old Rate Table Name
604: select name into l_rate_sch_old
732:
733: -- End of API body.
734:
735: -- Standard check of p_commit.
736: IF FND_API.To_Boolean( p_commit ) THEN
737: COMMIT WORK;
738: END IF;
739: -- Standard call to get message count and if count is 1, get message info.
740: FND_MSG_PUB.count_and_get
739: -- Standard call to get message count and if count is 1, get message info.
740: FND_MSG_PUB.count_and_get
741: (p_count => x_msg_count ,
742: p_data => x_msg_data ,
743: p_encoded => FND_API.G_FALSE );
744: EXCEPTION
745: WHEN FND_API.G_EXC_ERROR THEN
746: ROLLBACK TO Update_Schedule;
747: x_return_status := FND_API.G_RET_STS_ERROR ;
741: (p_count => x_msg_count ,
742: p_data => x_msg_data ,
743: p_encoded => FND_API.G_FALSE );
744: EXCEPTION
745: WHEN FND_API.G_EXC_ERROR THEN
746: ROLLBACK TO Update_Schedule;
747: x_return_status := FND_API.G_RET_STS_ERROR ;
748: FND_MSG_PUB.count_and_get
749: (p_count => x_msg_count ,
743: p_encoded => FND_API.G_FALSE );
744: EXCEPTION
745: WHEN FND_API.G_EXC_ERROR THEN
746: ROLLBACK TO Update_Schedule;
747: x_return_status := FND_API.G_RET_STS_ERROR ;
748: FND_MSG_PUB.count_and_get
749: (p_count => x_msg_count ,
750: p_data => x_msg_data ,
751: p_encoded => FND_API.G_FALSE );
747: x_return_status := FND_API.G_RET_STS_ERROR ;
748: FND_MSG_PUB.count_and_get
749: (p_count => x_msg_count ,
750: p_data => x_msg_data ,
751: p_encoded => FND_API.G_FALSE );
752: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
753: ROLLBACK TO Update_Schedule;
754: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
755: FND_MSG_PUB.count_and_get
748: FND_MSG_PUB.count_and_get
749: (p_count => x_msg_count ,
750: p_data => x_msg_data ,
751: p_encoded => FND_API.G_FALSE );
752: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
753: ROLLBACK TO Update_Schedule;
754: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
755: FND_MSG_PUB.count_and_get
756: (p_count => x_msg_count ,
750: p_data => x_msg_data ,
751: p_encoded => FND_API.G_FALSE );
752: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
753: ROLLBACK TO Update_Schedule;
754: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
755: FND_MSG_PUB.count_and_get
756: (p_count => x_msg_count ,
757: p_data => x_msg_data ,
758: p_encoded => FND_API.G_FALSE );
754: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
755: FND_MSG_PUB.count_and_get
756: (p_count => x_msg_count ,
757: p_data => x_msg_data ,
758: p_encoded => FND_API.G_FALSE );
759: WHEN OTHERS THEN
760: ROLLBACK TO Update_Schedule;
761: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
762: IF FND_MSG_PUB.check_msg_level
757: p_data => x_msg_data ,
758: p_encoded => FND_API.G_FALSE );
759: WHEN OTHERS THEN
760: ROLLBACK TO Update_Schedule;
761: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
762: IF FND_MSG_PUB.check_msg_level
763: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
764: THEN
765: FND_MSG_PUB.add_exc_msg
768: END IF;
769: FND_MSG_PUB.count_and_get
770: (p_count => x_msg_count ,
771: p_data => x_msg_data ,
772: p_encoded => FND_API.G_FALSE );
773: END Update_Schedule;
774:
775: -- Start of comments
776: -- API name : Delete_Schedule
779: -- Pre-reqs : None.
780: -- Parameters :
781: -- IN : p_api_version IN NUMBER Required
782: -- p_init_msg_list IN VARCHAR2 Optional
783: -- Default = FND_API.G_FALSE
784: -- p_commit IN VARCHAR2 Optional
785: -- Default = FND_API.G_FALSE
786: -- p_validation_level IN NUMBER Optional
787: -- Default = FND_API.G_VALID_LEVEL_FULL
781: -- IN : p_api_version IN NUMBER Required
782: -- p_init_msg_list IN VARCHAR2 Optional
783: -- Default = FND_API.G_FALSE
784: -- p_commit IN VARCHAR2 Optional
785: -- Default = FND_API.G_FALSE
786: -- p_validation_level IN NUMBER Optional
787: -- Default = FND_API.G_VALID_LEVEL_FULL
788: -- p_rate_schedule_id IN NUMBER Required
789: -- p_name IN VARCHAR2 Required
783: -- Default = FND_API.G_FALSE
784: -- p_commit IN VARCHAR2 Optional
785: -- Default = FND_API.G_FALSE
786: -- p_validation_level IN NUMBER Optional
787: -- Default = FND_API.G_VALID_LEVEL_FULL
788: -- p_rate_schedule_id IN NUMBER Required
789: -- p_name IN VARCHAR2 Required
790: -- OUT : x_return_status OUT VARCHAR2(1)
791: -- x_msg_count OUT NUMBER
800: --
801: -- End of comments
802: PROCEDURE Delete_Schedule
803: (p_api_version IN NUMBER ,
804: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
805: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
806: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
807: p_rate_schedule_id IN CN_RATE_SCHEDULES.RATE_SCHEDULE_ID%TYPE,
808: --R12 MOAC Changes--Start
801: -- End of comments
802: PROCEDURE Delete_Schedule
803: (p_api_version IN NUMBER ,
804: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
805: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
806: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
807: p_rate_schedule_id IN CN_RATE_SCHEDULES.RATE_SCHEDULE_ID%TYPE,
808: --R12 MOAC Changes--Start
809: p_object_version_number IN CN_RATE_SCHEDULES.OBJECT_VERSION_NUMBER%TYPE, -- new
802: PROCEDURE Delete_Schedule
803: (p_api_version IN NUMBER ,
804: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
805: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
806: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
807: p_rate_schedule_id IN CN_RATE_SCHEDULES.RATE_SCHEDULE_ID%TYPE,
808: --R12 MOAC Changes--Start
809: p_object_version_number IN CN_RATE_SCHEDULES.OBJECT_VERSION_NUMBER%TYPE, -- new
810: --R12 MOAC Changes--End
825: BEGIN
826: -- Standard Start of API savepoint
827: SAVEPOINT Delete_Schedule;
828: -- Standard call to check for call compatibility.
829: IF NOT FND_API.Compatible_API_Call
830: (l_api_version ,
831: p_api_version ,
832: l_api_name ,
833: G_PKG_NAME )
831: p_api_version ,
832: l_api_name ,
833: G_PKG_NAME )
834: THEN
835: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
836: END IF;
837: -- Initialize message list if p_init_msg_list is set to TRUE.
838: IF FND_API.to_Boolean( p_init_msg_list ) THEN
839: FND_MSG_PUB.initialize;
834: THEN
835: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
836: END IF;
837: -- Initialize message list if p_init_msg_list is set to TRUE.
838: IF FND_API.to_Boolean( p_init_msg_list ) THEN
839: FND_MSG_PUB.initialize;
840: END IF;
841: -- Initialize API return status to success
842: x_return_status := FND_API.G_RET_STS_SUCCESS;
838: IF FND_API.to_Boolean( p_init_msg_list ) THEN
839: FND_MSG_PUB.initialize;
840: END IF;
841: -- Initialize API return status to success
842: x_return_status := FND_API.G_RET_STS_SUCCESS;
843:
844: -- API body
845:
846: usage_check(p_rate_schedule_id => p_rate_schedule_id,
849: IF (fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_error)) THEN
850: fnd_message.set_name('CN', 'CN_SCHEDULE_IN_USE');
851: fnd_msg_pub.ADD;
852: END IF;
853: RAISE fnd_api.g_exc_error;
854: END IF;
855:
856: /* Start - R12 Notes History */
857: SELECT org_id INTO l_org_id
894:
895: -- End of API body.
896:
897: -- Standard check of p_commit.
898: IF FND_API.To_Boolean( p_commit ) THEN
899: COMMIT WORK;
900: END IF;
901: -- Standard call to get message count and if count is 1, get message info.
902: FND_MSG_PUB.count_and_get
901: -- Standard call to get message count and if count is 1, get message info.
902: FND_MSG_PUB.count_and_get
903: (p_count => x_msg_count ,
904: p_data => x_msg_data ,
905: p_encoded => FND_API.G_FALSE );
906: EXCEPTION
907: WHEN FND_API.G_EXC_ERROR THEN
908: ROLLBACK TO Delete_Schedule;
909: x_return_status := FND_API.G_RET_STS_ERROR ;
903: (p_count => x_msg_count ,
904: p_data => x_msg_data ,
905: p_encoded => FND_API.G_FALSE );
906: EXCEPTION
907: WHEN FND_API.G_EXC_ERROR THEN
908: ROLLBACK TO Delete_Schedule;
909: x_return_status := FND_API.G_RET_STS_ERROR ;
910: FND_MSG_PUB.count_and_get
911: (p_count => x_msg_count ,
905: p_encoded => FND_API.G_FALSE );
906: EXCEPTION
907: WHEN FND_API.G_EXC_ERROR THEN
908: ROLLBACK TO Delete_Schedule;
909: x_return_status := FND_API.G_RET_STS_ERROR ;
910: FND_MSG_PUB.count_and_get
911: (p_count => x_msg_count ,
912: p_data => x_msg_data ,
913: p_encoded => FND_API.G_FALSE );
909: x_return_status := FND_API.G_RET_STS_ERROR ;
910: FND_MSG_PUB.count_and_get
911: (p_count => x_msg_count ,
912: p_data => x_msg_data ,
913: p_encoded => FND_API.G_FALSE );
914: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
915: ROLLBACK TO Delete_Schedule;
916: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
917: FND_MSG_PUB.count_and_get
910: FND_MSG_PUB.count_and_get
911: (p_count => x_msg_count ,
912: p_data => x_msg_data ,
913: p_encoded => FND_API.G_FALSE );
914: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
915: ROLLBACK TO Delete_Schedule;
916: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
917: FND_MSG_PUB.count_and_get
918: (p_count => x_msg_count ,
912: p_data => x_msg_data ,
913: p_encoded => FND_API.G_FALSE );
914: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
915: ROLLBACK TO Delete_Schedule;
916: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
917: FND_MSG_PUB.count_and_get
918: (p_count => x_msg_count ,
919: p_data => x_msg_data ,
920: p_encoded => FND_API.G_FALSE );
916: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
917: FND_MSG_PUB.count_and_get
918: (p_count => x_msg_count ,
919: p_data => x_msg_data ,
920: p_encoded => FND_API.G_FALSE );
921: WHEN OTHERS THEN
922: ROLLBACK TO Delete_Schedule;
923: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
924: IF FND_MSG_PUB.check_msg_level
919: p_data => x_msg_data ,
920: p_encoded => FND_API.G_FALSE );
921: WHEN OTHERS THEN
922: ROLLBACK TO Delete_Schedule;
923: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
924: IF FND_MSG_PUB.check_msg_level
925: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
926: THEN
927: FND_MSG_PUB.add_exc_msg
930: END IF;
931: FND_MSG_PUB.count_and_get
932: (p_count => x_msg_count ,
933: p_data => x_msg_data ,
934: p_encoded => FND_API.G_FALSE );
935: END Delete_Schedule;
936:
937: -- Start of comments
938: -- API name : Delete_Dimension_Assign
941: -- Pre-reqs : None.
942: -- Parameters :
943: -- IN : p_api_version IN NUMBER Required
944: -- p_init_msg_list IN VARCHAR2 Optional
945: -- Default = FND_API.G_FALSE
946: -- p_commit IN VARCHAR2 Optional
947: -- Default = FND_API.G_FALSE
948: -- p_validation_level IN NUMBER Optional
949: -- Default = FND_API.G_VALID_LEVEL_FULL
943: -- IN : p_api_version IN NUMBER Required
944: -- p_init_msg_list IN VARCHAR2 Optional
945: -- Default = FND_API.G_FALSE
946: -- p_commit IN VARCHAR2 Optional
947: -- Default = FND_API.G_FALSE
948: -- p_validation_level IN NUMBER Optional
949: -- Default = FND_API.G_VALID_LEVEL_FULL
950: -- p_rate_sch_dim_id IN NUMBER
951: -- p_rate_schedule_id IN NUMBER
945: -- Default = FND_API.G_FALSE
946: -- p_commit IN VARCHAR2 Optional
947: -- Default = FND_API.G_FALSE
948: -- p_validation_level IN NUMBER Optional
949: -- Default = FND_API.G_VALID_LEVEL_FULL
950: -- p_rate_sch_dim_id IN NUMBER
951: -- p_rate_schedule_id IN NUMBER
952: -- OUT : x_return_status OUT VARCHAR2(1)
953: -- x_msg_count OUT NUMBER
965: --
966: -- End of comments
967: PROCEDURE delete_dimension_assign
968: (p_api_version IN NUMBER ,
969: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
970: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
971: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
972: p_rate_sch_dim_id IN CN_RATE_SCH_DIMS.RATE_SCH_DIM_ID%TYPE,
973: p_rate_schedule_id IN CN_RATE_SCH_DIMS.RATE_SCHEDULE_ID%TYPE,
966: -- End of comments
967: PROCEDURE delete_dimension_assign
968: (p_api_version IN NUMBER ,
969: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
970: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
971: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
972: p_rate_sch_dim_id IN CN_RATE_SCH_DIMS.RATE_SCH_DIM_ID%TYPE,
973: p_rate_schedule_id IN CN_RATE_SCH_DIMS.RATE_SCHEDULE_ID%TYPE,
974: --R12 MOAC Changes--Start
967: PROCEDURE delete_dimension_assign
968: (p_api_version IN NUMBER ,
969: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
970: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
971: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
972: p_rate_sch_dim_id IN CN_RATE_SCH_DIMS.RATE_SCH_DIM_ID%TYPE,
973: p_rate_schedule_id IN CN_RATE_SCH_DIMS.RATE_SCHEDULE_ID%TYPE,
974: --R12 MOAC Changes--Start
975: p_object_version_number IN CN_RATE_SCHEDULES.OBJECT_VERSION_NUMBER%TYPE, -- new
995: BEGIN
996: -- Standard Start of API savepoint
997: SAVEPOINT Delete_Dimension_Assign;
998: -- Standard call to check for call compatibility.
999: IF NOT FND_API.Compatible_API_Call
1000: (l_api_version ,
1001: p_api_version ,
1002: l_api_name ,
1003: G_PKG_NAME )
1001: p_api_version ,
1002: l_api_name ,
1003: G_PKG_NAME )
1004: THEN
1005: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1006: END IF;
1007: -- Initialize message list if p_init_msg_list is set to TRUE.
1008: IF FND_API.to_Boolean( p_init_msg_list ) THEN
1009: FND_MSG_PUB.initialize;
1004: THEN
1005: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1006: END IF;
1007: -- Initialize message list if p_init_msg_list is set to TRUE.
1008: IF FND_API.to_Boolean( p_init_msg_list ) THEN
1009: FND_MSG_PUB.initialize;
1010: END IF;
1011: -- Initialize API return status to success
1012: x_return_status := FND_API.G_RET_STS_SUCCESS;
1008: IF FND_API.to_Boolean( p_init_msg_list ) THEN
1009: FND_MSG_PUB.initialize;
1010: END IF;
1011: -- Initialize API return status to success
1012: x_return_status := FND_API.G_RET_STS_SUCCESS;
1013:
1014: -- API body
1015:
1016: usage_check(p_rate_schedule_id => p_rate_schedule_id,
1019: IF (fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_error)) THEN
1020: fnd_message.set_name('CN', 'CN_SCHEDULE_IN_USE');
1021: fnd_msg_pub.ADD;
1022: END IF;
1023: RAISE fnd_api.g_exc_error;
1024: END IF;
1025:
1026: -- delete the records corresponding to this dimension in cn_rate_tiers
1027: BEGIN
1033: EXCEPTION
1034: when no_data_found then
1035: fnd_message.set_name('CN', 'CN_RECORD_DELETED');
1036: fnd_msg_pub.add;
1037: raise fnd_api.g_exc_unexpected_error;
1038: END;
1039:
1040: delete_rate_tiers(p_rate_schedule_id => p_rate_schedule_id,
1041: p_rate_dim_sequence => l_rate_dim_sequence);
1100:
1101: -- End of API body.
1102:
1103: -- Standard check of p_commit.
1104: IF FND_API.To_Boolean( p_commit ) THEN
1105: COMMIT WORK;
1106: END IF;
1107: -- Standard call to get message count and if count is 1, get message info.
1108: FND_MSG_PUB.Count_And_Get
1107: -- Standard call to get message count and if count is 1, get message info.
1108: FND_MSG_PUB.Count_And_Get
1109: (p_count => x_msg_count ,
1110: p_data => x_msg_data ,
1111: p_encoded => FND_API.G_FALSE );
1112: EXCEPTION
1113: WHEN FND_API.G_EXC_ERROR THEN
1114: ROLLBACK TO Delete_Dimension_Assign;
1115: x_return_status := FND_API.G_RET_STS_ERROR ;
1109: (p_count => x_msg_count ,
1110: p_data => x_msg_data ,
1111: p_encoded => FND_API.G_FALSE );
1112: EXCEPTION
1113: WHEN FND_API.G_EXC_ERROR THEN
1114: ROLLBACK TO Delete_Dimension_Assign;
1115: x_return_status := FND_API.G_RET_STS_ERROR ;
1116: FND_MSG_PUB.count_and_get
1117: (p_count => x_msg_count ,
1111: p_encoded => FND_API.G_FALSE );
1112: EXCEPTION
1113: WHEN FND_API.G_EXC_ERROR THEN
1114: ROLLBACK TO Delete_Dimension_Assign;
1115: x_return_status := FND_API.G_RET_STS_ERROR ;
1116: FND_MSG_PUB.count_and_get
1117: (p_count => x_msg_count ,
1118: p_data => x_msg_data ,
1119: p_encoded => FND_API.G_FALSE );
1115: x_return_status := FND_API.G_RET_STS_ERROR ;
1116: FND_MSG_PUB.count_and_get
1117: (p_count => x_msg_count ,
1118: p_data => x_msg_data ,
1119: p_encoded => FND_API.G_FALSE );
1120: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1121: ROLLBACK TO Delete_Dimension_Assign;
1122: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1123: FND_MSG_PUB.count_and_get
1116: FND_MSG_PUB.count_and_get
1117: (p_count => x_msg_count ,
1118: p_data => x_msg_data ,
1119: p_encoded => FND_API.G_FALSE );
1120: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1121: ROLLBACK TO Delete_Dimension_Assign;
1122: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1123: FND_MSG_PUB.count_and_get
1124: (p_count => x_msg_count ,
1118: p_data => x_msg_data ,
1119: p_encoded => FND_API.G_FALSE );
1120: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1121: ROLLBACK TO Delete_Dimension_Assign;
1122: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1123: FND_MSG_PUB.count_and_get
1124: (p_count => x_msg_count ,
1125: p_data => x_msg_data ,
1126: p_encoded => FND_API.G_FALSE );
1122: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1123: FND_MSG_PUB.count_and_get
1124: (p_count => x_msg_count ,
1125: p_data => x_msg_data ,
1126: p_encoded => FND_API.G_FALSE );
1127: WHEN OTHERS THEN
1128: ROLLBACK TO Delete_Dimension_Assign;
1129: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1130: IF FND_MSG_PUB.check_msg_level
1125: p_data => x_msg_data ,
1126: p_encoded => FND_API.G_FALSE );
1127: WHEN OTHERS THEN
1128: ROLLBACK TO Delete_Dimension_Assign;
1129: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1130: IF FND_MSG_PUB.check_msg_level
1131: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1132: THEN
1133: FND_MSG_PUB.add_exc_msg
1136: END IF;
1137: FND_MSG_PUB.count_and_get
1138: (p_count => x_msg_count ,
1139: p_data => x_msg_data ,
1140: p_encoded => FND_API.G_FALSE );
1141: END Delete_Dimension_Assign;
1142:
1143: -- Start of comments
1144: -- API name : Update_Dimension_Assign
1147: -- Pre-reqs : None.
1148: -- Parameters :
1149: -- IN : p_api_version IN NUMBER Required
1150: -- p_init_msg_list IN VARCHAR2 Optional
1151: -- Default = FND_API.G_FALSE
1152: -- p_commit IN VARCHAR2 Optional
1153: -- Default = FND_API.G_FALSE
1154: -- p_validation_level IN NUMBER Optional
1155: -- Default = FND_API.G_VALID_LEVEL_FULL
1149: -- IN : p_api_version IN NUMBER Required
1150: -- p_init_msg_list IN VARCHAR2 Optional
1151: -- Default = FND_API.G_FALSE
1152: -- p_commit IN VARCHAR2 Optional
1153: -- Default = FND_API.G_FALSE
1154: -- p_validation_level IN NUMBER Optional
1155: -- Default = FND_API.G_VALID_LEVEL_FULL
1156: -- p_rate_sch_dim_id IN NUMBER
1157: -- p_rate_schedule_id IN NUMBER
1151: -- Default = FND_API.G_FALSE
1152: -- p_commit IN VARCHAR2 Optional
1153: -- Default = FND_API.G_FALSE
1154: -- p_validation_level IN NUMBER Optional
1155: -- Default = FND_API.G_VALID_LEVEL_FULL
1156: -- p_rate_sch_dim_id IN NUMBER
1157: -- p_rate_schedule_id IN NUMBER
1158: -- p_rate_dimension_id IN NUMBER
1159: -- p_rate_dim_sequence IN NUMBER
1169: --
1170: -- End of comments
1171: PROCEDURE update_dimension_assign
1172: (p_api_version IN NUMBER ,
1173: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
1174: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
1175: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1176: p_rate_sch_dim_id IN CN_RATE_SCH_DIMS.RATE_SCH_DIM_ID%TYPE,
1177: p_rate_schedule_id IN CN_RATE_SCH_DIMS.RATE_SCHEDULE_ID%TYPE,
1170: -- End of comments
1171: PROCEDURE update_dimension_assign
1172: (p_api_version IN NUMBER ,
1173: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
1174: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
1175: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1176: p_rate_sch_dim_id IN CN_RATE_SCH_DIMS.RATE_SCH_DIM_ID%TYPE,
1177: p_rate_schedule_id IN CN_RATE_SCH_DIMS.RATE_SCHEDULE_ID%TYPE,
1178: p_rate_dimension_id IN CN_RATE_SCH_DIMS.RATE_DIMENSION_ID%TYPE := cn_api.g_miss_num,
1171: PROCEDURE update_dimension_assign
1172: (p_api_version IN NUMBER ,
1173: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
1174: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
1175: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1176: p_rate_sch_dim_id IN CN_RATE_SCH_DIMS.RATE_SCH_DIM_ID%TYPE,
1177: p_rate_schedule_id IN CN_RATE_SCH_DIMS.RATE_SCHEDULE_ID%TYPE,
1178: p_rate_dimension_id IN CN_RATE_SCH_DIMS.RATE_DIMENSION_ID%TYPE := cn_api.g_miss_num,
1179: p_rate_dim_sequence IN CN_RATE_SCH_DIMS.RATE_DIM_SEQUENCE%TYPE := cn_api.g_miss_num, -- not used
1219: BEGIN
1220: -- Standard Start of API savepoint
1221: SAVEPOINT Update_Dimension_Assign;
1222: -- Standard call to check for call compatibility.
1223: IF NOT FND_API.Compatible_API_Call
1224: (l_api_version ,
1225: p_api_version ,
1226: l_api_name ,
1227: G_PKG_NAME )
1225: p_api_version ,
1226: l_api_name ,
1227: G_PKG_NAME )
1228: THEN
1229: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1230: END IF;
1231: -- Initialize message list if p_init_msg_list is set to TRUE.
1232: IF FND_API.to_Boolean( p_init_msg_list ) THEN
1233: FND_MSG_PUB.initialize;
1228: THEN
1229: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1230: END IF;
1231: -- Initialize message list if p_init_msg_list is set to TRUE.
1232: IF FND_API.to_Boolean( p_init_msg_list ) THEN
1233: FND_MSG_PUB.initialize;
1234: END IF;
1235: -- Initialize API return status to success
1236: x_return_status := FND_API.G_RET_STS_SUCCESS;
1232: IF FND_API.to_Boolean( p_init_msg_list ) THEN
1233: FND_MSG_PUB.initialize;
1234: END IF;
1235: -- Initialize API return status to success
1236: x_return_status := FND_API.G_RET_STS_SUCCESS;
1237:
1238: -- API body
1239:
1240: usage_check(p_rate_schedule_id,
1243: IF (fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_error)) THEN
1244: fnd_message.set_name('CN', 'CN_SCHEDULE_IN_USE');
1245: fnd_msg_pub.ADD;
1246: END IF;
1247: RAISE fnd_api.g_exc_error;
1248: END IF;
1249:
1250: OPEN old_sch_dim;
1251: FETCH old_sch_dim INTO l_rate_dimension_id_old, l_rate_dim_sequence;
1270: IF (fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_error)) THEN
1271: fnd_message.set_name('CN', 'CN_DUPLICATE_DIM_ASSIGN');
1272: fnd_msg_pub.ADD;
1273: END IF;
1274: RAISE fnd_api.g_exc_error;
1275: END IF;
1276: IF (l_number_tier_new > l_number_tier_old) THEN
1277: create_rate_tiers(p_rate_schedule_id => p_rate_schedule_id,
1278: p_rate_dim_sequence => l_rate_dim_sequence,
1348: -- *********************************************************************
1349: -- End of API body.
1350:
1351: -- Standard check of p_commit.
1352: IF FND_API.To_Boolean( p_commit ) THEN
1353: COMMIT WORK;
1354: END IF;
1355: -- Standard call to get message count and if count is 1, get message info.
1356: FND_MSG_PUB.Count_And_Get
1355: -- Standard call to get message count and if count is 1, get message info.
1356: FND_MSG_PUB.Count_And_Get
1357: (p_count => x_msg_count ,
1358: p_data => x_msg_data ,
1359: p_encoded => FND_API.G_FALSE );
1360: EXCEPTION
1361: WHEN FND_API.G_EXC_ERROR THEN
1362: ROLLBACK TO Update_Dimension_Assign;
1363: x_return_status := FND_API.G_RET_STS_ERROR ;
1357: (p_count => x_msg_count ,
1358: p_data => x_msg_data ,
1359: p_encoded => FND_API.G_FALSE );
1360: EXCEPTION
1361: WHEN FND_API.G_EXC_ERROR THEN
1362: ROLLBACK TO Update_Dimension_Assign;
1363: x_return_status := FND_API.G_RET_STS_ERROR ;
1364: FND_MSG_PUB.count_and_get
1365: (p_count => x_msg_count ,
1359: p_encoded => FND_API.G_FALSE );
1360: EXCEPTION
1361: WHEN FND_API.G_EXC_ERROR THEN
1362: ROLLBACK TO Update_Dimension_Assign;
1363: x_return_status := FND_API.G_RET_STS_ERROR ;
1364: FND_MSG_PUB.count_and_get
1365: (p_count => x_msg_count ,
1366: p_data => x_msg_data ,
1367: p_encoded => FND_API.G_FALSE );
1363: x_return_status := FND_API.G_RET_STS_ERROR ;
1364: FND_MSG_PUB.count_and_get
1365: (p_count => x_msg_count ,
1366: p_data => x_msg_data ,
1367: p_encoded => FND_API.G_FALSE );
1368: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1369: ROLLBACK TO Update_Dimension_Assign;
1370: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1371: FND_MSG_PUB.count_and_get
1364: FND_MSG_PUB.count_and_get
1365: (p_count => x_msg_count ,
1366: p_data => x_msg_data ,
1367: p_encoded => FND_API.G_FALSE );
1368: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1369: ROLLBACK TO Update_Dimension_Assign;
1370: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1371: FND_MSG_PUB.count_and_get
1372: (p_count => x_msg_count ,
1366: p_data => x_msg_data ,
1367: p_encoded => FND_API.G_FALSE );
1368: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1369: ROLLBACK TO Update_Dimension_Assign;
1370: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1371: FND_MSG_PUB.count_and_get
1372: (p_count => x_msg_count ,
1373: p_data => x_msg_data ,
1374: p_encoded => FND_API.G_FALSE );
1370: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1371: FND_MSG_PUB.count_and_get
1372: (p_count => x_msg_count ,
1373: p_data => x_msg_data ,
1374: p_encoded => FND_API.G_FALSE );
1375: WHEN OTHERS THEN
1376: ROLLBACK TO Update_Dimension_Assign;
1377: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1378: IF FND_MSG_PUB.check_msg_level
1373: p_data => x_msg_data ,
1374: p_encoded => FND_API.G_FALSE );
1375: WHEN OTHERS THEN
1376: ROLLBACK TO Update_Dimension_Assign;
1377: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1378: IF FND_MSG_PUB.check_msg_level
1379: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1380: THEN
1381: FND_MSG_PUB.add_exc_msg
1384: END IF;
1385: FND_MSG_PUB.count_and_get
1386: (p_count => x_msg_count ,
1387: p_data => x_msg_data ,
1388: p_encoded => FND_API.G_FALSE );
1389: END Update_Dimension_Assign;
1390:
1391: -- Start of comments
1392: -- API name : Create_Dimension_Assign
1395: -- Pre-reqs : None.
1396: -- Parameters :
1397: -- IN : p_api_version IN NUMBER Required
1398: -- p_init_msg_list IN VARCHAR2 Optional
1399: -- Default = FND_API.G_FALSE
1400: -- p_commit IN VARCHAR2 Optional
1401: -- Default = FND_API.G_FALSE
1402: -- p_validation_level IN NUMBER Optional
1403: -- Default = FND_API.G_VALID_LEVEL_FULL
1397: -- IN : p_api_version IN NUMBER Required
1398: -- p_init_msg_list IN VARCHAR2 Optional
1399: -- Default = FND_API.G_FALSE
1400: -- p_commit IN VARCHAR2 Optional
1401: -- Default = FND_API.G_FALSE
1402: -- p_validation_level IN NUMBER Optional
1403: -- Default = FND_API.G_VALID_LEVEL_FULL
1404: -- p_rate_schedule_id IN NUMBER
1405: -- p_rate_dimension_id IN NUMBER
1399: -- Default = FND_API.G_FALSE
1400: -- p_commit IN VARCHAR2 Optional
1401: -- Default = FND_API.G_FALSE
1402: -- p_validation_level IN NUMBER Optional
1403: -- Default = FND_API.G_VALID_LEVEL_FULL
1404: -- p_rate_schedule_id IN NUMBER
1405: -- p_rate_dimension_id IN NUMBER
1406: -- p_rate_dim_sequence IN NUMBER
1407: -- OUT : x_rate_sch_dim_id OUT NUMBER
1421: --
1422: -- End of comments
1423: PROCEDURE create_dimension_assign
1424: (p_api_version IN NUMBER ,
1425: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
1426: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
1427: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1428: p_rate_schedule_id IN CN_RATE_SCH_DIMS.RATE_SCHEDULE_ID%TYPE,
1429: p_rate_dimension_id IN CN_RATE_SCH_DIMS.RATE_DIMENSION_ID%TYPE,
1422: -- End of comments
1423: PROCEDURE create_dimension_assign
1424: (p_api_version IN NUMBER ,
1425: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
1426: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
1427: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1428: p_rate_schedule_id IN CN_RATE_SCH_DIMS.RATE_SCHEDULE_ID%TYPE,
1429: p_rate_dimension_id IN CN_RATE_SCH_DIMS.RATE_DIMENSION_ID%TYPE,
1430: p_rate_dim_sequence IN CN_RATE_SCH_DIMS.RATE_DIM_SEQUENCE%TYPE,
1423: PROCEDURE create_dimension_assign
1424: (p_api_version IN NUMBER ,
1425: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
1426: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
1427: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1428: p_rate_schedule_id IN CN_RATE_SCH_DIMS.RATE_SCHEDULE_ID%TYPE,
1429: p_rate_dimension_id IN CN_RATE_SCH_DIMS.RATE_DIMENSION_ID%TYPE,
1430: p_rate_dim_sequence IN CN_RATE_SCH_DIMS.RATE_DIM_SEQUENCE%TYPE,
1431: --R12 MOAC Changes--Start
1457: BEGIN
1458: -- Standard Start of API savepoint
1459: SAVEPOINT Create_Dimension_Assign;
1460: -- Standard call to check for call compatibility.
1461: IF NOT FND_API.Compatible_API_Call
1462: (l_api_version ,
1463: p_api_version ,
1464: l_api_name ,
1465: G_PKG_NAME )
1463: p_api_version ,
1464: l_api_name ,
1465: G_PKG_NAME )
1466: THEN
1467: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1468: END IF;
1469: -- Initialize message list if p_init_msg_list is set to TRUE.
1470: IF FND_API.to_Boolean( p_init_msg_list ) THEN
1471: FND_MSG_PUB.initialize;
1466: THEN
1467: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1468: END IF;
1469: -- Initialize message list if p_init_msg_list is set to TRUE.
1470: IF FND_API.to_Boolean( p_init_msg_list ) THEN
1471: FND_MSG_PUB.initialize;
1472: END IF;
1473: -- Initialize API return status to success
1474: x_return_status := FND_API.G_RET_STS_SUCCESS;
1470: IF FND_API.to_Boolean( p_init_msg_list ) THEN
1471: FND_MSG_PUB.initialize;
1472: END IF;
1473: -- Initialize API return status to success
1474: x_return_status := FND_API.G_RET_STS_SUCCESS;
1475:
1476: -- API body
1477:
1478: usage_check(p_rate_schedule_id,
1481: IF (fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_error)) THEN
1482: fnd_message.set_name('CN', 'CN_SCHEDULE_IN_USE');
1483: fnd_msg_pub.ADD;
1484: END IF;
1485: RAISE fnd_api.g_exc_error;
1486: END IF;
1487:
1488: -- make sure the dimension hasn't already been assigned
1489: select count(*) into l_count from cn_rate_sch_dims
1493: IF (fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_error)) THEN
1494: fnd_message.set_name('CN', 'CN_DUPLICATE_DIM_ASSIGN');
1495: fnd_msg_pub.ADD;
1496: END IF;
1497: RAISE fnd_api.g_exc_error;
1498: END IF;
1499:
1500: -- if assigned rate sequence is too high, bring it down to a valid value
1501: select count(*) into l_num_dims
1582:
1583: -- End of API body.
1584:
1585: -- Standard check of p_commit.
1586: IF FND_API.To_Boolean( p_commit ) THEN
1587: COMMIT WORK;
1588: END IF;
1589: -- Standard call to get message count and if count is 1, get message info.
1590: FND_MSG_PUB.Count_And_Get
1589: -- Standard call to get message count and if count is 1, get message info.
1590: FND_MSG_PUB.Count_And_Get
1591: (p_count => x_msg_count ,
1592: p_data => x_msg_data ,
1593: p_encoded => FND_API.G_FALSE );
1594: EXCEPTION
1595: WHEN FND_API.G_EXC_ERROR THEN
1596: ROLLBACK TO Create_Dimension_Assign;
1597: x_return_status := FND_API.G_RET_STS_ERROR ;
1591: (p_count => x_msg_count ,
1592: p_data => x_msg_data ,
1593: p_encoded => FND_API.G_FALSE );
1594: EXCEPTION
1595: WHEN FND_API.G_EXC_ERROR THEN
1596: ROLLBACK TO Create_Dimension_Assign;
1597: x_return_status := FND_API.G_RET_STS_ERROR ;
1598: FND_MSG_PUB.count_and_get
1599: (p_count => x_msg_count ,
1593: p_encoded => FND_API.G_FALSE );
1594: EXCEPTION
1595: WHEN FND_API.G_EXC_ERROR THEN
1596: ROLLBACK TO Create_Dimension_Assign;
1597: x_return_status := FND_API.G_RET_STS_ERROR ;
1598: FND_MSG_PUB.count_and_get
1599: (p_count => x_msg_count ,
1600: p_data => x_msg_data ,
1601: p_encoded => FND_API.G_FALSE );
1597: x_return_status := FND_API.G_RET_STS_ERROR ;
1598: FND_MSG_PUB.count_and_get
1599: (p_count => x_msg_count ,
1600: p_data => x_msg_data ,
1601: p_encoded => FND_API.G_FALSE );
1602: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1603: ROLLBACK TO Create_Dimension_Assign;
1604: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1605: FND_MSG_PUB.count_and_get
1598: FND_MSG_PUB.count_and_get
1599: (p_count => x_msg_count ,
1600: p_data => x_msg_data ,
1601: p_encoded => FND_API.G_FALSE );
1602: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1603: ROLLBACK TO Create_Dimension_Assign;
1604: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1605: FND_MSG_PUB.count_and_get
1606: (p_count => x_msg_count ,
1600: p_data => x_msg_data ,
1601: p_encoded => FND_API.G_FALSE );
1602: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1603: ROLLBACK TO Create_Dimension_Assign;
1604: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1605: FND_MSG_PUB.count_and_get
1606: (p_count => x_msg_count ,
1607: p_data => x_msg_data ,
1608: p_encoded => FND_API.G_FALSE );
1604: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1605: FND_MSG_PUB.count_and_get
1606: (p_count => x_msg_count ,
1607: p_data => x_msg_data ,
1608: p_encoded => FND_API.G_FALSE );
1609: WHEN OTHERS THEN
1610: ROLLBACK TO Create_Dimension_Assign;
1611: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1612: IF FND_MSG_PUB.check_msg_level
1607: p_data => x_msg_data ,
1608: p_encoded => FND_API.G_FALSE );
1609: WHEN OTHERS THEN
1610: ROLLBACK TO Create_Dimension_Assign;
1611: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1612: IF FND_MSG_PUB.check_msg_level
1613: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1614: THEN
1615: FND_MSG_PUB.add_exc_msg
1618: END IF;
1619: FND_MSG_PUB.count_and_get
1620: (p_count => x_msg_count ,
1621: p_data => x_msg_data ,
1622: p_encoded => FND_API.G_FALSE );
1623: END Create_Dimension_Assign;
1624:
1625: -- 1. if two or more tiers are inserted at the same time, create_rate_tiers will
1626: -- face problems. The solution is to use the actual number of tiers in the dimension
1673: -- each dimension must have at least one tier. otherwise, raise an exception
1674: FOR j IN 1..l_dim_count LOOP
1675: IF (dim_size_table(j) = 0) THEN
1676: fnd_message.set_name('CN', 'CN_EMPTY_DIMENSION');
1677: RAISE fnd_api.g_exc_error;
1678: END IF;
1679: END LOOP;
1680:
1681: -- initialize coordinates
1777: -- each dimension must have at least one tier. otherwise, raise an exception
1778: FOR j IN 1..l_dim_count LOOP
1779: IF (dim_size_table(j) = 0) THEN
1780: fnd_message.set_name('CN', 'CN_EMPTY_DIMENSION');
1781: RAISE fnd_api.g_exc_error;
1782: END IF;
1783: END LOOP;
1784:
1785: -- note all arrays are 1-indexed
1951: end if;
1952: END IF;
1953:
1954: EXCEPTION
1955: WHEN FND_API.G_EXC_ERROR THEN
1956: ROLLBACK TO Update_rate;
1957: x_return_status := FND_API.G_RET_STS_ERROR ;
1958: FND_MSG_PUB.count_and_get
1959: (p_count => x_msg_count ,
1953:
1954: EXCEPTION
1955: WHEN FND_API.G_EXC_ERROR THEN
1956: ROLLBACK TO Update_rate;
1957: x_return_status := FND_API.G_RET_STS_ERROR ;
1958: FND_MSG_PUB.count_and_get
1959: (p_count => x_msg_count ,
1960: p_data => x_msg_data ,
1961: p_encoded => FND_API.G_FALSE );
1957: x_return_status := FND_API.G_RET_STS_ERROR ;
1958: FND_MSG_PUB.count_and_get
1959: (p_count => x_msg_count ,
1960: p_data => x_msg_data ,
1961: p_encoded => FND_API.G_FALSE );
1962: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1963: ROLLBACK TO Update_rate;
1964: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1965: FND_MSG_PUB.count_and_get
1958: FND_MSG_PUB.count_and_get
1959: (p_count => x_msg_count ,
1960: p_data => x_msg_data ,
1961: p_encoded => FND_API.G_FALSE );
1962: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1963: ROLLBACK TO Update_rate;
1964: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1965: FND_MSG_PUB.count_and_get
1966: (p_count => x_msg_count ,
1960: p_data => x_msg_data ,
1961: p_encoded => FND_API.G_FALSE );
1962: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1963: ROLLBACK TO Update_rate;
1964: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1965: FND_MSG_PUB.count_and_get
1966: (p_count => x_msg_count ,
1967: p_data => x_msg_data ,
1968: p_encoded => FND_API.G_FALSE );
1964: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1965: FND_MSG_PUB.count_and_get
1966: (p_count => x_msg_count ,
1967: p_data => x_msg_data ,
1968: p_encoded => FND_API.G_FALSE );
1969: WHEN OTHERS THEN
1970: ROLLBACK TO Update_rate;
1971: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1972: IF FND_MSG_PUB.check_msg_level
1967: p_data => x_msg_data ,
1968: p_encoded => FND_API.G_FALSE );
1969: WHEN OTHERS THEN
1970: ROLLBACK TO Update_rate;
1971: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1972: IF FND_MSG_PUB.check_msg_level
1973: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1974: THEN
1975: FND_MSG_PUB.add_exc_msg
1978: END IF;
1979: FND_MSG_PUB.count_and_get
1980: (p_count => x_msg_count ,
1981: p_data => x_msg_data ,
1982: p_encoded => FND_API.G_FALSE );
1983:
1984: END update_rate;
1985:
1986: PROCEDURE update_srp_rate
2031: -- this should only be called if rates are customized
2032: SAVEPOINT update_srp_rate;
2033: FND_MSG_PUB.initialize;
2034:
2035: x_return_status := fnd_api.g_ret_sts_success;
2036: x_loading_status := 'CN_INSERTED';
2037:
2038: OPEN rate_tier_info;
2039: FETCH rate_tier_info INTO l_srp_rate_assign_id, l_object_version_number, l_commission_amount;
2125: if (l_object_version_number <> p_object_version_number) then
2126: fnd_message.set_name('CN', 'CN_RECORD_CHANGED');
2127: fnd_msg_pub.add;
2128: x_loading_status := 'CN_RECORD_CHANGED';
2129: raise fnd_api.g_exc_error;
2130: end if;
2131:
2132: -- if updating rate to 0, delete commission rate
2133: if p_commission_amount = 0 then
2165: end if;
2166: end if;
2167:
2168: EXCEPTION
2169: WHEN FND_API.G_EXC_ERROR THEN
2170: ROLLBACK TO update_srp_rate;
2171: x_return_status := FND_API.G_RET_STS_ERROR ;
2172: FND_MSG_PUB.count_and_get
2173: (p_count => x_msg_count ,
2167:
2168: EXCEPTION
2169: WHEN FND_API.G_EXC_ERROR THEN
2170: ROLLBACK TO update_srp_rate;
2171: x_return_status := FND_API.G_RET_STS_ERROR ;
2172: FND_MSG_PUB.count_and_get
2173: (p_count => x_msg_count ,
2174: p_data => x_msg_data ,
2175: p_encoded => FND_API.G_FALSE );
2171: x_return_status := FND_API.G_RET_STS_ERROR ;
2172: FND_MSG_PUB.count_and_get
2173: (p_count => x_msg_count ,
2174: p_data => x_msg_data ,
2175: p_encoded => FND_API.G_FALSE );
2176: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2177: ROLLBACK TO update_srp_rate;
2178: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2179: FND_MSG_PUB.count_and_get
2172: FND_MSG_PUB.count_and_get
2173: (p_count => x_msg_count ,
2174: p_data => x_msg_data ,
2175: p_encoded => FND_API.G_FALSE );
2176: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2177: ROLLBACK TO update_srp_rate;
2178: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2179: FND_MSG_PUB.count_and_get
2180: (p_count => x_msg_count ,
2174: p_data => x_msg_data ,
2175: p_encoded => FND_API.G_FALSE );
2176: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2177: ROLLBACK TO update_srp_rate;
2178: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2179: FND_MSG_PUB.count_and_get
2180: (p_count => x_msg_count ,
2181: p_data => x_msg_data ,
2182: p_encoded => FND_API.G_FALSE );
2178: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2179: FND_MSG_PUB.count_and_get
2180: (p_count => x_msg_count ,
2181: p_data => x_msg_data ,
2182: p_encoded => FND_API.G_FALSE );
2183: WHEN OTHERS THEN
2184: ROLLBACK TO update_srp_rate;
2185: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2186: IF FND_MSG_PUB.check_msg_level
2181: p_data => x_msg_data ,
2182: p_encoded => FND_API.G_FALSE );
2183: WHEN OTHERS THEN
2184: ROLLBACK TO update_srp_rate;
2185: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2186: IF FND_MSG_PUB.check_msg_level
2187: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2188: THEN
2189: FND_MSG_PUB.add_exc_msg
2192: END IF;
2193: FND_MSG_PUB.count_and_get
2194: (p_count => x_msg_count ,
2195: p_data => x_msg_data ,
2196: p_encoded => FND_API.G_FALSE );
2197:
2198: END update_srp_rate;
2199:
2200: -- utility function to get the rate_tier_id when given the tier combination
2383:
2384:
2385: PROCEDURE duplicate_rate_Schedule
2386: (p_api_version IN NUMBER ,
2387: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
2388: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
2389: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
2390: p_name IN OUT NOCOPY CN_RATE_SCHEDULES.NAME%TYPE ,
2391: p_org_id IN CN_RATE_SCHEDULES.ORG_ID%TYPE, --new
2384:
2385: PROCEDURE duplicate_rate_Schedule
2386: (p_api_version IN NUMBER ,
2387: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
2388: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
2389: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
2390: p_name IN OUT NOCOPY CN_RATE_SCHEDULES.NAME%TYPE ,
2391: p_org_id IN CN_RATE_SCHEDULES.ORG_ID%TYPE, --new
2392: --R12 MOAC Changes--End
2385: PROCEDURE duplicate_rate_Schedule
2386: (p_api_version IN NUMBER ,
2387: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
2388: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
2389: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
2390: p_name IN OUT NOCOPY CN_RATE_SCHEDULES.NAME%TYPE ,
2391: p_org_id IN CN_RATE_SCHEDULES.ORG_ID%TYPE, --new
2392: --R12 MOAC Changes--End
2393: p_rate_schedule_id IN OUT NOCOPY CN_RATE_SCHEDULES.RATE_SCHEDULE_ID%TYPE, --changed