52: ( G_PKG_NAME
53: , 'Get_List_Type'
54: );
55: END IF;
56: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
57: End Get_List_Type;
58:
59: Function Get_Enforce_Price_List
60: (p_blanket_number in number
80: ( G_PKG_NAME
81: , 'Get_Enforce_Price_List'
82: );
83: END IF;
84: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
85: End Get_Enforce_Price_List;
86:
87: -- BLANKETS: End Code Merge, Local Functions
88:
218: OE_Order_Cache.g_header_rec.transactional_curr_code
219: ,x_return_status => l_return_status
220: );
221:
222: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
223: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
224: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
225: RAISE FND_API.G_EXC_ERROR;
226: END IF;
219: ,x_return_status => l_return_status
220: );
221:
222: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
223: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
224: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
225: RAISE FND_API.G_EXC_ERROR;
226: END IF;
227:
220: );
221:
222: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
223: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
224: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
225: RAISE FND_API.G_EXC_ERROR;
226: END IF;
227:
228: IF update_line.line_set_id IS NOT NULL THEN
221:
222: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
223: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
224: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
225: RAISE FND_API.G_EXC_ERROR;
226: END IF;
227:
228: IF update_line.line_set_id IS NOT NULL THEN
229: OE_Delayed_Requests_Pvt.Log_Request
237: ,p_param1 =>
238: OE_Order_Cache.g_header_rec.transactional_curr_code
239: ,x_return_status => l_return_status
240: );
241: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
242: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
243: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
244: RAISE FND_API.G_EXC_ERROR;
245: END IF;
238: OE_Order_Cache.g_header_rec.transactional_curr_code
239: ,x_return_status => l_return_status
240: );
241: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
242: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
243: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
244: RAISE FND_API.G_EXC_ERROR;
245: END IF;
246: END IF;
239: ,x_return_status => l_return_status
240: );
241: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
242: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
243: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
244: RAISE FND_API.G_EXC_ERROR;
245: END IF;
246: END IF;
247: END IF;--End of check for order/quote
240: );
241: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
242: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
243: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
244: RAISE FND_API.G_EXC_ERROR;
245: END IF;
246: END IF;
247: END IF;--End of check for order/quote
248:
315: End;
316:
317:
318: PROCEDURE Header_Adjs
319: ( p_init_msg_list IN VARCHAR2:=FND_API.G_FALSE
320: , p_validation_level IN NUMBER
321: , p_control_rec IN OE_GLOBALS.Control_Rec_Type
322: , p_x_Header_Adj_tbl IN OUT NOCOPY OE_Order_PUB.Header_Adj_Tbl_Type
323: , p_x_old_Header_Adj_tbl IN OUT NOCOPY OE_Order_PUB.Header_Adj_Tbl_Type
348:
349: oe_order_pvt.set_recursion_mode(p_Entity_Code => 3,
350: p_In_out => 1);
351:
352: IF FND_API.to_Boolean(p_init_msg_list) THEN
353: OE_MSG_PUB.initialize;
354: END IF;
355:
356: IF l_control_rec.Process_Partial THEN
378: ELSE
379: l_old_Header_Adj_rec := OE_Order_PUB.G_MISS_HEADER_ADJ_REC;
380: END IF;
381:
382: if l_old_header_adj_rec.price_adjustment_id = FND_API.G_MISS_NUM then
383:
384: IF l_header_adj_rec.header_Id IS NOT NULL AND
385: l_header_adj_rec.header_Id <> FND_API.G_MISS_NUM THEN
386: BEGIN
381:
382: if l_old_header_adj_rec.price_adjustment_id = FND_API.G_MISS_NUM then
383:
384: IF l_header_adj_rec.header_Id IS NOT NULL AND
385: l_header_adj_rec.header_Id <> FND_API.G_MISS_NUM THEN
386: BEGIN
387: IF l_debug_level > 0 THEN
388: oe_debug_pub.add('Getting reference data for header_id:'||l_header_adj_rec.header_Id);
389: END IF;
424:
425: else
426:
427: IF l_old_header_adj_rec.header_Id IS NOT NULL AND
428: l_old_header_adj_rec.header_Id <> FND_API.G_MISS_NUM THEN
429:
430: BEGIN
431: IF l_debug_level > 0 THEN
432: oe_debug_pub.add('Getting reference data for old header_id:'||l_old_header_adj_rec.header_id);
476: );
477:
478: -- Set record return status.
479:
480: l_Header_Adj_rec.return_status := FND_API.G_RET_STS_SUCCESS;
481: p_x_Header_Adj_tbl(I).return_status := FND_API.G_RET_STS_SUCCESS;
482:
483: -- Prepare record.
484:
477:
478: -- Set record return status.
479:
480: l_Header_Adj_rec.return_status := FND_API.G_RET_STS_SUCCESS;
481: p_x_Header_Adj_tbl(I).return_status := FND_API.G_RET_STS_SUCCESS;
482:
483: -- Prepare record.
484:
485: IF l_Header_Adj_rec.operation = OE_GLOBALS.G_OPR_CREATE THEN
483: -- Prepare record.
484:
485: IF l_Header_Adj_rec.operation = OE_GLOBALS.G_OPR_CREATE THEN
486:
487: l_Header_Adj_rec.db_flag := FND_API.G_FALSE;
488:
489: -- Set missing old record elements to NULL.
490:
491: adj_debug('Entering OE_Header_Adj_Util.Convert_Miss_To_Null', 1);
498: ELSIF l_Header_Adj_rec.operation = OE_GLOBALS.G_OPR_UPDATE
499: OR l_Header_Adj_rec.operation = OE_GLOBALS.G_OPR_DELETE
500: THEN
501:
502: l_Header_Adj_rec.db_flag := FND_API.G_TRUE;
503:
504: -- Query Old if missing
505:
506: IF l_old_Header_Adj_rec.price_adjustment_id = FND_API.G_MISS_NUM
502: l_Header_Adj_rec.db_flag := FND_API.G_TRUE;
503:
504: -- Query Old if missing
505:
506: IF l_old_Header_Adj_rec.price_adjustment_id = FND_API.G_MISS_NUM
507: OR l_old_Header_Adj_rec.price_adjustment_id IS NULL
508: THEN
509:
510: OE_Header_Adj_Util.Query_Row
538: END IF;
539:
540: IF I = p_x_header_adj_tbl.FIRST THEN
541: IF NOT oe_order_pvt.Valid_Upgraded_Order(l_header_adj_rec.header_id) THEN
542: RAISE FND_API.G_EXC_ERROR;
543: END IF;
544: END IF;
545:
546: -- Check security
558: , x_result => l_sec_result
559: , x_return_status => l_return_status
560: );
561:
562: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
563: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
564: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
565: RAISE FND_API.G_EXC_ERROR;
566: END IF;
559: , x_return_status => l_return_status
560: );
561:
562: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
563: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
564: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
565: RAISE FND_API.G_EXC_ERROR;
566: END IF;
567:
560: );
561:
562: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
563: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
564: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
565: RAISE FND_API.G_EXC_ERROR;
566: END IF;
567:
568: IF l_sec_result = OE_PC_GLOBALS.YES THEN
561:
562: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
563: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
564: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
565: RAISE FND_API.G_EXC_ERROR;
566: END IF;
567:
568: IF l_sec_result = OE_PC_GLOBALS.YES THEN
569: RAISE FND_API.G_EXC_ERROR;
565: RAISE FND_API.G_EXC_ERROR;
566: END IF;
567:
568: IF l_sec_result = OE_PC_GLOBALS.YES THEN
569: RAISE FND_API.G_EXC_ERROR;
570: END IF;
571:
572: END IF;
573:
572: END IF;
573:
574: -- Attribute level validation.
575:
576: IF p_validation_level > FND_API.G_VALID_LEVEL_NONE THEN
577:
578: OE_Validate_Header_Adj.Attributes
579: ( x_return_status => l_return_status
580: , p_Header_Adj_rec => l_Header_Adj_rec
580: , p_Header_Adj_rec => l_Header_Adj_rec
581: , p_old_Header_Adj_rec => l_old_Header_Adj_rec
582: );
583:
584: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
585: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
586: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
587: RAISE FND_API.G_EXC_ERROR;
588: END IF;
581: , p_old_Header_Adj_rec => l_old_Header_Adj_rec
582: );
583:
584: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
585: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
586: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
587: RAISE FND_API.G_EXC_ERROR;
588: END IF;
589:
582: );
583:
584: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
585: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
586: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
587: RAISE FND_API.G_EXC_ERROR;
588: END IF;
589:
590: END IF;
583:
584: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
585: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
586: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
587: RAISE FND_API.G_EXC_ERROR;
588: END IF;
589:
590: END IF;
591:
654: );
655:
656: END IF;
657:
658: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
659: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
660: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
661: RAISE FND_API.G_EXC_ERROR;
662: END IF;
655:
656: END IF;
657:
658: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
659: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
660: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
661: RAISE FND_API.G_EXC_ERROR;
662: END IF;
663:
656: END IF;
657:
658: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
659: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
660: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
661: RAISE FND_API.G_EXC_ERROR;
662: END IF;
663:
664: END IF;
657:
658: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
659: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
660: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
661: RAISE FND_API.G_EXC_ERROR;
662: END IF;
663:
664: END IF;
665:
678: , x_result => l_sec_result
679: , x_return_status => l_return_status
680: );
681:
682: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
683: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
684: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
685: RAISE FND_API.G_EXC_ERROR;
686: END IF;
679: , x_return_status => l_return_status
680: );
681:
682: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
683: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
684: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
685: RAISE FND_API.G_EXC_ERROR;
686: END IF;
687:
680: );
681:
682: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
683: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
684: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
685: RAISE FND_API.G_EXC_ERROR;
686: END IF;
687:
688: IF l_sec_result = OE_PC_GLOBALS.YES THEN
681:
682: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
683: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
684: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
685: RAISE FND_API.G_EXC_ERROR;
686: END IF;
687:
688: IF l_sec_result = OE_PC_GLOBALS.YES THEN
689: RAISE FND_API.G_EXC_ERROR;
685: RAISE FND_API.G_EXC_ERROR;
686: END IF;
687:
688: IF l_sec_result = OE_PC_GLOBALS.YES THEN
689: RAISE FND_API.G_EXC_ERROR;
690: END IF;
691:
692: END IF;
693:
729: p_requesting_entity_id =>l_header_adj_rec.Header_id,
730: p_request_type => OE_GLOBALS.G_VERIFY_PAYMENT,
731: x_return_status => l_return_status);
732:
733: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
734: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
735: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
736: RAISE FND_API.G_EXC_ERROR;
737: END IF;
730: p_request_type => OE_GLOBALS.G_VERIFY_PAYMENT,
731: x_return_status => l_return_status);
732:
733: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
734: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
735: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
736: RAISE FND_API.G_EXC_ERROR;
737: END IF;
738: END IF;
731: x_return_status => l_return_status);
732:
733: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
734: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
735: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
736: RAISE FND_API.G_EXC_ERROR;
737: END IF;
738: END IF;
739: --CC Reversal ER#16014135 End
732:
733: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
734: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
735: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
736: RAISE FND_API.G_EXC_ERROR;
737: END IF;
738: END IF;
739: --CC Reversal ER#16014135 End
740:
745: p_requesting_entity_id => l_header_adj_rec.HEader_id,
746: p_request_type => OE_GLOBALS.G_PRICE_ADJ,
747: x_return_status => l_return_status);
748: -- sol_ord_er #16014165 start
749: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
750: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
751: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
752: RAISE FND_API.G_EXC_ERROR;
753: END IF;
746: p_request_type => OE_GLOBALS.G_PRICE_ADJ,
747: x_return_status => l_return_status);
748: -- sol_ord_er #16014165 start
749: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
750: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
751: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
752: RAISE FND_API.G_EXC_ERROR;
753: END IF;
754: -- If a manual Header Adjustment gets cascaded
747: x_return_status => l_return_status);
748: -- sol_ord_er #16014165 start
749: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
750: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
751: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
752: RAISE FND_API.G_EXC_ERROR;
753: END IF;
754: -- If a manual Header Adjustment gets cascaded
755: oe_delayed_requests_pvt.log_request(
748: -- sol_ord_er #16014165 start
749: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
750: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
751: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
752: RAISE FND_API.G_EXC_ERROR;
753: END IF;
754: -- If a manual Header Adjustment gets cascaded
755: oe_delayed_requests_pvt.log_request(
756: p_entity_code => OE_GLOBALS.G_ENTITY_ALL,
763: x_return_status => l_return_status);
764: -- sol_ord_er #16014165 end
765: End If;
766:
767: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
768: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
769: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
770: RAISE FND_API.G_EXC_ERROR;
771: END IF;
764: -- sol_ord_er #16014165 end
765: End If;
766:
767: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
768: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
769: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
770: RAISE FND_API.G_EXC_ERROR;
771: END IF;
772:
765: End If;
766:
767: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
768: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
769: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
770: RAISE FND_API.G_EXC_ERROR;
771: END IF;
772:
773: ELSE
766:
767: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
768: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
769: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
770: RAISE FND_API.G_EXC_ERROR;
771: END IF;
772:
773: ELSE
774:
799:
800: p_x_header_adj_tbl(I) := l_Header_Adj_rec;
801: p_x_old_Header_Adj_tbl(I) := l_old_Header_Adj_rec;
802:
803: IF l_header_adj_rec.return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
804: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
805: ELSIF l_header_adj_rec.return_status = FND_API.G_RET_STS_ERROR THEN
806: RAISE FND_API.G_EXC_ERROR;
807: END IF;
800: p_x_header_adj_tbl(I) := l_Header_Adj_rec;
801: p_x_old_Header_Adj_tbl(I) := l_old_Header_Adj_rec;
802:
803: IF l_header_adj_rec.return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
804: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
805: ELSIF l_header_adj_rec.return_status = FND_API.G_RET_STS_ERROR THEN
806: RAISE FND_API.G_EXC_ERROR;
807: END IF;
808:
801: p_x_old_Header_Adj_tbl(I) := l_old_Header_Adj_rec;
802:
803: IF l_header_adj_rec.return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
804: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
805: ELSIF l_header_adj_rec.return_status = FND_API.G_RET_STS_ERROR THEN
806: RAISE FND_API.G_EXC_ERROR;
807: END IF;
808:
809: OE_Header_Adj_Security.g_check_all_cols_constraint := 'Y';
802:
803: IF l_header_adj_rec.return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
804: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
805: ELSIF l_header_adj_rec.return_status = FND_API.G_RET_STS_ERROR THEN
806: RAISE FND_API.G_EXC_ERROR;
807: END IF;
808:
809: OE_Header_Adj_Security.g_check_all_cols_constraint := 'Y';
810: OE_MSG_PUB.reset_msg_context('HEADER_ADJ');
830: THEN
831:
832: OE_DBI_UTIL.Update_DBI_Log( x_return_status => l_return_status);
833:
834: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
835: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
836: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
837: RAISE FND_API.G_EXC_ERROR;
838: END IF;
831:
832: OE_DBI_UTIL.Update_DBI_Log( x_return_status => l_return_status);
833:
834: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
835: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
836: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
837: RAISE FND_API.G_EXC_ERROR;
838: END IF;
839: END IF;
832: OE_DBI_UTIL.Update_DBI_Log( x_return_status => l_return_status);
833:
834: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
835: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
836: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
837: RAISE FND_API.G_EXC_ERROR;
838: END IF;
839: END IF;
840:
833:
834: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
835: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
836: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
837: RAISE FND_API.G_EXC_ERROR;
838: END IF;
839: END IF;
840:
841: --
844:
845:
846: EXCEPTION
847:
848: WHEN FND_API.G_EXC_ERROR THEN
849:
850: l_Header_Adj_rec.return_status := FND_API.G_RET_STS_ERROR;
851: p_x_header_adj_tbl(I) := l_Header_Adj_rec;
852: p_x_old_Header_Adj_tbl(I) := l_old_Header_Adj_rec;
846: EXCEPTION
847:
848: WHEN FND_API.G_EXC_ERROR THEN
849:
850: l_Header_Adj_rec.return_status := FND_API.G_RET_STS_ERROR;
851: p_x_header_adj_tbl(I) := l_Header_Adj_rec;
852: p_x_old_Header_Adj_tbl(I) := l_old_Header_Adj_rec;
853: OE_Header_Adj_Security.g_check_all_cols_constraint := 'Y';
854: OE_MSG_PUB.reset_msg_context('HEADER_ADJ');
858: x_return_status => l_return_status);
859: IF l_control_rec.Process_Partial THEN
860: ROLLBACK TO SAVEPOINT Header_Adjs;
861: ELSE
862: RAISE FND_API.G_EXC_ERROR;
863: END IF;
864:
865:
866: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
862: RAISE FND_API.G_EXC_ERROR;
863: END IF;
864:
865:
866: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
867:
868: l_Header_Adj_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
869: p_x_header_adj_tbl(I) := l_Header_Adj_rec;
870: p_x_old_Header_Adj_tbl(I) := l_old_Header_Adj_rec;
864:
865:
866: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
867:
868: l_Header_Adj_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
869: p_x_header_adj_tbl(I) := l_Header_Adj_rec;
870: p_x_old_Header_Adj_tbl(I) := l_old_Header_Adj_rec;
871: OE_Header_Adj_Security.g_check_all_cols_constraint := 'Y';
872: OE_MSG_PUB.reset_msg_context('HEADER_ADJ');
873: oe_delayed_requests_pvt.delete_request(p_entity_code =>OE_GLOBALS.G_ENTITY_HEADER_ADJ,
874: p_entity_id => l_header_adj_rec.Price_adjustment_id,
875: p_request_type => NULL,
876: x_return_status => l_return_status);
877: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
878:
879: WHEN OTHERS THEN
880:
881: l_Header_Adj_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
877: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
878:
879: WHEN OTHERS THEN
880:
881: l_Header_Adj_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
882: p_x_header_adj_tbl(I) := l_Header_Adj_rec;
883: p_x_old_Header_Adj_tbl(I) := l_old_Header_Adj_rec;
884: OE_Header_Adj_Security.g_check_all_cols_constraint := 'Y';
885: oe_delayed_requests_pvt.delete_request(p_entity_code =>OE_GLOBALS.G_ENTITY_HEADER_ADJ,
895: );
896: END IF;
897:
898: OE_MSG_PUB.reset_msg_context('HEADER_ADJ');
899: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
900:
901: END;
902: I := p_x_header_adj_tbl.NEXT(I);
903: END LOOP;
911: p_In_out => 0);
912:
913: EXCEPTION
914:
915: WHEN FND_API.G_EXC_ERROR THEN
916: oe_order_pvt.set_recursion_mode(p_Entity_Code => 3,
917: p_In_out => 0);
918:
919: OE_MSG_PUB.reset_msg_context('HEADER_ADJ');
918:
919: OE_MSG_PUB.reset_msg_context('HEADER_ADJ');
920: RAISE;
921:
922: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
923: oe_order_pvt.set_recursion_mode(p_Entity_Code => 3,
924: p_In_out => 0);
925:
926: OE_MSG_PUB.reset_msg_context('HEADER_ADJ');
939: END IF;
940:
941:
942: OE_MSG_PUB.reset_msg_context('HEADER_ADJ');
943: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
944:
945: END Header_Adjs;
946:
947: -- Line_Adjs
946:
947: -- Line_Adjs
948:
949: PROCEDURE Line_Adjs
950: ( p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
951: , p_validation_level IN NUMBER
952: , p_control_rec IN OE_GLOBALS.Control_Rec_Type
953: , p_x_Line_Adj_tbl IN OUT NOCOPY OE_Order_PUB.Line_Adj_Tbl_Type
954: , p_x_old_Line_Adj_tbl IN OUT NOCOPY OE_Order_PUB.Line_Adj_Tbl_Type
987: adj_debug('Entering oe_order_Adj_pvt.LINE_ADJS', 1);
988: oe_order_pvt.set_recursion_mode(p_Entity_Code => 6,
989: p_In_out => 1);
990:
991: IF FND_API.to_Boolean(p_init_msg_list) THEN
992: OE_MSG_PUB.initialize;
993: END IF;
994:
995: IF l_control_rec.Process_Partial THEN
1016: ELSE
1017: l_old_Line_Adj_rec := OE_Order_PUB.G_MISS_LINE_ADJ_REC;
1018: END IF;
1019:
1020: if l_old_line_Adj_rec.price_adjustment_id = FND_API.G_MISS_NUM then
1021:
1022: IF l_line_adj_rec.line_id IS NOT NULL AND
1023: l_line_adj_rec.line_id <> FND_API.G_MISS_NUM THEN
1024: BEGIN
1019:
1020: if l_old_line_Adj_rec.price_adjustment_id = FND_API.G_MISS_NUM then
1021:
1022: IF l_line_adj_rec.line_id IS NOT NULL AND
1023: l_line_adj_rec.line_id <> FND_API.G_MISS_NUM THEN
1024: BEGIN
1025: IF l_debug_level > 0 THEN
1026: oe_debug_pub.add('Getting reference data for line_id:'||l_line_adj_rec.line_id);
1027: END IF;
1071:
1072: else
1073:
1074: IF l_old_line_adj_rec.line_id IS NOT NULL AND
1075: l_old_line_adj_rec.line_id <> FND_API.G_MISS_NUM THEN
1076: BEGIN
1077: IF l_debug_level > 0 THEN
1078: oe_debug_pub.add('Getting reference data for old line_id:'||l_old_line_adj_rec.line_id);
1079: END IF;
1130: );
1131:
1132: -- Set record return status.
1133:
1134: l_Line_Adj_rec.return_status := FND_API.G_RET_STS_SUCCESS;
1135: p_x_line_adj_tbl(I).return_status := FND_API.G_RET_STS_SUCCESS;
1136:
1137: -- Prepare record.
1138:
1131:
1132: -- Set record return status.
1133:
1134: l_Line_Adj_rec.return_status := FND_API.G_RET_STS_SUCCESS;
1135: p_x_line_adj_tbl(I).return_status := FND_API.G_RET_STS_SUCCESS;
1136:
1137: -- Prepare record.
1138:
1139: IF l_Line_Adj_rec.operation = OE_GLOBALS.G_OPR_CREATE THEN
1137: -- Prepare record.
1138:
1139: IF l_Line_Adj_rec.operation = OE_GLOBALS.G_OPR_CREATE THEN
1140:
1141: l_Line_Adj_rec.db_flag := FND_API.G_FALSE;
1142:
1143: -- Set missing old record elements to NULL.
1144:
1145: -- l_old_Line_Adj_rec :=
1161: oe_oe_form_line.get_line(p_db_record => FALSE,
1162: p_line_id => l_line_adj_rec.line_id,
1163: x_line_rec => l_line_temp_rec);
1164: l_last_line_id := l_line_adj_rec.line_id;
1165: if nvl(l_line_temp_rec.line_id,FND_API.G_MISS_NUM) <>
1166: FND_API.G_MISS_NUM then
1167: l_line_found := 'Y';
1168: adj_debug('Line id found:');
1169: else
1162: p_line_id => l_line_adj_rec.line_id,
1163: x_line_rec => l_line_temp_rec);
1164: l_last_line_id := l_line_adj_rec.line_id;
1165: if nvl(l_line_temp_rec.line_id,FND_API.G_MISS_NUM) <>
1166: FND_API.G_MISS_NUM then
1167: l_line_found := 'Y';
1168: adj_debug('Line id found:');
1169: else
1170: l_line_found := 'N';
1186: ELSIF l_Line_Adj_rec.operation = OE_GLOBALS.G_OPR_UPDATE
1187: OR l_Line_Adj_rec.operation = OE_GLOBALS.G_OPR_DELETE
1188: THEN
1189:
1190: l_Line_Adj_rec.db_flag := FND_API.G_TRUE;
1191:
1192: -- Query Old if missing
1193:
1194: IF l_old_Line_Adj_rec.price_adjustment_id = FND_API.G_MISS_NUM
1190: l_Line_Adj_rec.db_flag := FND_API.G_TRUE;
1191:
1192: -- Query Old if missing
1193:
1194: IF l_old_Line_Adj_rec.price_adjustment_id = FND_API.G_MISS_NUM
1195: OR l_old_Line_Adj_rec.line_id IS NULL
1196: THEN
1197:
1198: OE_Line_Adj_Util.Query_Row
1229:
1230:
1231: IF I = p_x_line_adj_tbl.FIRST THEN
1232: IF NOT oe_order_pvt.Valid_Upgraded_Order(l_line_adj_rec.header_id) THEN
1233: RAISE FND_API.G_EXC_ERROR;
1234: END IF;
1235: END IF;
1236:
1237: -- Check security
1249: , x_result => l_sec_result
1250: , x_return_status => l_return_status
1251: );
1252:
1253: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1254: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1255: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1256: RAISE FND_API.G_EXC_ERROR;
1257: END IF;
1250: , x_return_status => l_return_status
1251: );
1252:
1253: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1254: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1255: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1256: RAISE FND_API.G_EXC_ERROR;
1257: END IF;
1258:
1251: );
1252:
1253: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1254: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1255: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1256: RAISE FND_API.G_EXC_ERROR;
1257: END IF;
1258:
1259: IF l_sec_result = OE_PC_GLOBALS.YES THEN
1252:
1253: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1254: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1255: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1256: RAISE FND_API.G_EXC_ERROR;
1257: END IF;
1258:
1259: IF l_sec_result = OE_PC_GLOBALS.YES THEN
1260: RAISE FND_API.G_EXC_ERROR;
1256: RAISE FND_API.G_EXC_ERROR;
1257: END IF;
1258:
1259: IF l_sec_result = OE_PC_GLOBALS.YES THEN
1260: RAISE FND_API.G_EXC_ERROR;
1261: END IF;
1262:
1263: END IF;
1264:
1263: END IF;
1264:
1265: -- Attribute level validation.
1266:
1267: IF p_validation_level > FND_API.G_VALID_LEVEL_NONE THEN
1268:
1269: adj_debug('Before OE_Validate_Line_Adj.Attributes . ' ||
1270: ' adj_id = '|| To_char(l_line_adj_rec.price_adjustment_id), 2);
1271:
1274: , p_Line_Adj_rec => l_Line_Adj_rec
1275: , p_old_Line_Adj_rec => l_old_Line_Adj_rec
1276: );
1277:
1278: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1279: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1280: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1281: RAISE FND_API.G_EXC_ERROR;
1282: END IF;
1275: , p_old_Line_Adj_rec => l_old_Line_Adj_rec
1276: );
1277:
1278: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1279: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1280: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1281: RAISE FND_API.G_EXC_ERROR;
1282: END IF;
1283:
1276: );
1277:
1278: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1279: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1280: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1281: RAISE FND_API.G_EXC_ERROR;
1282: END IF;
1283:
1284:
1277:
1278: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1279: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1280: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1281: RAISE FND_API.G_EXC_ERROR;
1282: END IF;
1283:
1284:
1285: END IF;
1342: oe_line_adj_util.log_adj_requests(l_return_status,
1343: l_line_adj_rec,
1344: l_old_line_adj_rec);
1345:
1346: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1347: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1348: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1349: RAISE FND_API.G_EXC_ERROR;
1350: END IF;
1343: l_line_adj_rec,
1344: l_old_line_adj_rec);
1345:
1346: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1347: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1348: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1349: RAISE FND_API.G_EXC_ERROR;
1350: END IF;
1351:
1344: l_old_line_adj_rec);
1345:
1346: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1347: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1348: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1349: RAISE FND_API.G_EXC_ERROR;
1350: END IF;
1351:
1352: END IF; */
1345:
1346: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1347: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1348: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1349: RAISE FND_API.G_EXC_ERROR;
1350: END IF;
1351:
1352: END IF; */
1353:
1378:
1379: END IF;
1380:
1381: adj_debug('Stt '||l_return_status,3);
1382: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1383: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1384: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1385: RAISE FND_API.G_EXC_ERROR;
1386: END IF;
1379: END IF;
1380:
1381: adj_debug('Stt '||l_return_status,3);
1382: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1383: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1384: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1385: RAISE FND_API.G_EXC_ERROR;
1386: END IF;
1387:
1380:
1381: adj_debug('Stt '||l_return_status,3);
1382: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1383: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1384: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1385: RAISE FND_API.G_EXC_ERROR;
1386: END IF;
1387:
1388: END IF;
1381: adj_debug('Stt '||l_return_status,3);
1382: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1383: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1384: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1385: RAISE FND_API.G_EXC_ERROR;
1386: END IF;
1387:
1388: END IF;
1389: adj_debug('Before Check_security..',2);
1401: );
1402:
1403: adj_debug('After Check Entity Security',2);
1404:
1405: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1406: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1407: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1408: RAISE FND_API.G_EXC_ERROR;
1409: END IF;
1402:
1403: adj_debug('After Check Entity Security',2);
1404:
1405: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1406: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1407: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1408: RAISE FND_API.G_EXC_ERROR;
1409: END IF;
1410:
1403: adj_debug('After Check Entity Security',2);
1404:
1405: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1406: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1407: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1408: RAISE FND_API.G_EXC_ERROR;
1409: END IF;
1410:
1411: IF l_sec_result = OE_PC_GLOBALS.YES THEN
1404:
1405: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1406: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1407: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1408: RAISE FND_API.G_EXC_ERROR;
1409: END IF;
1410:
1411: IF l_sec_result = OE_PC_GLOBALS.YES THEN
1412: RAISE FND_API.G_EXC_ERROR;
1408: RAISE FND_API.G_EXC_ERROR;
1409: END IF;
1410:
1411: IF l_sec_result = OE_PC_GLOBALS.YES THEN
1412: RAISE FND_API.G_EXC_ERROR;
1413: END IF;
1414:
1415: END IF;
1416:
1456: p_requesting_entity_code => OE_GLOBALS.G_ENTITY_LINE,
1457: p_requesting_entity_id =>l_Line_adj_rec.header_id,
1458: p_request_type => OE_GLOBALS.G_VERIFY_PAYMENT,
1459: x_return_status => l_return_status);
1460: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1461: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1462: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1463: RAISE FND_API.G_EXC_ERROR;
1464: END IF;
1457: p_requesting_entity_id =>l_Line_adj_rec.header_id,
1458: p_request_type => OE_GLOBALS.G_VERIFY_PAYMENT,
1459: x_return_status => l_return_status);
1460: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1461: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1462: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1463: RAISE FND_API.G_EXC_ERROR;
1464: END IF;
1465: END IF;
1458: p_request_type => OE_GLOBALS.G_VERIFY_PAYMENT,
1459: x_return_status => l_return_status);
1460: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1461: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1462: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1463: RAISE FND_API.G_EXC_ERROR;
1464: END IF;
1465: END IF;
1466: --CC Reversal ER#16014135 End
1459: x_return_status => l_return_status);
1460: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1461: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1462: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1463: RAISE FND_API.G_EXC_ERROR;
1464: END IF;
1465: END IF;
1466: --CC Reversal ER#16014135 End
1467:
1473: p_requesting_entity_id => l_Line_adj_rec.header_id,
1474: p_request_type => OE_GLOBALS.G_PRICE_ADJ,
1475: x_return_status => l_return_status);
1476: -- sol_ord_er #16014165 start
1477: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1478: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1479: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1480: RAISE FND_API.G_EXC_ERROR;
1481: END IF;
1474: p_request_type => OE_GLOBALS.G_PRICE_ADJ,
1475: x_return_status => l_return_status);
1476: -- sol_ord_er #16014165 start
1477: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1478: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1479: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1480: RAISE FND_API.G_EXC_ERROR;
1481: END IF;
1482: oe_delayed_requests_pvt.log_request(
1475: x_return_status => l_return_status);
1476: -- sol_ord_er #16014165 start
1477: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1478: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1479: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1480: RAISE FND_API.G_EXC_ERROR;
1481: END IF;
1482: oe_delayed_requests_pvt.log_request(
1483: p_entity_code => OE_GLOBALS.G_ENTITY_ALL,
1476: -- sol_ord_er #16014165 start
1477: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1478: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1479: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1480: RAISE FND_API.G_EXC_ERROR;
1481: END IF;
1482: oe_delayed_requests_pvt.log_request(
1483: p_entity_code => OE_GLOBALS.G_ENTITY_ALL,
1484: p_entity_id => l_Line_adj_rec.Header_Id,
1509: p_request_type => OE_GLOBALS.G_PRICE_ADJ,
1510: x_return_status => l_return_status);
1511: end if;
1512: -- sol_ord_er #16014165
1513: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1514: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1515: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1516: RAISE FND_API.G_EXC_ERROR;
1517: END IF;
1510: x_return_status => l_return_status);
1511: end if;
1512: -- sol_ord_er #16014165
1513: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1514: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1515: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1516: RAISE FND_API.G_EXC_ERROR;
1517: END IF;
1518: oe_delayed_requests_pvt.log_request(
1511: end if;
1512: -- sol_ord_er #16014165
1513: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1514: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1515: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1516: RAISE FND_API.G_EXC_ERROR;
1517: END IF;
1518: oe_delayed_requests_pvt.log_request(
1519: p_entity_code => OE_GLOBALS.G_ENTITY_LINE,
1512: -- sol_ord_er #16014165
1513: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1514: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1515: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1516: RAISE FND_API.G_EXC_ERROR;
1517: END IF;
1518: oe_delayed_requests_pvt.log_request(
1519: p_entity_code => OE_GLOBALS.G_ENTITY_LINE,
1520: p_entity_id => l_Line_adj_rec.line_id,
1527: -- sol_ord_er #16014165 end
1528: end if;
1529: End If;
1530:
1531: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1532: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1533: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1534: RAISE FND_API.G_EXC_ERROR;
1535: END IF;
1528: end if;
1529: End If;
1530:
1531: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1532: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1533: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1534: RAISE FND_API.G_EXC_ERROR;
1535: END IF;
1536:
1529: End If;
1530:
1531: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1532: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1533: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1534: RAISE FND_API.G_EXC_ERROR;
1535: END IF;
1536:
1537:
1530:
1531: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1532: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1533: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1534: RAISE FND_API.G_EXC_ERROR;
1535: END IF;
1536:
1537:
1538: ELSE
1572: OE_Line_Adj_Security.g_check_all_cols_constraint := 'Y';
1573: OE_MSG_PUB.reset_msg_context('LINE_ADJ');
1574: -- Check return status and rollaback
1575:
1576: IF l_line_adj_rec.return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1577: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1578: ELSIF l_line_adj_rec.return_status = FND_API.G_RET_STS_ERROR THEN
1579: RAISE FND_API.G_EXC_ERROR;
1580: END IF;
1573: OE_MSG_PUB.reset_msg_context('LINE_ADJ');
1574: -- Check return status and rollaback
1575:
1576: IF l_line_adj_rec.return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1577: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1578: ELSIF l_line_adj_rec.return_status = FND_API.G_RET_STS_ERROR THEN
1579: RAISE FND_API.G_EXC_ERROR;
1580: END IF;
1581:
1574: -- Check return status and rollaback
1575:
1576: IF l_line_adj_rec.return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1577: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1578: ELSIF l_line_adj_rec.return_status = FND_API.G_RET_STS_ERROR THEN
1579: RAISE FND_API.G_EXC_ERROR;
1580: END IF;
1581:
1582: -- loop exception handler.
1575:
1576: IF l_line_adj_rec.return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1577: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1578: ELSIF l_line_adj_rec.return_status = FND_API.G_RET_STS_ERROR THEN
1579: RAISE FND_API.G_EXC_ERROR;
1580: END IF;
1581:
1582: -- loop exception handler.
1583:
1599: l_control_rec.write_to_db
1600: THEN
1601: OE_DBI_UTIL.Update_DBI_Log( x_return_status => l_return_status);
1602:
1603: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1604: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1605: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1606: RAISE FND_API.G_EXC_ERROR;
1607: END IF;
1600: THEN
1601: OE_DBI_UTIL.Update_DBI_Log( x_return_status => l_return_status);
1602:
1603: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1604: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1605: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1606: RAISE FND_API.G_EXC_ERROR;
1607: END IF;
1608: END IF;
1601: OE_DBI_UTIL.Update_DBI_Log( x_return_status => l_return_status);
1602:
1603: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1604: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1605: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1606: RAISE FND_API.G_EXC_ERROR;
1607: END IF;
1608: END IF;
1609:
1602:
1603: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1604: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1605: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1606: RAISE FND_API.G_EXC_ERROR;
1607: END IF;
1608: END IF;
1609:
1610: --
1619:
1620:
1621: EXCEPTION
1622:
1623: WHEN FND_API.G_EXC_ERROR THEN
1624:
1625: l_Line_Adj_rec.return_status := FND_API.G_RET_STS_ERROR;
1626: p_x_Line_Adj_tbl(I) := l_Line_Adj_rec;
1627: p_x_old_Line_Adj_tbl(I) := l_old_Line_Adj_rec;
1621: EXCEPTION
1622:
1623: WHEN FND_API.G_EXC_ERROR THEN
1624:
1625: l_Line_Adj_rec.return_status := FND_API.G_RET_STS_ERROR;
1626: p_x_Line_Adj_tbl(I) := l_Line_Adj_rec;
1627: p_x_old_Line_Adj_tbl(I) := l_old_Line_Adj_rec;
1628: OE_Line_Adj_Security.g_check_all_cols_constraint := 'Y';
1629: OE_MSG_PUB.reset_msg_context('LINE_ADJ');
1633: x_return_status => l_return_status);
1634: IF l_control_rec.Process_Partial THEN
1635: ROLLBACK TO SAVEPOINT Line_Adjs;
1636: ELSE
1637: RAISE FND_API.G_EXC_ERROR;
1638: END IF;
1639:
1640: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1641:
1636: ELSE
1637: RAISE FND_API.G_EXC_ERROR;
1638: END IF;
1639:
1640: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1641:
1642: l_Line_Adj_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1643: p_x_Line_Adj_tbl(I) := l_Line_Adj_rec;
1644: p_x_old_Line_Adj_tbl(I) := l_old_Line_Adj_rec;
1638: END IF;
1639:
1640: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1641:
1642: l_Line_Adj_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1643: p_x_Line_Adj_tbl(I) := l_Line_Adj_rec;
1644: p_x_old_Line_Adj_tbl(I) := l_old_Line_Adj_rec;
1645: OE_Line_Adj_Security.g_check_all_cols_constraint := 'Y';
1646: OE_MSG_PUB.reset_msg_context('LINE_ADJ');
1647: oe_delayed_requests_pvt.delete_request(p_entity_code =>OE_GLOBALS.G_ENTITY_LINE_ADJ,
1648: p_entity_id => l_line_adj_rec.Price_adjustment_id,
1649: p_request_type => NULL,
1650: x_return_status => l_return_status);
1651: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1652:
1653: WHEN OTHERS THEN
1654:
1655: l_Line_Adj_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1651: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1652:
1653: WHEN OTHERS THEN
1654:
1655: l_Line_Adj_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1656: p_x_Line_Adj_tbl(I) := l_Line_Adj_rec;
1657: p_x_old_Line_Adj_tbl(I) := l_old_Line_Adj_rec;
1658: OE_Line_Adj_Security.g_check_all_cols_constraint := 'Y';
1659: oe_delayed_requests_pvt.delete_request(p_entity_code =>OE_GLOBALS.G_ENTITY_LINE_ADJ,
1669: );
1670: END IF;
1671:
1672: OE_MSG_PUB.reset_msg_context('LINE_ADJ');
1673: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1674:
1675: END;
1676: <
1677: I := p_x_Line_Adj_tbl.NEXT(I);
1685: p_In_out => 0);
1686:
1687: EXCEPTION
1688:
1689: WHEN FND_API.G_EXC_ERROR THEN
1690:
1691: oe_order_pvt.set_recursion_mode(p_Entity_Code => 6,
1692: p_In_out => 0);
1693:
1694: adj_debug('Exiting oe_order_Adj_pvt.LINE_ADJS', 1);
1695: OE_MSG_PUB.reset_msg_context('LINE_ADJ');
1696: RAISE;
1697:
1698: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1699: oe_order_pvt.set_recursion_mode(p_Entity_Code => 6,
1700: p_In_out => 0);
1701:
1702:
1716: END IF;
1717:
1718:
1719: OE_MSG_PUB.reset_msg_context('LINE_ADJ');
1720: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1721:
1722: END Line_Adjs;
1723:
1724: PROCEDURE HEader_Price_Atts
1721:
1722: END Line_Adjs;
1723:
1724: PROCEDURE HEader_Price_Atts
1725: ( p_init_msg_list IN VARCHAR2:=FND_API.G_FALSE
1726: , p_validation_level IN NUMBER
1727: , p_control_rec IN OE_GLOBALS.Control_Rec_Type
1728: , p_x_HEader_Price_Att_tbl IN OUT NOCOPY OE_Order_PUB.HEader_Price_Att_Tbl_Type
1729: , p_x_old_HEader_Price_Att_tbl IN OUT NOCOPY OE_Order_PUB.HEader_Price_Att_Tbl_Type
1753: BEGIN
1754:
1755: l_control_rec := p_control_rec; -- Added for Bug #5679839
1756:
1757: IF FND_API.to_Boolean(p_init_msg_list) THEN
1758: OE_MSG_PUB.initialize;
1759: END IF;
1760:
1761: IF l_control_rec.Process_Partial THEN
1782: ELSE
1783: l_old_Header_Price_Att_rec := OE_Order_PUB.G_MISS_HEADER_Price_Att_REC;
1784: END IF;
1785:
1786: if l_old_header_Price_Att_rec.Order_price_attrib_id = FND_API.G_MISS_NUM then
1787: IF l_header_Price_Att_rec.header_Id IS NOT NULL AND
1788: l_header_Price_Att_rec.header_Id <> FND_API.G_MISS_NUM THEN
1789: BEGIN
1790: IF l_debug_level > 0 THEN
1784: END IF;
1785:
1786: if l_old_header_Price_Att_rec.Order_price_attrib_id = FND_API.G_MISS_NUM then
1787: IF l_header_Price_Att_rec.header_Id IS NOT NULL AND
1788: l_header_Price_Att_rec.header_Id <> FND_API.G_MISS_NUM THEN
1789: BEGIN
1790: IF l_debug_level > 0 THEN
1791: oe_debug_pub.add('Getting reference data for header_id:'||l_header_Price_Att_rec.header_Id);
1792: END IF;
1827:
1828: else
1829:
1830: IF l_old_header_Price_Att_rec.header_Id IS NOT NULL AND
1831: l_old_header_Price_Att_rec.header_Id <> FND_API.G_MISS_NUM THEN
1832:
1833: BEGIN
1834: IF l_debug_level > 0 THEN
1835: oe_debug_pub.add('Getting reference data for old header_id:'||l_old_header_Price_Att_rec.header_Id);
1879: );
1880:
1881: -- Set record return status.
1882:
1883: l_Header_Price_Att_rec.return_status := FND_API.G_RET_STS_SUCCESS;
1884:
1885: oe_debug_pub.add(' After initializing record,operation:'||l_Header_Price_Att_rec.operation);
1886: -- Prepare record.
1887:
1886: -- Prepare record.
1887:
1888: IF l_Header_Price_Att_rec.operation = OE_GLOBALS.G_OPR_CREATE THEN
1889:
1890: l_Header_Price_Att_rec.db_flag := FND_API.G_FALSE;
1891:
1892: -- Set missing old record elements to NULL.
1893:
1894: oe_debug_pub.add('Entering OE_Header_Price_Att_Util.Convert_Miss_To_Null', 2);
1898: ELSIF l_Header_Price_Att_rec.operation = OE_GLOBALS.G_OPR_UPDATE
1899: OR l_Header_Price_Att_rec.operation = OE_GLOBALS.G_OPR_DELETE
1900: THEN
1901:
1902: l_Header_Price_Att_rec.db_flag := FND_API.G_TRUE;
1903:
1904: -- Query Old if missing
1905:
1906: IF l_old_Header_Price_Att_rec.order_price_attrib_id = FND_API.G_MISS_NUM
1902: l_Header_Price_Att_rec.db_flag := FND_API.G_TRUE;
1903:
1904: -- Query Old if missing
1905:
1906: IF l_old_Header_Price_Att_rec.order_price_attrib_id = FND_API.G_MISS_NUM
1907: THEN
1908:
1909:
1910: OE_Header_PAttr_Util.Query_Row
1938:
1939:
1940: IF I = p_x_header_Price_Att_tbl.FIRST THEN
1941: IF NOT oe_order_pvt.Valid_Upgraded_Order(l_header_Price_Att_rec.header_id) THEN
1942: RAISE FND_API.G_EXC_ERROR;
1943: END IF;
1944: END IF;
1945:
1946:
1945:
1946:
1947: -- Attribute level validation.
1948:
1949: IF p_validation_level > FND_API.G_VALID_LEVEL_NONE THEN
1950: oe_debug_pub.add(' In OE_Validate_Header_Pattr.Attributes');
1951: OE_Validate_Header_Pattr.Attributes
1952: ( x_return_status => l_return_status
1953: , p_Header_Price_Attr_rec => l_Header_Price_Att_rec
1954: , p_old_Header_Price_Attr_rec => l_old_Header_Price_Att_rec
1955: , p_validation_level => p_validation_level
1956: );
1957:
1958: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1959: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1960: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1961: RAISE FND_API.G_EXC_ERROR;
1962: END IF;
1955: , p_validation_level => p_validation_level
1956: );
1957:
1958: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1959: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1960: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1961: RAISE FND_API.G_EXC_ERROR;
1962: END IF;
1963:
1956: );
1957:
1958: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1959: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1960: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1961: RAISE FND_API.G_EXC_ERROR;
1962: END IF;
1963:
1964: END IF;
1957:
1958: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1959: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1960: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1961: RAISE FND_API.G_EXC_ERROR;
1962: END IF;
1963:
1964: END IF;
1965:
2027: null;
2028:
2029: END IF;
2030:
2031: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2032: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2033: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
2034: RAISE FND_API.G_EXC_ERROR;
2035: END IF;
2028:
2029: END IF;
2030:
2031: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2032: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2033: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
2034: RAISE FND_API.G_EXC_ERROR;
2035: END IF;
2036:
2029: END IF;
2030:
2031: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2032: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2033: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
2034: RAISE FND_API.G_EXC_ERROR;
2035: END IF;
2036:
2037: END IF;
2030:
2031: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2032: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2033: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
2034: RAISE FND_API.G_EXC_ERROR;
2035: END IF;
2036:
2037: END IF;
2038:
2071: x_return_status => l_return_status);
2072: */
2073: Begin
2074: -- use order_header cache instead of sql : bug 4200055
2075: if ( OE_Order_Cache.g_header_rec.header_id <> FND_API.G_MISS_NUM
2076: and OE_Order_Cache.g_header_rec.header_id IS NOT NULL
2077: and OE_Order_Cache.g_header_rec.header_id = l_header_price_att_rec.header_id ) then
2078: l_booked_flag := OE_Order_Cache.g_header_rec.booked_flag ;
2079: else
2118: p_request_type => OE_GLOBALS.G_PRICE_ORDER,
2119: x_return_status => l_return_status);
2120:
2121:
2122: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2123: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2124: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
2125: RAISE FND_API.G_EXC_ERROR;
2126: END IF;
2119: x_return_status => l_return_status);
2120:
2121:
2122: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2123: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2124: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
2125: RAISE FND_API.G_EXC_ERROR;
2126: END IF;
2127: --2442012
2120:
2121:
2122: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2123: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2124: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
2125: RAISE FND_API.G_EXC_ERROR;
2126: END IF;
2127: --2442012
2128: ELSE
2121:
2122: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2123: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2124: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
2125: RAISE FND_API.G_EXC_ERROR;
2126: END IF;
2127: --2442012
2128: ELSE
2129:
2159:
2160: p_x_Header_Price_Att_tbl(I) := l_Header_Price_Att_rec;
2161: p_x_old_Header_Price_Att_tbl(I) := l_old_Header_Price_Att_rec;
2162:
2163: IF l_header_Price_Att_rec.return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2164: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2165: ELSIF l_header_Price_Att_rec.return_status = FND_API.G_RET_STS_ERROR THEN
2166: RAISE FND_API.G_EXC_ERROR;
2167: END IF;
2160: p_x_Header_Price_Att_tbl(I) := l_Header_Price_Att_rec;
2161: p_x_old_Header_Price_Att_tbl(I) := l_old_Header_Price_Att_rec;
2162:
2163: IF l_header_Price_Att_rec.return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2164: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2165: ELSIF l_header_Price_Att_rec.return_status = FND_API.G_RET_STS_ERROR THEN
2166: RAISE FND_API.G_EXC_ERROR;
2167: END IF;
2168: /*
2161: p_x_old_Header_Price_Att_tbl(I) := l_old_Header_Price_Att_rec;
2162:
2163: IF l_header_Price_Att_rec.return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2164: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2165: ELSIF l_header_Price_Att_rec.return_status = FND_API.G_RET_STS_ERROR THEN
2166: RAISE FND_API.G_EXC_ERROR;
2167: END IF;
2168: /*
2169:
2162:
2163: IF l_header_Price_Att_rec.return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2164: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2165: ELSIF l_header_Price_Att_rec.return_status = FND_API.G_RET_STS_ERROR THEN
2166: RAISE FND_API.G_EXC_ERROR;
2167: END IF;
2168: /*
2169:
2170: OE_Header_PAttr_Security.g_check_all_cols_constraint := 'Y';
2173: -- loop exception handler.
2174:
2175: EXCEPTION
2176:
2177: WHEN FND_API.G_EXC_ERROR THEN
2178:
2179: l_Header_Price_Att_rec.return_status := FND_API.G_RET_STS_ERROR;
2180: p_x_Header_Price_Att_tbl(I) := l_Header_Price_Att_rec;
2181: p_x_old_Header_Price_Att_tbl(I) := l_old_Header_Price_Att_rec;
2175: EXCEPTION
2176:
2177: WHEN FND_API.G_EXC_ERROR THEN
2178:
2179: l_Header_Price_Att_rec.return_status := FND_API.G_RET_STS_ERROR;
2180: p_x_Header_Price_Att_tbl(I) := l_Header_Price_Att_rec;
2181: p_x_old_Header_Price_Att_tbl(I) := l_old_Header_Price_Att_rec;
2182: /*
2183: OE_Header_PAttr_Security.g_check_all_cols_constraint := 'Y';
2190: */
2191: IF l_control_rec.Process_Partial THEN
2192: ROLLBACK TO SAVEPOINT Header_Price_Atts;
2193: ELSE
2194: RAISE FND_API.G_EXC_ERROR;
2195: END IF;
2196:
2197:
2198: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2194: RAISE FND_API.G_EXC_ERROR;
2195: END IF;
2196:
2197:
2198: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2199:
2200: l_Header_Price_Att_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2201: p_x_Header_Price_Att_tbl(I) := l_Header_Price_Att_rec;
2202: p_x_old_Header_Price_Att_tbl(I) := l_old_Header_Price_Att_rec;
2196:
2197:
2198: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2199:
2200: l_Header_Price_Att_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2201: p_x_Header_Price_Att_tbl(I) := l_Header_Price_Att_rec;
2202: p_x_old_Header_Price_Att_tbl(I) := l_old_Header_Price_Att_rec;
2203: /*
2204: OE_Header_PAttr_Security.g_check_all_cols_constraint := 'Y';
2208: p_entity_id => l_header_Price_Att_rec.order_price_attrib_id,
2209: p_request_type => NULL,
2210: x_return_status => l_return_status);
2211: */
2212: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2213:
2214: WHEN OTHERS THEN
2215:
2216: l_Header_Price_Att_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2212: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2213:
2214: WHEN OTHERS THEN
2215:
2216: l_Header_Price_Att_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2217: p_x_Header_Price_Att_tbl(I) := l_Header_Price_Att_rec;
2218: p_x_old_Header_Price_Att_tbl(I) := l_old_Header_Price_Att_rec;
2219:
2220: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2225: );
2226: END IF;
2227:
2228: OE_MSG_PUB.reset_msg_context('HEADER_PATTS');
2229: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2230:
2231: END;
2232: I := p_x_Header_Price_Att_tbl.NEXT(I);
2233: END LOOP;
2239: OE_MSG_PUB.reset_msg_context('HEADER_PATTS');
2240:
2241: EXCEPTION
2242:
2243: WHEN FND_API.G_EXC_ERROR THEN
2244:
2245: OE_MSG_PUB.reset_msg_context('HEADER_PATTS');
2246: RAISE;
2247:
2244:
2245: OE_MSG_PUB.reset_msg_context('HEADER_PATTS');
2246: RAISE;
2247:
2248: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2249:
2250: OE_MSG_PUB.reset_msg_context('HEADER_PATTS');
2251: RAISE;
2252:
2261: END IF;
2262:
2263:
2264: OE_MSG_PUB.reset_msg_context('HEADER_PATTS');
2265: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2266: adj_debug('Exiting oe_order_Adj_pvt.HEader_Price_Atts', 1);
2267:
2268: end HEader_Price_Atts;
2269:
2267:
2268: end HEader_Price_Atts;
2269:
2270: PROCEDURE Header_Adj_Atts
2271: ( p_init_msg_list IN VARCHAR2:=FND_API.G_FALSE
2272: , p_validation_level IN NUMBER
2273: , p_control_rec IN OE_GLOBALS.Control_Rec_Type
2274: , p_x_Header_Adj_Att_tbl IN OUT NOCOPY OE_Order_PUB.Header_Adj_Att_Tbl_Type
2275: , p_x_old_Header_Adj_Att_tbl IN OUT NOCOPY OE_Order_PUB.Header_Adj_Att_Tbl_Type
2282: -- local variables to store OUT parameters from security check procedures
2283: I pls_integer; -- Used as index for while loop
2284: BEGIN
2285:
2286: IF FND_API.to_Boolean(p_init_msg_list) THEN
2287: OE_MSG_PUB.initialize;
2288: END IF;
2289:
2290:
2311: ELSE
2312: l_old_Header_Adj_Att_rec := OE_Order_PUB.G_MISS_Header_Adj_Att_REC;
2313: END IF;
2314:
2315: if l_old_Header_Adj_Att_rec.Price_Adj_attrib_id = FND_API.G_MISS_NUM then
2316:
2317: OE_MSG_PUB.set_msg_context(
2318: p_entity_code => 'ADJ_ATTS'
2319: ,p_entity_id => l_Header_Adj_Att_rec.Price_adj_attrib_id);
2334: );
2335:
2336: -- Set record return status.
2337:
2338: l_Header_Adj_Att_rec.return_status := FND_API.G_RET_STS_SUCCESS;
2339:
2340: -- Prepare record.
2341:
2342: IF l_Header_Adj_Att_rec.operation = OE_GLOBALS.G_OPR_CREATE THEN
2340: -- Prepare record.
2341:
2342: IF l_Header_Adj_Att_rec.operation = OE_GLOBALS.G_OPR_CREATE THEN
2343:
2344: l_Header_Adj_Att_rec.db_flag := FND_API.G_FALSE;
2345:
2346: -- Set missing old record elements to NULL.
2347:
2348: adj_debug('Entering OE_Header_Adj_Att_Util.Convert_Miss_To_Null', 1);
2352: ELSIF l_Header_Adj_Att_rec.operation = OE_GLOBALS.G_OPR_UPDATE
2353: OR l_Header_Adj_Att_rec.operation = OE_GLOBALS.G_OPR_DELETE
2354: THEN
2355:
2356: l_Header_Adj_Att_rec.db_flag := FND_API.G_TRUE;
2357:
2358: -- Query Old if missing
2359:
2360: IF l_old_Header_Adj_Att_rec.Price_adj_attrib_id = FND_API.G_MISS_NUM
2356: l_Header_Adj_Att_rec.db_flag := FND_API.G_TRUE;
2357:
2358: -- Query Old if missing
2359:
2360: IF l_old_Header_Adj_Att_rec.Price_adj_attrib_id = FND_API.G_MISS_NUM
2361: THEN
2362:
2363:
2364: Oe_Header_Price_Aattr_util.Query_Row
2459:
2460: p_x_Header_Adj_Att_tbl(I) := l_Header_Adj_Att_rec;
2461: p_x_old_Header_Adj_Att_tbl(I) := l_old_Header_Adj_Att_rec;
2462:
2463: IF l_Header_Adj_Att_rec.return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2464: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2465: ELSIF l_Header_Adj_Att_rec.return_status = FND_API.G_RET_STS_ERROR THEN
2466: RAISE FND_API.G_EXC_ERROR;
2467: END IF;
2460: p_x_Header_Adj_Att_tbl(I) := l_Header_Adj_Att_rec;
2461: p_x_old_Header_Adj_Att_tbl(I) := l_old_Header_Adj_Att_rec;
2462:
2463: IF l_Header_Adj_Att_rec.return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2464: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2465: ELSIF l_Header_Adj_Att_rec.return_status = FND_API.G_RET_STS_ERROR THEN
2466: RAISE FND_API.G_EXC_ERROR;
2467: END IF;
2468:
2461: p_x_old_Header_Adj_Att_tbl(I) := l_old_Header_Adj_Att_rec;
2462:
2463: IF l_Header_Adj_Att_rec.return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2464: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2465: ELSIF l_Header_Adj_Att_rec.return_status = FND_API.G_RET_STS_ERROR THEN
2466: RAISE FND_API.G_EXC_ERROR;
2467: END IF;
2468:
2469: OE_MSG_PUB.reset_msg_context('ADJ_ATTS');
2462:
2463: IF l_Header_Adj_Att_rec.return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2464: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2465: ELSIF l_Header_Adj_Att_rec.return_status = FND_API.G_RET_STS_ERROR THEN
2466: RAISE FND_API.G_EXC_ERROR;
2467: END IF;
2468:
2469: OE_MSG_PUB.reset_msg_context('ADJ_ATTS');
2470: -- loop exception handler.
2470: -- loop exception handler.
2471:
2472: EXCEPTION
2473:
2474: WHEN FND_API.G_EXC_ERROR THEN
2475:
2476: l_Header_Adj_Att_rec.return_status := FND_API.G_RET_STS_ERROR;
2477: p_x_Header_Adj_Att_tbl(I) := l_Header_Adj_Att_rec;
2478: p_x_old_Header_Adj_Att_tbl(I) := l_old_Header_Adj_Att_rec;
2472: EXCEPTION
2473:
2474: WHEN FND_API.G_EXC_ERROR THEN
2475:
2476: l_Header_Adj_Att_rec.return_status := FND_API.G_RET_STS_ERROR;
2477: p_x_Header_Adj_Att_tbl(I) := l_Header_Adj_Att_rec;
2478: p_x_old_Header_Adj_Att_tbl(I) := l_old_Header_Adj_Att_rec;
2479:
2480: IF l_control_rec.Process_Partial THEN
2479:
2480: IF l_control_rec.Process_Partial THEN
2481: ROLLBACK TO SAVEPOINT Header_price_atts;
2482: ELSE
2483: RAISE FND_API.G_EXC_ERROR;
2484: END IF;
2485:
2486:
2487: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2483: RAISE FND_API.G_EXC_ERROR;
2484: END IF;
2485:
2486:
2487: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2488:
2489: l_Header_Adj_Att_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2490: p_x_Header_Adj_Att_tbl(I) := l_Header_Adj_Att_rec;
2491: p_x_old_Header_Adj_Att_tbl(I) := l_old_Header_Adj_Att_rec;
2485:
2486:
2487: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2488:
2489: l_Header_Adj_Att_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2490: p_x_Header_Adj_Att_tbl(I) := l_Header_Adj_Att_rec;
2491: p_x_old_Header_Adj_Att_tbl(I) := l_old_Header_Adj_Att_rec;
2492:
2493: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2489: l_Header_Adj_Att_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2490: p_x_Header_Adj_Att_tbl(I) := l_Header_Adj_Att_rec;
2491: p_x_old_Header_Adj_Att_tbl(I) := l_old_Header_Adj_Att_rec;
2492:
2493: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2494:
2495: WHEN OTHERS THEN
2496:
2497: l_Header_Adj_Att_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2493: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2494:
2495: WHEN OTHERS THEN
2496:
2497: l_Header_Adj_Att_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2498: p_x_Header_Adj_Att_tbl(I) := l_Header_Adj_Att_rec;
2499: p_x_old_Header_Adj_Att_tbl(I) := l_old_Header_Adj_Att_rec;
2500:
2501: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2506: );
2507: END IF;
2508:
2509: OE_MSG_PUB.reset_msg_context('ADJ_ATTS');
2510: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2511:
2512: END;
2513: I := p_x_Header_Adj_Att_tbl.NEXT(I);
2514: END LOOP;
2519: OE_MSG_PUB.reset_msg_context('ADJ_ATTS');
2520:
2521: EXCEPTION
2522:
2523: WHEN FND_API.G_EXC_ERROR THEN
2524:
2525: OE_MSG_PUB.reset_msg_context('ADJ_ATTS');
2526: RAISE;
2527:
2524:
2525: OE_MSG_PUB.reset_msg_context('ADJ_ATTS');
2526: RAISE;
2527:
2528: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2529:
2530: OE_MSG_PUB.reset_msg_context('ADJ_ATTS');
2531: RAISE;
2532:
2546:
2547: end Header_Adj_Atts;
2548:
2549: PROCEDURE Header_Adj_Assocs
2550: ( p_init_msg_list IN VARCHAR2:=FND_API.G_FALSE
2551: , p_validation_level IN NUMBER
2552: , p_control_rec IN OE_GLOBALS.Control_Rec_Type
2553: , p_x_Header_Adj_Assoc_tbl IN OUT NOCOPY OE_Order_PUB.Header_Adj_Assoc_Tbl_Type
2554: , p_x_old_Header_Adj_Assoc_tbl IN OUT NOCOPY OE_Order_PUB.Header_Adj_Assoc_Tbl_Type
2561: -- local variables to store OUT parameters from security check procedures
2562: I pls_integer; -- Used as index for while loop
2563: BEGIN
2564:
2565: IF FND_API.to_Boolean(p_init_msg_list) THEN
2566: OE_MSG_PUB.initialize;
2567: END IF;
2568:
2569: IF l_control_rec.Process_Partial THEN
2590: ELSE
2591: l_old_Header_Adj_Assoc_rec := OE_Order_PUB.G_MISS_Header_Adj_Assoc_REC;
2592: END IF;
2593:
2594: if l_old_Header_Adj_Assoc_rec.Price_Adj_assoc_id = FND_API.G_MISS_NUM then
2595:
2596: OE_MSG_PUB.set_msg_context(
2597: p_entity_code => 'ADJ_ATTS'
2598: ,p_entity_id => l_Header_Adj_Assoc_rec.Price_Adj_assoc_id);
2613: );
2614:
2615: -- Set record return status.
2616:
2617: l_Header_Adj_Assoc_rec.return_status := FND_API.G_RET_STS_SUCCESS;
2618:
2619: -- Prepare record.
2620:
2621: IF l_Header_Adj_Assoc_rec.operation = OE_GLOBALS.G_OPR_CREATE THEN
2619: -- Prepare record.
2620:
2621: IF l_Header_Adj_Assoc_rec.operation = OE_GLOBALS.G_OPR_CREATE THEN
2622:
2623: l_Header_Adj_Assoc_rec.db_flag := FND_API.G_FALSE;
2624:
2625: -- Set missing old record elements to NULL.
2626:
2627: adj_debug('Entering OE_Header_Adj_Assoc_Util.Convert_Miss_To_Null', 1);
2631: ELSIF l_Header_Adj_Assoc_rec.operation = OE_GLOBALS.G_OPR_UPDATE
2632: OR l_Header_Adj_Assoc_rec.operation = OE_GLOBALS.G_OPR_DELETE
2633: THEN
2634:
2635: l_Header_Adj_Assoc_rec.db_flag := FND_API.G_TRUE;
2636:
2637: -- Query Old if missing
2638:
2639: IF l_old_Header_Adj_Assoc_rec.Price_Adj_assoc_id = FND_API.G_MISS_NUM
2635: l_Header_Adj_Assoc_rec.db_flag := FND_API.G_TRUE;
2636:
2637: -- Query Old if missing
2638:
2639: IF l_old_Header_Adj_Assoc_rec.Price_Adj_assoc_id = FND_API.G_MISS_NUM
2640: THEN
2641:
2642:
2643: Oe_Header_Adj_Assocs_util.Query_Row
2738:
2739: p_x_Header_Adj_Assoc_tbl(I) := l_Header_Adj_Assoc_rec;
2740: p_x_old_Header_Adj_Assoc_tbl(I) := l_old_Header_Adj_Assoc_rec;
2741:
2742: IF l_Header_Adj_Assoc_rec.return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2743: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2744: ELSIF l_Header_Adj_Assoc_rec.return_status = FND_API.G_RET_STS_ERROR THEN
2745: RAISE FND_API.G_EXC_ERROR;
2746: END IF;
2739: p_x_Header_Adj_Assoc_tbl(I) := l_Header_Adj_Assoc_rec;
2740: p_x_old_Header_Adj_Assoc_tbl(I) := l_old_Header_Adj_Assoc_rec;
2741:
2742: IF l_Header_Adj_Assoc_rec.return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2743: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2744: ELSIF l_Header_Adj_Assoc_rec.return_status = FND_API.G_RET_STS_ERROR THEN
2745: RAISE FND_API.G_EXC_ERROR;
2746: END IF;
2747:
2740: p_x_old_Header_Adj_Assoc_tbl(I) := l_old_Header_Adj_Assoc_rec;
2741:
2742: IF l_Header_Adj_Assoc_rec.return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2743: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2744: ELSIF l_Header_Adj_Assoc_rec.return_status = FND_API.G_RET_STS_ERROR THEN
2745: RAISE FND_API.G_EXC_ERROR;
2746: END IF;
2747:
2748: OE_MSG_PUB.reset_msg_context('ADJ_ATTS');
2741:
2742: IF l_Header_Adj_Assoc_rec.return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2743: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2744: ELSIF l_Header_Adj_Assoc_rec.return_status = FND_API.G_RET_STS_ERROR THEN
2745: RAISE FND_API.G_EXC_ERROR;
2746: END IF;
2747:
2748: OE_MSG_PUB.reset_msg_context('ADJ_ATTS');
2749: -- loop exception handler.
2749: -- loop exception handler.
2750:
2751: EXCEPTION
2752:
2753: WHEN FND_API.G_EXC_ERROR THEN
2754:
2755: l_Header_Adj_Assoc_rec.return_status := FND_API.G_RET_STS_ERROR;
2756: p_x_Header_Adj_Assoc_tbl(I) := l_Header_Adj_Assoc_rec;
2757: p_x_old_Header_Adj_Assoc_tbl(I) := l_old_Header_Adj_Assoc_rec;
2751: EXCEPTION
2752:
2753: WHEN FND_API.G_EXC_ERROR THEN
2754:
2755: l_Header_Adj_Assoc_rec.return_status := FND_API.G_RET_STS_ERROR;
2756: p_x_Header_Adj_Assoc_tbl(I) := l_Header_Adj_Assoc_rec;
2757: p_x_old_Header_Adj_Assoc_tbl(I) := l_old_Header_Adj_Assoc_rec;
2758:
2759: IF l_control_rec.Process_Partial THEN
2758:
2759: IF l_control_rec.Process_Partial THEN
2760: ROLLBACK TO SAVEPOINT Header_Price_Assocs;
2761: ELSE
2762: RAISE FND_API.G_EXC_ERROR;
2763: END IF;
2764:
2765:
2766: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2762: RAISE FND_API.G_EXC_ERROR;
2763: END IF;
2764:
2765:
2766: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2767:
2768: l_Header_Adj_Assoc_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2769: p_x_Header_Adj_Assoc_tbl(I) := l_Header_Adj_Assoc_rec;
2770: p_x_old_Header_Adj_Assoc_tbl(I) := l_old_Header_Adj_Assoc_rec;
2764:
2765:
2766: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2767:
2768: l_Header_Adj_Assoc_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2769: p_x_Header_Adj_Assoc_tbl(I) := l_Header_Adj_Assoc_rec;
2770: p_x_old_Header_Adj_Assoc_tbl(I) := l_old_Header_Adj_Assoc_rec;
2771:
2772: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2768: l_Header_Adj_Assoc_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2769: p_x_Header_Adj_Assoc_tbl(I) := l_Header_Adj_Assoc_rec;
2770: p_x_old_Header_Adj_Assoc_tbl(I) := l_old_Header_Adj_Assoc_rec;
2771:
2772: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2773:
2774: WHEN OTHERS THEN
2775:
2776: l_Header_Adj_Assoc_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2772: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2773:
2774: WHEN OTHERS THEN
2775:
2776: l_Header_Adj_Assoc_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2777: p_x_Header_Adj_Assoc_tbl(I) := l_Header_Adj_Assoc_rec;
2778: p_x_old_Header_Adj_Assoc_tbl(I) := l_old_Header_Adj_Assoc_rec;
2779:
2780: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2785: );
2786: END IF;
2787:
2788: OE_MSG_PUB.reset_msg_context('ADJ_ATTS');
2789: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2790:
2791: END;
2792: I := p_x_Header_Adj_Assoc_tbl.NEXT(I);
2793: END LOOP;
2798: OE_MSG_PUB.reset_msg_context('ADJ_ATTS');
2799:
2800: EXCEPTION
2801:
2802: WHEN FND_API.G_EXC_ERROR THEN
2803:
2804: OE_MSG_PUB.reset_msg_context('ADJ_ATTS');
2805: RAISE;
2806:
2803:
2804: OE_MSG_PUB.reset_msg_context('ADJ_ATTS');
2805: RAISE;
2806:
2807: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2808:
2809: OE_MSG_PUB.reset_msg_context('ADJ_ATTS');
2810: RAISE;
2811:
2824: adj_debug('Exiting oe_order_Adj_pvt.Header_Adj_Assocs', 1);
2825: end Header_Adj_Assocs;
2826:
2827: PROCEDURE Line_Price_Atts
2828: ( p_init_msg_list IN VARCHAR2:=FND_API.G_FALSE
2829: , p_validation_level IN NUMBER
2830: , p_control_rec IN OE_GLOBALS.Control_Rec_Type
2831: , p_x_Line_Price_Att_tbl IN OUT NOCOPY OE_Order_PUB.Line_Price_Att_Tbl_Type
2832: , p_x_old_Line_Price_Att_tbl IN OUT NOCOPY OE_Order_PUB.Line_Price_Att_Tbl_Type
2857: l_source_document_line_id NUMBER;
2858:
2859: BEGIN
2860: l_control_rec := p_control_rec; -- Added for 1433292
2861: IF FND_API.to_Boolean(p_init_msg_list) THEN
2862: OE_MSG_PUB.initialize;
2863: END IF;
2864:
2865: IF l_control_rec.Process_Partial THEN
2885: ELSE
2886: l_old_Line_price_att_rec := OE_Order_PUB.G_MISS_Line_Price_Att_REC;
2887: END IF;
2888:
2889: if l_old_Line_price_att_rec.Order_price_attrib_id = FND_API.G_MISS_NUM then
2890:
2891: IF l_Line_price_att_rec.Line_Id IS NOT NULL AND
2892: l_Line_price_att_rec.Line_Id <> FND_API.G_MISS_NUM THEN
2893: BEGIN
2888:
2889: if l_old_Line_price_att_rec.Order_price_attrib_id = FND_API.G_MISS_NUM then
2890:
2891: IF l_Line_price_att_rec.Line_Id IS NOT NULL AND
2892: l_Line_price_att_rec.Line_Id <> FND_API.G_MISS_NUM THEN
2893: BEGIN
2894: IF l_debug_level > 0 THEN
2895: oe_debug_pub.add('Getting reference data for line_id:'||l_Line_price_att_rec.Line_Id);
2896: END IF;
2940:
2941: else
2942:
2943: IF l_old_Line_price_att_rec.Line_Id IS NOT NULL AND
2944: l_old_Line_price_att_rec.Line_Id <> FND_API.G_MISS_NUM THEN
2945: BEGIN
2946: IF l_debug_level > 0 THEN
2947: oe_debug_pub.add('Getting reference data for old line_id:'||l_old_Line_price_att_rec.Line_Id);
2948: END IF;
3000: );
3001:
3002: -- Set record return status.
3003:
3004: l_Line_price_att_rec.return_status := FND_API.G_RET_STS_SUCCESS;
3005:
3006: -- Prepare record.
3007:
3008: IF l_Line_price_att_rec.operation = OE_GLOBALS.G_OPR_CREATE THEN
3006: -- Prepare record.
3007:
3008: IF l_Line_price_att_rec.operation = OE_GLOBALS.G_OPR_CREATE THEN
3009:
3010: l_Line_price_att_rec.db_flag := FND_API.G_FALSE;
3011:
3012: -- Set missing old record elements to NULL.
3013:
3014: adj_debug('Entering OE_Line_price_att_Util.Convert_Miss_To_Null', 1);
3018: ELSIF l_Line_price_att_rec.operation = OE_GLOBALS.G_OPR_UPDATE
3019: OR l_Line_price_att_rec.operation = OE_GLOBALS.G_OPR_DELETE
3020: THEN
3021:
3022: l_Line_price_att_rec.db_flag := FND_API.G_TRUE;
3023:
3024: -- Query Old if missing
3025:
3026: IF l_old_Line_price_att_rec.order_price_attrib_id = FND_API.G_MISS_NUM
3022: l_Line_price_att_rec.db_flag := FND_API.G_TRUE;
3023:
3024: -- Query Old if missing
3025:
3026: IF l_old_Line_price_att_rec.order_price_attrib_id = FND_API.G_MISS_NUM
3027: THEN
3028:
3029: OE_Line_Pattr_Util.Query_Row
3030: ( p_order_price_attrib_id => l_Line_price_att_rec.order_price_attrib_id
3058:
3059:
3060: IF I = p_x_line_Price_Att_tbl.FIRST THEN
3061: IF NOT oe_order_pvt.Valid_Upgraded_Order(l_line_Price_Att_rec.header_id) THEN
3062: RAISE FND_API.G_EXC_ERROR;
3063: END IF;
3064: END IF;
3065:
3066: /*
3079: , x_result => l_sec_result
3080: , x_return_status => l_return_status
3081: );
3082:
3083: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3084: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3085: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
3086: RAISE FND_API.G_EXC_ERROR;
3087: END IF;
3080: , x_return_status => l_return_status
3081: );
3082:
3083: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3084: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3085: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
3086: RAISE FND_API.G_EXC_ERROR;
3087: END IF;
3088:
3081: );
3082:
3083: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3084: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3085: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
3086: RAISE FND_API.G_EXC_ERROR;
3087: END IF;
3088:
3089: IF l_sec_result = OE_PC_GLOBALS.YES THEN
3082:
3083: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3084: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3085: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
3086: RAISE FND_API.G_EXC_ERROR;
3087: END IF;
3088:
3089: IF l_sec_result = OE_PC_GLOBALS.YES THEN
3090: RAISE FND_API.G_EXC_ERROR;
3086: RAISE FND_API.G_EXC_ERROR;
3087: END IF;
3088:
3089: IF l_sec_result = OE_PC_GLOBALS.YES THEN
3090: RAISE FND_API.G_EXC_ERROR;
3091: END IF;
3092:
3093: END IF;
3094: */
3093: END IF;
3094: */
3095: -- Attribute level validation.
3096:
3097: IF p_validation_level > FND_API.G_VALID_LEVEL_NONE THEN
3098:
3099: OE_Validate_Line_Pattr.Attributes
3100: ( x_return_status => l_return_status
3101: , p_Line_price_attr_rec => l_Line_Price_Att_rec
3102: , p_old_Line_price_attr_rec => l_old_Line_Price_Att_rec
3103: , p_validation_level => p_validation_level
3104: );
3105:
3106: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3107: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3108: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
3109: RAISE FND_API.G_EXC_ERROR;
3110: END IF;
3103: , p_validation_level => p_validation_level
3104: );
3105:
3106: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3107: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3108: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
3109: RAISE FND_API.G_EXC_ERROR;
3110: END IF;
3111:
3104: );
3105:
3106: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3107: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3108: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
3109: RAISE FND_API.G_EXC_ERROR;
3110: END IF;
3111:
3112: END IF;
3105:
3106: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3107: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3108: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
3109: RAISE FND_API.G_EXC_ERROR;
3110: END IF;
3111:
3112: END IF;
3113:
3175: NULL;
3176:
3177: END IF;
3178:
3179: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3180: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3181: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
3182: RAISE FND_API.G_EXC_ERROR;
3183: END IF;
3176:
3177: END IF;
3178:
3179: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3180: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3181: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
3182: RAISE FND_API.G_EXC_ERROR;
3183: END IF;
3184:
3177: END IF;
3178:
3179: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3180: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3181: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
3182: RAISE FND_API.G_EXC_ERROR;
3183: END IF;
3184:
3185: END IF;
3178:
3179: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3180: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3181: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
3182: RAISE FND_API.G_EXC_ERROR;
3183: END IF;
3184:
3185: END IF;
3186:
3278:
3279: --BT
3280: --Added the If loop for Bug 3402434
3281: If(l_Line_price_att_rec.order_price_attrib_id is NULL or
3282: l_Line_price_att_rec.order_price_attrib_id=FND_API.G_MISS_NUM) THEN
3283: select OE_ORDER_PRICE_ATTRIBS_S.nextval
3284: into l_Line_price_att_rec.order_price_attrib_id
3285: from dual;
3286: End If;
3296:
3297: p_x_Line_price_att_tbl(I) := l_Line_Price_Att_rec;
3298: p_x_old_Line_price_att_tbl(I) := l_old_Line_Price_Att_rec;
3299:
3300: IF l_Line_price_att_rec.return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3301: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3302: ELSIF l_Line_price_att_rec.return_status = FND_API.G_RET_STS_ERROR THEN
3303: RAISE FND_API.G_EXC_ERROR;
3304: END IF;
3297: p_x_Line_price_att_tbl(I) := l_Line_Price_Att_rec;
3298: p_x_old_Line_price_att_tbl(I) := l_old_Line_Price_Att_rec;
3299:
3300: IF l_Line_price_att_rec.return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3301: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3302: ELSIF l_Line_price_att_rec.return_status = FND_API.G_RET_STS_ERROR THEN
3303: RAISE FND_API.G_EXC_ERROR;
3304: END IF;
3305:
3298: p_x_old_Line_price_att_tbl(I) := l_old_Line_Price_Att_rec;
3299:
3300: IF l_Line_price_att_rec.return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3301: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3302: ELSIF l_Line_price_att_rec.return_status = FND_API.G_RET_STS_ERROR THEN
3303: RAISE FND_API.G_EXC_ERROR;
3304: END IF;
3305:
3306: OE_MSG_PUB.reset_msg_context('HEADER_ADJ');
3299:
3300: IF l_Line_price_att_rec.return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3301: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3302: ELSIF l_Line_price_att_rec.return_status = FND_API.G_RET_STS_ERROR THEN
3303: RAISE FND_API.G_EXC_ERROR;
3304: END IF;
3305:
3306: OE_MSG_PUB.reset_msg_context('HEADER_ADJ');
3307: -- loop exception handler.
3307: -- loop exception handler.
3308:
3309: EXCEPTION
3310:
3311: WHEN FND_API.G_EXC_ERROR THEN
3312:
3313: l_Line_price_att_rec.return_status := FND_API.G_RET_STS_ERROR;
3314: p_x_Line_price_att_tbl(I) := l_Line_Price_Att_rec;
3315: p_x_old_Line_price_att_tbl(I) := l_old_Line_Price_Att_rec;
3309: EXCEPTION
3310:
3311: WHEN FND_API.G_EXC_ERROR THEN
3312:
3313: l_Line_price_att_rec.return_status := FND_API.G_RET_STS_ERROR;
3314: p_x_Line_price_att_tbl(I) := l_Line_Price_Att_rec;
3315: p_x_old_Line_price_att_tbl(I) := l_old_Line_Price_Att_rec;
3316:
3317: IF l_control_rec.Process_Partial THEN
3316:
3317: IF l_control_rec.Process_Partial THEN
3318: ROLLBACK TO SAVEPOINT Line_price_atts;
3319: ELSE
3320: RAISE FND_API.G_EXC_ERROR;
3321: END IF;
3322:
3323:
3324: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3320: RAISE FND_API.G_EXC_ERROR;
3321: END IF;
3322:
3323:
3324: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3325:
3326: l_Line_price_att_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3327: p_x_Line_price_att_tbl(I) := l_Line_Price_Att_rec;
3328: p_x_old_Line_price_att_tbl(I) := l_old_Line_Price_Att_rec;
3322:
3323:
3324: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3325:
3326: l_Line_price_att_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3327: p_x_Line_price_att_tbl(I) := l_Line_Price_Att_rec;
3328: p_x_old_Line_price_att_tbl(I) := l_old_Line_Price_Att_rec;
3329:
3330: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3326: l_Line_price_att_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3327: p_x_Line_price_att_tbl(I) := l_Line_Price_Att_rec;
3328: p_x_old_Line_price_att_tbl(I) := l_old_Line_Price_Att_rec;
3329:
3330: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3331:
3332: WHEN OTHERS THEN
3333:
3334: l_Line_price_att_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3330: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3331:
3332: WHEN OTHERS THEN
3333:
3334: l_Line_price_att_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3335: p_x_Line_price_att_tbl(I) := l_Line_Price_Att_rec;
3336: p_x_old_Line_price_att_tbl(I) := l_old_Line_Price_Att_rec;
3337:
3338: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3343: );
3344: END IF;
3345:
3346: OE_MSG_PUB.reset_msg_context('HEADER_PATTS');
3347: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3348:
3349: END;
3350: I := p_x_Line_price_att_tbl.NEXT(I);
3351: END LOOP;
3356: OE_MSG_PUB.reset_msg_context('HEADER_PATTS');
3357:
3358: EXCEPTION
3359:
3360: WHEN FND_API.G_EXC_ERROR THEN
3361:
3362: OE_MSG_PUB.reset_msg_context('HEADER_PATTS');
3363: RAISE;
3364:
3361:
3362: OE_MSG_PUB.reset_msg_context('HEADER_PATTS');
3363: RAISE;
3364:
3365: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3366:
3367: OE_MSG_PUB.reset_msg_context('HEADER_PATTS');
3368: RAISE;
3369:
3413:
3414: I:= p_Line_Adj_attribs_tbl.Next(I);
3415: End Loop;
3416:
3417: Oe_Order_Adj_Pvt.Line_Adj_Atts( p_validation_level=>FND_API.G_VALID_LEVEL_NONE,
3418: p_control_rec=>l_control_rec,
3419: p_x_Line_Adj_Att_tbl =>l_line_adj_att_tbl,
3420: p_x_old_Line_Adj_Att_tbl=>l_line_dummy_adj_att_tbl);
3421:
3423:
3424:
3425:
3426: PROCEDURE Line_Adj_Atts
3427: ( p_init_msg_list IN VARCHAR2:=FND_API.G_FALSE
3428: , p_validation_level IN NUMBER
3429: , p_control_rec IN OE_GLOBALS.Control_Rec_Type
3430: , p_x_Line_Adj_Att_tbl IN OUT NOCOPY OE_Order_PUB.Line_Adj_Att_Tbl_Type
3431: , p_x_old_Line_Adj_Att_tbl IN OUT NOCOPY OE_Order_PUB.Line_Adj_Att_Tbl_Type
3438: -- local variables to store OUT parameters from security check procedures
3439: I pls_integer; -- Used as index for while loop
3440: BEGIN
3441:
3442: IF FND_API.to_Boolean(p_init_msg_list) THEN
3443: OE_MSG_PUB.initialize;
3444: END IF;
3445:
3446: IF l_control_rec.Process_Partial THEN
3466: ELSE
3467: l_old_Line_Adj_Att_rec := OE_Order_PUB.G_MISS_Line_Adj_Att_REC;
3468: END IF;
3469:
3470: if l_old_Line_Adj_Att_rec.Price_Adj_attrib_id = FND_API.G_MISS_NUM then
3471:
3472: OE_MSG_PUB.set_msg_context(
3473: p_entity_code => 'ADJ_ATTS'
3474: ,p_entity_id => l_Line_Adj_Att_rec.Price_adj_attrib_id);
3489: );
3490:
3491: -- Set record return status.
3492:
3493: l_Line_Adj_Att_rec.return_status := FND_API.G_RET_STS_SUCCESS;
3494:
3495: -- Prepare record.
3496:
3497: IF l_Line_Adj_Att_rec.operation = OE_GLOBALS.G_OPR_CREATE THEN
3495: -- Prepare record.
3496:
3497: IF l_Line_Adj_Att_rec.operation = OE_GLOBALS.G_OPR_CREATE THEN
3498:
3499: l_Line_Adj_Att_rec.db_flag := FND_API.G_FALSE;
3500:
3501: -- Set missing old record elements to NULL.
3502:
3503: adj_debug('Entering OE_Line_Adj_Att_Util.Convert_Miss_To_Null', 1);
3507: ELSIF l_Line_Adj_Att_rec.operation = OE_GLOBALS.G_OPR_UPDATE
3508: OR l_Line_Adj_Att_rec.operation = OE_GLOBALS.G_OPR_DELETE
3509: THEN
3510:
3511: l_Line_Adj_Att_rec.db_flag := FND_API.G_TRUE;
3512:
3513: -- Query Old if missing
3514:
3515: IF l_old_Line_Adj_Att_rec.Price_adj_attrib_id = FND_API.G_MISS_NUM
3511: l_Line_Adj_Att_rec.db_flag := FND_API.G_TRUE;
3512:
3513: -- Query Old if missing
3514:
3515: IF l_old_Line_Adj_Att_rec.Price_adj_attrib_id = FND_API.G_MISS_NUM
3516: THEN
3517:
3518:
3519: Oe_Line_Price_Aattr_util.Query_Row
3546:
3547: /*
3548: -- Attribute level validation.
3549:
3550: IF p_validation_level > FND_API.G_VALID_LEVEL_NONE THEN
3551:
3552: OE_Validate_Line_Pattr.Attributes
3553: ( x_return_status => l_return_status
3554: , p_Line_price_attr_rec => l_Line_Adj_Att_rec
3555: , p_old_Line_price_attr_rec => l_old_Line_Adj_Att_rec
3556: , p_validation_level => p_validation_level
3557: );
3558:
3559: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3560: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3561: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
3562: RAISE FND_API.G_EXC_ERROR;
3563: END IF;
3556: , p_validation_level => p_validation_level
3557: );
3558:
3559: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3560: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3561: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
3562: RAISE FND_API.G_EXC_ERROR;
3563: END IF;
3564:
3557: );
3558:
3559: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3560: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3561: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
3562: RAISE FND_API.G_EXC_ERROR;
3563: END IF;
3564:
3565: END IF;
3558:
3559: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3560: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3561: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
3562: RAISE FND_API.G_EXC_ERROR;
3563: END IF;
3564:
3565: END IF;
3566: */
3635:
3636: p_x_Line_Adj_Att_tbl(I) := l_Line_Adj_Att_rec;
3637: p_x_old_Line_Adj_Att_tbl(I) := l_old_Line_Adj_Att_rec;
3638:
3639: IF l_Line_Adj_Att_rec.return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3640: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3641: ELSIF l_Line_Adj_Att_rec.return_status = FND_API.G_RET_STS_ERROR THEN
3642: RAISE FND_API.G_EXC_ERROR;
3643: END IF;
3636: p_x_Line_Adj_Att_tbl(I) := l_Line_Adj_Att_rec;
3637: p_x_old_Line_Adj_Att_tbl(I) := l_old_Line_Adj_Att_rec;
3638:
3639: IF l_Line_Adj_Att_rec.return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3640: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3641: ELSIF l_Line_Adj_Att_rec.return_status = FND_API.G_RET_STS_ERROR THEN
3642: RAISE FND_API.G_EXC_ERROR;
3643: END IF;
3644:
3637: p_x_old_Line_Adj_Att_tbl(I) := l_old_Line_Adj_Att_rec;
3638:
3639: IF l_Line_Adj_Att_rec.return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3640: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3641: ELSIF l_Line_Adj_Att_rec.return_status = FND_API.G_RET_STS_ERROR THEN
3642: RAISE FND_API.G_EXC_ERROR;
3643: END IF;
3644:
3645: OE_MSG_PUB.reset_msg_context('ADJ_ATTS');
3638:
3639: IF l_Line_Adj_Att_rec.return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3640: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3641: ELSIF l_Line_Adj_Att_rec.return_status = FND_API.G_RET_STS_ERROR THEN
3642: RAISE FND_API.G_EXC_ERROR;
3643: END IF;
3644:
3645: OE_MSG_PUB.reset_msg_context('ADJ_ATTS');
3646: -- loop exception handler.
3646: -- loop exception handler.
3647:
3648: EXCEPTION
3649:
3650: WHEN FND_API.G_EXC_ERROR THEN
3651:
3652: l_Line_Adj_Att_rec.return_status := FND_API.G_RET_STS_ERROR;
3653: p_x_Line_Adj_Att_tbl(I) := l_Line_Adj_Att_rec;
3654: p_x_old_Line_Adj_Att_tbl(I) := l_old_Line_Adj_Att_rec;
3648: EXCEPTION
3649:
3650: WHEN FND_API.G_EXC_ERROR THEN
3651:
3652: l_Line_Adj_Att_rec.return_status := FND_API.G_RET_STS_ERROR;
3653: p_x_Line_Adj_Att_tbl(I) := l_Line_Adj_Att_rec;
3654: p_x_old_Line_Adj_Att_tbl(I) := l_old_Line_Adj_Att_rec;
3655:
3656: IF l_control_rec.Process_Partial THEN
3655:
3656: IF l_control_rec.Process_Partial THEN
3657: ROLLBACK TO SAVEPOINT Line_Adj_atts;
3658: ELSE
3659: RAISE FND_API.G_EXC_ERROR;
3660: END IF;
3661:
3662:
3663: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3659: RAISE FND_API.G_EXC_ERROR;
3660: END IF;
3661:
3662:
3663: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3664:
3665: l_Line_Adj_Att_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3666: p_x_Line_Adj_Att_tbl(I) := l_Line_Adj_Att_rec;
3667: p_x_old_Line_Adj_Att_tbl(I) := l_old_Line_Adj_Att_rec;
3661:
3662:
3663: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3664:
3665: l_Line_Adj_Att_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3666: p_x_Line_Adj_Att_tbl(I) := l_Line_Adj_Att_rec;
3667: p_x_old_Line_Adj_Att_tbl(I) := l_old_Line_Adj_Att_rec;
3668:
3669: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3665: l_Line_Adj_Att_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3666: p_x_Line_Adj_Att_tbl(I) := l_Line_Adj_Att_rec;
3667: p_x_old_Line_Adj_Att_tbl(I) := l_old_Line_Adj_Att_rec;
3668:
3669: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3670:
3671: WHEN OTHERS THEN
3672:
3673: l_Line_Adj_Att_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3669: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3670:
3671: WHEN OTHERS THEN
3672:
3673: l_Line_Adj_Att_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3674: p_x_Line_Adj_Att_tbl(I) := l_Line_Adj_Att_rec;
3675: p_x_old_Line_Adj_Att_tbl(I) := l_old_Line_Adj_Att_rec;
3676:
3677: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3682: );
3683: END IF;
3684:
3685: OE_MSG_PUB.reset_msg_context('ADJ_ATTS');
3686: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3687:
3688: END;
3689: I := p_x_Line_Adj_Att_tbl.NEXT(I);
3690: END LOOP;
3695: OE_MSG_PUB.reset_msg_context('ADJ_ATTS');
3696:
3697: EXCEPTION
3698:
3699: WHEN FND_API.G_EXC_ERROR THEN
3700:
3701: OE_MSG_PUB.reset_msg_context('ADJ_ATTS');
3702: RAISE;
3703:
3700:
3701: OE_MSG_PUB.reset_msg_context('ADJ_ATTS');
3702: RAISE;
3703:
3704: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3705:
3706: OE_MSG_PUB.reset_msg_context('ADJ_ATTS');
3707: RAISE;
3708:
3751:
3752: I:= p_line_adj_assoc_tbl.Next(I);
3753: End Loop;
3754:
3755: Oe_Order_Adj_Pvt.Line_Adj_Assocs(p_validation_level=>FND_API.G_VALID_LEVEL_NONE,
3756: p_control_rec=>l_control_rec,
3757: p_x_line_adj_assoc_tbl=>l_line_adj_assoc_tbl,
3758: p_x_old_line_adj_assoc_tbl=>l_line_dummy_adj_assoc_tbl);
3759:
3760: End;
3761:
3762:
3763: PROCEDURE Line_Adj_Assocs
3764: ( p_init_msg_list IN VARCHAR2:=FND_API.G_FALSE
3765: , p_validation_level IN NUMBER
3766: , p_control_rec IN OE_GLOBALS.Control_Rec_Type
3767: , p_x_Line_Adj_Assoc_tbl IN OUT NOCOPY OE_Order_PUB.Line_Adj_Assoc_Tbl_Type
3768: , p_x_old_Line_Adj_Assoc_tbl IN OUT NOCOPY OE_Order_PUB.Line_Adj_Assoc_Tbl_Type
3775: -- local variables to store OUT parameters from security check procedures
3776: I pls_integer; -- Used as index for while loop
3777: BEGIN
3778:
3779: IF FND_API.to_Boolean(p_init_msg_list) THEN
3780: OE_MSG_PUB.initialize;
3781: END IF;
3782:
3783: IF l_control_rec.Process_Partial THEN
3806: ELSE
3807: l_old_Line_Adj_Assoc_rec := OE_Order_PUB.G_MISS_Line_Adj_Assoc_REC;
3808: END IF;
3809:
3810: if l_old_Line_Adj_Assoc_rec.Price_Adj_assoc_id = FND_API.G_MISS_NUM then
3811:
3812: OE_MSG_PUB.set_msg_context(
3813: p_entity_code => 'ADJ_ATTS'
3814: ,p_entity_id => l_Line_Adj_Assoc_rec.Price_Adj_assoc_id);
3829: );
3830:
3831: -- Set record return status.
3832:
3833: l_Line_Adj_Assoc_rec.return_status := FND_API.G_RET_STS_SUCCESS;
3834:
3835: -- Prepare record.
3836:
3837:
3836:
3837:
3838: IF l_Line_Adj_Assoc_rec.operation = OE_GLOBALS.G_OPR_CREATE THEN
3839:
3840: l_Line_Adj_Assoc_rec.db_flag := FND_API.G_FALSE;
3841:
3842: -- Set missing old record elements to NULL.
3843:
3844: adj_debug('Entering OE_Line_Adj_Assoc_Util.Convert_Miss_To_Null', 1);
3848: ELSIF l_Line_Adj_Assoc_rec.operation = OE_GLOBALS.G_OPR_UPDATE
3849: OR l_Line_Adj_Assoc_rec.operation = OE_GLOBALS.G_OPR_DELETE
3850: THEN
3851:
3852: l_Line_Adj_Assoc_rec.db_flag := FND_API.G_TRUE;
3853:
3854: -- Query Old if missing
3855:
3856: IF l_old_Line_Adj_Assoc_rec.Price_Adj_assoc_id = FND_API.G_MISS_NUM
3852: l_Line_Adj_Assoc_rec.db_flag := FND_API.G_TRUE;
3853:
3854: -- Query Old if missing
3855:
3856: IF l_old_Line_Adj_Assoc_rec.Price_Adj_assoc_id = FND_API.G_MISS_NUM
3857: THEN
3858:
3859:
3860: Oe_Line_Adj_Assocs_util.Query_Row
3958:
3959: p_x_Line_Adj_Assoc_tbl(I) := l_Line_Adj_Assoc_rec;
3960: p_x_old_Line_Adj_Assoc_tbl(I) := l_old_Line_Adj_Assoc_rec;
3961:
3962: IF l_Line_Adj_Assoc_rec.return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3963: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3964: ELSIF l_Line_Adj_Assoc_rec.return_status = FND_API.G_RET_STS_ERROR THEN
3965: RAISE FND_API.G_EXC_ERROR;
3966: END IF;
3959: p_x_Line_Adj_Assoc_tbl(I) := l_Line_Adj_Assoc_rec;
3960: p_x_old_Line_Adj_Assoc_tbl(I) := l_old_Line_Adj_Assoc_rec;
3961:
3962: IF l_Line_Adj_Assoc_rec.return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3963: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3964: ELSIF l_Line_Adj_Assoc_rec.return_status = FND_API.G_RET_STS_ERROR THEN
3965: RAISE FND_API.G_EXC_ERROR;
3966: END IF;
3967:
3960: p_x_old_Line_Adj_Assoc_tbl(I) := l_old_Line_Adj_Assoc_rec;
3961:
3962: IF l_Line_Adj_Assoc_rec.return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3963: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3964: ELSIF l_Line_Adj_Assoc_rec.return_status = FND_API.G_RET_STS_ERROR THEN
3965: RAISE FND_API.G_EXC_ERROR;
3966: END IF;
3967:
3968: OE_MSG_PUB.reset_msg_context('ADJ_ATTS');
3961:
3962: IF l_Line_Adj_Assoc_rec.return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3963: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3964: ELSIF l_Line_Adj_Assoc_rec.return_status = FND_API.G_RET_STS_ERROR THEN
3965: RAISE FND_API.G_EXC_ERROR;
3966: END IF;
3967:
3968: OE_MSG_PUB.reset_msg_context('ADJ_ATTS');
3969: -- loop exception handler.
3969: -- loop exception handler.
3970:
3971: EXCEPTION
3972:
3973: WHEN FND_API.G_EXC_ERROR THEN
3974:
3975: l_Line_Adj_Assoc_rec.return_status := FND_API.G_RET_STS_ERROR;
3976: p_x_Line_Adj_Assoc_tbl(I) := l_Line_Adj_Assoc_rec;
3977: p_x_old_Line_Adj_Assoc_tbl(I) := l_old_Line_Adj_Assoc_rec;
3971: EXCEPTION
3972:
3973: WHEN FND_API.G_EXC_ERROR THEN
3974:
3975: l_Line_Adj_Assoc_rec.return_status := FND_API.G_RET_STS_ERROR;
3976: p_x_Line_Adj_Assoc_tbl(I) := l_Line_Adj_Assoc_rec;
3977: p_x_old_Line_Adj_Assoc_tbl(I) := l_old_Line_Adj_Assoc_rec;
3978:
3979: IF l_control_rec.Process_Partial THEN
3978:
3979: IF l_control_rec.Process_Partial THEN
3980: ROLLBACK TO SAVEPOINT Line_price_atts;
3981: ELSE
3982: RAISE FND_API.G_EXC_ERROR;
3983: END IF;
3984:
3985:
3986: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3982: RAISE FND_API.G_EXC_ERROR;
3983: END IF;
3984:
3985:
3986: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3987:
3988: l_Line_Adj_Assoc_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3989: p_x_Line_Adj_Assoc_tbl(I) := l_Line_Adj_Assoc_rec;
3990: p_x_old_Line_Adj_Assoc_tbl(I) := l_old_Line_Adj_Assoc_rec;
3984:
3985:
3986: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3987:
3988: l_Line_Adj_Assoc_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3989: p_x_Line_Adj_Assoc_tbl(I) := l_Line_Adj_Assoc_rec;
3990: p_x_old_Line_Adj_Assoc_tbl(I) := l_old_Line_Adj_Assoc_rec;
3991:
3992: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3988: l_Line_Adj_Assoc_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3989: p_x_Line_Adj_Assoc_tbl(I) := l_Line_Adj_Assoc_rec;
3990: p_x_old_Line_Adj_Assoc_tbl(I) := l_old_Line_Adj_Assoc_rec;
3991:
3992: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3993:
3994: WHEN OTHERS THEN
3995:
3996: l_Line_Adj_Assoc_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3992: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3993:
3994: WHEN OTHERS THEN
3995:
3996: l_Line_Adj_Assoc_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3997: p_x_Line_Adj_Assoc_tbl(I) := l_Line_Adj_Assoc_rec;
3998: p_x_old_Line_Adj_Assoc_tbl(I) := l_old_Line_Adj_Assoc_rec;
3999:
4000: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4005: );
4006: END IF;
4007:
4008: OE_MSG_PUB.reset_msg_context('ADJ_ATTS');
4009: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4010:
4011: END;
4012: I := p_x_Line_Adj_Assoc_tbl.NEXT(I);
4013: END LOOP;
4018: OE_MSG_PUB.reset_msg_context('ADJ_ATTS');
4019:
4020: EXCEPTION
4021:
4022: WHEN FND_API.G_EXC_ERROR THEN
4023:
4024: OE_MSG_PUB.reset_msg_context('ADJ_ATTS');
4025: RAISE;
4026:
4023:
4024: OE_MSG_PUB.reset_msg_context('ADJ_ATTS');
4025: RAISE;
4026:
4027: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4028:
4029: OE_MSG_PUB.reset_msg_context('ADJ_ATTS');
4030: RAISE;
4031:
4125: g_rounding_factor_rec.list_header_id := p_list_header_id;
4126: select rounding_factor into g_rounding_factor_rec.rounding_factor from
4127: qp_list_headers_b where list_header_id=p_list_header_id;
4128:
4129: If g_rounding_factor_rec.rounding_factor = fnd_api.g_miss_num then
4130: g_rounding_factor_rec.rounding_factor:= Null;
4131: End If;
4132:
4133: Return g_rounding_factor_rec.rounding_factor;
4158: px_req_line_tbl(l_line_index).LINE_TYPE_CODE := 'ORDER';
4159: -- Hold the header_id in line_id for 'HEADER' Records
4160: px_req_line_tbl(l_line_index).line_id := p_Header_rec.header_id;
4161: if p_header_rec.pricing_date is null or
4162: p_header_rec.pricing_date = fnd_api.g_miss_date then
4163: px_req_line_tbl(l_line_index).PRICING_EFFECTIVE_DATE := trunc(sysdate);
4164: Else
4165: px_req_line_tbl(l_line_index).PRICING_EFFECTIVE_DATE := p_header_rec.pricing_date;
4166: End If;
4207: --px_req_line_tbl(l_line_index).LIST_LINE_LEVEL_CODE :=p_price_level_code;
4208: px_req_line_tbl(l_line_index).LINE_INDEX := l_line_index;
4209: px_req_line_tbl(l_line_index).LINE_TYPE_CODE := 'LINE';
4210: If p_Line_rec.pricing_date is null or
4211: p_Line_rec.pricing_date = fnd_api.g_miss_date then
4212: px_req_line_tbl(l_line_index).PRICING_EFFECTIVE_DATE := trunc(sysdate);
4213: Else
4214: px_req_line_tbl(l_line_index).PRICING_EFFECTIVE_DATE := p_Line_rec.pricing_date;
4215: End If;
4216:
4217: px_req_line_tbl(l_line_index).LINE_QUANTITY := p_Line_rec.Ordered_quantity ;
4218:
4219: /* -- No need to substract cancell quantity
4220: If p_Line_rec.cancelled_quantity = fnd_api.g_miss_num Then
4221: else
4222: px_req_line_tbl(l_line_index).LINE_QUANTITY := p_Line_rec.Ordered_quantity -
4223: nvl(p_Line_rec.cancelled_quantity,0);
4224: End If;
4274:
4275: px_req_line_tbl(l_line_index).CURRENCY_CODE :=
4276: OE_Order_PUB.g_hdr.transactional_curr_code;
4277: -- uom begin
4278: If p_Line_rec.unit_list_price_per_pqty <> FND_API.G_MISS_NUM Then
4279: px_req_line_tbl(l_line_index).UNIT_PRICE := p_Line_rec.unit_list_price_per_pqty;
4280:
4281: -- Fix for bug 1834409
4282: -- Patch 1766558 introduced two new columns in oe_order_lines_all
4284: -- So, when adding new order lines to upgraded sales orders,
4285: -- pass the values of unit_list_price and unit_selling_price
4286: -- to pricing engine for the old order lines
4287:
4288: Elsif p_line_rec.unit_list_price <> FND_API.G_MISS_NUM Then
4289: px_req_line_tbl(l_line_index).UNIT_PRICE := p_line_rec.unit_list_price;
4290: else
4291: px_req_line_tbl(l_line_index).UNIT_PRICE := Null;
4292: End If;
4315: px_req_line_tbl(l_line_index).PRICE_FLAG := 'Y';
4316: END IF;
4317:
4318: ELSE
4319: If p_Line_rec.calculate_Price_flag = fnd_api.g_miss_char then
4320: px_req_line_tbl(l_line_index).PRICE_FLAG := 'Y';
4321: --included for bug 2046841 Begin
4322: elsif p_line_rec.calculate_price_flag = 'X' then
4323: px_req_line_tbl(l_line_index).PRICE_FLAG := 'N';
4357: End If;
4358: -- Do not execute SHIP event for a line if the line is not ship interfaced.
4359: If px_req_line_tbl(l_line_index).PRICE_FLAG = 'Y' and
4360: (p_Line_rec.Shipped_quantity is null or
4361: p_Line_rec.Shipped_quantity = fnd_api.g_miss_num or
4362: p_Line_rec.Shipped_quantity = 0 ) and
4363: --cc1
4364: p_pricing_event ='SHIP' Then
4365: px_req_line_tbl(l_line_index).PRICE_FLAG := 'N';
4490: If p_qualifier_contexts_Tbl(i).context_name ='MODLIST' and
4491: p_qualifier_contexts_Tbl(i).Attribute_Name ='QUALIFIER_ATTRIBUTE4' then
4492:
4493: If OE_Order_PUB.G_Line.agreement_id is not null and
4494: OE_Order_PUB.G_Line.agreement_id <> fnd_api.g_miss_num then
4495: px_Req_Qual_Tbl(l_qual_index).Validated_Flag := 'Y';
4496: -- BLANKETS: Start Code Merge
4497: Elsif OE_Code_Control.Code_Release_Level >= '110509' and
4498: OE_Order_PUB.G_Line.blanket_number is not null and
4495: px_Req_Qual_Tbl(l_qual_index).Validated_Flag := 'Y';
4496: -- BLANKETS: Start Code Merge
4497: Elsif OE_Code_Control.Code_Release_Level >= '110509' and
4498: OE_Order_PUB.G_Line.blanket_number is not null and
4499: OE_Order_PUB.G_Line.blanket_number <> fnd_api.g_miss_num and
4500: OE_Order_PUB.G_Line.blanket_line_number is not null and
4501: OE_Order_PUB.G_Line.blanket_line_number <> fnd_api.g_miss_num
4502: Then
4503:
4497: Elsif OE_Code_Control.Code_Release_Level >= '110509' and
4498: OE_Order_PUB.G_Line.blanket_number is not null and
4499: OE_Order_PUB.G_Line.blanket_number <> fnd_api.g_miss_num and
4500: OE_Order_PUB.G_Line.blanket_line_number is not null and
4501: OE_Order_PUB.G_Line.blanket_line_number <> fnd_api.g_miss_num
4502: Then
4503:
4504: -- Set validated_flag to 'Y' if price list is AGR
4505: -- type or enforce price list is checked on blanket.
5624: ,p_multiple_events in VARCHAR2 Default 'N'
5625: ,p_action_code in VARCHAR2 Default 'NONE'
5626: )
5627: is
5628: l_return_status varchar2(1) := FND_API.G_RET_STS_SUCCESS;
5629: l_return_status_Text varchar2(240) ;
5630: l_header_rec OE_Order_PUB.Header_Rec_Type;
5631: l_Line_Tbl OE_Order_PUB.Line_Tbl_Type;
5632: l_line_tbl_tmp OE_Order_PUB.Line_Tbl_Type;
5689:
5690: adj_debug('Entering oe_line_adj.calulate_adjustments', 1);
5691:
5692: G_STMT_NO := 'calculate_adjustments#10';
5693: if (p_line_id is null or p_line_id = FND_API.G_MISS_NUM)
5694: and ( p_header_id is null or p_header_id = FND_API.G_MISS_NUM)
5695: and x_line_Tbl.count =0
5696: and p_use_current_header = FALSE
5697: then
5690: adj_debug('Entering oe_line_adj.calulate_adjustments', 1);
5691:
5692: G_STMT_NO := 'calculate_adjustments#10';
5693: if (p_line_id is null or p_line_id = FND_API.G_MISS_NUM)
5694: and ( p_header_id is null or p_header_id = FND_API.G_MISS_NUM)
5695: and x_line_Tbl.count =0
5696: and p_use_current_header = FALSE
5697: then
5698: l_return_status := FND_API.G_RET_STS_ERROR;
5694: and ( p_header_id is null or p_header_id = FND_API.G_MISS_NUM)
5695: and x_line_Tbl.count =0
5696: and p_use_current_header = FALSE
5697: then
5698: l_return_status := FND_API.G_RET_STS_ERROR;
5699:
5700: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
5701: THEN
5702:
5703: FND_MESSAGE.SET_NAME('ONT','OE_ATTRIBUTE_REQUIRED');
5704: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','line_id or Header Id ');
5705: OE_MSG_PUB.Add;
5706: END IF;
5707: RAISE FND_API.G_EXC_ERROR;
5708: end if;
5709:
5710: G_STMT_NO := 'calculate_adjustments#20';
5711: if p_Line_id is not null and p_Header_id is not null then
5714: OE_MSG_PUB.Add_Exc_Msg ( G_PKG_NAME ,
5715: 'oe_line_adj.calulate_adjustments'
5716: ,'Keys are mutually exclusive');
5717: END IF;
5718: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5719: end if;
5720:
5721: -- Query the header Record
5722: if p_header_id is not null and p_Header_id <> FND_API.G_MISS_NUM then
5718: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5719: end if;
5720:
5721: -- Query the header Record
5722: if p_header_id is not null and p_Header_id <> FND_API.G_MISS_NUM then
5723:
5724: G_STMT_NO := 'calculate_adjustments#30';
5725:
5726: Begin
5754:
5755: If G_INT_CHANGED_LINE_ON = 'Y' Then
5756: If (l_order_status_rec.ALL_LINES_FLAG = 'Y' and nvl(OE_LINE_ADJ_UTIL.G_SEND_ALL_LINES_FOR_DSP,'Y') = 'Y') --bug 2965218
5757: -- or p_multiple_events = 'Y'
5758: or (OE_GLOBALS.G_RECURSION_MODE <> FND_API.G_TRUE
5759: and p_control_rec.pricing_event = 'BOOK')
5760: or p_action_code = 'PRICE_ORDER' --user request to reprice all lines
5761: or Oe_Line_Adj_Util.has_service_lines(p_header_id)
5762: Then
5911:
5912: -- Populate that Global Structure
5913: OE_Order_PUB.G_LINE := l_Line_Tbl(line_Tbl_Index);
5914: -- uom begin
5915: If OE_Order_PUB.G_LINE.unit_list_price_per_pqty = fnd_api.g_miss_num then
5916: OE_Order_PUB.G_LINE.unit_list_price_per_pqty:= Null;
5917: End If;
5918: -- uom end
5919:
5920: -- Check if the line is service item
5921:
5922: G_STMT_NO := 'calculate_adjustments#120';
5923: If (OE_Order_PUB.G_LINE.Service_Reference_Line_Id <>
5924: FND_API.G_MISS_NUM and
5925: OE_Order_PUB.G_LINE.Service_Reference_Line_Id is not null)
5926: Then
5927:
5928: /* Added the following if condition for fixing the bug 1828553 */
5940: , p_reference_line_id => l_Line_Tbl(line_Tbl_Index).service_reference_line_id
5941: , p_customer_id => l_Line_Tbl(line_Tbl_Index).sold_to_org_id
5942: , x_cust_product_line_id => l_order_line_id
5943: );
5944: IF l_return_status = FND_API.G_RET_STS_SUCCESS THEN
5945: oe_debug_pub.add('1828553: Success');
5946: oe_debug_pub.add('1828553: Service line id is ' || l_order_line_id)
5947: ;
5948: l_service_reference_line_id := l_order_line_id;
6345: i:= x_Req_related_lines_tbl.Next(i);
6346: end loop;
6347: End If;
6348:
6349: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
6350: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6351: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
6352: RAISE FND_API.G_EXC_ERROR;
6353: END IF;
6346: end loop;
6347: End If;
6348:
6349: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
6350: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6351: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
6352: RAISE FND_API.G_EXC_ERROR;
6353: END IF;
6354:
6347: End If;
6348:
6349: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
6350: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6351: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
6352: RAISE FND_API.G_EXC_ERROR;
6353: END IF;
6354:
6355: x_return_status := l_return_status;
6348:
6349: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
6350: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6351: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
6352: RAISE FND_API.G_EXC_ERROR;
6353: END IF;
6354:
6355: x_return_status := l_return_status;
6356: /*
6374: adj_debug('Exiting oe_order_Adj_pvt.calulate_adjustments', 1);
6375:
6376: EXCEPTION
6377:
6378: WHEN FND_API.G_EXC_ERROR THEN
6379:
6380: FND_MESSAGE.SET_NAME('ONT','OE_PRICING_ERROR');
6381: FND_MESSAGE.SET_TOKEN('ERR_TEXT',l_return_status_Text);
6382: OE_MSG_PUB.Add;
6379:
6380: FND_MESSAGE.SET_NAME('ONT','OE_PRICING_ERROR');
6381: FND_MESSAGE.SET_TOKEN('ERR_TEXT',l_return_status_Text);
6382: OE_MSG_PUB.Add;
6383: x_return_status := FND_API.G_RET_STS_ERROR;
6384:
6385: adj_debug('g_exc_error is '||g_stmt_no||' '||sqlerrm,1);
6386: adj_debug('g_exc_error is '||l_return_status_Text);
6387:
6384:
6385: adj_debug('g_exc_error is '||g_stmt_no||' '||sqlerrm,1);
6386: adj_debug('g_exc_error is '||l_return_status_Text);
6387:
6388: RAISE FND_API.G_EXC_ERROR;
6389:
6390: /* Added for Bug 2124989 */
6391: WHEN OE_AGREEMENT_ERROR Then
6392: x_return_status := FND_API.G_RET_STS_ERROR;
6388: RAISE FND_API.G_EXC_ERROR;
6389:
6390: /* Added for Bug 2124989 */
6391: WHEN OE_AGREEMENT_ERROR Then
6392: x_return_status := FND_API.G_RET_STS_ERROR;
6393: oe_debug_pub.add('Error: Invalid AAgreement');
6394: RAISE FND_API.G_EXC_ERROR;
6395:
6396: /* END 2124989 */
6390: /* Added for Bug 2124989 */
6391: WHEN OE_AGREEMENT_ERROR Then
6392: x_return_status := FND_API.G_RET_STS_ERROR;
6393: oe_debug_pub.add('Error: Invalid AAgreement');
6394: RAISE FND_API.G_EXC_ERROR;
6395:
6396: /* END 2124989 */
6397: WHEN QP_ATTR_MAPPING_ERROR THEN
6398: FND_MESSAGE.SET_NAME('ONT','OE_PRICING_ERROR');
6398: FND_MESSAGE.SET_NAME('ONT','OE_PRICING_ERROR');
6399: FND_MESSAGE.SET_TOKEN('ERR_TEXT','Please make sure Run QP Build Sourcing Rule has completed sucessfully');
6400: OE_MSG_PUB.Add;
6401: oe_debug_pub.add(' QP Attr Mapping threw exception');
6402: RAISE FND_API.G_EXC_ERROR;
6403: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6404:
6405: FND_MESSAGE.SET_NAME('ONT','OE_PRICING_ERROR');
6406: FND_MESSAGE.SET_TOKEN('ERR_TEXT',l_return_status_Text);
6399: FND_MESSAGE.SET_TOKEN('ERR_TEXT','Please make sure Run QP Build Sourcing Rule has completed sucessfully');
6400: OE_MSG_PUB.Add;
6401: oe_debug_pub.add(' QP Attr Mapping threw exception');
6402: RAISE FND_API.G_EXC_ERROR;
6403: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6404:
6405: FND_MESSAGE.SET_NAME('ONT','OE_PRICING_ERROR');
6406: FND_MESSAGE.SET_TOKEN('ERR_TEXT',l_return_status_Text);
6407: OE_MSG_PUB.Add;
6404:
6405: FND_MESSAGE.SET_NAME('ONT','OE_PRICING_ERROR');
6406: FND_MESSAGE.SET_TOKEN('ERR_TEXT',l_return_status_Text);
6407: OE_MSG_PUB.Add;
6408: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6409: adj_debug('G_EXC_UNEXPECTED_ERROR is '||g_stmt_no||' '||sqlerrm,1);
6410: adj_debug('G_EXC_UNEXPECTED_ERROR is '||l_return_status_Text);
6411:
6412: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6408: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6409: adj_debug('G_EXC_UNEXPECTED_ERROR is '||g_stmt_no||' '||sqlerrm,1);
6410: adj_debug('G_EXC_UNEXPECTED_ERROR is '||l_return_status_Text);
6411:
6412: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6413:
6414: WHEN OTHERS THEN
6415:
6416: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6412: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6413:
6414: WHEN OTHERS THEN
6415:
6416: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6417: --dbms_output.put_line('Error is '||sqlerrm);
6418: adj_debug('Error Code is '||g_stmt_no||' '||sqlerrm,1);
6419:
6420: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6425: g_stmt_no||' '||sqlerrm
6426: );
6427: END IF;
6428:
6429: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6430:
6431: end calculate_adjustments;
6432:
6433: Function Update_Adj_Line_rec(
6484: QP_COUPON_PVT.Delete_Coupon(p_req_line_detail_Rec.list_line_no,
6485: x_return_status,
6486: x_return_status_txt
6487: );
6488: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
6489: FND_MESSAGE.SET_NAME('ONT','OE_PRICING_ERROR');
6490: FND_MESSAGE.SET_TOKEN('ERR_TEXT',x_return_status_txt);
6491: OE_MSG_PUB.Add;
6492: RAISE FND_API.G_EXC_ERROR;
6488: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
6489: FND_MESSAGE.SET_NAME('ONT','OE_PRICING_ERROR');
6490: FND_MESSAGE.SET_TOKEN('ERR_TEXT',x_return_status_txt);
6491: OE_MSG_PUB.Add;
6492: RAISE FND_API.G_EXC_ERROR;
6493: END IF;
6494: else
6495: p_Line_Adj_Rec.list_line_no := p_req_line_detail_Rec.list_line_no;
6496: l_updated_Flag := True;
6780: px_Line_Adj_Tbl(X_Adj_Index).line_index = p_req_line_detail_Rec.line_index
6781: or -- for header adjustments
6782: ( px_Line_Adj_Tbl(X_Adj_Index).header_id = p_header_id and
6783: ( px_Line_Adj_Tbl(X_Adj_Index).line_id is null or
6784: px_Line_Adj_Tbl(X_Adj_Index).line_id = fnd_api.g_miss_num ) and
6785: ( px_Line_Adj_Tbl(X_Adj_Index).line_index is null or
6786: px_Line_Adj_Tbl(X_Adj_Index).line_index = fnd_api.g_miss_num )
6787: ))
6788: then
6782: ( px_Line_Adj_Tbl(X_Adj_Index).header_id = p_header_id and
6783: ( px_Line_Adj_Tbl(X_Adj_Index).line_id is null or
6784: px_Line_Adj_Tbl(X_Adj_Index).line_id = fnd_api.g_miss_num ) and
6785: ( px_Line_Adj_Tbl(X_Adj_Index).line_index is null or
6786: px_Line_Adj_Tbl(X_Adj_Index).line_index = fnd_api.g_miss_num )
6787: ))
6788: then
6789:
6790: if px_Line_Adj_Tbl(X_Adj_Index).list_Line_id=p_req_line_detail_Rec.list_Line_id
6827: px_line_adj_Tbl(x_Adj_Index).Updated_Flag := 'N';
6828: px_line_adj_Tbl(x_Adj_Index).adjusted_amount_per_pqty := null;
6829: --
6830: elsif px_Line_Adj_Tbl(x_Adj_Index).price_adjustment_id is null or
6831: px_Line_Adj_Tbl(x_Adj_Index).price_adjustment_id = FND_API.g_miss_num Then
6832: --Record is not yet created in the database
6833: px_line_adj_Tbl(x_Adj_Index).Updated_Flag := 'N';
6834: px_line_adj_Tbl(x_Adj_Index).operation := OE_GLOBALS.G_OPR_CREATE;
6835: /* Taking out nocopy this part to be set in update_adj_line_rec: Manish */
6843: oe_debug_pub.add('list_line_id:'||px_Line_Adj_Tbl(x_Adj_Index).list_line_id);
6844: oe_debug_pub.add('updated_flag:'||px_Line_Adj_Tbl(x_Adj_Index).updated_Flag);
6845: if px_Line_Adj_Tbl(x_Adj_Index).updated_Flag = 'Y' Then
6846: -- User has updated this record Do not touch this
6847: px_Line_Adj_Tbl(x_Adj_Index).Operation := FND_API.G_MISS_CHAR;
6848:
6849: elsif px_Line_Adj_Tbl(X_Adj_Index).list_line_type_code =
6850: 'FREIGHT_CHARGE'
6851: AND
6868: )
6869: Then
6870: -- There is no change in the adjustment record
6871:
6872: px_Line_Adj_Tbl(x_Adj_Index).Operation := FND_API.G_MISS_CHAR;
6873:
6874: --fix bug 1461198
6875: --if pricing engine return a prg line set the operation
6876: --to update because parent quantity might have changed
6935: l_index := p_Line_Adj_Assoc_Tbl.count+1;
6936: If p_delete_flag = 'Y' Then
6937: p_Line_Adj_Assoc_Tbl(l_index).Operation := OE_GLOBALS.G_OPR_DELETE;
6938: Else
6939: p_line_adj_assoc_tbl(l_index).Operation := FND_API.G_MISS_CHAR;
6940: End If;
6941: oe_debug_pub.add('zl_index:'||l_index);
6942: p_Line_Adj_Assoc_Tbl(l_index).Adj_Index := p_Adj_Index;
6943: p_Line_Adj_Assoc_Tbl(l_index).price_adjustment_id := p_price_adjustment_id;
7016: --and the content of this table stores freeze_override_flag
7017: If p_Pricing_Event is Not Null Then
7018:
7019: If l_Line_Adj_Tbl(i).pricing_Phase_id is null
7020: or l_Line_Adj_Tbl(i).pricing_Phase_id = fnd_api.g_miss_num Then
7021: l_mark_for_delete:='Y';
7022: Elsif G_Pricing_Phase_Id_Tbl.Exists(l_Line_Adj_Tbl(i).pricing_Phase_id) Then
7023: If (G_Pricing_Phase_Id_Tbl(l_Line_Adj_Tbl(i).pricing_Phase_id) = 'Y' and p_price_flag = 'P')
7024: or p_price_flag = 'Y'
7041:
7042: --We need to mark it as unchanged for the order level adjustments
7043: --that have a frozen line
7044:
7045: L_Line_Adj_Tbl(i).operation := FND_API.G_MISS_CHAR;
7046:
7047: elsif nvl(l_Line_Adj_Tbl(i).Updated_Flag,'N') = 'N' or
7048: l_Line_Adj_Tbl(i).Updated_Flag = fnd_api.g_miss_char then
7049: adj_debug('BCT'||l_Line_Adj_Tbl(i).price_adjustment_id);
7044:
7045: L_Line_Adj_Tbl(i).operation := FND_API.G_MISS_CHAR;
7046:
7047: elsif nvl(l_Line_Adj_Tbl(i).Updated_Flag,'N') = 'N' or
7048: l_Line_Adj_Tbl(i).Updated_Flag = fnd_api.g_miss_char then
7049: adj_debug('BCT'||l_Line_Adj_Tbl(i).price_adjustment_id);
7050: L_Line_Adj_Tbl(i).operation := OE_GLOBALS.G_OPR_DELETE;
7051:
7052: --Fix bug 1758251
7064:
7065: -- bug 1834409
7066:
7067: if ((l_line_adj_tbl(i).operand_per_pqty IS NULL) OR
7068: (L_line_adj_Tbl(i).operand_per_pqty = FND_API.G_MISS_NUM))
7069: then
7070: l_line_adj_tbl(i).operand_per_pqty :=
7071: l_line_adj_tbl(i).operand;
7072: end if;
7071: l_line_adj_tbl(i).operand;
7072: end if;
7073:
7074: if ((l_line_adj_tbl(i).adjusted_amount_per_pqty IS NULL) OR
7075: (L_line_adj_Tbl(i).adjusted_amount_per_pqty = FND_API.G_MISS_NUM))
7076: then
7077: l_line_adj_tbl(i).adjusted_amount_per_pqty := l_line_adj_tbl(i).adjusted_amount;
7078: end if;
7079:
7227: Then
7228: -- Do not delete the record from oe_order_Price_adj_Attribs
7229:
7230: If p_Line_Adj_Att_Tbl(i).Operation = OE_GLobals.g_opr_delete then
7231: p_Line_Adj_Att_Tbl(i).Operation := FND_API.G_MISS_CHAR;
7232: End If;
7233:
7234: Return;
7235:
7285: Then
7286: -- Do not delete the record from oe_order_Price_adj_Attribs
7287:
7288: If p_Line_Adj_Att_Tbl(i).Operation = oe_globals.g_opr_delete Then
7289: p_Line_Adj_Att_Tbl(i).Operation := FND_API.G_MISS_CHAR;
7290: End If;
7291:
7292: Return;
7293:
7403: Begin
7404: adj_debug('Entering oe_order_Adj_pvt.Process_Other_Item_Line',1);
7405: G_STMT_NO := 'Process_Other_Item_Line#10';
7406:
7407: If p_Price_Adjustment_Id <> FND_API.G_MISS_NUM And
7408: p_Price_Adjustment_Id is not null Then
7409: -- The Adjustment Record for OID Adlready exits
7410: -- That Also means that the "Other Item Line" also exists in the order
7411: -- Find the "Other Item" Line and update the attributes
7498: OE_Line_Util.Query_Row
7499: ( p_Line_id => l_line_Adj_Rec.Line_Id
7500: , x_line_rec => l_line_rec);
7501:
7502: if l_line_rec.operation = FND_API.G_MISS_CHAR then
7503: l_line_rec.operation := OE_GLOBALS.G_OPR_UPDATE;
7504: End If;
7505:
7506: adj_debug(' GET line, line_id:'||l_line_rec.line_id);
7524: adj_debug('populate change reason!!!',3);
7525:
7526: -- For bug 1916585, cancellation needs reason
7527: IF (l_line_rec.change_reason IS NULL
7528: or l_line_rec.change_reason = fnd_api.g_miss_char) THEN
7529: l_line_rec.change_reason := 'SYSTEM';
7530: l_line_rec.change_comments := 'REPRICING';
7531: END IF;
7532: -- Code included for bug 1820961 begin
7883: p_Sorted_Tbl(l_hi) := l_Sorted_Adjustment_Rec;
7884:
7885: While l_lo < l_hi loop
7886:
7887: While nvl(p_Sorted_Tbl(l_lo).pricing_group_sequence,fnd_api.g_miss_num) <=
7888: nvl(l_Sorted_Adjustment_Rec.pricing_group_sequence,fnd_api.g_miss_num) and
7889: l_lo < l_hi loop
7890:
7891: l_lo := l_lo+1;
7884:
7885: While l_lo < l_hi loop
7886:
7887: While nvl(p_Sorted_Tbl(l_lo).pricing_group_sequence,fnd_api.g_miss_num) <=
7888: nvl(l_Sorted_Adjustment_Rec.pricing_group_sequence,fnd_api.g_miss_num) and
7889: l_lo < l_hi loop
7890:
7891: l_lo := l_lo+1;
7892: end loop;
7890:
7891: l_lo := l_lo+1;
7892: end loop;
7893:
7894: While nvl(l_Sorted_Adjustment_Rec.pricing_group_sequence ,fnd_api.g_miss_num)<=
7895: nvl(p_Sorted_Tbl(l_hi).pricing_group_sequence,fnd_api.g_miss_num) and
7896: l_lo < l_hi loop
7897: l_hi := l_hi-1;
7898: end loop;
7891: l_lo := l_lo+1;
7892: end loop;
7893:
7894: While nvl(l_Sorted_Adjustment_Rec.pricing_group_sequence ,fnd_api.g_miss_num)<=
7895: nvl(p_Sorted_Tbl(l_hi).pricing_group_sequence,fnd_api.g_miss_num) and
7896: l_lo < l_hi loop
7897: l_hi := l_hi-1;
7898: end loop;
7899:
8037: adj_debug('Missing hold_definition for type_code GSA');
8038: End;*/
8039:
8040: If p_line_id is null or
8041: p_line_id = fnd_api.g_miss_num then
8042: FND_MESSAGE.SET_NAME('ONT','OE_PRICING_ERROR');
8043: FND_MESSAGE.SET_TOKEN('ERR_TEXT','GSA_INVALID_LINE_ID');
8044: OE_MSG_PUB.Add;
8045: RAISE FND_API.G_EXC_ERROR;
8041: p_line_id = fnd_api.g_miss_num then
8042: FND_MESSAGE.SET_NAME('ONT','OE_PRICING_ERROR');
8043: FND_MESSAGE.SET_TOKEN('ERR_TEXT','GSA_INVALID_LINE_ID');
8044: OE_MSG_PUB.Add;
8045: RAISE FND_API.G_EXC_ERROR;
8046: End if;
8047:
8048: G_STMT_NO := 'Gsa_Check#20.20';
8049: l_hold_source_rec.hold_entity_id := p_header_id;
8082: ,x_msg_data => l_x_msg_data
8083: ,x_result_out => l_x_result_out
8084: );
8085:
8086: If l_x_result_out = FND_API.G_FALSE then
8087: adj_debug('hold line with header_id:'||p_header_id||' line_id: '||p_line_id,1);
8088: OE_HOLDS_PUB.Apply_Holds(
8089: p_api_version => 1.0
8090: ,p_hold_source_rec => l_hold_source_rec
8092: ,x_msg_count => l_x_msg_count
8093: ,x_msg_data => l_x_msg_data
8094: );
8095:
8096: If l_return_status = FND_API.g_ret_sts_success then
8097: if nvl(p_price_event1,'N') <> 'PRICE' then --bug 2273446
8098:
8099: FND_MESSAGE.SET_NAME('ONT','OE_GSA_HOLD_APPLIED');
8100: OE_MSG_PUB.Add;
8102: Else
8103: FND_MESSAGE.SET_NAME('ONT','OE_PRICING_ERROR');
8104: FND_MESSAGE.SET_TOKEN('ERR_TEXT','APPLY_GSA_HOLD');
8105: OE_MSG_PUB.Add;
8106: RAISE FND_API.G_EXC_ERROR;
8107: End If;
8108: End If; /* check hold */
8109: End If; --for bug 2028480 end
8110: End if; /* violation action */
8110: End if; /* violation action */
8111:
8112: Else -- Check if a hold was placed before , release the hold
8113: If p_line_id is not null and
8114: p_line_id <> fnd_api.g_miss_num then
8115:
8116: If l_hold_source_rec.hold_id is null or
8117: l_hold_source_rec.hold_id = fnd_api.g_miss_num then
8118: G_STMT_NO := 'Gsa_Check#20.25';
8113: If p_line_id is not null and
8114: p_line_id <> fnd_api.g_miss_num then
8115:
8116: If l_hold_source_rec.hold_id is null or
8117: l_hold_source_rec.hold_id = fnd_api.g_miss_num then
8118: G_STMT_NO := 'Gsa_Check#20.25';
8119: -- bug 1381660, duplicate holds with type_code='GSA'
8120: -- use the seeded hold_id
8121: l_hold_source_rec.hold_id := G_SEEDED_GSA_HOLD_ID;
8149: ,x_result_out => l_x_result_out
8150: );
8151:
8152:
8153: If l_x_result_out = FND_API.G_TRUE then
8154: -- Hold is found , Release the hold.
8155:
8156: G_STMT_NO := 'Gsa_Check#20.35';
8157: l_hold_release_rec.release_reason_code :='PASS_GSA';
8169: ,x_msg_count => l_x_msg_count
8170: ,x_msg_data => l_x_msg_data
8171: );
8172:
8173: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
8174: adj_debug('Error while releasing GSA Hold');
8175: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8176: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
8177: adj_debug('Error while releasing GSA Hold');
8171: );
8172:
8173: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
8174: adj_debug('Error while releasing GSA Hold');
8175: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8176: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
8177: adj_debug('Error while releasing GSA Hold');
8178: RAISE FND_API.G_EXC_ERROR;
8179: END IF;
8172:
8173: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
8174: adj_debug('Error while releasing GSA Hold');
8175: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8176: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
8177: adj_debug('Error while releasing GSA Hold');
8178: RAISE FND_API.G_EXC_ERROR;
8179: END IF;
8180: End if; -- Release Hold
8174: adj_debug('Error while releasing GSA Hold');
8175: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8176: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
8177: adj_debug('Error while releasing GSA Hold');
8178: RAISE FND_API.G_EXC_ERROR;
8179: END IF;
8180: End if; -- Release Hold
8181:
8182: End if; -- GSA Check Hold
8249: ,p_price_event Varchar2 default null --for bug 2273446
8250: ,p_honor_price_flag Varchar2 default 'Y' --bug 2503186
8251: )
8252: is
8253: lx_return_status varchar2(1) := FND_API.G_RET_STS_SUCCESS;
8254: lx_return_status_Text varchar2(240) ;
8255: l_discount_surcharge Boolean;
8256: i pls_integer;
8257: J pls_integer;
8257: J pls_integer;
8258: J1 pls_integer;
8259: J2 pls_integer;
8260: l_Bucketed_price Number;
8261: l_pricing_group_sequence Number := fnd_api.g_miss_num;
8262: l_Total_Quantity Number;
8263: l_sign Number;
8264: l_rounding_factor Number;
8265: l_gsa_violation_action Varchar2(30); --moac moving the initialization to the body
8317: ( l_process)
8318: and (l_item_rec.ont_pricing_qty_source = 1 ) -- price by quantity 2
8319: and ( p_line_tbl(i).calculate_price_flag In ('N','P') )
8320: and ( p_line_tbl(i).split_by is not null )
8321: and ( p_line_tbl(i).split_from_line_id is not null and p_line_tbl(i).split_from_line_id <> FND_API.G_MISS_NUM)
8322: ) -- OPM 2547940 end
8323:
8324:
8325: Then
8338:
8339: adj_debug('selling price before ..'||p_Line_Tbl(i).Unit_Selling_Price_Per_Pqty);
8340:
8341: --For backward compatiblity, to correct the old data
8342: If nvl(p_Line_Tbl(i).unit_list_price_Per_Pqty,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM and
8343: p_Line_Tbl(i).unit_list_price is Not Null Then
8344: If nvl(p_line_tbl(i).pricing_quantity,0) <> 0 and
8345: p_line_tbl(i).pricing_quantity <> FND_API.G_MISS_NUM
8346: Then
8341: --For backward compatiblity, to correct the old data
8342: If nvl(p_Line_Tbl(i).unit_list_price_Per_Pqty,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM and
8343: p_Line_Tbl(i).unit_list_price is Not Null Then
8344: If nvl(p_line_tbl(i).pricing_quantity,0) <> 0 and
8345: p_line_tbl(i).pricing_quantity <> FND_API.G_MISS_NUM
8346: Then
8347: p_line_tbl(i).unit_list_price_per_pqty :=(p_line_tbl(i).unit_list_price * p_line_tbl(i).ordered_quantity)/p_line_tbl(i).pricing_quantity;
8348: Else
8349: p_Line_Tbl(i).unit_list_price_Per_Pqty := p_Line_Tbl(i).unit_list_price;
8349: p_Line_Tbl(i).unit_list_price_Per_Pqty := p_Line_Tbl(i).unit_list_price;
8350: End If;
8351: End If;
8352:
8353: If nvl(p_Line_Tbl(i).unit_selling_price_per_pqty,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM and
8354: p_Line_Tbl(i).unit_selling_price Is Not Null Then
8355: If nvl(p_line_tbl(i).pricing_quantity,0) <> 0 and
8356: p_line_tbl(i).pricing_quantity <> FND_API.G_MISS_NUM
8357: Then
8352:
8353: If nvl(p_Line_Tbl(i).unit_selling_price_per_pqty,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM and
8354: p_Line_Tbl(i).unit_selling_price Is Not Null Then
8355: If nvl(p_line_tbl(i).pricing_quantity,0) <> 0 and
8356: p_line_tbl(i).pricing_quantity <> FND_API.G_MISS_NUM
8357: Then
8358: p_line_tbl(i).unit_selling_price_per_pqty :=(p_Line_Tbl(i).unit_selling_price * p_line_tbl(i).ordered_quantity)/p_line_tbl(i).pricing_quantity;
8359: Else
8360: p_Line_Tbl(i).unit_selling_price_per_pqty := p_Line_Tbl(i).unit_selling_price;
8365: p_line_tbl(i).Unit_Selling_Price_Per_Pqty := p_Line_Tbl(i).unit_list_price_Per_Pqty;
8366: l_bucketed_price := p_line_Tbl(i).unit_list_price_per_pqty;
8367: -- uom end
8368:
8369: l_pricing_group_sequence := fnd_api.g_miss_num;
8370:
8371:
8372: adj_debug('No of adjs in Calculate_Price '||p_Line_Adj_Tbl.count);
8373: l_Sort_Index:= l_Sorted_Adjustment_Tbl.First;
8379: G_STMT_NO := 'Calculate_Price#20';
8380:
8381: If ( p_Line_Adj_Tbl(j).Line_Index = i or
8382: (p_Line_Adj_Tbl(j).line_id = p_Line_Tbl(i).line_id and
8383: p_Line_Adj_Tbl(j).line_id <> fnd_api.g_miss_num
8384: )or
8385: ( ( p_Line_Adj_Tbl(j).line_id is null or
8386: p_Line_Adj_Tbl(j).line_id = fnd_api.g_miss_num ) and
8387: (p_Line_Adj_Tbl(j).line_index is null or
8382: (p_Line_Adj_Tbl(j).line_id = p_Line_Tbl(i).line_id and
8383: p_Line_Adj_Tbl(j).line_id <> fnd_api.g_miss_num
8384: )or
8385: ( ( p_Line_Adj_Tbl(j).line_id is null or
8386: p_Line_Adj_Tbl(j).line_id = fnd_api.g_miss_num ) and
8387: (p_Line_Adj_Tbl(j).line_index is null or
8388: p_Line_Adj_Tbl(j).line_index = fnd_api.g_miss_num) and
8389: p_Line_Adj_Tbl(j).Header_Id = p_header_Rec.Header_Id
8390: )) and -- Header Level Adjustments
8384: )or
8385: ( ( p_Line_Adj_Tbl(j).line_id is null or
8386: p_Line_Adj_Tbl(j).line_id = fnd_api.g_miss_num ) and
8387: (p_Line_Adj_Tbl(j).line_index is null or
8388: p_Line_Adj_Tbl(j).line_index = fnd_api.g_miss_num) and
8389: p_Line_Adj_Tbl(j).Header_Id = p_header_Rec.Header_Id
8390: )) and -- Header Level Adjustments
8391: p_Line_Adj_Tbl(j).Operation <> OE_Globals.G_OPR_DELETE and
8392: nvl(p_Line_Adj_Tbl(j).applied_flag,'N')='Y' and
8395: then
8396:
8397: --adj_debug('BCT+fullfilled calculate');
8398: If p_Line_Adj_Tbl(j).pricing_group_sequence is null then
8399: If nvl(p_line_Tbl(i).unit_list_price_per_pqty,FND_API.G_MISS_NUM)
8400: <> FND_API.G_MISS_NUM
8401: Then
8402: l_bucketed_price := p_line_Tbl(i).unit_list_price_per_pqty;
8403: Else
8396:
8397: --adj_debug('BCT+fullfilled calculate');
8398: If p_Line_Adj_Tbl(j).pricing_group_sequence is null then
8399: If nvl(p_line_Tbl(i).unit_list_price_per_pqty,FND_API.G_MISS_NUM)
8400: <> FND_API.G_MISS_NUM
8401: Then
8402: l_bucketed_price := p_line_Tbl(i).unit_list_price_per_pqty;
8403: Else
8404: l_bucketed_price := p_line_Tbl(i).unit_list_price;
8403: Else
8404: l_bucketed_price := p_line_Tbl(i).unit_list_price;
8405: End If;
8406: Elsif p_Line_Adj_Tbl(j).pricing_group_sequence <> l_pricing_group_sequence then
8407: If nvl(p_line_Tbl(i).unit_selling_price_per_pqty,FND_API.G_MISS_NUM)
8408: <> FND_API.G_MISS_NUM
8409: Then
8410: l_bucketed_price := p_line_Tbl(i).unit_selling_price_per_pqty;
8411: Else
8404: l_bucketed_price := p_line_Tbl(i).unit_list_price;
8405: End If;
8406: Elsif p_Line_Adj_Tbl(j).pricing_group_sequence <> l_pricing_group_sequence then
8407: If nvl(p_line_Tbl(i).unit_selling_price_per_pqty,FND_API.G_MISS_NUM)
8408: <> FND_API.G_MISS_NUM
8409: Then
8410: l_bucketed_price := p_line_Tbl(i).unit_selling_price_per_pqty;
8411: Else
8412: l_bucketed_price := p_line_Tbl(i).unit_selling_price;
8428: While J1 is not null loop
8429: If ( (p_line_adj_assoc_Tbl(j1).Adj_index = J Or
8430: (p_line_adj_assoc_Tbl(j1).Price_adjustment_id =
8431: p_Line_Adj_Tbl(j).Price_Adjustment_id and
8432: p_Line_Adj_Tbl(j).Price_Adjustment_id <> fnd_api.g_miss_num )) and (nvl(p_line_adj_assoc_Tbl(j1).operation,'xxyz') <> OE_GLOBALS.G_OPR_DELETE)
8433: ) Then
8434: l_assoc_exist := TRUE;
8435: p_Line_Adj_Tbl(j).Adjusted_Amount_Per_Pqty := 0;
8436: l_adjusted_amt_changed := TRUE;
8460: While J1 is not null loop
8461: If ( (p_line_adj_assoc_Tbl(j1).Adj_index = J Or
8462: (p_line_adj_assoc_Tbl(j1).Price_adjustment_id =
8463: p_Line_Adj_Tbl(j).Price_Adjustment_id and
8464: p_Line_Adj_Tbl(j).Price_Adjustment_id <> fnd_api.g_miss_num )) And (nvl(p_line_adj_assoc_Tbl(j1).operation,'xxyz') <> OE_GLOBALS.G_OPR_DELETE)
8465:
8466: ) Then
8467:
8468: adj_debug('Got an association Rltd_index '||p_line_adj_assoc_Tbl(j1).Rltd_Adj_index,2);
8474: While J2 is not null loop
8475: If ( p_line_adj_assoc_Tbl(j1).Rltd_Adj_index = J2 Or
8476: ( p_line_adj_assoc_Tbl(j1).Rltd_Price_Adj_Id =
8477: p_Line_Adj_Tbl(j2).Price_adjustment_id and
8478: p_line_adj_assoc_Tbl(j1).Rltd_Price_Adj_Id <> fnd_api.g_miss_num )
8479: ) and
8480: p_Line_Adj_Tbl(j2).Range_Break_Quantity > 0 and
8481: p_Line_Adj_Tbl(j2).list_line_type_code in ('DIS','SUR','FREIGHT_CHARGE')
8482: Then
8546: END IF;
8547:
8548: G_STMT_NO := 'Calculate_Price#60';
8549: If p_Line_Adj_Tbl(j).Price_break_Type_Code = QP_PREQ_GRP.G_RANGE_BREAK Then
8550: If nvl(p_Line_Adj_Tbl(j).Adjusted_Amount_Per_Pqty,FND_API.G_MISS_NUM)=FND_API.G_MISS_NUM Then
8551: p_Line_Adj_Tbl(j).Adjusted_Amount_Per_Pqty:=0;
8552: End If;
8553:
8554: p_Line_Adj_Tbl(j).Adjusted_Amount_Per_Pqty :=
8705: End If;
8706:
8707: l_pricing_group_sequence := p_Line_Adj_Tbl(j).pricing_group_sequence;
8708: End If; -- Adj Lines
8709: If (l_adjusted_amt_changed AND p_Line_Adj_Tbl(j).operation = FND_API.G_MISS_CHAR) Then
8710:
8711: If not (p_any_line_frozen and p_line_adj_tbl(j).modifier_level_code = 'ORDER') Then
8712: adj_debug('Calculate Price:'||p_Line_Adj_Tbl(j).list_line_id);
8713: If p_Line_Adj_Tbl(j).updated_flag = 'N' Then
8720: -- uom begin
8721: If p_line_adj_tbl(j).arithmetic_operator IN ('AMT','NEWPRICE') Then
8722: --bsadri fixed zero division error for cancelled lines
8723: IF NVL(p_line_tbl(i).ordered_quantity,0) <> 0 AND
8724: p_line_tbl(i).ordered_quantity <> fnd_api.g_miss_num THEN
8725: p_Line_Adj_Tbl(j).operand := p_Line_Adj_tbl(j).operand_per_pqty * p_line_tbl(i).pricing_quantity/p_line_tbl(i).ordered_quantity;
8726: END IF;
8727:
8728: -- OPM 2547940 start - if pricing by quantity2 then if line is shipped and has shipped qty2 != ordered qty2
8753: p_line_adj_tbl(j).operand := p_Line_Adj_tbl(j).operand_per_pqty;
8754: End If;
8755:
8756: IF NVL(p_line_tbl(i).ordered_quantity,0) <> 0 AND
8757: p_line_tbl(i).ordered_quantity <> FND_API.G_MISS_NUM THEN
8758:
8759: IF ( p_line_adj_tbl(j).modifier_level_code = 'ORDER'
8760: and p_line_adj_tbl(j).list_line_type_code = 'FREIGHT_CHARGE'
8761: and p_line_adj_tbl(j).arithmetic_operator = 'LUMPSUM') THEN /* bug 1915846 */
8873: FND_MESSAGE.SET_NAME('ONT','ONT_NEGATIVE_MODIFIERS');
8874: FND_MESSAGE.SET_TOKEN('LIST_LINE_NO',get_list_lines(p_line_tbl(i).line_id));
8875: OE_MSG_PUB.ADD;
8876:
8877: RAISE FND_API.G_EXC_ERROR;
8878:
8879: End If; -- Negative Price
8880:
8881: End If ; -- Of lines.operation in update or create
9187: l_x_Line_Payment_tbl OE_Order_PUB.Line_Payment_Tbl_Type;
9188: --serla end
9189: begin
9190:
9191: x_return_status := FND_API.G_RET_STS_SUCCESS;
9192: adj_debug('Entering oe_order_Adj_pvt.process_adjustments',1);
9193: G_STMT_NO := 'process_adjustments#10';
9194:
9195: i:= p_req_line_tbl.first;
9222: p_req_line_tbl(i).status_code in ( QP_PREQ_GRP.G_STATUS_INVALID_PRICE_LIST,
9223: QP_PREQ_GRP.G_STS_LHS_NOT_FOUND,
9224: QP_PREQ_GRP.G_STATUS_FORMULA_ERROR,
9225: QP_PREQ_GRP.G_STATUS_OTHER_ERRORS,
9226: FND_API.G_RET_STS_UNEXP_ERROR,
9227: FND_API.G_RET_STS_ERROR,
9228: QP_PREQ_GRP.G_STATUS_CALC_ERROR,
9229: QP_PREQ_GRP.G_STATUS_UOM_FAILURE,
9230: QP_PREQ_GRP.G_STATUS_INVALID_UOM,
9223: QP_PREQ_GRP.G_STS_LHS_NOT_FOUND,
9224: QP_PREQ_GRP.G_STATUS_FORMULA_ERROR,
9225: QP_PREQ_GRP.G_STATUS_OTHER_ERRORS,
9226: FND_API.G_RET_STS_UNEXP_ERROR,
9227: FND_API.G_RET_STS_ERROR,
9228: QP_PREQ_GRP.G_STATUS_CALC_ERROR,
9229: QP_PREQ_GRP.G_STATUS_UOM_FAILURE,
9230: QP_PREQ_GRP.G_STATUS_INVALID_UOM,
9231: QP_PREQ_GRP.G_STATUS_DUP_PRICE_LIST,
9281: oe_debug_pub.add(' Before setting token');
9282: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','price list');
9283: OE_MSG_PUB.ADD;
9284: oe_debug_pub.add('Process adjustments before raising g_exc_error');
9285: RAISE FND_API.G_EXC_ERROR;
9286: End If;
9287:
9288: --Fix bug 1650637
9289: --If l_line_rec.unit_selling_price Is Not Null or
9321: FND_MESSAGE.SET_NAME('ONT','ONT_PRC_ERROR_IN_FORMULA');
9322: FND_MESSAGE.SET_TOKEN('ERR_TEXT',p_req_line_tbl(i).status_text||SQLERRM);
9323: OE_MSG_PUB.Add;
9324: Elsif p_req_line_tbl(i).status_code in
9325: ( QP_PREQ_GRP.G_STATUS_OTHER_ERRORS , FND_API.G_RET_STS_UNEXP_ERROR,
9326: FND_API.G_RET_STS_ERROR)
9327: then
9328: adj_debug('Other errors processing');
9329: FND_MESSAGE.SET_NAME('ONT','ONT_PRICING_ERRORS'); --bug#7149497
9322: FND_MESSAGE.SET_TOKEN('ERR_TEXT',p_req_line_tbl(i).status_text||SQLERRM);
9323: OE_MSG_PUB.Add;
9324: Elsif p_req_line_tbl(i).status_code in
9325: ( QP_PREQ_GRP.G_STATUS_OTHER_ERRORS , FND_API.G_RET_STS_UNEXP_ERROR,
9326: FND_API.G_RET_STS_ERROR)
9327: then
9328: adj_debug('Other errors processing');
9329: FND_MESSAGE.SET_NAME('ONT','ONT_PRICING_ERRORS'); --bug#7149497
9330: FND_MESSAGE.SET_TOKEN('ERR_TEXT',p_req_line_tbl(i).status_text||SQLERRM);
9392: FND_MESSAGE.SET_TOKEN('ERR_TEXT',p_req_line_tbl(i).status_text);
9393: OE_MSG_PUB.Add;
9394: End if;
9395:
9396: --RAISE FND_API.G_EXC_ERROR;
9397: --btea begin if do not write to db, we still need to
9398: --return line and status code to the caller
9399: If Not p_write_to_db Then
9400: l_line_rec.Header_id := p_header_rec.Header_id;
9424: FND_MESSAGE.SET_NAME('ONT','ONT_NEGATIVE_MODIFIERS');
9425: FND_MESSAGE.SET_TOKEN('LIST_LINE_NO',get_list_lines(p_req_line_tbl(i).line_id));
9426: OE_MSG_PUB.Add;
9427:
9428: RAISE FND_API.G_EXC_ERROR;
9429: elsif
9430: p_req_line_tbl(i).line_Type_code ='LINE' and
9431: p_req_line_tbl(i).status_code = QP_PREQ_GRP.G_STATUS_OTHER_ERRORS
9432: Then
9455: and p_req_line_tbl(i).line_Type_code ='LINE'
9456: and (l_item_rec.ont_pricing_qty_source = 'S' ) -- price by quantity 2 -- INVCONV
9457: and ( p_req_line_tbl(i).price_flag In ('N','P') )
9458: and ( l_line_rec.split_by is not null )
9459: and ( l_line_rec.split_from_line_id is not null and l_line_rec.split_from_line_id <> FND_API.G_MISS_NUM) )
9460: -- OPM 2547940 end
9461:
9462: --we do not want to go in this loop if price_flag is set up 'N' because
9463: --engine doesn't look at the line and will not return adjustments. In this
9485:
9486: -- Handle the percent Price
9487:
9488: If nvl(p_req_line_tbl(i).Percent_Price,0) <> 0 and
9489: p_req_line_tbl(i).Percent_Price <> fnd_api.g_miss_num then
9490:
9491: l_line_rec.unit_list_percent := p_req_line_tbl(i).Percent_Price ;
9492: l_line_rec.unit_percent_base_price := p_req_line_tbl(i).Parent_price;
9493: -- For bug 1367793, avoid dividing by zero
9544: --adj_debug('BCT'||G_STMT_NO);
9545: --adj_debug('BCT+***H line id: '||p_req_line_tbl(i).line_id);
9546:
9547: IF (l_header_rec.price_request_code IS NULL OR -- PROMOTIONS SEP/01
9548: l_header_rec.price_request_code = FND_API.G_MISS_CHAR) THEN
9549: l_header_rec.price_request_code := p_req_line_tbl(i).price_request_code;
9550: l_header_rec.operation := OE_GLOBALS.G_OPR_UPDATE;
9551: END IF;
9552:
9606: END IF; -- ( p_req_line_tbl(i).line_type_code = 'LINE' )
9607: END IF; -- limit violation action
9608: END IF; -- (p_req_line_tbl(i).hold_code = QP_PREQ_GRP.G_STATUS_LIMIT_HOLD)
9609: IF p_req_line_tbl(i).line_id IS NOT NULL AND
9610: p_req_line_tbl(i).line_id <> FND_API.G_MISS_NUM THEN
9611: BEGIN
9612: IF l_debug_level > 0 THEN
9613: oe_debug_pub.add('Getting reference data for line_id:'||p_req_line_tbl(i).line_id);
9614: END IF;
9836:
9837: if p_req_line_detail_Tbl(j).list_line_type_code ='IUE' then
9838: -- Do not give item upgrades to config items.
9839: If l_line_tbl( p_req_line_detail_Tbl(j).line_index).top_model_line_id is null
9840: or l_line_tbl( p_req_line_detail_Tbl(j).line_index).top_model_line_id= fnd_api.g_miss_num
9841: then
9842: If -- Allow Item upgrade only if the order is not booked.
9843: nvl(l_line_tbl( p_req_line_detail_Tbl(j).line_index).booked_flag,'N')
9844: = 'N'
9857:
9858: FND_MESSAGE.SET_NAME('ONT','ONT_ITEM_UPGRADE_NOT_ALLOWED');
9859: OE_MSG_PUB.Add;
9860: adj_debug('Item Upgrade not allowed after booking...');
9861: l_line_adj_Tbl(l_Adj_Index).operation := fnd_api.g_miss_char;
9862:
9863: End If; -- Booked_Flag
9864:
9865: End if ; -- Config item
9971: ,p_order_source_id => p_header_rec.order_source_id
9972: ,p_source_document_type_id => p_header_rec.source_document_type_id);
9973: ELSE
9974: IF p_req_line_tbl(p_req_line_detail_tbl(j).line_index).line_id IS NOT NULL AND
9975: p_req_line_tbl(p_req_line_detail_tbl(j).line_index).line_id <> FND_API.G_MISS_NUM THEN
9976: BEGIN
9977: IF l_debug_level > 0 THEN
9978: oe_debug_pub.add('Getting reference data for line_id:'||p_req_line_tbl(p_req_line_detail_tbl(j).line_index).line_id);
9979: END IF;
10079: l_line_details_prcd(p_Req_Related_Lines_Tbl(i).Related_Line_Detail_Index);
10080: l_Line_Adj_Assoc_tbl(l_assoc_index).Operation := OE_Globals.G_OPR_CREATE;
10081:
10082: If l_line_adj_Tbl.exists(l_line_details_prcd(p_Req_Related_Lines_Tbl(i).line_detail_Index))
10083: and l_line_adj_Tbl(l_line_details_prcd(p_Req_Related_Lines_Tbl(i).line_detail_Index)).price_adjustment_id <> FND_API.G_MISS_NUM and
10084: l_line_adj_Tbl(l_line_details_prcd(p_Req_Related_Lines_Tbl(i).line_detail_Index)).price_adjustment_id is not null then
10085:
10086: l_Line_Adj_Assoc_tbl(l_assoc_index).price_adjustment_id :=
10087: l_line_adj_Tbl(l_line_details_prcd(p_Req_Related_Lines_Tbl(i).line_detail_Index)).price_adjustment_id ;
10086: l_Line_Adj_Assoc_tbl(l_assoc_index).price_adjustment_id :=
10087: l_line_adj_Tbl(l_line_details_prcd(p_Req_Related_Lines_Tbl(i).line_detail_Index)).price_adjustment_id ;
10088: End If; -- Populate Adjustment_id
10089: If l_line_adj_Tbl.exists(l_line_details_prcd(p_Req_Related_Lines_Tbl(i).Related_Line_Detail_Index))
10090: and l_line_adj_Tbl(l_line_details_prcd(p_Req_Related_Lines_Tbl(i).Related_Line_Detail_Index)).price_adjustment_id <> FND_API.G_MISS_NUM and
10091: l_line_adj_Tbl(l_line_details_prcd(p_Req_Related_Lines_Tbl(i).Related_Line_Detail_Index)).price_adjustment_id is not null then
10092:
10093: l_Line_Adj_Assoc_tbl(l_assoc_index).rltd_price_adj_id :=
10094: l_line_adj_Tbl(l_line_details_prcd(p_Req_Related_Lines_Tbl(i).Related_Line_Detail_Index)).price_adjustment_id ;
10108: then
10109:
10110: G_STMT_NO := 'process_adjustments#110';
10111: If l_line_adj_Tbl.exists(l_line_details_prcd(p_Req_LINE_DETAIL_qual_tbl(i).line_detail_Index))
10112: and l_line_adj_Tbl(l_line_details_prcd(p_Req_LINE_DETAIL_qual_tbl(i).line_detail_Index)).price_adjustment_id <> FND_API.G_MISS_NUM and
10113: l_line_adj_Tbl(l_line_details_prcd(p_Req_LINE_DETAIL_qual_tbl(i).line_detail_Index)).price_adjustment_id is not null then
10114:
10115: l_price_adjustment_id :=
10116: l_line_adj_Tbl(l_line_details_prcd(p_Req_LINE_DETAIL_qual_tbl(i).line_detail_Index)).price_adjustment_id ;
10144: --or l_Rltd_line_details_prcd.exists(p_Req_LINE_DETAIL_Attr_tbl(i).line_detail_index)
10145: Then
10146:
10147: If l_line_adj_Tbl.exists(l_line_details_prcd(p_Req_LINE_DETAIL_attr_tbl(i).line_detail_Index))
10148: and l_line_adj_Tbl(l_line_details_prcd(p_Req_LINE_DETAIL_attr_tbl(i).line_detail_Index)).price_adjustment_id <> FND_API.G_MISS_NUM and
10149: l_line_adj_Tbl(l_line_details_prcd(p_Req_LINE_DETAIL_attr_tbl(i).line_detail_Index)).price_adjustment_id is not null
10150: then
10151:
10152: l_price_adjustment_id :=
10305:
10306: J:= x_line_tbl.First;
10307: While J is not null loop
10308: If x_line_tbl(j).line_id = l_line_tbl(i).line_id and
10309: l_line_tbl(i).line_id <> fnd_api.g_miss_num then
10310: l_old_line_tbl(l_Line_Tbl_Final.Count) := x_line_tbl(j);
10311: Exit;
10312: end if;
10313:
10333: end if;
10334: -- end 2270949
10335:
10336: -- only Lock the lines that needs to be updated
10337: if (l_line_tbl_final(l).operation = FND_API.G_MISS_CHAR or
10338: l_line_tbl_final(l).operation = OE_GLOBALS.G_OPR_NONE or
10339: l_line_tbl_final(l).operation is null )
10340: and p_write_to_db = TRUE then
10341:
10372: OE_LINE_UTIL.Lock_Row(x_return_status => x_return_status,
10373: p_x_line_rec => l_old_line_tbl(l)
10374: );
10375:
10376: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
10377: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10378: ELSIF x_return_status = FND_API.G_RET_STS_ERROR THEN
10379: RAISE FND_API.G_EXC_ERROR;
10380: END IF;
10373: p_x_line_rec => l_old_line_tbl(l)
10374: );
10375:
10376: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
10377: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10378: ELSIF x_return_status = FND_API.G_RET_STS_ERROR THEN
10379: RAISE FND_API.G_EXC_ERROR;
10380: END IF;
10381:
10374: );
10375:
10376: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
10377: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10378: ELSIF x_return_status = FND_API.G_RET_STS_ERROR THEN
10379: RAISE FND_API.G_EXC_ERROR;
10380: END IF;
10381:
10382: End If;
10375:
10376: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
10377: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10378: ELSIF x_return_status = FND_API.G_RET_STS_ERROR THEN
10379: RAISE FND_API.G_EXC_ERROR;
10380: END IF;
10381:
10382: End If;
10383: ELSIF p_write_to_db = TRUE THEN
10414: End If;
10415:
10416: -- Assign the new line index
10417: If l_line_adj_tbl(i).Line_Index is not null and
10418: l_line_adj_tbl(i).Line_Index <> fnd_api.g_miss_num and
10419: l_lines_prcd.exists(l_line_adj_tbl(i).Line_Index) then
10420: l_line_adj_tbl(i).Line_Index := l_lines_prcd(l_line_adj_tbl(i).Line_Index);
10421: End If;
10422:
10423: adj_debug(' The line_index:'||l_line_adj_tbl(i).Line_Index);
10424: -- bug 2089312
10425: -- to check if it is a Header Level Adjustment
10426: IF (l_Line_Adj_Tbl(i).line_id is null or
10427: l_Line_Adj_Tbl(i).line_id = fnd_api.g_miss_num)
10428: AND (l_Line_Adj_Tbl(i).line_index is null or
10429: l_Line_Adj_Tbl(i).line_index = fnd_api.g_miss_num)
10430: AND l_Line_Adj_Tbl(i).Header_Id = p_header_Rec.Header_Id
10431: AND l_Line_Adj_Tbl(i).operation IN (OE_GLOBALS.G_OPR_CREATE, OE_GLOBALS.G_OPR_UPDATE, OE_GLOBALS.G_OPR_DELETE)
10425: -- to check if it is a Header Level Adjustment
10426: IF (l_Line_Adj_Tbl(i).line_id is null or
10427: l_Line_Adj_Tbl(i).line_id = fnd_api.g_miss_num)
10428: AND (l_Line_Adj_Tbl(i).line_index is null or
10429: l_Line_Adj_Tbl(i).line_index = fnd_api.g_miss_num)
10430: AND l_Line_Adj_Tbl(i).Header_Id = p_header_Rec.Header_Id
10431: AND l_Line_Adj_Tbl(i).operation IN (OE_GLOBALS.G_OPR_CREATE, OE_GLOBALS.G_OPR_UPDATE, OE_GLOBALS.G_OPR_DELETE)
10432: AND l_Line_Adj_Tbl(i).list_line_type_code NOT IN ('FREIGHT_CHARGE','TAX','COST')
10433: AND nvl(g_pass_all_lines,'N') <> 'Y' THEN
10453: p_request_type => OE_GLOBALS.G_SERVICE_FIRST_PERIOD_BILL,
10454: p_request_unique_key1 => 'ORDER',
10455: p_param1 => l_Line_adj_tbl(i).Header_Id,
10456: x_return_status => l_return_status);
10457: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
10458: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10459: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
10460: RAISE FND_API.G_EXC_ERROR;
10461: END IF;
10454: p_request_unique_key1 => 'ORDER',
10455: p_param1 => l_Line_adj_tbl(i).Header_Id,
10456: x_return_status => l_return_status);
10457: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
10458: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10459: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
10460: RAISE FND_API.G_EXC_ERROR;
10461: END IF;
10462: -- sol_ord_er #16014165 end
10455: p_param1 => l_Line_adj_tbl(i).Header_Id,
10456: x_return_status => l_return_status);
10457: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
10458: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10459: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
10460: RAISE FND_API.G_EXC_ERROR;
10461: END IF;
10462: -- sol_ord_er #16014165 end
10463:
10456: x_return_status => l_return_status);
10457: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
10458: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10459: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
10460: RAISE FND_API.G_EXC_ERROR;
10461: END IF;
10462: -- sol_ord_er #16014165 end
10463:
10464: END IF;
10541: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','LIST PRICE');
10542: OE_MSG_PUB.ADD;
10543: End If;
10544:
10545: RAISE FND_API.G_EXC_ERROR;
10546: --
10547: END IF;
10548: --
10549: END IF;
10556:
10557: End If;
10558: end if;
10559: G_STMT_NO := 'process_adjustments#140.2';
10560: if l_line_adj_tbl(i).operation = fnd_api.g_miss_char or
10561: l_Line_Adj_Tbl(i).list_line_type_code in ('TAX','COST')
10562: or l_line_adj_tbl(i).operation is null
10563: or l_line_adj_tbl(i).operation =oe_globals.g_opr_none then
10564: l_line_adj_tbl.delete(i);
10563: or l_line_adj_tbl(i).operation =oe_globals.g_opr_none then
10564: l_line_adj_tbl.delete(i);
10565: Elsif l_line_adj_tbl(i).operation = oe_globals.g_opr_update and
10566: ( l_line_adj_tbl(i).price_adjustment_id is null or
10567: l_line_adj_tbl(i).price_adjustment_id = fnd_api.g_miss_num ) then
10568: l_line_adj_tbl(i).operation := oe_globals.g_opr_Create;
10569: ELsif l_line_adj_tbl(i).line_id IS NOT NULL and
10570: l_line_adj_tbl(i).line_id <> FND_API.G_MISS_NUM and
10571: l_delete_prg_lines.exists(l_line_adj_tbl(i).line_id) THEN
10566: ( l_line_adj_tbl(i).price_adjustment_id is null or
10567: l_line_adj_tbl(i).price_adjustment_id = fnd_api.g_miss_num ) then
10568: l_line_adj_tbl(i).operation := oe_globals.g_opr_Create;
10569: ELsif l_line_adj_tbl(i).line_id IS NOT NULL and
10570: l_line_adj_tbl(i).line_id <> FND_API.G_MISS_NUM and
10571: l_delete_prg_lines.exists(l_line_adj_tbl(i).line_id) THEN
10572: l_line_adj_tbl.delete(i);
10573: End if;
10574:
10592: Adj_Debug('comparison_operator '||l_line_adj_Att_tbl(i).comparison_operator,3);
10593: Adj_Debug('------------------------------',3);
10594: End If;
10595:
10596: if l_line_adj_Att_tbl(i).operation = fnd_api.g_miss_char then
10597: l_line_adj_Att_tbl.delete(i);
10598: Elsif l_line_adj_Att_tbl(i).price_adjustment_id = fnd_api.g_miss_num or
10599: l_line_adj_Att_tbl(i).price_adjustment_id is null Then
10600:
10594: End If;
10595:
10596: if l_line_adj_Att_tbl(i).operation = fnd_api.g_miss_char then
10597: l_line_adj_Att_tbl.delete(i);
10598: Elsif l_line_adj_Att_tbl(i).price_adjustment_id = fnd_api.g_miss_num or
10599: l_line_adj_Att_tbl(i).price_adjustment_id is null Then
10600:
10601: -- Check if the adjustment record exists
10602: If l_line_adj_Att_tbl(i).Adj_Index = fnd_api.g_miss_num Then
10598: Elsif l_line_adj_Att_tbl(i).price_adjustment_id = fnd_api.g_miss_num or
10599: l_line_adj_Att_tbl(i).price_adjustment_id is null Then
10600:
10601: -- Check if the adjustment record exists
10602: If l_line_adj_Att_tbl(i).Adj_Index = fnd_api.g_miss_num Then
10603: l_line_adj_Att_tbl.delete(i);
10604: ElsIf Not l_line_adj_tbl.exists(l_line_adj_Att_tbl(i).Adj_Index) Then
10605: l_line_adj_Att_tbl.delete(i);
10606: End If;
10621: adj_debug('Assocs: price adj '||l_Line_Adj_Assoc_tbl(i).price_adjustment_id,3);
10622: adj_debug('Assocs: rltd price adj '||l_Line_Adj_Assoc_tbl(i).rltd_Price_Adj_Id,3);
10623: adj_debug('---------------------------',3);
10624: End If;
10625: If l_Line_Adj_Assoc_tbl(i).operation = Fnd_Api.g_Miss_Char Then
10626: l_Line_Adj_Assoc_tbl.delete(i);
10627: Else
10628: if l_Line_Adj_Assoc_tbl(i).Price_Adjustment_Id = fnd_Api.g_miss_num and
10629: l_Line_Adj_Assoc_tbl(i).adj_index = fnd_Api.g_miss_num Then
10624: End If;
10625: If l_Line_Adj_Assoc_tbl(i).operation = Fnd_Api.g_Miss_Char Then
10626: l_Line_Adj_Assoc_tbl.delete(i);
10627: Else
10628: if l_Line_Adj_Assoc_tbl(i).Price_Adjustment_Id = fnd_Api.g_miss_num and
10629: l_Line_Adj_Assoc_tbl(i).adj_index = fnd_Api.g_miss_num Then
10630: l_Line_Adj_Assoc_tbl.delete(i);
10631: Elsif l_Line_Adj_Assoc_tbl(i).Adj_Index <> fnd_Api.g_miss_num and
10632: Not l_line_adj_tbl.exists(l_Line_Adj_Assoc_tbl(i).Adj_Index) Then
10625: If l_Line_Adj_Assoc_tbl(i).operation = Fnd_Api.g_Miss_Char Then
10626: l_Line_Adj_Assoc_tbl.delete(i);
10627: Else
10628: if l_Line_Adj_Assoc_tbl(i).Price_Adjustment_Id = fnd_Api.g_miss_num and
10629: l_Line_Adj_Assoc_tbl(i).adj_index = fnd_Api.g_miss_num Then
10630: l_Line_Adj_Assoc_tbl.delete(i);
10631: Elsif l_Line_Adj_Assoc_tbl(i).Adj_Index <> fnd_Api.g_miss_num and
10632: Not l_line_adj_tbl.exists(l_Line_Adj_Assoc_tbl(i).Adj_Index) Then
10633: l_Line_Adj_Assoc_tbl.delete(i);
10627: Else
10628: if l_Line_Adj_Assoc_tbl(i).Price_Adjustment_Id = fnd_Api.g_miss_num and
10629: l_Line_Adj_Assoc_tbl(i).adj_index = fnd_Api.g_miss_num Then
10630: l_Line_Adj_Assoc_tbl.delete(i);
10631: Elsif l_Line_Adj_Assoc_tbl(i).Adj_Index <> fnd_Api.g_miss_num and
10632: Not l_line_adj_tbl.exists(l_Line_Adj_Assoc_tbl(i).Adj_Index) Then
10633: l_Line_Adj_Assoc_tbl.delete(i);
10634: Elsif l_Line_Adj_Assoc_tbl(i).rltd_Price_Adj_Id = fnd_Api.g_miss_num and
10635: l_Line_Adj_Assoc_tbl(i).Rltd_Adj_Index = fnd_Api.g_miss_num Then
10630: l_Line_Adj_Assoc_tbl.delete(i);
10631: Elsif l_Line_Adj_Assoc_tbl(i).Adj_Index <> fnd_Api.g_miss_num and
10632: Not l_line_adj_tbl.exists(l_Line_Adj_Assoc_tbl(i).Adj_Index) Then
10633: l_Line_Adj_Assoc_tbl.delete(i);
10634: Elsif l_Line_Adj_Assoc_tbl(i).rltd_Price_Adj_Id = fnd_Api.g_miss_num and
10635: l_Line_Adj_Assoc_tbl(i).Rltd_Adj_Index = fnd_Api.g_miss_num Then
10636: l_Line_Adj_Assoc_tbl.delete(i);
10637: Elsif l_Line_Adj_Assoc_tbl(i).Rltd_Adj_Index <> fnd_Api.g_miss_num and
10638: Not l_line_adj_tbl.exists(l_Line_Adj_Assoc_tbl(i).Rltd_Adj_Index) Then
10631: Elsif l_Line_Adj_Assoc_tbl(i).Adj_Index <> fnd_Api.g_miss_num and
10632: Not l_line_adj_tbl.exists(l_Line_Adj_Assoc_tbl(i).Adj_Index) Then
10633: l_Line_Adj_Assoc_tbl.delete(i);
10634: Elsif l_Line_Adj_Assoc_tbl(i).rltd_Price_Adj_Id = fnd_Api.g_miss_num and
10635: l_Line_Adj_Assoc_tbl(i).Rltd_Adj_Index = fnd_Api.g_miss_num Then
10636: l_Line_Adj_Assoc_tbl.delete(i);
10637: Elsif l_Line_Adj_Assoc_tbl(i).Rltd_Adj_Index <> fnd_Api.g_miss_num and
10638: Not l_line_adj_tbl.exists(l_Line_Adj_Assoc_tbl(i).Rltd_Adj_Index) Then
10639: IF l_line_detail_replaced.exists(l_line_adj_assoc_tbl(i).rltd_adj_index) THEN
10633: l_Line_Adj_Assoc_tbl.delete(i);
10634: Elsif l_Line_Adj_Assoc_tbl(i).rltd_Price_Adj_Id = fnd_Api.g_miss_num and
10635: l_Line_Adj_Assoc_tbl(i).Rltd_Adj_Index = fnd_Api.g_miss_num Then
10636: l_Line_Adj_Assoc_tbl.delete(i);
10637: Elsif l_Line_Adj_Assoc_tbl(i).Rltd_Adj_Index <> fnd_Api.g_miss_num and
10638: Not l_line_adj_tbl.exists(l_Line_Adj_Assoc_tbl(i).Rltd_Adj_Index) Then
10639: IF l_line_detail_replaced.exists(l_line_adj_assoc_tbl(i).rltd_adj_index) THEN
10640: l_line_adj_assoc_tbl(i).rltd_adj_index
10641: := l_line_detail_replaced(l_line_adj_assoc_tbl(i).rltd_adj_index);
10738: l_Line_Adj_att_tbl.count = 0 AND
10739: l_Line_Adj_Assoc_tbl.count = 0
10740: ) THEN
10741: OE_ORDER_PVT.Lines
10742: ( p_validation_level => FND_API.G_VALID_LEVEL_FULL
10743: , p_control_rec => l_control_rec
10744: , p_x_line_tbl => l_line_tbl_Final
10745: , p_x_old_line_tbl => l_old_line_tbl
10746: , x_return_status => x_return_status
10745: , p_x_old_line_tbl => l_old_line_tbl
10746: , x_return_status => x_return_status
10747: );
10748:
10749: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
10750: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10751: ELSIF x_return_status = FND_API.G_RET_STS_ERROR THEN
10752: RAISE FND_API.G_EXC_ERROR;
10753: END IF;
10746: , x_return_status => x_return_status
10747: );
10748:
10749: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
10750: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10751: ELSIF x_return_status = FND_API.G_RET_STS_ERROR THEN
10752: RAISE FND_API.G_EXC_ERROR;
10753: END IF;
10754:
10747: );
10748:
10749: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
10750: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10751: ELSIF x_return_status = FND_API.G_RET_STS_ERROR THEN
10752: RAISE FND_API.G_EXC_ERROR;
10753: END IF;
10754:
10755: ELSE
10748:
10749: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
10750: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10751: ELSIF x_return_status = FND_API.G_RET_STS_ERROR THEN
10752: RAISE FND_API.G_EXC_ERROR;
10753: END IF;
10754:
10755: ELSE
10756: OE_Order_PVT.Process_order
10789:
10790: -- OE_Globals.G_RECURSION_MODE := 'N';
10791: OE_Globals.G_PRICING_RECURSION := 'N';
10792:
10793: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
10794: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10795: ELSIF x_return_status = FND_API.G_RET_STS_ERROR THEN
10796: RAISE FND_API.G_EXC_ERROR;
10797: END IF;
10790: -- OE_Globals.G_RECURSION_MODE := 'N';
10791: OE_Globals.G_PRICING_RECURSION := 'N';
10792:
10793: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
10794: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10795: ELSIF x_return_status = FND_API.G_RET_STS_ERROR THEN
10796: RAISE FND_API.G_EXC_ERROR;
10797: END IF;
10798:
10791: OE_Globals.G_PRICING_RECURSION := 'N';
10792:
10793: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
10794: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10795: ELSIF x_return_status = FND_API.G_RET_STS_ERROR THEN
10796: RAISE FND_API.G_EXC_ERROR;
10797: END IF;
10798:
10799: END IF;
10792:
10793: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
10794: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10795: ELSIF x_return_status = FND_API.G_RET_STS_ERROR THEN
10796: RAISE FND_API.G_EXC_ERROR;
10797: END IF;
10798:
10799: END IF;
10800:
10802: /*
10803: -- Process Requests for Pricing line (for new line created for PRG)
10804: OE_DELAYED_REQUESTS_PVT.Process_Request_for_Reqtype
10805: (p_request_type =>OE_GLOBALS.G_PRICE_LINE
10806: ,p_delete => FND_API.G_TRUE
10807: ,x_return_status => x_return_status
10808: );
10809: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
10810: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10805: (p_request_type =>OE_GLOBALS.G_PRICE_LINE
10806: ,p_delete => FND_API.G_TRUE
10807: ,x_return_status => x_return_status
10808: );
10809: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
10810: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10811: ELSIF x_return_status = FND_API.G_RET_STS_ERROR THEN
10812: RAISE FND_API.G_EXC_ERROR;
10813: END IF;
10806: ,p_delete => FND_API.G_TRUE
10807: ,x_return_status => x_return_status
10808: );
10809: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
10810: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10811: ELSIF x_return_status = FND_API.G_RET_STS_ERROR THEN
10812: RAISE FND_API.G_EXC_ERROR;
10813: END IF;
10814: */
10807: ,x_return_status => x_return_status
10808: );
10809: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
10810: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10811: ELSIF x_return_status = FND_API.G_RET_STS_ERROR THEN
10812: RAISE FND_API.G_EXC_ERROR;
10813: END IF;
10814: */
10815: End If;
10808: );
10809: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
10810: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10811: ELSIF x_return_status = FND_API.G_RET_STS_ERROR THEN
10812: RAISE FND_API.G_EXC_ERROR;
10813: END IF;
10814: */
10815: End If;
10816:
10839:
10840:
10841: EXCEPTION
10842:
10843: WHEN FND_API.G_EXC_ERROR THEN
10844:
10845: x_return_status := FND_API.G_RET_STS_ERROR;
10846: adj_debug(' exc_error'||g_stmt_no||' '||sqlerrm||' '||l_x_msg_data,1);
10847: -- OE_Globals.G_RECURSION_MODE := 'N';
10841: EXCEPTION
10842:
10843: WHEN FND_API.G_EXC_ERROR THEN
10844:
10845: x_return_status := FND_API.G_RET_STS_ERROR;
10846: adj_debug(' exc_error'||g_stmt_no||' '||sqlerrm||' '||l_x_msg_data,1);
10847: -- OE_Globals.G_RECURSION_MODE := 'N';
10848: OE_Globals.G_PRICING_RECURSION := 'N';
10849:
10846: adj_debug(' exc_error'||g_stmt_no||' '||sqlerrm||' '||l_x_msg_data,1);
10847: -- OE_Globals.G_RECURSION_MODE := 'N';
10848: OE_Globals.G_PRICING_RECURSION := 'N';
10849:
10850: RAISE FND_API.G_EXC_ERROR;
10851: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
10852:
10853: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
10854: adj_debug(' '||g_stmt_no||' '||sqlerrm||' '||l_x_msg_data,1);
10847: -- OE_Globals.G_RECURSION_MODE := 'N';
10848: OE_Globals.G_PRICING_RECURSION := 'N';
10849:
10850: RAISE FND_API.G_EXC_ERROR;
10851: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
10852:
10853: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
10854: adj_debug(' '||g_stmt_no||' '||sqlerrm||' '||l_x_msg_data,1);
10855:
10849:
10850: RAISE FND_API.G_EXC_ERROR;
10851: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
10852:
10853: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
10854: adj_debug(' '||g_stmt_no||' '||sqlerrm||' '||l_x_msg_data,1);
10855:
10856: -- OE_Globals.G_RECURSION_MODE := 'N';
10857: OE_Globals.G_PRICING_RECURSION := 'N';
10854: adj_debug(' '||g_stmt_no||' '||sqlerrm||' '||l_x_msg_data,1);
10855:
10856: -- OE_Globals.G_RECURSION_MODE := 'N';
10857: OE_Globals.G_PRICING_RECURSION := 'N';
10858: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10859:
10860: WHEN OTHERS THEN
10861:
10862: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
10858: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10859:
10860: WHEN OTHERS THEN
10861:
10862: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
10863: --dbms_output.put_line('Error is '||sqlerrm);
10864: adj_debug('Error in oe_order_Adj_pvt.process_adjustments',1);
10865: adj_debug(' '||g_stmt_no||' '||sqlerrm,1);
10866:
10874: END IF;
10875:
10876: -- OE_Globals.G_RECURSION_MODE := 'N';
10877: OE_Globals.G_PRICING_RECURSION := 'N';
10878: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10879:
10880: end process_adjustments;
10881:
10882: Procedure Populate_Pricing_Phases(p_pricing_event in Varchar2) Is
10952: RETURN FALSE;
10953: END IF;
10954:
10955: -- ASO installed; check whether it's a CRM order
10956: If (p_Header_id Is Not Null AND p_header_id <> FND_API.G_MISS_NUM) Then
10957: adj_debug('query source document type for header :'||p_header_id);
10958: OE_Header_Util.Query_Row(p_header_id => p_header_id
10959: , x_header_rec => l_header_rec);
10960: l_source_document_type_id := l_header_rec.source_document_type_id;
10960: l_source_document_type_id := l_header_rec.source_document_type_id;
10961: l_booked_flag := l_header_rec.booked_flag;
10962: l_header_id := p_header_id;
10963: Else
10964: if (px_line_tbl.count = 0 and (p_line_id is Null OR p_line_id = FND_API.G_MISS_NUM)) Then
10965:
10966: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
10967: THEN
10968:
10969: FND_MESSAGE.SET_NAME('ONT','OE_ATTRIBUTE_REQUIRED');
10970: FND_MESSAGE.SET_TOKEN('ATTRIBUTE','line_id or Header Id ');
10971: OE_MSG_PUB.Add;
10972: END IF;
10973: RAISE FND_API.G_EXC_ERROR;
10974: elsif (px_line_Tbl.count = 0) Then
10975: OE_Line_Util.Query_Rows(p_line_id => p_line_id
10976: , x_line_tbl => px_line_tbl);
10977: end if;
11009: Else
11010: Return FALSE;
11011: End If;
11012: EXCEPTION
11013: WHEN FND_API.G_EXC_ERROR THEN
11014: RAISE FND_API.G_EXC_ERROR;
11015: WHEN OTHERS THEN
11016: adj_debug('error in bypass_performance_path'||sqlerrm);
11017: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11010: Return FALSE;
11011: End If;
11012: EXCEPTION
11013: WHEN FND_API.G_EXC_ERROR THEN
11014: RAISE FND_API.G_EXC_ERROR;
11015: WHEN OTHERS THEN
11016: adj_debug('error in bypass_performance_path'||sqlerrm);
11017: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11018: End Bypass_Performance_Path;
11013: WHEN FND_API.G_EXC_ERROR THEN
11014: RAISE FND_API.G_EXC_ERROR;
11015: WHEN OTHERS THEN
11016: adj_debug('error in bypass_performance_path'||sqlerrm);
11017: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11018: End Bypass_Performance_Path;
11019:
11020: Procedure Price_line(
11021: X_Return_Status out nocopy Varchar2
11071: select 'x' from dual where
11072: exists (select 'x' from oe_order_lines where header_id = p_header_id
11073: and calculate_price_flag in ('Y','P'));
11074: begin
11075: x_return_status := FND_API.G_RET_STS_SUCCESS;
11076:
11077: --btea perf begin
11078: If OE_DEBUG_PUB.G_DEBUG = FND_API.G_TRUE Then
11079: G_DEBUG := TRUE;
11074: begin
11075: x_return_status := FND_API.G_RET_STS_SUCCESS;
11076:
11077: --btea perf begin
11078: If OE_DEBUG_PUB.G_DEBUG = FND_API.G_TRUE Then
11079: G_DEBUG := TRUE;
11080: adj_debug('Entering oe_order_Adj_pvt.Price_line',1);
11081: adj_debug('Version:'||get_version);
11082: Else
11144: ,p_request_rec =>p_request_rec
11145: ,x_Return_Status =>l_return_status
11146: );
11147:
11148: If nvl(l_return_status,'x-x') NOT IN (FND_API.G_RET_STS_UNEXP_ERROR,FND_API.G_RET_STS_ERROR) Then
11149: l_return_status:=FND_API.G_RET_STS_SUCCESS;
11150: End If;
11151:
11152: -- added for HVOP Tax project
11145: ,x_Return_Status =>l_return_status
11146: );
11147:
11148: If nvl(l_return_status,'x-x') NOT IN (FND_API.G_RET_STS_UNEXP_ERROR,FND_API.G_RET_STS_ERROR) Then
11149: l_return_status:=FND_API.G_RET_STS_SUCCESS;
11150: End If;
11151:
11152: -- added for HVOP Tax project
11153: IF OE_BULK_ORDER_PVT.G_HEADER_REC.HEADER_ID.COUNT > 0 THEN
11164:
11165:
11166:
11167: Exception
11168: WHEN FND_API.G_EXC_ERROR THEN
11169:
11170: x_return_status := FND_API.G_RET_STS_ERROR;
11171:
11172: --Bug 7566697
11166:
11167: Exception
11168: WHEN FND_API.G_EXC_ERROR THEN
11169:
11170: x_return_status := FND_API.G_RET_STS_ERROR;
11171:
11172: --Bug 7566697
11173: adj_debug('Setting prcing error flag for mass change');
11174: OE_MASS_CHANGE_PVT.G_PRICING_ERROR := 'Y';
11173: adj_debug('Setting prcing error flag for mass change');
11174: OE_MASS_CHANGE_PVT.G_PRICING_ERROR := 'Y';
11175:
11176: adj_debug('Exiting oe_order_Adj_pvt.Price_line',1);
11177: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
11178:
11179: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
11180:
11181: --Bug 7566697
11175:
11176: adj_debug('Exiting oe_order_Adj_pvt.Price_line',1);
11177: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
11178:
11179: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
11180:
11181: --Bug 7566697
11182: adj_debug('Setting prcing error flag for mass change');
11183: OE_MASS_CHANGE_PVT.G_PRICING_ERROR := 'Y';
11184:
11185: adj_debug('Exiting oe_order_Adj_pvt.Price_line',1);
11186: WHEN OTHERS THEN
11187:
11188: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
11189: adj_debug('Error in oe_order_Adj_pvt.Price_line',1);
11190: adj_debug(sqlerrm,1);
11191:
11192: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11202: adj_debug('Setting prcing error flag for mass change');
11203: OE_MASS_CHANGE_PVT.G_PRICING_ERROR := 'Y';
11204:
11205: adj_debug('Exiting oe_order_Adj_pvt.Price_line',1);
11206: --RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11207:
11208: End Price_line;
11209:
11210: Procedure Price_Adjustments(
11266:
11267: adj_debug('Entering oe_order_Adj_pvt.Price_adjustments',1);
11268:
11269: --btea perf begin
11270: If OE_DEBUG_PUB.G_DEBUG = FND_API.G_TRUE Then
11271: G_DEBUG := TRUE;
11272: adj_debug('BCT G_DEBUG IS:'||OE_DEBUG_PUB.G_DEBUG );
11273: Else
11274: G_DEBUG := FALSE;
11575:
11576: -- OE_Globals.G_RECURSION_MODE := 'N';
11577: OE_Globals.G_PRICING_RECURSION := 'N';
11578:
11579: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
11580: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11581: ELSIF x_return_status = FND_API.G_RET_STS_ERROR THEN
11582: RAISE FND_API.G_EXC_ERROR;
11583: END IF;
11576: -- OE_Globals.G_RECURSION_MODE := 'N';
11577: OE_Globals.G_PRICING_RECURSION := 'N';
11578:
11579: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
11580: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11581: ELSIF x_return_status = FND_API.G_RET_STS_ERROR THEN
11582: RAISE FND_API.G_EXC_ERROR;
11583: END IF;
11584:
11577: OE_Globals.G_PRICING_RECURSION := 'N';
11578:
11579: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
11580: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11581: ELSIF x_return_status = FND_API.G_RET_STS_ERROR THEN
11582: RAISE FND_API.G_EXC_ERROR;
11583: END IF;
11584:
11585: adj_debug('Exiting oe_order_Adj_pvt.Price_adjustments',1);
11578:
11579: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
11580: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11581: ELSIF x_return_status = FND_API.G_RET_STS_ERROR THEN
11582: RAISE FND_API.G_EXC_ERROR;
11583: END IF;
11584:
11585: adj_debug('Exiting oe_order_Adj_pvt.Price_adjustments',1);
11586:
11586:
11587:
11588: EXCEPTION
11589:
11590: WHEN FND_API.G_EXC_ERROR THEN
11591:
11592: x_return_status := FND_API.G_RET_STS_ERROR;
11593: adj_debug(' '||g_stmt_no||' '||sqlerrm||' '||l_x_msg_data,1);
11594:
11588: EXCEPTION
11589:
11590: WHEN FND_API.G_EXC_ERROR THEN
11591:
11592: x_return_status := FND_API.G_RET_STS_ERROR;
11593: adj_debug(' '||g_stmt_no||' '||sqlerrm||' '||l_x_msg_data,1);
11594:
11595: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
11596:
11591:
11592: x_return_status := FND_API.G_RET_STS_ERROR;
11593: adj_debug(' '||g_stmt_no||' '||sqlerrm||' '||l_x_msg_data,1);
11594:
11595: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
11596:
11597: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
11598: adj_debug(' '||g_stmt_no||' '||sqlerrm||' '||l_x_msg_data,1);
11599:
11593: adj_debug(' '||g_stmt_no||' '||sqlerrm||' '||l_x_msg_data,1);
11594:
11595: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
11596:
11597: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
11598: adj_debug(' '||g_stmt_no||' '||sqlerrm||' '||l_x_msg_data,1);
11599:
11600: WHEN OTHERS THEN
11601:
11598: adj_debug(' '||g_stmt_no||' '||sqlerrm||' '||l_x_msg_data,1);
11599:
11600: WHEN OTHERS THEN
11601:
11602: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
11603: --dbms_output.put_line('Error is '||sqlerrm);
11604: adj_debug('Error in oe_order_Adj_pvt.Price_adjustments',1);
11605: adj_debug(' '||g_stmt_no||' '||sqlerrm,1);
11606:
11780: ,p_Write_To_Db => TRUE
11781: ,x_Line_Tbl => l_x_Line_Tbl
11782: );
11783:
11784: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
11785: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11786: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
11787: RAISE FND_API.G_EXC_ERROR;
11788: END IF;
11781: ,x_Line_Tbl => l_x_Line_Tbl
11782: );
11783:
11784: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
11785: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11786: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
11787: RAISE FND_API.G_EXC_ERROR;
11788: END IF;
11789:
11782: );
11783:
11784: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
11785: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11786: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
11787: RAISE FND_API.G_EXC_ERROR;
11788: END IF;
11789:
11790: L_x_line_tbl.delete;
11783:
11784: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
11785: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11786: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
11787: RAISE FND_API.G_EXC_ERROR;
11788: END IF;
11789:
11790: L_x_line_tbl.delete;
11791: END IF;
11813: ,p_Write_To_Db => TRUE
11814: ,x_Line_Tbl => l_x_Line_Tbl
11815: );
11816:
11817: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
11818: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11819: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
11820: RAISE FND_API.G_EXC_ERROR;
11821: END IF;
11814: ,x_Line_Tbl => l_x_Line_Tbl
11815: );
11816:
11817: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
11818: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11819: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
11820: RAISE FND_API.G_EXC_ERROR;
11821: END IF;
11822:
11815: );
11816:
11817: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
11818: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11819: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
11820: RAISE FND_API.G_EXC_ERROR;
11821: END IF;
11822:
11823: L_x_line_tbl.delete;
11816:
11817: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
11818: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11819: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
11820: RAISE FND_API.G_EXC_ERROR;
11821: END IF;
11822:
11823: L_x_line_tbl.delete;
11824: END IF;
11839: END IF;
11840: adj_debug('Price Action Header_id :'||l_HEader_id);
11841:
11842: -- use order_header cache instead of sql : bug 4200055
11843: if ( OE_Order_Cache.g_header_rec.header_id <> FND_API.G_MISS_NUM
11844: and OE_Order_Cache.g_header_rec.header_id IS NOT NULL
11845: and OE_Order_Cache.g_header_rec.header_id = l_header_id ) then
11846: l_booked_flag := OE_Order_Cache.g_header_rec.booked_flag ;
11847: else
11868: (p_header_id => l_header_id
11869: ,p_x_header_rec => l_locked_header_rec
11870: ,x_return_status => l_return_status
11871: );
11872: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
11873: RAISE FND_API.G_EXC_ERROR;
11874: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
11875: THEN
11876: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11869: ,p_x_header_rec => l_locked_header_rec
11870: ,x_return_status => l_return_status
11871: );
11872: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
11873: RAISE FND_API.G_EXC_ERROR;
11874: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
11875: THEN
11876: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11877: END IF;
11870: ,x_return_status => l_return_status
11871: );
11872: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
11873: RAISE FND_API.G_EXC_ERROR;
11874: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
11875: THEN
11876: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11877: END IF;
11878: --13727700 end
11872: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
11873: RAISE FND_API.G_EXC_ERROR;
11874: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
11875: THEN
11876: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11877: END IF;
11878: --13727700 end
11879:
11880: oe_order_Adj_pvt.Price_line(
11886: ,x_Line_Tbl => l_x_Line_Tbl
11887: ,p_multiple_events => l_multiple_events
11888: ,p_action_code => 'PRICE_ORDER');
11889:
11890: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
11891: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11892: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
11893: RAISE FND_API.G_EXC_ERROR;
11894: END IF;
11887: ,p_multiple_events => l_multiple_events
11888: ,p_action_code => 'PRICE_ORDER');
11889:
11890: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
11891: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11892: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
11893: RAISE FND_API.G_EXC_ERROR;
11894: END IF;
11895: i := p_selected_records.next(i);
11888: ,p_action_code => 'PRICE_ORDER');
11889:
11890: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
11891: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11892: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
11893: RAISE FND_API.G_EXC_ERROR;
11894: END IF;
11895: i := p_selected_records.next(i);
11896: end loop;
11889:
11890: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
11891: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11892: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
11893: RAISE FND_API.G_EXC_ERROR;
11894: END IF;
11895: i := p_selected_records.next(i);
11896: end loop;
11897: ELSE
11923: (p_header_id => l_header_id
11924: ,p_x_header_rec => l_locked_header_rec
11925: ,x_return_status => l_return_status
11926: );
11927: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
11928: RAISE FND_API.G_EXC_ERROR;
11929: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
11930: THEN
11931: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11924: ,p_x_header_rec => l_locked_header_rec
11925: ,x_return_status => l_return_status
11926: );
11927: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
11928: RAISE FND_API.G_EXC_ERROR;
11929: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
11930: THEN
11931: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11932: END IF;
11925: ,x_return_status => l_return_status
11926: );
11927: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
11928: RAISE FND_API.G_EXC_ERROR;
11929: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
11930: THEN
11931: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11932: END IF;
11933: --13727700 end
11927: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
11928: RAISE FND_API.G_EXC_ERROR;
11929: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
11930: THEN
11931: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11932: END IF;
11933: --13727700 end
11934:
11935:
11942: ,x_Line_Tbl => l_x_Line_Tbl
11943: ,p_multiple_events => l_multiple_events
11944: ,p_action_code => 'PRICE_ORDER');
11945:
11946: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
11947: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11948: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
11949: RAISE FND_API.G_EXC_ERROR;
11950: END IF;
11943: ,p_multiple_events => l_multiple_events
11944: ,p_action_code => 'PRICE_ORDER');
11945:
11946: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
11947: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11948: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
11949: RAISE FND_API.G_EXC_ERROR;
11950: END IF;
11951: l_prev_hdr_id := l_header_id;
11944: ,p_action_code => 'PRICE_ORDER');
11945:
11946: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
11947: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11948: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
11949: RAISE FND_API.G_EXC_ERROR;
11950: END IF;
11951: l_prev_hdr_id := l_header_id;
11952: END IF;
11945:
11946: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
11947: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11948: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
11949: RAISE FND_API.G_EXC_ERROR;
11950: END IF;
11951: l_prev_hdr_id := l_header_id;
11952: END IF;
11953: i := p_selected_records.next(i);
11962: ( p_count => x_msg_count
11963: , p_data => x_msg_data
11964: );
11965:
11966: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
11967: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11968: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
11969: RAISE FND_API.G_EXC_ERROR;
11970: END IF;
11963: , p_data => x_msg_data
11964: );
11965:
11966: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
11967: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11968: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
11969: RAISE FND_API.G_EXC_ERROR;
11970: END IF;
11971:
11964: );
11965:
11966: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
11967: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11968: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
11969: RAISE FND_API.G_EXC_ERROR;
11970: END IF;
11971:
11972: x_Return_Status := FND_API.G_RET_STS_SUCCESS;
11965:
11966: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
11967: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11968: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
11969: RAISE FND_API.G_EXC_ERROR;
11970: END IF;
11971:
11972: x_Return_Status := FND_API.G_RET_STS_SUCCESS;
11973:
11968: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
11969: RAISE FND_API.G_EXC_ERROR;
11970: END IF;
11971:
11972: x_Return_Status := FND_API.G_RET_STS_SUCCESS;
11973:
11974: adj_debug('Exiting oe_order_Adj_pvt.Price_adjustments',1);
11975:
11976:
11975:
11976:
11977: EXCEPTION
11978:
11979: WHEN FND_API.G_EXC_ERROR THEN
11980: x_return_status := FND_API.G_RET_STS_ERROR;
11981: OE_MSG_PUB.Count_And_Get
11982: ( p_count => x_msg_count
11983: ,p_data => x_msg_data
11976:
11977: EXCEPTION
11978:
11979: WHEN FND_API.G_EXC_ERROR THEN
11980: x_return_status := FND_API.G_RET_STS_ERROR;
11981: OE_MSG_PUB.Count_And_Get
11982: ( p_count => x_msg_count
11983: ,p_data => x_msg_data
11984: );
11982: ( p_count => x_msg_count
11983: ,p_data => x_msg_data
11984: );
11985:
11986: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
11987: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
11988: OE_MSG_PUB.Count_And_Get
11989: ( p_count => x_msg_count
11990: ,p_data => x_msg_data
11983: ,p_data => x_msg_data
11984: );
11985:
11986: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
11987: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
11988: OE_MSG_PUB.Count_And_Get
11989: ( p_count => x_msg_count
11990: ,p_data => x_msg_data
11991: );
11990: ,p_data => x_msg_data
11991: );
11992:
11993: WHEN OTHERS THEN
11994: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
11995: adj_debug(' '||sqlerrm,1);
11996: OE_MSG_PUB.Count_And_Get
11997: ( p_count => x_msg_count
11998: , p_data => x_msg_data
12122: ,x_Line_Tbl => l_x_Line_Tbl
12123: );
12124: END IF;
12125:
12126: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
12127: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12128: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
12129: RAISE FND_API.G_EXC_ERROR;
12130: END IF;
12123: );
12124: END IF;
12125:
12126: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
12127: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12128: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
12129: RAISE FND_API.G_EXC_ERROR;
12130: END IF;
12131:
12124: END IF;
12125:
12126: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
12127: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12128: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
12129: RAISE FND_API.G_EXC_ERROR;
12130: END IF;
12131:
12132:
12125:
12126: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
12127: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12128: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
12129: RAISE FND_API.G_EXC_ERROR;
12130: END IF;
12131:
12132:
12133:
12174: (p_header_id => l_header_id
12175: ,p_x_header_rec => l_locked_header_rec
12176: ,x_return_status => l_return_status
12177: );
12178: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
12179: RAISE FND_API.G_EXC_ERROR;
12180: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
12181: THEN
12182: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12175: ,p_x_header_rec => l_locked_header_rec
12176: ,x_return_status => l_return_status
12177: );
12178: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
12179: RAISE FND_API.G_EXC_ERROR;
12180: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
12181: THEN
12182: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12183: END IF;
12176: ,x_return_status => l_return_status
12177: );
12178: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
12179: RAISE FND_API.G_EXC_ERROR;
12180: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
12181: THEN
12182: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12183: END IF;
12184: --14647325 end
12178: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
12179: RAISE FND_API.G_EXC_ERROR;
12180: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
12181: THEN
12182: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12183: END IF;
12184: --14647325 end
12185:
12186: oe_order_Adj_pvt.Price_line(
12192: ,x_Line_Tbl => l_x_Line_Tbl
12193: ,p_multiple_events => l_multiple_events
12194: ,p_action_code => 'PRICE_ORDER');
12195:
12196: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
12197: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12198: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
12199: RAISE FND_API.G_EXC_ERROR;
12200: END IF;
12193: ,p_multiple_events => l_multiple_events
12194: ,p_action_code => 'PRICE_ORDER');
12195:
12196: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
12197: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12198: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
12199: RAISE FND_API.G_EXC_ERROR;
12200: END IF;
12201:
12194: ,p_action_code => 'PRICE_ORDER');
12195:
12196: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
12197: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12198: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
12199: RAISE FND_API.G_EXC_ERROR;
12200: END IF;
12201:
12202: end loop; -- Headers
12195:
12196: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
12197: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12198: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
12199: RAISE FND_API.G_EXC_ERROR;
12200: END IF;
12201:
12202: end loop; -- Headers
12203:
12207: ( p_count => x_msg_count
12208: , p_data => x_msg_data
12209: );
12210:
12211: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
12212: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12213: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
12214: RAISE FND_API.G_EXC_ERROR;
12215: END IF;
12208: , p_data => x_msg_data
12209: );
12210:
12211: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
12212: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12213: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
12214: RAISE FND_API.G_EXC_ERROR;
12215: END IF;
12216:
12209: );
12210:
12211: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
12212: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12213: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
12214: RAISE FND_API.G_EXC_ERROR;
12215: END IF;
12216:
12217: x_Return_Status := FND_API.G_RET_STS_SUCCESS;
12210:
12211: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
12212: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12213: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
12214: RAISE FND_API.G_EXC_ERROR;
12215: END IF;
12216:
12217: x_Return_Status := FND_API.G_RET_STS_SUCCESS;
12218:
12213: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
12214: RAISE FND_API.G_EXC_ERROR;
12215: END IF;
12216:
12217: x_Return_Status := FND_API.G_RET_STS_SUCCESS;
12218:
12219: adj_debug('Exiting oe_order_Adj_pvt.Price_adjustments',1);
12220:
12221:
12220:
12221:
12222: EXCEPTION
12223:
12224: WHEN FND_API.G_EXC_ERROR THEN
12225: x_return_status := FND_API.G_RET_STS_ERROR;
12226: OE_MSG_PUB.Count_And_Get
12227: ( p_count => x_msg_count
12228: ,p_data => x_msg_data
12221:
12222: EXCEPTION
12223:
12224: WHEN FND_API.G_EXC_ERROR THEN
12225: x_return_status := FND_API.G_RET_STS_ERROR;
12226: OE_MSG_PUB.Count_And_Get
12227: ( p_count => x_msg_count
12228: ,p_data => x_msg_data
12229: );
12227: ( p_count => x_msg_count
12228: ,p_data => x_msg_data
12229: );
12230:
12231: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
12232: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
12233: OE_MSG_PUB.Count_And_Get
12234: ( p_count => x_msg_count
12235: ,p_data => x_msg_data
12228: ,p_data => x_msg_data
12229: );
12230:
12231: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
12232: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
12233: OE_MSG_PUB.Count_And_Get
12234: ( p_count => x_msg_count
12235: ,p_data => x_msg_data
12236: );
12235: ,p_data => x_msg_data
12236: );
12237:
12238: WHEN OTHERS THEN
12239: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
12240: adj_debug(' '||sqlerrm,1);
12241: OE_MSG_PUB.Count_And_Get
12242: ( p_count => x_msg_count
12243: , p_data => x_msg_data
12440: (QP_PREQ_GRP.G_STATUS_INVALID_PRICE_LIST,
12441: QP_PREQ_GRP.G_STS_LHS_NOT_FOUND,
12442: QP_PREQ_GRP.G_STATUS_FORMULA_ERROR,
12443: QP_PREQ_GRP.G_STATUS_OTHER_ERRORS,
12444: FND_API.G_RET_STS_UNEXP_ERROR,
12445: FND_API.G_RET_STS_ERROR,
12446: QP_PREQ_GRP.G_STATUS_CALC_ERROR,
12447: QP_PREQ_GRP.G_STATUS_UOM_FAILURE,
12448: QP_PREQ_GRP.G_STATUS_INVALID_UOM,
12441: QP_PREQ_GRP.G_STS_LHS_NOT_FOUND,
12442: QP_PREQ_GRP.G_STATUS_FORMULA_ERROR,
12443: QP_PREQ_GRP.G_STATUS_OTHER_ERRORS,
12444: FND_API.G_RET_STS_UNEXP_ERROR,
12445: FND_API.G_RET_STS_ERROR,
12446: QP_PREQ_GRP.G_STATUS_CALC_ERROR,
12447: QP_PREQ_GRP.G_STATUS_UOM_FAILURE,
12448: QP_PREQ_GRP.G_STATUS_INVALID_UOM,
12449: QP_PREQ_GRP.G_STATUS_DUP_PRICE_LIST,
12454:
12455: x_quote_line_tbl(i).Status_Code:= p_line_tbl(i).industry_attribute30;
12456: --DBMS_OUTPUT.PUT_LINE('+++F++:'||x_quote_line_tbl(i).Status_Code);
12457: Else
12458: x_quote_line_tbl(i).Status_Code:=FND_API.G_RET_STS_SUCCESS;
12459: --DBMS_OUTPUT.PUT_LINE('+++S++:'|| x_quote_line_tbl(i).Status_Code);
12460: End If;
12461:
12462: i:= p_line_tbl.Next(i);
12541: Load_Out_Quote_Line(l_Line_Tbl,l_req_line_tbl,x_quote_line_tbl);
12542:
12543: Exception
12544: When Others Then
12545: x_return_status := FND_API.G_RET_STS_ERROR;
12546: x_return_status_text := 'Oe_Order_Adj_Pvt.Get_Quote: '||l_stmt||': '||SQLERRM;
12547:
12548: End get_quote;
12549:
12625: Select Oe_Price_Adjustments_S.Nextval
12626: Into l_line_adj_tbl(1).price_adjustment_id
12627: From dual;
12628: stmt:='20';
12629: Line_Adjs(p_validation_level => FND_API.G_VALID_LEVEL_NONE,
12630: p_control_rec => l_control_rec,
12631: p_x_line_adj_tbl => l_line_adj_tbl,
12632: p_x_old_line_adj_tbl => l_dummy_tbl);
12633: stmt:='30';
12742: oe_debug_pub.add('freight flag is true');
12743: else
12744: oe_debug_pub.add('freight flag is false');
12745: end if;
12746: x_return_status:=FND_API.G_RET_STS_SUCCESS;
12747: --l_profile_value := Fnd_Profile.Value('QP_MANUAL_LINEGROUP');
12748: oe_debug_pub.add('Entering Get Manual Adj');
12749: --bucket man
12750: IF OE_CODE_CONTROL.Get_Code_Release_Level >= '110510' THEN
13140: ,x_return_status_Text =>l_return_status_Text
13141: );
13142: END IF;
13143:
13144: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
13145: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13146: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
13147: RAISE FND_API.G_EXC_ERROR;
13148: END IF;
13141: );
13142: END IF;
13143:
13144: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
13145: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13146: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
13147: RAISE FND_API.G_EXC_ERROR;
13148: END IF;
13149: g_stmt_no :='Get Manual Adj#5';
13142: END IF;
13143:
13144: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
13145: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13146: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
13147: RAISE FND_API.G_EXC_ERROR;
13148: END IF;
13149: g_stmt_no :='Get Manual Adj#5';
13150: IF OE_CODE_CONTROL.Get_Code_Release_Level >= '110510' THEN
13143:
13144: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
13145: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13146: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
13147: RAISE FND_API.G_EXC_ERROR;
13148: END IF;
13149: g_stmt_no :='Get Manual Adj#5';
13150: IF OE_CODE_CONTROL.Get_Code_Release_Level >= '110510' THEN
13151: i := 1;
13326: Oe_Debug_Pub.add('Exiting Get manual adj');
13327:
13328: EXCEPTION
13329:
13330: WHEN FND_API.G_EXC_ERROR THEN
13331:
13332: FND_MESSAGE.SET_NAME('ONT','OE_PRICING_ERROR');
13333: FND_MESSAGE.SET_TOKEN('ERR_TEXT',l_return_status_Text);
13334: OE_MSG_PUB.Add;
13331:
13332: FND_MESSAGE.SET_NAME('ONT','OE_PRICING_ERROR');
13333: FND_MESSAGE.SET_TOKEN('ERR_TEXT',l_return_status_Text);
13334: OE_MSG_PUB.Add;
13335: x_return_status := FND_API.G_RET_STS_ERROR;
13336:
13337: Oe_Debug_Pub.add('g_exc_error is '||g_stmt_no||' '||sqlerrm,1);
13338: Oe_Debug_Pub.add('g_exc_error is '||l_return_status_Text);
13339: --DBMS_OUTPUT.PUT_LINE('g_exc_error is '||l_return_status_Text);
13336:
13337: Oe_Debug_Pub.add('g_exc_error is '||g_stmt_no||' '||sqlerrm,1);
13338: Oe_Debug_Pub.add('g_exc_error is '||l_return_status_Text);
13339: --DBMS_OUTPUT.PUT_LINE('g_exc_error is '||l_return_status_Text);
13340: RAISE FND_API.G_EXC_ERROR;
13341:
13342: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
13343:
13344: FND_MESSAGE.SET_NAME('ONT','OE_PRICING_ERROR');
13338: Oe_Debug_Pub.add('g_exc_error is '||l_return_status_Text);
13339: --DBMS_OUTPUT.PUT_LINE('g_exc_error is '||l_return_status_Text);
13340: RAISE FND_API.G_EXC_ERROR;
13341:
13342: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
13343:
13344: FND_MESSAGE.SET_NAME('ONT','OE_PRICING_ERROR');
13345: FND_MESSAGE.SET_TOKEN('ERR_TEXT',l_return_status_Text);
13346: OE_MSG_PUB.Add;
13343:
13344: FND_MESSAGE.SET_NAME('ONT','OE_PRICING_ERROR');
13345: FND_MESSAGE.SET_TOKEN('ERR_TEXT',l_return_status_Text);
13346: OE_MSG_PUB.Add;
13347: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
13348: Oe_Debug_Pub.add('G_EXC_UNEXPECTED_ERROR is '||g_stmt_no||' '||sqlerrm,1);
13349: Oe_Debug_Pub.add('G_EXC_UNEXPECTED_ERROR is '||l_return_status_Text);
13350: --DBMS_OUTPUT.PUT_LINE('G_EXC_UNEXPECTED_ERROR is '||l_return_status_Text);
13351: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13347: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
13348: Oe_Debug_Pub.add('G_EXC_UNEXPECTED_ERROR is '||g_stmt_no||' '||sqlerrm,1);
13349: Oe_Debug_Pub.add('G_EXC_UNEXPECTED_ERROR is '||l_return_status_Text);
13350: --DBMS_OUTPUT.PUT_LINE('G_EXC_UNEXPECTED_ERROR is '||l_return_status_Text);
13351: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13352: WHEN QP_ATTR_MAPPING_ERRORS Then
13353: FND_MESSAGE.SET_NAME('ONT','OE_PRICING_ERROR');
13354: FND_MESSAGE.SET_TOKEN('ERR_TEXT','Errors return from QP_Attr_Mapping_PUB.Build_Context');
13355: OE_MSG_PUB.Add;
13352: WHEN QP_ATTR_MAPPING_ERRORS Then
13353: FND_MESSAGE.SET_NAME('ONT','OE_PRICING_ERROR');
13354: FND_MESSAGE.SET_TOKEN('ERR_TEXT','Errors return from QP_Attr_Mapping_PUB.Build_Context');
13355: OE_MSG_PUB.Add;
13356: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
13357: Oe_Debug_Pub.add('G_EXC_UNEXPECTED_ERROR is: QP_Attr_Mapping_PUB.Build_Context'||sqlerrm,1);
13358: Oe_Debug_Pub.add('G_EXC_UNEXPECTED_ERROR is '||l_return_status_Text);
13359: Oe_Debug_Pub.add('QP_ATTR_MAPPING_ERRORS');
13360: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13356: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
13357: Oe_Debug_Pub.add('G_EXC_UNEXPECTED_ERROR is: QP_Attr_Mapping_PUB.Build_Context'||sqlerrm,1);
13358: Oe_Debug_Pub.add('G_EXC_UNEXPECTED_ERROR is '||l_return_status_Text);
13359: Oe_Debug_Pub.add('QP_ATTR_MAPPING_ERRORS');
13360: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13361: WHEN OTHERS THEN
13362:
13363: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
13364: Oe_Debug_Pub.add('Error is '||sqlerrm);
13359: Oe_Debug_Pub.add('QP_ATTR_MAPPING_ERRORS');
13360: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13361: WHEN OTHERS THEN
13362:
13363: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
13364: Oe_Debug_Pub.add('Error is '||sqlerrm);
13365: Oe_Debug_Pub.add('Error Code is '||g_stmt_no||' '||sqlerrm,1);
13366:
13367: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13372: g_stmt_no||' '||sqlerrm
13373: );
13374: END IF;
13375:
13376: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13377:
13378: End Get_Manual_Adjustments;
13379:
13380: -- PROMOTIONS SEP/01
13432: );
13433:
13434: --adj_debug('PAL PROMOTIONS - hold_entity_code is '|| l_hold_source_rec.Hold_Entity_code||l_x_result_out,2);
13435:
13436: IF (l_return_status <> FND_API.g_ret_sts_success) THEN
13437: RAISE FND_API.G_EXC_ERROR;
13438: END IF;
13439: If l_x_result_out = FND_API.G_FALSE then
13440: adj_debug('PAL PROMOTIONS - apply holds in procedure Promotion_Put_Hold ');
13433:
13434: --adj_debug('PAL PROMOTIONS - hold_entity_code is '|| l_hold_source_rec.Hold_Entity_code||l_x_result_out,2);
13435:
13436: IF (l_return_status <> FND_API.g_ret_sts_success) THEN
13437: RAISE FND_API.G_EXC_ERROR;
13438: END IF;
13439: If l_x_result_out = FND_API.G_FALSE then
13440: adj_debug('PAL PROMOTIONS - apply holds in procedure Promotion_Put_Hold ');
13441: adj_debug('hold line with header_id:'||p_header_id||' line_id: '||p_line_id,1);
13435:
13436: IF (l_return_status <> FND_API.g_ret_sts_success) THEN
13437: RAISE FND_API.G_EXC_ERROR;
13438: END IF;
13439: If l_x_result_out = FND_API.G_FALSE then
13440: adj_debug('PAL PROMOTIONS - apply holds in procedure Promotion_Put_Hold ');
13441: adj_debug('hold line with header_id:'||p_header_id||' line_id: '||p_line_id,1);
13442: OE_HOLDS_PUB.Apply_Holds(
13443: p_api_version => 1.0
13446: ,x_msg_count => l_x_msg_count
13447: ,x_msg_data => l_x_msg_data
13448: );
13449:
13450: If l_return_status = FND_API.g_ret_sts_success then
13451: IF (p_line_id IS NULL) THEN
13452: FND_MESSAGE.SET_NAME('ONT','ONT_PROMO_HOLD_APPLIED');
13453: ELSE
13454: FND_MESSAGE.SET_NAME('ONT', 'ONT_LINE_PROMO_HOLD_APPLIED');
13455: END IF;
13456: OE_MSG_PUB.Add;
13457: Else
13458: adj_debug('error applying hold',3);
13459: RAISE FND_API.G_EXC_ERROR;
13460: End If;
13461: End If; /* check hold */
13462:
13463: -- adj_debug('PROMOTIONS - end of procedure Promotion_Put_Hold ');