70: FND_MSG_PUB.initialize;
71: END IF;
72:
73: -- Debug Message
74: OZF_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
75:
76:
77: -- Initialize API return status to SUCCESS
78: x_return_status := FND_API.G_RET_STS_SUCCESS;
98: -- =========================================================================
99:
100: IF FND_GLOBAL.User_Id IS NULL
101: THEN
102: OZF_UTILITY_PVT.Error_Message(p_message_name => 'USER_PROFILE_MISSING');
103: RAISE FND_API.G_EXC_ERROR;
104: END IF;
105:
106: IF ( P_validation_level >= FND_API.G_VALID_LEVEL_FULL)
105:
106: IF ( P_validation_level >= FND_API.G_VALID_LEVEL_FULL)
107: THEN
108: -- Debug message
109: OZF_UTILITY_PVT.debug_message('Private API: Validate_Adj_New_Line');
110:
111: -- Invoke validation procedures
112: Validate_adj_new_line(
113: p_api_version_number => 1.0,
125: END IF;
126:
127:
128: -- Debug Message
129: OZF_UTILITY_PVT.debug_message( 'Private API: Calling create table handler');
130:
131: -- Invoke table handler(OZF_OFFER_ADJ_NEW_LINES_PKG.Insert_Row)
132:
133: OZF_OFFER_ADJ_NEW_LINES_PKG.Insert_Row(
168: END IF;
169:
170:
171: -- Debug Message
172: OZF_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'end');
173: EXCEPTION
174:
175: WHEN OZF_UTILITY_PVT.resource_locked THEN
176: x_return_status := FND_API.g_ret_sts_error;
171: -- Debug Message
172: OZF_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'end');
173: EXCEPTION
174:
175: WHEN OZF_UTILITY_PVT.resource_locked THEN
176: x_return_status := FND_API.g_ret_sts_error;
177: OZF_UTILITY_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
178:
179: WHEN FND_API.G_EXC_ERROR THEN
173: EXCEPTION
174:
175: WHEN OZF_UTILITY_PVT.resource_locked THEN
176: x_return_status := FND_API.g_ret_sts_error;
177: OZF_UTILITY_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
178:
179: WHEN FND_API.G_EXC_ERROR THEN
180: ROLLBACK TO CREATE_Adj_New_Line_PVT;
181: x_return_status := FND_API.G_RET_STS_ERROR;
261: THEN
262: FND_MSG_PUB.initialize;
263: END IF;
264: -- Debug Message
265: OZF_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
266: -- Initialize API return status to SUCCESS
267: x_return_status := FND_API.G_RET_STS_SUCCESS;
268: -- Debug Message
269: OZF_UTILITY_PVT.debug_message('Private API: - Open Cursor to Select');
265: OZF_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
266: -- Initialize API return status to SUCCESS
267: x_return_status := FND_API.G_RET_STS_SUCCESS;
268: -- Debug Message
269: OZF_UTILITY_PVT.debug_message('Private API: - Open Cursor to Select');
270: OPEN c_get_Adj_New_Line( l_tar_adj_new_line_rec.offer_adj_new_line_id , l_tar_adj_new_line_rec.object_version_number);
271: FETCH c_get_Adj_New_Line INTO l_ref_adj_new_line_rec ;
272:
273: If ( c_get_Adj_New_Line%NOTFOUND) THEN
270: OPEN c_get_Adj_New_Line( l_tar_adj_new_line_rec.offer_adj_new_line_id , l_tar_adj_new_line_rec.object_version_number);
271: FETCH c_get_Adj_New_Line INTO l_ref_adj_new_line_rec ;
272:
273: If ( c_get_Adj_New_Line%NOTFOUND) THEN
274: OZF_UTILITY_PVT.Error_Message(p_message_name => 'API_MISSING_UPDATE_TARGET',
275: p_token_name => 'INFO',
276: p_token_value => 'Adj_New_Line') ;
277: RAISE FND_API.G_EXC_ERROR;
278: END IF;
276: p_token_value => 'Adj_New_Line') ;
277: RAISE FND_API.G_EXC_ERROR;
278: END IF;
279: -- Debug Message
280: OZF_UTILITY_PVT.debug_message('Private API: - Close Cursor');
281: CLOSE c_get_Adj_New_Line;
282:
283:
284:
283:
284:
285: If (l_tar_adj_new_line_rec.object_version_number is NULL or
286: l_tar_adj_new_line_rec.object_version_number = FND_API.G_MISS_NUM ) Then
287: OZF_UTILITY_PVT.Error_Message(p_message_name => 'API_VERSION_MISSING',
288: p_token_name => 'COLUMN',
289: p_token_value => 'Last_Update_Date') ;
290: raise FND_API.G_EXC_ERROR;
291: End if;
290: raise FND_API.G_EXC_ERROR;
291: End if;
292: -- Check Whether record has been changed by someone else
293: If (l_tar_adj_new_line_rec.object_version_number <> l_ref_adj_new_line_rec.object_version_number) Then
294: OZF_UTILITY_PVT.Error_Message(p_message_name => 'API_RECORD_CHANGED',
295: p_token_name => 'INFO',
296: p_token_value => 'Adj_New_Line') ;
297: raise FND_API.G_EXC_ERROR;
298: End if;
298: End if;
299: IF ( P_validation_level >= FND_API.G_VALID_LEVEL_FULL)
300: THEN
301: -- Debug message
302: OZF_UTILITY_PVT.debug_message('Private API: Validate_Adj_New_Line');
303:
304: -- Invoke validation procedures
305: Validate_adj_new_line(
306: p_api_version_number => 1.0,
315:
316: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
317: RAISE FND_API.G_EXC_ERROR;
318: END IF;
319: ozf_utility_pvt.debug_message('After validate: return:'||x_return_status);
320: -- Invoke table handler(OZF_OFFER_ADJ_NEW_LINES_PKG.Update_Row)
321: OZF_OFFER_ADJ_NEW_LINES_PKG.Update_Row(
322: p_offer_adj_new_line_id => p_adj_new_line_rec.offer_adj_new_line_id,
323: p_offer_adjustment_id => p_adj_new_line_rec.offer_adjustment_id,
346: THEN
347: COMMIT WORK;
348: END IF;
349: -- Debug Message
350: OZF_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'end');
351: EXCEPTION
352:
353: WHEN OZF_UTILITY_PVT.resource_locked THEN
354: x_return_status := FND_API.g_ret_sts_error;
349: -- Debug Message
350: OZF_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'end');
351: EXCEPTION
352:
353: WHEN OZF_UTILITY_PVT.resource_locked THEN
354: x_return_status := FND_API.g_ret_sts_error;
355: OZF_UTILITY_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
356:
357: WHEN FND_API.G_EXC_ERROR THEN
351: EXCEPTION
352:
353: WHEN OZF_UTILITY_PVT.resource_locked THEN
354: x_return_status := FND_API.g_ret_sts_error;
355: OZF_UTILITY_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
356:
357: WHEN FND_API.G_EXC_ERROR THEN
358: ROLLBACK TO UPDATE_Adj_New_Line_PVT;
359: x_return_status := FND_API.G_RET_STS_ERROR;
436: FND_MSG_PUB.initialize;
437: END IF;
438:
439: -- Debug Message
440: OZF_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
441:
442:
443: -- Initialize API return status to SUCCESS
444: x_return_status := FND_API.G_RET_STS_SUCCESS;
464: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
465: END IF;
466: END LOOP;
467: -- Debug Message
468: OZF_UTILITY_PVT.debug_message( 'Private API: Calling delete Tiers');
469:
470: for l_tiers in c_tiers(p_OFFER_ADJ_NEW_LINE_ID) LOOP
471: ozf_utility_pvt.debug_message('Line id is :'||l_tiers.offer_adj_new_line_id);
472: IF l_tiers.offer_adj_new_line_id IS NOT NULL THEN
467: -- Debug Message
468: OZF_UTILITY_PVT.debug_message( 'Private API: Calling delete Tiers');
469:
470: for l_tiers in c_tiers(p_OFFER_ADJ_NEW_LINE_ID) LOOP
471: ozf_utility_pvt.debug_message('Line id is :'||l_tiers.offer_adj_new_line_id);
472: IF l_tiers.offer_adj_new_line_id IS NOT NULL THEN
473: OZF_OFFER_ADJ_NEW_LINES_PKG.Delete_Row(
474: p_OFFER_ADJ_NEW_LINE_ID => l_tiers.offer_adj_new_line_id);
475: END IF;
473: OZF_OFFER_ADJ_NEW_LINES_PKG.Delete_Row(
474: p_OFFER_ADJ_NEW_LINE_ID => l_tiers.offer_adj_new_line_id);
475: END IF;
476: END LOOP;
477: ozf_utility_pvt.debug_message('Line id is :'||p_OFFER_ADJ_NEW_LINE_ID);
478: -- Invoke table handler(OZF_OFFER_ADJ_NEW_LINES_PKG.Delete_Row)
479: OZF_OFFER_ADJ_NEW_LINES_PKG.Delete_Row(
480: p_OFFER_ADJ_NEW_LINE_ID => p_OFFER_ADJ_NEW_LINE_ID);
481: --
480: p_OFFER_ADJ_NEW_LINE_ID => p_OFFER_ADJ_NEW_LINE_ID);
481: --
482: -- End of API body
483: --
484: OZF_UTILITY_PVT.debug_message( 'Private API: Called delete table handler');
485:
486: -- Standard check for p_commit
487: IF FND_API.to_Boolean( p_commit )
488: THEN
490: END IF;
491:
492:
493: -- Debug Message
494: OZF_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'end');
495:
496: -- Standard call to get message count and if count is 1, get message info.
497: FND_MSG_PUB.Count_And_Get
498: (p_count => x_msg_count,
499: p_data => x_msg_data
500: );
501: EXCEPTION
502:
503: WHEN OZF_UTILITY_PVT.resource_locked THEN
504: x_return_status := FND_API.g_ret_sts_error;
505: OZF_UTILITY_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
506:
507: WHEN FND_API.G_EXC_ERROR THEN
501: EXCEPTION
502:
503: WHEN OZF_UTILITY_PVT.resource_locked THEN
504: x_return_status := FND_API.g_ret_sts_error;
505: OZF_UTILITY_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
506:
507: WHEN FND_API.G_EXC_ERROR THEN
508: ROLLBACK TO DELETE_Adj_New_Line_PVT;
509: x_return_status := FND_API.G_RET_STS_ERROR;
569:
570: BEGIN
571:
572: -- Debug Message
573: OZF_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
574:
575: -- Initialize message list if p_init_msg_list is set to TRUE.
576: IF FND_API.to_Boolean( p_init_msg_list )
577: THEN
593:
594:
595: ------------------------ lock -------------------------
596:
597: OZF_UTILITY_PVT.debug_message(l_full_name||': start');
598: OPEN c_Adj_New_Line;
599:
600: FETCH c_Adj_New_Line INTO l_OFFER_ADJ_NEW_LINE_ID;
601:
614: FND_MSG_PUB.count_and_get(
615: p_encoded => FND_API.g_false,
616: p_count => x_msg_count,
617: p_data => x_msg_data);
618: OZF_UTILITY_PVT.debug_message(l_full_name ||': end');
619: EXCEPTION
620:
621: WHEN OZF_UTILITY_PVT.resource_locked THEN
622: x_return_status := FND_API.g_ret_sts_error;
617: p_data => x_msg_data);
618: OZF_UTILITY_PVT.debug_message(l_full_name ||': end');
619: EXCEPTION
620:
621: WHEN OZF_UTILITY_PVT.resource_locked THEN
622: x_return_status := FND_API.g_ret_sts_error;
623: OZF_UTILITY_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
624:
625: WHEN FND_API.G_EXC_ERROR THEN
619: EXCEPTION
620:
621: WHEN OZF_UTILITY_PVT.resource_locked THEN
622: x_return_status := FND_API.g_ret_sts_error;
623: OZF_UTILITY_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
624:
625: WHEN FND_API.G_EXC_ERROR THEN
626: ROLLBACK TO LOCK_Adj_New_Line_PVT;
627: x_return_status := FND_API.G_RET_STS_ERROR;
667:
668: BEGIN
669: x_return_status := FND_API.g_ret_sts_success;
670: IF p_validation_mode = JTF_PLSQL_API.g_create THEN
671: l_valid_flag := OZF_UTILITY_PVT.check_uniqueness(
672: 'OZF_OFFER_ADJ_NEW_LINES',
673: 'OFFER_ADJ_NEW_LINE_ID = ''' || p_adj_new_line_rec.OFFER_ADJ_NEW_LINE_ID ||''''
674: );
675: ELSE
672: 'OZF_OFFER_ADJ_NEW_LINES',
673: 'OFFER_ADJ_NEW_LINE_ID = ''' || p_adj_new_line_rec.OFFER_ADJ_NEW_LINE_ID ||''''
674: );
675: ELSE
676: l_valid_flag := OZF_UTILITY_PVT.check_uniqueness(
677: 'OZF_OFFER_ADJ_NEW_LINES',
678: 'OFFER_ADJ_NEW_LINE_ID = ''' || p_adj_new_line_rec.OFFER_ADJ_NEW_LINE_ID ||
679: ''' AND OFFER_ADJ_NEW_LINE_ID <> ' || p_adj_new_line_rec.OFFER_ADJ_NEW_LINE_ID
680: );
680: );
681: END IF;
682:
683: IF l_valid_flag = FND_API.g_false THEN
684: OZF_UTILITY_PVT.Error_Message(p_message_name => 'AMS_OFFER_ADJ_NEW_LINE_ID_DUPLICATE');
685: x_return_status := FND_API.g_ret_sts_error;
686: RETURN;
687: END IF;
688:
699: x_return_status := FND_API.g_ret_sts_success;
700:
701: IF p_validation_mode = JTF_PLSQL_API.g_create THEN
702: IF p_adj_new_line_rec.discount = FND_API.g_miss_num OR p_adj_new_line_rec.discount IS NULL THEN
703: OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'discount' );
704: x_return_status := FND_API.g_ret_sts_error;
705: RETURN;
706: END IF;
707: IF p_adj_new_line_rec.discount_type = FND_API.g_miss_char OR p_adj_new_line_rec.discount_type IS NULL THEN
704: x_return_status := FND_API.g_ret_sts_error;
705: RETURN;
706: END IF;
707: IF p_adj_new_line_rec.discount_type = FND_API.g_miss_char OR p_adj_new_line_rec.discount_type IS NULL THEN
708: OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'discount_type' );
709: x_return_status := FND_API.g_ret_sts_error;
710: RETURN;
711: END IF;
712: ELSE
710: RETURN;
711: END IF;
712: ELSE
713: IF p_adj_new_line_rec.discount = FND_API.G_MISS_NUM THEN
714: OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'discount' );
715: x_return_status := FND_API.g_ret_sts_error;
716: RETURN;
717: END IF;
718: IF p_adj_new_line_rec.discount_type = FND_API.G_MISS_CHAR THEN
715: x_return_status := FND_API.g_ret_sts_error;
716: RETURN;
717: END IF;
718: IF p_adj_new_line_rec.discount_type = FND_API.G_MISS_CHAR THEN
719: OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'discount_type' );
720: x_return_status := FND_API.g_ret_sts_error;
721: RETURN;
722: END IF;
723: END IF;
733: x_return_status := FND_API.g_ret_sts_success;
734:
735: IF p_validation_mode = JTF_PLSQL_API.g_create THEN
736: IF p_adj_new_line_rec.offer_adjustment_id = FND_API.g_miss_num OR p_adj_new_line_rec.offer_adjustment_id IS NULL THEN
737: OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'offer_adjustment_id' );
738: x_return_status := FND_API.g_ret_sts_error;
739: RETURN;
740: END IF;
741: IF p_adj_new_line_rec.tier_type = FND_API.g_miss_char OR p_adj_new_line_rec.tier_type IS NULL THEN
738: x_return_status := FND_API.g_ret_sts_error;
739: RETURN;
740: END IF;
741: IF p_adj_new_line_rec.tier_type = FND_API.g_miss_char OR p_adj_new_line_rec.tier_type IS NULL THEN
742: OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'tier_type' );
743: x_return_status := FND_API.g_ret_sts_error;
744: RETURN;
745: END IF;
746: ELSE
744: RETURN;
745: END IF;
746: ELSE
747: IF p_adj_new_line_rec.offer_adj_new_line_id IS NULL THEN
748: OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'offer_adj_new_line_id' );
749: x_return_status := FND_API.g_ret_sts_error;
750: RETURN;
751: END IF;
752: IF p_adj_new_line_rec.offer_adjustment_id IS NULL THEN
749: x_return_status := FND_API.g_ret_sts_error;
750: RETURN;
751: END IF;
752: IF p_adj_new_line_rec.offer_adjustment_id IS NULL THEN
753: OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'offer_adjustment_id' );
754: x_return_status := FND_API.g_ret_sts_error;
755: RETURN;
756: END IF;
757: IF p_adj_new_line_rec.tier_type = FND_API.G_MISS_CHAR THEN
754: x_return_status := FND_API.g_ret_sts_error;
755: RETURN;
756: END IF;
757: IF p_adj_new_line_rec.tier_type = FND_API.G_MISS_CHAR THEN
758: OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'tier_type' );
759: x_return_status := FND_API.g_ret_sts_error;
760: RETURN;
761: END IF;
762: IF p_adj_new_line_rec.object_version_number = FND_API.G_MISS_NUM THEN
759: x_return_status := FND_API.g_ret_sts_error;
760: RETURN;
761: END IF;
762: IF p_adj_new_line_rec.object_version_number = FND_API.G_MISS_NUM THEN
763: OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'object_version_number' );
764: x_return_status := FND_API.g_ret_sts_error;
765: RETURN;
766: END IF;
767: END IF;
799: l_dates c_dates%ROWTYPE;
800: BEGIN
801: x_return_status := FND_API.G_RET_STS_SUCCESS;
802: IF p_adj_new_line_rec.volume_from < 0 THEN
803: OZF_Utility_PVT.Error_Message('OZF_NEGATIVE_QTY' );
804: x_return_status := FND_API.g_ret_sts_error;
805: return;
806: END IF;
807: IF p_adj_new_line_rec.volume_to < 0 THEN
804: x_return_status := FND_API.g_ret_sts_error;
805: return;
806: END IF;
807: IF p_adj_new_line_rec.volume_to < 0 THEN
808: OZF_Utility_PVT.Error_Message('OZF_NEGATIVE_QTY' );
809: x_return_status := FND_API.g_ret_sts_error;
810: return;
811: END IF;
812:
819: IF (p_adj_new_line_rec.volume_from = FND_API.G_MISS_NUM OR p_adj_new_line_rec.volume_from IS NULL)
820: OR
821: (p_adj_new_line_rec.volume_type = FND_API.G_MISS_CHAR OR p_adj_new_line_rec.volume_type IS NULL)
822: THEN
823: OZF_Utility_PVT.Error_Message('OZF_LINE_GRP_QTY_REQD' );
824: x_return_status := FND_API.g_ret_sts_error;
825: return;
826: END IF;
827: ELSE
828: IF (p_adj_new_line_rec.volume_from = FND_API.G_MISS_NUM )
829: OR
830: (p_adj_new_line_rec.volume_type = FND_API.G_MISS_CHAR)
831: THEN
832: OZF_Utility_PVT.Error_Message('OZF_LINE_GRP_QTY_REQD' );
833: x_return_status := FND_API.g_ret_sts_error;
834: return;
835: END IF;
836: END IF;
840: FETCH c_dates INTO l_dates;
841: CLOSE c_dates;
842: IF p_adj_new_line_rec.start_date_active IS NOT NULL AND p_adj_new_line_rec.start_date_active <> FND_API.G_MISS_DATE THEN
843: IF p_adj_new_line_rec.start_date_active < l_dates.effective_date THEN
844: OZF_Utility_PVT.Error_Message('OZF_DATE_OUT_OF_RANGE' );
845: x_return_status := FND_API.g_ret_sts_error;
846: return;
847: END IF;
848: END IF;
847: END IF;
848: END IF;
849: IF p_adj_new_line_rec.end_date_active IS NOT NULL AND p_adj_new_line_rec.end_date_active <> FND_API.G_MISS_DATE THEN
850: IF p_adj_new_line_rec.end_date_active > l_dates.end_date_active THEN
851: ozf_utility_pvt.debug_message('End Date is :'||l_dates.end_date_active||' : '||p_adj_new_line_rec.end_date_active);
852: OZF_Utility_PVT.Error_Message('OZF_DATE_OUT_OF_RANGE' );
853: x_return_status := FND_API.g_ret_sts_error;
854: return;
855: END IF;
848: END IF;
849: IF p_adj_new_line_rec.end_date_active IS NOT NULL AND p_adj_new_line_rec.end_date_active <> FND_API.G_MISS_DATE THEN
850: IF p_adj_new_line_rec.end_date_active > l_dates.end_date_active THEN
851: ozf_utility_pvt.debug_message('End Date is :'||l_dates.end_date_active||' : '||p_adj_new_line_rec.end_date_active);
852: OZF_Utility_PVT.Error_Message('OZF_DATE_OUT_OF_RANGE' );
853: x_return_status := FND_API.g_ret_sts_error;
854: return;
855: END IF;
856: END IF;
863: )
864: IS
865: BEGIN
866: x_return_status := FND_API.g_ret_sts_success;
867: IF ozf_utility_pvt.check_fk_exists('OZF_OFFER_ADJUSTMENTS_B','OFFER_ADJUSTMENT_ID',to_char(p_adj_new_line_rec.offer_adjustment_id)) = FND_API.g_false THEN
868: OZF_Utility_PVT.Error_Message('OZF_INVALID_OFFER_ADJ_ID' );
869: x_return_status := FND_API.g_ret_sts_error;
870: return;
871: END IF;
864: IS
865: BEGIN
866: x_return_status := FND_API.g_ret_sts_success;
867: IF ozf_utility_pvt.check_fk_exists('OZF_OFFER_ADJUSTMENTS_B','OFFER_ADJUSTMENT_ID',to_char(p_adj_new_line_rec.offer_adjustment_id)) = FND_API.g_false THEN
868: OZF_Utility_PVT.Error_Message('OZF_INVALID_OFFER_ADJ_ID' );
869: x_return_status := FND_API.g_ret_sts_error;
870: return;
871: END IF;
872: IF p_adj_new_line_rec.benefit_price_list_line_id IS NOT NULL AND p_adj_new_line_rec.benefit_price_list_line_id <> FND_API.G_MISS_NUM THEN
869: x_return_status := FND_API.g_ret_sts_error;
870: return;
871: END IF;
872: IF p_adj_new_line_rec.benefit_price_list_line_id IS NOT NULL AND p_adj_new_line_rec.benefit_price_list_line_id <> FND_API.G_MISS_NUM THEN
873: IF ozf_utility_pvt.check_fk_exists('qp_list_lines','list_line_type_code = ''PLL'' AND list_line_id ', to_char(p_adj_new_line_rec.benefit_price_list_line_id)) = FND_API.g_false THEN
874: OZF_Utility_PVT.Error_Message('OZF_INVALID_PLL_ID' );
875: x_return_status := FND_API.g_ret_sts_error;
876: return;
877: END IF;
870: return;
871: END IF;
872: IF p_adj_new_line_rec.benefit_price_list_line_id IS NOT NULL AND p_adj_new_line_rec.benefit_price_list_line_id <> FND_API.G_MISS_NUM THEN
873: IF ozf_utility_pvt.check_fk_exists('qp_list_lines','list_line_type_code = ''PLL'' AND list_line_id ', to_char(p_adj_new_line_rec.benefit_price_list_line_id)) = FND_API.g_false THEN
874: OZF_Utility_PVT.Error_Message('OZF_INVALID_PLL_ID' );
875: x_return_status := FND_API.g_ret_sts_error;
876: return;
877: END IF;
878: END IF;
877: END IF;
878: END IF;
879:
880: IF p_adj_new_line_rec.parent_adj_line_id IS NOT NULL AND p_adj_new_line_rec.parent_adj_line_id <> FND_API.G_MISS_NUM THEN
881: IF ozf_utility_pvt.check_fk_exists('ozf_offer_adj_new_lines','tier_type = ''PBH'' AND offer_adj_new_line_id ', to_char(p_adj_new_line_rec.parent_adj_line_id)) = FND_API.g_false THEN
882: OZF_Utility_PVT.Error_Message('OZF_INV_PARENT_ID' );
883: x_return_status := FND_API.g_ret_sts_error;
884: return;
885: END IF;
878: END IF;
879:
880: IF p_adj_new_line_rec.parent_adj_line_id IS NOT NULL AND p_adj_new_line_rec.parent_adj_line_id <> FND_API.G_MISS_NUM THEN
881: IF ozf_utility_pvt.check_fk_exists('ozf_offer_adj_new_lines','tier_type = ''PBH'' AND offer_adj_new_line_id ', to_char(p_adj_new_line_rec.parent_adj_line_id)) = FND_API.g_false THEN
882: OZF_Utility_PVT.Error_Message('OZF_INV_PARENT_ID' );
883: x_return_status := FND_API.g_ret_sts_error;
884: return;
885: END IF;
886: END IF;
897: BEGIN
898: x_return_status := FND_API.g_ret_sts_success;
899: -- Enter custom code here
900: IF p_adj_new_line_rec.volume_type <> FND_API.G_MISS_CHAR AND p_adj_new_line_rec.volume_type IS NOT NULL THEN
901: IF OZF_UTILITY_PVT.check_lookup_exists('OZF_LOOKUPS', 'OZF_QP_VOLUME_TYPE', p_adj_new_line_rec.volume_type) = FND_API.g_false THEN
902: OZF_Utility_PVT.Error_Message('OZF_INVALID_VOLUME_TYPE' );
903: x_return_status := FND_API.g_ret_sts_error;
904: return;
905: END IF;
898: x_return_status := FND_API.g_ret_sts_success;
899: -- Enter custom code here
900: IF p_adj_new_line_rec.volume_type <> FND_API.G_MISS_CHAR AND p_adj_new_line_rec.volume_type IS NOT NULL THEN
901: IF OZF_UTILITY_PVT.check_lookup_exists('OZF_LOOKUPS', 'OZF_QP_VOLUME_TYPE', p_adj_new_line_rec.volume_type) = FND_API.g_false THEN
902: OZF_Utility_PVT.Error_Message('OZF_INVALID_VOLUME_TYPE' );
903: x_return_status := FND_API.g_ret_sts_error;
904: return;
905: END IF;
906: END IF;
905: END IF;
906: END IF;
907:
908: IF p_adj_new_line_rec.discount_type <> FND_API.G_MISS_CHAR AND p_adj_new_line_rec.discount_type IS NOT NULL THEN
909: IF OZF_UTILITY_PVT.check_lookup_exists('QP_LOOKUPS', 'ARITHMETIC_OPERATOR', p_adj_new_line_rec.discount_type) = FND_API.g_false THEN
910: OZF_Utility_PVT.Error_Message('OZF_INVALID_DISCOUNT_TYPE' );
911: x_return_status := FND_API.g_ret_sts_error;
912: return;
913: END IF;
906: END IF;
907:
908: IF p_adj_new_line_rec.discount_type <> FND_API.G_MISS_CHAR AND p_adj_new_line_rec.discount_type IS NOT NULL THEN
909: IF OZF_UTILITY_PVT.check_lookup_exists('QP_LOOKUPS', 'ARITHMETIC_OPERATOR', p_adj_new_line_rec.discount_type) = FND_API.g_false THEN
910: OZF_Utility_PVT.Error_Message('OZF_INVALID_DISCOUNT_TYPE' );
911: x_return_status := FND_API.g_ret_sts_error;
912: return;
913: END IF;
914: END IF;
912: return;
913: END IF;
914: END IF;
915: IF p_adj_new_line_rec.tier_type <> FND_API.G_MISS_CHAR AND p_adj_new_line_rec.tier_type IS NOT NULL THEN
916: IF OZF_UTILITY_PVT.check_lookup_exists('QP_LOOKUPS', 'LIST_LINE_TYPE_CODE', p_adj_new_line_rec.tier_type) = FND_API.g_false THEN
917: OZF_Utility_PVT.Error_Message('OZF_INVALID_TIER_TYPE' );
918: x_return_status := FND_API.g_ret_sts_error;
919: return;
920: END IF;
913: END IF;
914: END IF;
915: IF p_adj_new_line_rec.tier_type <> FND_API.G_MISS_CHAR AND p_adj_new_line_rec.tier_type IS NOT NULL THEN
916: IF OZF_UTILITY_PVT.check_lookup_exists('QP_LOOKUPS', 'LIST_LINE_TYPE_CODE', p_adj_new_line_rec.tier_type) = FND_API.g_false THEN
917: OZF_Utility_PVT.Error_Message('OZF_INVALID_TIER_TYPE' );
918: x_return_status := FND_API.g_ret_sts_error;
919: return;
920: END IF;
921: END IF;
934: AND
935: (p_adj_new_line_rec.volume_to IS NOT NULL AND p_adj_new_line_rec.volume_to <> FND_API.G_MISS_NUM )
936: THEN
937: IF p_adj_new_line_rec.volume_to < p_adj_new_line_rec.volume_from THEN
938: OZF_Utility_PVT.Error_Message('OZF_FROM_GT_TO' );
939: x_return_status := FND_API.g_ret_sts_error;
940: return;
941: END IF;
942: END IF;
942: END IF;
943: IF p_adj_new_line_rec.tier_type = 'PBH' THEN
944: IF p_validation_mode = JTF_PLSQL_API.g_create THEN
945: IF p_adj_new_line_rec.volume_type IS NULL OR p_adj_new_line_rec.volume_type = FND_API.G_MISS_CHAR THEN
946: OZF_Utility_PVT.Error_Message('OZF_PBH_VOL_TYPE_REQD' );
947: x_return_status := FND_API.g_ret_sts_error;
948: return;
949: END IF;
950: ELSIF p_validation_mode = JTF_PLSQL_API.g_update THEN
948: return;
949: END IF;
950: ELSIF p_validation_mode = JTF_PLSQL_API.g_update THEN
951: IF p_adj_new_line_rec.volume_type = FND_API.G_MISS_CHAR THEN
952: OZF_Utility_PVT.Error_Message('OZF_PBH_VOL_TYPE_REQD' );
953: x_return_status := FND_API.g_ret_sts_error;
954: return;
955: END IF;
956: END IF;
969: IF p_adj_new_line_rec.tier_type = 'DIS' THEN
970: IF p_adj_new_line_rec.discount_type IS NOT NULL AND p_adj_new_line_rec.discount_type <> FND_API.G_MISS_CHAR THEN
971: IF p_adj_new_line_rec.discount IS NOT NULL AND p_adj_new_line_rec.discount <> FND_API.G_MISS_NUM THEN
972: IF p_adj_new_line_rec.discount_type ='%' AND p_adj_new_line_rec.discount > 100 THEN
973: OZF_Utility_PVT.Error_Message('OZF_PER_DISC_INV' );
974: x_return_status := FND_API.g_ret_sts_error;
975: return;
976: END IF;
977: END IF;
994: x_return_status => x_return_status);
995: IF x_return_status <> FND_API.g_ret_sts_success THEN
996: RETURN;
997: END IF;
998: ozf_utility_pvt.debug_message('UK Items:'||x_return_status);
999:
1000: -- Check Items Required/NOT NULL API calls
1001:
1002: check_adj_new_line_req_items(
1005: x_return_status => x_return_status);
1006: IF x_return_status <> FND_API.g_ret_sts_success THEN
1007: RETURN;
1008: END IF;
1009: ozf_utility_pvt.debug_message('Req Items:'||x_return_status);
1010:
1011: -- Check Items Foreign Keys API calls
1012:
1013: check_adj_new_line_FK_items(
1015: x_return_status => x_return_status);
1016: IF x_return_status <> FND_API.g_ret_sts_success THEN
1017: RETURN;
1018: END IF;
1019: ozf_utility_pvt.debug_message('FK Items:'||x_return_status);
1020:
1021: -- Check Items Lookups
1022:
1023: check_adj_line_Lkup_items(
1025: x_return_status => x_return_status);
1026: IF x_return_status <> FND_API.g_ret_sts_success THEN
1027: RETURN;
1028: END IF;
1029: ozf_utility_pvt.debug_message('Lkiup Items:'||x_return_status);
1030:
1031: check_adj_new_line_attr(
1032: p_adj_new_line_rec => p_adj_new_line_rec
1033: , p_validation_mode => p_validation_mode
1034: , x_return_status => x_return_status);
1035: IF x_return_status <> FND_API.g_ret_sts_success THEN
1036: RETURN;
1037: END IF;
1038: ozf_utility_pvt.debug_message('Attr Items:'||x_return_status);
1039:
1040: Check_adj_new_line_inter_attr(
1041: p_adj_new_line_rec => p_adj_new_line_rec
1042: , p_validation_mode => p_validation_mode
1043: , x_return_status => x_return_status);
1044: IF x_return_status <> FND_API.g_ret_sts_success THEN
1045: RETURN;
1046: END IF;
1047: ozf_utility_pvt.debug_message('Inter Items:'||x_return_status);
1048: check_adj_new_line_entity
1049: (
1050: p_adj_new_line_rec => p_adj_new_line_rec,
1051: x_return_status => x_return_status);
1051: x_return_status => x_return_status);
1052: IF x_return_status <> FND_API.g_ret_sts_success THEN
1053: RETURN;
1054: END IF;
1055: ozf_utility_pvt.debug_message('Entity Items:'||x_return_status);
1056:
1057:
1058: END Check_adj_new_line_Items;
1059:
1184: THEN
1185: FND_MSG_PUB.initialize;
1186: END IF;
1187: -- Debug Message
1188: OZF_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
1189: -- Initialize API return status to SUCCESS
1190: x_return_status := FND_API.G_RET_STS_SUCCESS;
1191:
1192: IF p_validation_level >= JTF_PLSQL_API.g_valid_level_item THEN
1223: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1224: END IF;
1225: END IF;
1226: -- Debug Message
1227: OZF_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'end');
1228: EXCEPTION
1229:
1230: WHEN OZF_UTILITY_PVT.resource_locked THEN
1231: x_return_status := FND_API.g_ret_sts_error;
1226: -- Debug Message
1227: OZF_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'end');
1228: EXCEPTION
1229:
1230: WHEN OZF_UTILITY_PVT.resource_locked THEN
1231: x_return_status := FND_API.g_ret_sts_error;
1232: OZF_UTILITY_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
1233:
1234: WHEN FND_API.G_EXC_ERROR THEN
1228: EXCEPTION
1229:
1230: WHEN OZF_UTILITY_PVT.resource_locked THEN
1231: x_return_status := FND_API.g_ret_sts_error;
1232: OZF_UTILITY_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
1233:
1234: WHEN FND_API.G_EXC_ERROR THEN
1235: ROLLBACK TO VALIDATE_Adj_New_Line_;
1236: x_return_status := FND_API.G_RET_STS_ERROR;
1291: -- THEN
1292: -- x_return_status := FND_API.G_RET_STS_ERROR;
1293:
1294: -- Debug Message
1295: OZF_UTILITY_PVT.debug_message('Private API: Validate_adj_new_line_rec');
1296: -- Standard call to get message count and if count is 1, get message info.
1297: FND_MSG_PUB.Count_And_Get
1298: (p_count => x_msg_count,
1299: p_data => x_msg_data
1358: OPEN c_modifierLevelCode(p_adj_new_disc_rec.offer_adjustment_id);
1359: fetch c_modifierLevelCode INTO l_modifierLevelCode;
1360: CLOSE c_modifierLevelCode;
1361: p_adj_new_prod_rec.offer_type := l_modifierLevelCode.offer_type;
1362: ozf_utility_pvt.debug_message('OfferType populated is :'||p_adj_new_prod_rec.offer_type||' : '||l_modifierLevelCode.offer_type);
1363: END populate_prod_disc_rec ;
1364:
1365: PROCEDURE Create_Adj_New_Disc(
1366: p_api_version_number IN NUMBER,
1398: THEN
1399: FND_MSG_PUB.initialize;
1400: END IF;
1401: -- Debug Message
1402: OZF_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
1403: -- Initialize API return status to SUCCESS
1404: x_return_status := FND_API.G_RET_STS_SUCCESS;
1405:
1406: populate_line_disc_rec
1463: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1464: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1465: END IF;
1466:
1467: OZF_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'end');
1468:
1469: IF FND_API.to_Boolean( p_commit )
1470: THEN
1471: COMMIT WORK;
1473: -- Debug Message
1474:
1475: EXCEPTION
1476:
1477: WHEN OZF_UTILITY_PVT.resource_locked THEN
1478: x_return_status := FND_API.g_ret_sts_error;
1479: OZF_UTILITY_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
1480:
1481: WHEN FND_API.G_EXC_ERROR THEN
1475: EXCEPTION
1476:
1477: WHEN OZF_UTILITY_PVT.resource_locked THEN
1478: x_return_status := FND_API.g_ret_sts_error;
1479: OZF_UTILITY_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
1480:
1481: WHEN FND_API.G_EXC_ERROR THEN
1482: ROLLBACK TO Create_Adj_New_Disc_Pvt;
1483: x_return_status := FND_API.G_RET_STS_ERROR;
1550: THEN
1551: FND_MSG_PUB.initialize;
1552: END IF;
1553: -- Debug Message
1554: OZF_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
1555: -- Initialize API return status to SUCCESS
1556: x_return_status := FND_API.G_RET_STS_SUCCESS;
1557:
1558: populate_line_disc_rec
1622: THEN
1623: COMMIT WORK;
1624: END IF;
1625: -- Debug Message
1626: OZF_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'end');
1627: EXCEPTION
1628:
1629: WHEN OZF_UTILITY_PVT.resource_locked THEN
1630: x_return_status := FND_API.g_ret_sts_error;
1625: -- Debug Message
1626: OZF_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'end');
1627: EXCEPTION
1628:
1629: WHEN OZF_UTILITY_PVT.resource_locked THEN
1630: x_return_status := FND_API.g_ret_sts_error;
1631: OZF_UTILITY_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
1632:
1633: WHEN FND_API.G_EXC_ERROR THEN
1627: EXCEPTION
1628:
1629: WHEN OZF_UTILITY_PVT.resource_locked THEN
1630: x_return_status := FND_API.g_ret_sts_error;
1631: OZF_UTILITY_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
1632:
1633: WHEN FND_API.G_EXC_ERROR THEN
1634: ROLLBACK TO Update_Adj_New_Disc_Pvt;
1635: x_return_status := FND_API.G_RET_STS_ERROR;