[Home] [Help]
45:
46: PROCEDURE Print_Time(p_msg IN VARCHAR2)
47: IS
48: l_time VARCHAR2(100);
49: l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
50: BEGIN
51: l_time := to_char (new_time (sysdate, 'PST', 'EST'),
52: 'DD-MON-YY HH24:MI:SS');
53: IF l_debug_level > 0 THEN
50: BEGIN
51: l_time := to_char (new_time (sysdate, 'PST', 'EST'),
52: 'DD-MON-YY HH24:MI:SS');
53: IF l_debug_level > 0 THEN
54: OE_DEBUG_PUB.Add(p_msg || ': '|| l_time, 1);
55: END IF;
56: END Print_Time;
57:
58:
77:
78: IS
79: l_control_rec OE_GLOBALS.Control_Rec_Type;
80: l_old_line_tbl OE_Order_PUB.Line_Tbl_Type;
81: l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
82: BEGIN
83:
84: Print_Time('Entering OE_FTE_INTEGRATION_PVT.Update_FTE_Results..');
85:
85:
86: x_return_status := FND_API.G_RET_STS_SUCCESS;
87:
88: IF l_debug_level > 0 THEN
89: OE_DEBUG_PUB.Add('Before Calling Process Order..',3);
90: END IF;
91:
92: OE_ORDER_PVT.Lines
93: ( p_validation_level => FND_API.G_VALID_LEVEL_NONE
97: ,x_return_status => x_return_status);
98:
99:
100: IF l_debug_level > 0 THEN
101: oe_debug_pub.Add('After Calling Process Order...'||
102: x_return_status,3);
103: END IF;
104:
105: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
108: RAISE FND_API.G_EXC_ERROR;
109: END IF;
110:
111: IF l_debug_level > 0 THEN
112: OE_DEBUG_PUB.Add('Before Calling Process Requests and Notify',3);
113: END IF;
114:
115: OE_ORDER_PVT.Process_Requests_And_notify
116: ( p_process_requests => TRUE
119: ,p_line_tbl => p_x_line_tbl
120: ,p_old_line_tbl => l_old_line_tbl);
121:
122: IF l_debug_level > 0 THEN
123: OE_DEBUG_PUB.Add('After Calling Process Requests' ||
124: 'and Notify...'|| x_return_status,3);
125: END IF;
126:
127: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
136: EXCEPTION
137:
138: WHEN FND_API.G_EXC_ERROR THEN
139: IF l_debug_level > 0 THEN
140: OE_DEBUG_PUB.Add('Expected Error in Update FTE Results', 2);
141: END IF;
142: x_return_status := FND_API.G_RET_STS_ERROR;
143:
144: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
142: x_return_status := FND_API.G_RET_STS_ERROR;
143:
144: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
145: IF l_debug_level > 0 THEN
146: OE_DEBUG_PUB.Add('Unexpected Error in Update FTE Results'||
147: sqlerrm, 1);
148: END IF;
149: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
150:
275: l_config_count NUMBER := 0;
276: l_count NUMBER := 0;
277: l_line_rec OE_ORDER_PUB.line_rec_type :=
278: OE_Order_Pub.G_MISS_LINE_REC;
279: l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
280: BEGIN
281: Print_Time('Entering OE_FTE_INTEGRATION_PVT.Create_FTE_Input...');
282:
283: IF l_debug_level > 0 THEN
280: BEGIN
281: Print_Time('Entering OE_FTE_INTEGRATION_PVT.Create_FTE_Input...');
282:
283: IF l_debug_level > 0 THEN
284: OE_DEBUG_PUB.Add('Order header Id:'||p_header_id,1);
285: END IF;
286: x_return_status := FND_API.G_RET_STS_SUCCESS;
287:
288:
295: WHERE header_id = p_header_id;
296: EXCEPTION
297: WHEN NO_DATA_FOUND THEN
298: IF l_debug_level > 0 THEN
299: OE_DEBUG_PUB.Add('No Data Found when Validating Order',3);
300: END IF;
301: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
302: WHEN OTHERS THEN
303: IF l_debug_level > 0 THEN
300: END IF;
301: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
302: WHEN OTHERS THEN
303: IF l_debug_level > 0 THEN
304: OE_DEBUG_PUB.Add('When Others when Validating Order',3);
305: END IF;
306: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
307: END;
308:
307: END;
308:
309: IF l_open_flag = 'N' OR l_order_category_code = 'RETURN' THEN
310: IF l_debug_level > 0 THEN
311: OE_DEBUG_PUB.Add('Order is Return/Closed',1);
312: END IF;
313: RAISE FND_API.G_EXC_ERROR ;
314: END IF;
315:
320:
321: FOR c_inc_parent IN C_INC_ITEMS_PARENT
322: LOOP
323: IF l_debug_level > 0 THEN
324: OE_DEBUG_PUB.Add('Calling Process Included Items for Line:'||
325: c_inc_parent.line_id,3);
326: END IF;
327:
328: x_return_status := OE_CONFIG_UTIL.Process_Included_Items
329: (p_line_id => c_inc_parent.line_id
330: ,p_freeze => FALSE);
331:
332: IF l_debug_level > 0 THEN
333: OE_DEBUG_PUB.Add('After Calling Process Included Items: '||
334: x_return_status,3);
335: END IF;
336:
337: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
358: AND ato_line_id IS NOT NULL
359: AND header_id = p_header_id;
360:
361: IF l_debug_level > 0 THEN
362: OE_DEBUG_PUB.Add('Config Line Count:'||l_config_count,3);
363: END IF;
364:
365: x_config_count := l_config_count;
366: l_line_count := l_config_count;
400: FND_MESSAGE.Set_Name('ONT','ONT_FTE_EXTERNAL_RET_SERVICE');
401: OE_MSG_PUB.Add;
402:
403: IF l_debug_level > 0 THEN
404: OE_DEBUG_PUB.Add('Line is External/Service/Return:'||
405: c_ship_method.line_id ,3);
406: END IF;
407:
408: ELSIF c_ship_method.ship_from_org_id IS NULL THEN
409:
410: FND_MESSAGE.Set_Name('ONT','ONT_FTE_MISSING_SHIP_FROM');
411: OE_MSG_PUB.Add;
412: IF l_debug_level > 0 THEN
413: OE_DEBUG_PUB.Add('Line is Missing Ship From Org Id:'||
414: c_ship_method.line_id ,3);
415: END IF;
416:
417: ELSIF c_ship_method.ship_to_org_id IS NULL THEN
418:
419: FND_MESSAGE.Set_Name('ONT','ONT_FTE_MISSING_SHIP_TO');
420: OE_MSG_PUB.Add;
421: IF l_debug_level > 0 THEN
422: OE_DEBUG_PUB.Add('Line is Missing Ship To Org Id:'||
423: c_ship_method.line_id ,3);
424: END IF;
425:
426: ELSIF c_ship_method.shipped_quantity IS NOT NULL OR
429:
430: FND_MESSAGE.Set_Name('ONT','ONT_FTE_SHIP_FULFILL_CLOSED');
431: OE_MSG_PUB.Add;
432: IF l_debug_level > 0 THEN
433: OE_DEBUG_PUB.Add('Line is Shipped/Fulfilled/Closed:'||
434: c_ship_method.line_id ,1);
435: END IF;
436: ELSIF c_ship_method.item_type_code = OE_GLOBALS.G_ITEM_CONFIG THEN
437:
437:
438: -- We are not going to send Config lines to FTE
439: -- We have to store the config lines in the line table.
440: IF l_debug_level > 0 THEN
441: OE_DEBUG_PUB.Add('Config Line:'||c_ship_method.line_id,3);
442: END IF;
443:
444: l_line_rec.line_id := c_ship_method.line_id;
445: l_line_rec.ato_line_id := c_ship_method.ato_line_id;
452: l_config_count := l_config_count + 1;
453:
454: p_x_line_tbl(l_config_count) := l_line_rec;
455: IF l_debug_level > 0 THEN
456: OE_DEBUG_PUB.Add('Excluding Config Line from FTE Input:'||
457: c_ship_method.line_id ,1);
458: END IF;
459: ELSE
460: IF l_debug_level > 0 THEN
457: c_ship_method.line_id ,1);
458: END IF;
459: ELSE
460: IF l_debug_level > 0 THEN
461: OE_DEBUG_PUB.Add('Sending Eligibile Line to FTE:'||
462: c_ship_method.line_id ,1);
463: END IF;
464:
465: -- Increment the FTE line table count
573: c_ship_method.item_type_code = 'INCLUDED') AND --9775352
574: c_ship_method.ato_line_id = c_ship_method.line_id)
575: THEN
576: IF l_debug_level > 0 THEN
577: OE_DEBUG_PUB.Add('calculate rating part of ato', 4);
578: END IF;
579: ELSE
580: IF l_debug_level > 0 THEN
581: OE_DEBUG_PUB.Add('do not calculate freight_rating '||
577: OE_DEBUG_PUB.Add('calculate rating part of ato', 4);
578: END IF;
579: ELSE
580: IF l_debug_level > 0 THEN
581: OE_DEBUG_PUB.Add('do not calculate freight_rating '||
582: c_ship_method.line_id, 1);
583: END IF;
584: p_x_fte_source_line_tab(l_count).freight_rating_flag:= 'N';
585: END IF;
586:
587: END IF;
588:
589: IF l_debug_level > 0 THEN
590: oe_debug_pub.Add('--------- Input to FTE --------',3);
591:
592: oe_debug_pub.Add('Source Line :'||
593: p_x_fte_source_line_tab(l_count).source_line_id,3);
594:
588:
589: IF l_debug_level > 0 THEN
590: oe_debug_pub.Add('--------- Input to FTE --------',3);
591:
592: oe_debug_pub.Add('Source Line :'||
593: p_x_fte_source_line_tab(l_count).source_line_id,3);
594:
595: oe_debug_pub.Add('Ship From Org :'||
596: p_x_fte_source_line_tab(l_count).ship_from_org_id,3);
591:
592: oe_debug_pub.Add('Source Line :'||
593: p_x_fte_source_line_tab(l_count).source_line_id,3);
594:
595: oe_debug_pub.Add('Ship From Org :'||
596: p_x_fte_source_line_tab(l_count).ship_from_org_id,3);
597:
598: oe_debug_pub.Add('Customer :'||
599: p_x_fte_source_line_tab(l_count).customer_id,3);
594:
595: oe_debug_pub.Add('Ship From Org :'||
596: p_x_fte_source_line_tab(l_count).ship_from_org_id,3);
597:
598: oe_debug_pub.Add('Customer :'||
599: p_x_fte_source_line_tab(l_count).customer_id,3);
600:
601: oe_debug_pub.Add('Inventory Item :'||
602: p_x_fte_source_line_tab(l_count).inventory_item_id,3);
597:
598: oe_debug_pub.Add('Customer :'||
599: p_x_fte_source_line_tab(l_count).customer_id,3);
600:
601: oe_debug_pub.Add('Inventory Item :'||
602: p_x_fte_source_line_tab(l_count).inventory_item_id,3);
603:
604: oe_debug_pub.Add('Source Quantity :'||
605: p_x_fte_source_line_tab(l_count).source_quantity,3);
600:
601: oe_debug_pub.Add('Inventory Item :'||
602: p_x_fte_source_line_tab(l_count).inventory_item_id,3);
603:
604: oe_debug_pub.Add('Source Quantity :'||
605: p_x_fte_source_line_tab(l_count).source_quantity,3);
606:
607: oe_debug_pub.Add('Ship Date :'||
608: p_x_fte_source_line_tab(l_count).ship_date,3);
603:
604: oe_debug_pub.Add('Source Quantity :'||
605: p_x_fte_source_line_tab(l_count).source_quantity,3);
606:
607: oe_debug_pub.Add('Ship Date :'||
608: p_x_fte_source_line_tab(l_count).ship_date,3);
609:
610: oe_debug_pub.Add('Delivery Lead Time :'||
611: p_x_fte_source_line_tab(l_count).delivery_lead_time,3);
606:
607: oe_debug_pub.Add('Ship Date :'||
608: p_x_fte_source_line_tab(l_count).ship_date,3);
609:
610: oe_debug_pub.Add('Delivery Lead Time :'||
611: p_x_fte_source_line_tab(l_count).delivery_lead_time,3);
612:
613: oe_debug_pub.Add('Scheduled :'||
614: p_x_fte_source_line_tab(l_count).scheduled_flag,3);
609:
610: oe_debug_pub.Add('Delivery Lead Time :'||
611: p_x_fte_source_line_tab(l_count).delivery_lead_time,3);
612:
613: oe_debug_pub.Add('Scheduled :'||
614: p_x_fte_source_line_tab(l_count).scheduled_flag,3);
615:
616: oe_debug_pub.Add('Order Set Type :'||
617: p_x_fte_source_line_tab(l_count).order_set_type,3);
612:
613: oe_debug_pub.Add('Scheduled :'||
614: p_x_fte_source_line_tab(l_count).scheduled_flag,3);
615:
616: oe_debug_pub.Add('Order Set Type :'||
617: p_x_fte_source_line_tab(l_count).order_set_type,3);
618:
619: oe_debug_pub.Add('Order Set :'||
620: p_x_fte_source_line_tab(l_count).order_set_id,3);
615:
616: oe_debug_pub.Add('Order Set Type :'||
617: p_x_fte_source_line_tab(l_count).order_set_type,3);
618:
619: oe_debug_pub.Add('Order Set :'||
620: p_x_fte_source_line_tab(l_count).order_set_id,3);
621:
622: oe_debug_pub.Add('Ship Method :'||
623: p_x_fte_source_line_tab(l_count).ship_method_code,3);
618:
619: oe_debug_pub.Add('Order Set :'||
620: p_x_fte_source_line_tab(l_count).order_set_id,3);
621:
622: oe_debug_pub.Add('Ship Method :'||
623: p_x_fte_source_line_tab(l_count).ship_method_code,3);
624:
625: oe_debug_pub.Add('Freight Terms :'||
626: p_x_fte_source_line_tab(l_count).freight_terms,3);
621:
622: oe_debug_pub.Add('Ship Method :'||
623: p_x_fte_source_line_tab(l_count).ship_method_code,3);
624:
625: oe_debug_pub.Add('Freight Terms :'||
626: p_x_fte_source_line_tab(l_count).freight_terms,3);
627:
628: oe_debug_pub.Add('Freight on Board :'||
629: p_x_fte_source_line_tab(l_count).fob_code,3);
624:
625: oe_debug_pub.Add('Freight Terms :'||
626: p_x_fte_source_line_tab(l_count).freight_terms,3);
627:
628: oe_debug_pub.Add('Freight on Board :'||
629: p_x_fte_source_line_tab(l_count).fob_code,3);
630:
631: oe_debug_pub.Add('Intermediate Ship :'||
632: p_x_fte_source_line_tab(l_count).intmed_ship_to_site_id,3);
627:
628: oe_debug_pub.Add('Freight on Board :'||
629: p_x_fte_source_line_tab(l_count).fob_code,3);
630:
631: oe_debug_pub.Add('Intermediate Ship :'||
632: p_x_fte_source_line_tab(l_count).intmed_ship_to_site_id,3);
633:
634: oe_debug_pub.Add('-------------------------------',3);
635: END IF;
630:
631: oe_debug_pub.Add('Intermediate Ship :'||
632: p_x_fte_source_line_tab(l_count).intmed_ship_to_site_id,3);
633:
634: oe_debug_pub.Add('-------------------------------',3);
635: END IF;
636:
637: -- Store the old ship method code in the line table
638:
659:
660: FND_MESSAGE.Set_Name('ONT','ONT_FTE_NO_LINES_ELIGIBLE');
661: OE_MSG_PUB.Add;
662: IF l_debug_level > 0 THEN
663: OE_DEBUG_PUB.Add('No lines of the order are eligible for freight rating');
664: END IF;
665: END IF;
666:
667: IF l_debug_level > 0 THEN
664: END IF;
665: END IF;
666:
667: IF l_debug_level > 0 THEN
668: oe_debug_pub.Add('FTE Input count:'||p_x_fte_source_line_tab.count,3);
669: oe_debug_pub.Add('Total count:'|| p_x_line_tbl.count,3);
670: END IF;
671:
672: Print_Time('Exiting OE_FTE_INTEGRATION_PVT.Create_FTE_Input...');
665: END IF;
666:
667: IF l_debug_level > 0 THEN
668: oe_debug_pub.Add('FTE Input count:'||p_x_fte_source_line_tab.count,3);
669: oe_debug_pub.Add('Total count:'|| p_x_line_tbl.count,3);
670: END IF;
671:
672: Print_Time('Exiting OE_FTE_INTEGRATION_PVT.Create_FTE_Input...');
673: EXCEPTION
673: EXCEPTION
674:
675: WHEN FND_API.G_EXC_ERROR THEN
676: IF l_debug_level > 0 THEN
677: oe_debug_pub.Add('Expected Error in Create FTE Input',2);
678: END IF;
679:
680: x_return_status := FND_API.G_RET_STS_ERROR;
681:
680: x_return_status := FND_API.G_RET_STS_ERROR;
681:
682: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
683: IF l_debug_level > 0 THEN
684: oe_debug_pub.Add('Unexpected Error in Create FTE Input:'||SqlErrm, 1);
685: END IF;
686:
687: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
688:
746: l_change_sequence VARCHAR2(50);
747: l_source_document_id NUMBER;
748: l_source_document_line_id NUMBER;
749: l_source_document_type_id NUMBER;
750: l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
751: BEGIN
752:
753: Print_Time('Entering OE_FTE_INTEGRATION_PVT.Process_FTE_Output..');
754:
756: x_return_status := FND_API.G_RET_STS_SUCCESS;
757: l_line_offset := p_config_count + 1;
758:
759: IF l_debug_level > 0 THEN
760: oe_debug_pub.Add('Total Number of Config lines:'||p_config_count,3);
761: oe_debug_pub.Add('Line Offset is :'||l_line_offset,3);
762: END IF;
763:
764: WHILE l_fte_count IS NOT NULL
757: l_line_offset := p_config_count + 1;
758:
759: IF l_debug_level > 0 THEN
760: oe_debug_pub.Add('Total Number of Config lines:'||p_config_count,3);
761: oe_debug_pub.Add('Line Offset is :'||l_line_offset,3);
762: END IF;
763:
764: WHILE l_fte_count IS NOT NULL
765: LOOP
763:
764: WHILE l_fte_count IS NOT NULL
765: LOOP
766: IF l_debug_level > 0 THEN
767: oe_debug_pub.Add('--------- FTE Results ----------',3);
768:
769: oe_debug_pub.Add('Source Line :'||
770: p_x_fte_source_line_tab(l_fte_count).source_line_id,3);
771:
765: LOOP
766: IF l_debug_level > 0 THEN
767: oe_debug_pub.Add('--------- FTE Results ----------',3);
768:
769: oe_debug_pub.Add('Source Line :'||
770: p_x_fte_source_line_tab(l_fte_count).source_line_id,3);
771:
772: oe_debug_pub.Add('Ship Method :'||
773: p_x_fte_source_line_tab(l_fte_count).ship_method_code,3);
768:
769: oe_debug_pub.Add('Source Line :'||
770: p_x_fte_source_line_tab(l_fte_count).source_line_id,3);
771:
772: oe_debug_pub.Add('Ship Method :'||
773: p_x_fte_source_line_tab(l_fte_count).ship_method_code,3);
774:
775: oe_debug_pub.Add('Frieght Carrier :'||
776: p_x_fte_source_line_tab(l_fte_count).freight_carrier_code,3);
771:
772: oe_debug_pub.Add('Ship Method :'||
773: p_x_fte_source_line_tab(l_fte_count).ship_method_code,3);
774:
775: oe_debug_pub.Add('Frieght Carrier :'||
776: p_x_fte_source_line_tab(l_fte_count).freight_carrier_code,3);
777:
778: oe_debug_pub.Add('Service Level :' ||
779: p_x_fte_source_line_tab(l_fte_count).service_level,3);
774:
775: oe_debug_pub.Add('Frieght Carrier :'||
776: p_x_fte_source_line_tab(l_fte_count).freight_carrier_code,3);
777:
778: oe_debug_pub.Add('Service Level :' ||
779: p_x_fte_source_line_tab(l_fte_count).service_level,3);
780:
781: oe_debug_pub.Add('Mode of Transport :'||
782: p_x_fte_source_line_tab(l_fte_count).mode_of_transport,3);
777:
778: oe_debug_pub.Add('Service Level :' ||
779: p_x_fte_source_line_tab(l_fte_count).service_level,3);
780:
781: oe_debug_pub.Add('Mode of Transport :'||
782: p_x_fte_source_line_tab(l_fte_count).mode_of_transport,3);
783:
784: oe_debug_pub.Add('Frieght Terms :'||
785: p_x_fte_source_line_tab(l_fte_count).freight_terms,3);
780:
781: oe_debug_pub.Add('Mode of Transport :'||
782: p_x_fte_source_line_tab(l_fte_count).mode_of_transport,3);
783:
784: oe_debug_pub.Add('Frieght Terms :'||
785: p_x_fte_source_line_tab(l_fte_count).freight_terms,3);
786:
787: oe_debug_pub.Add('Weight :'||
788: p_x_fte_source_line_tab(l_fte_count).weight,3);
783:
784: oe_debug_pub.Add('Frieght Terms :'||
785: p_x_fte_source_line_tab(l_fte_count).freight_terms,3);
786:
787: oe_debug_pub.Add('Weight :'||
788: p_x_fte_source_line_tab(l_fte_count).weight,3);
789:
790: oe_debug_pub.Add('Weight UOM :'||
791: p_x_fte_source_line_tab(l_fte_count).weight_uom_code,3);
786:
787: oe_debug_pub.Add('Weight :'||
788: p_x_fte_source_line_tab(l_fte_count).weight,3);
789:
790: oe_debug_pub.Add('Weight UOM :'||
791: p_x_fte_source_line_tab(l_fte_count).weight_uom_code,3);
792:
793: oe_debug_pub.Add('Volume :'||
794: p_x_fte_source_line_tab(l_fte_count).volume,3);
789:
790: oe_debug_pub.Add('Weight UOM :'||
791: p_x_fte_source_line_tab(l_fte_count).weight_uom_code,3);
792:
793: oe_debug_pub.Add('Volume :'||
794: p_x_fte_source_line_tab(l_fte_count).volume,3);
795:
796: oe_debug_pub.Add('Volume UOM :'||
797: p_x_fte_source_line_tab(l_fte_count).volume_uom_code,3);
792:
793: oe_debug_pub.Add('Volume :'||
794: p_x_fte_source_line_tab(l_fte_count).volume,3);
795:
796: oe_debug_pub.Add('Volume UOM :'||
797: p_x_fte_source_line_tab(l_fte_count).volume_uom_code,3);
798:
799: oe_debug_pub.Add('Frieght Rate :'||
800: p_x_fte_source_line_tab(l_fte_count).freight_rate,3);
795:
796: oe_debug_pub.Add('Volume UOM :'||
797: p_x_fte_source_line_tab(l_fte_count).volume_uom_code,3);
798:
799: oe_debug_pub.Add('Frieght Rate :'||
800: p_x_fte_source_line_tab(l_fte_count).freight_rate,3);
801:
802: oe_debug_pub.Add('Frieght Rate Currency :'||
803: p_x_fte_source_line_tab(l_fte_count).freight_rate_currency,3);
798:
799: oe_debug_pub.Add('Frieght Rate :'||
800: p_x_fte_source_line_tab(l_fte_count).freight_rate,3);
801:
802: oe_debug_pub.Add('Frieght Rate Currency :'||
803: p_x_fte_source_line_tab(l_fte_count).freight_rate_currency,3);
804:
805: oe_debug_pub.Add('Status :'||
806: p_x_fte_source_line_tab(l_fte_count).status,3);
801:
802: oe_debug_pub.Add('Frieght Rate Currency :'||
803: p_x_fte_source_line_tab(l_fte_count).freight_rate_currency,3);
804:
805: oe_debug_pub.Add('Status :'||
806: p_x_fte_source_line_tab(l_fte_count).status,3);
807:
808: END IF;
809:
813: IF p_x_fte_source_line_tab(l_fte_count).source_line_id IS NOT NULL AND
814: p_x_fte_source_line_tab(l_fte_count).source_line_id <> FND_API.G_MISS_NUM THEN
815: BEGIN
816: IF l_debug_level > 0 THEN
817: oe_debug_pub.add('Getting reference data for line_id:'||
818: p_x_fte_source_line_tab(l_fte_count).source_line_id);
819: END IF;
820: SELECT order_source_id, orig_sys_document_ref, orig_sys_line_ref,
821: orig_sys_shipment_ref, change_sequence, source_document_id,
827: WHERE line_id = p_x_fte_source_line_tab(l_fte_count).source_line_id;
828: EXCEPTION
829: WHEN NO_DATA_FOUND THEN
830: IF l_debug_level > 0 THEN
831: oe_debug_pub.add('No_data_found while getting reference data '||
832: 'for line_id:'||p_x_fte_source_line_tab(l_fte_count).source_line_id);
833: END IF;
834: l_order_source_id := NULL;
835: l_orig_sys_document_ref := NULL;
857: ,p_source_document_type_id => l_source_document_type_id);
858:
859: OE_MSG_PUB.Add_Text(p_x_fte_source_line_tab(l_fte_count).message_data);
860: IF l_debug_level > 0 THEN
861: oe_debug_pub.Add
862: ('FTE Error :'|| p_x_fte_source_line_tab(l_fte_count).message_data,3);
863: END IF;
864: p_x_line_tbl(l_line_offset).operation := OE_GLOBALS.G_OPR_NONE;
865: x_no_opr_count := x_no_opr_count + 1;
870: IF p_x_fte_source_line_tab(l_fte_count).status = 'W' THEN
871: OE_MSG_PUB.Add_Text
872: (p_x_fte_source_line_tab(l_fte_count).message_data);
873: IF l_debug_level > 0 THEN
874: oe_debug_pub.Add
875: ('FTE Warning:'|| p_x_fte_source_line_tab(l_fte_count).message_data,3);
876: END IF;
877: END IF;
878:
884: (p_x_fte_source_line_tab(l_fte_count).freight_terms) =
885: nvl(p_x_line_tbl(l_line_offset).freight_terms_code,'-99')
886: THEN
887: IF l_debug_level > 0 THEN
888: oe_debug_pub.Add('Change :'|| p_x_line_tbl(l_line_offset).line_id,3);
889: END IF;
890:
891: p_x_line_tbl(l_line_offset).shipping_method_code :=
892: p_x_fte_source_line_tab(l_fte_count).ship_method_code;
907: /* End Audit Trail */
908:
909: ELSE -- no change, set the operation to none.
910: IF l_debug_level > 0 THEN
911: oe_debug_pub.add('No Changes to save', 4);
912: END IF;
913: p_x_line_tbl(l_line_offset).operation := OE_GLOBALS.G_OPR_NONE;
914: x_no_opr_count := x_no_opr_count + 1;
915: END IF;
927: p_x_line_tbl(l_line_offset).line_id THEN
928:
929: -- This is an ATO Model
930: IF l_debug_level > 0 THEN
931: oe_debug_pub.add('ato model '||p_x_line_tbl(l_line_offset).line_id,3);
932: END IF;
933:
934: IF p_x_line_tbl(l_index).ato_line_id =
935: p_x_line_tbl(l_line_offset).line_id
935: p_x_line_tbl(l_line_offset).line_id
936: THEN
937:
938: IF l_debug_level > 0 THEN
939: oe_debug_pub.add('cfg line '|| p_x_line_tbl(l_index).line_id, 3);
940: END IF;
941:
942: IF p_x_line_tbl(l_line_offset).operation = OE_GLOBALS.G_OPR_UPDATE
943: THEN
958:
959: /* End Audit Trail */
960:
961: IF l_debug_level > 0 THEN
962: oe_debug_pub.Add('Cascading Ship Method from:' ||
963: p_x_line_tbl(l_line_offset).line_id ||' to ' ||
964: p_x_line_tbl(l_index).line_id,3);
965: END IF;
966:
965: END IF;
966:
967: END IF;
968: IF l_debug_level > 0 THEN
969: oe_debug_pub.add
970: ('cfg opr '||p_x_line_tbl(l_line_offset).operation, 3);
971: END IF;
972:
973: p_x_line_tbl(l_index).operation :=
990: EXCEPTION
991:
992: WHEN FND_API.G_EXC_ERROR THEN
993: IF l_debug_level > 0 THEN
994: oe_debug_pub.Add('Expected Error in Process FTE Output', 1);
995: END IF;
996:
997: x_return_status := FND_API.G_RET_STS_ERROR;
998:
997: x_return_status := FND_API.G_RET_STS_ERROR;
998:
999: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1000: IF l_debug_level > 0 THEN
1001: oe_debug_pub.Add('Unexpected Error in Process FTE Output'||
1002: sqlerrm, 2);
1003: END IF;
1004: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1005:
1063: l_line_tbl OE_Order_PUB.Line_Tbl_Type;
1064: l_config_count NUMBER;
1065: l_no_opr_count NUMBER;
1066: l_msg_text VARCHAR2(2000);
1067: l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
1068: BEGIN
1069:
1070: Print_Time('Entering Process_FTE_Action...'|| p_action);
1071:
1070: Print_Time('Entering Process_FTE_Action...'|| p_action);
1071:
1072: IF p_line_id is not NULL THEN
1073: IF l_debug_level > 0 THEN
1074: oe_debug_pub.add('line id not null, error for now', 1);
1075: END IF;
1076: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1077: END IF;
1078:
1091: IF OE_GLOBALS.G_FTE_INSTALLED = 'N' THEN
1092: FND_MESSAGE.Set_Name('ONT','ONT_FTE_NOT_INSTALLED');
1093: OE_MSG_PUB.Add;
1094: IF l_debug_level > 0 THEN
1095: oe_debug_pub.ADD('FTE is NOT Installed!',3);
1096: END IF;
1097: x_return_status := FND_API.G_RET_STS_ERROR;
1098: RETURN;
1099: END IF;
1107: ,x_config_count => l_config_count
1108: ,x_return_status => x_return_status);
1109:
1110: IF l_debug_level > 0 THEN
1111: oe_debug_pub.Add('After Calling Create FTE Input :'||
1112: x_return_status,3);
1113: END IF;
1114:
1115: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1115: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1116: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1117: ELSIF x_return_status = FND_API.G_RET_STS_ERROR THEN
1118: IF l_debug_level > 0 THEN
1119: oe_debug_pub.add(x_msg_data,1);
1120: END IF;
1121: RAISE FND_API.G_EXC_ERROR;
1122: END IF;
1123: IF l_debug_level > 0 THEN
1120: END IF;
1121: RAISE FND_API.G_EXC_ERROR;
1122: END IF;
1123: IF l_debug_level > 0 THEN
1124: oe_debug_pub.Add('Before Calling FTE Process Lines...',3);
1125: END IF;
1126:
1127: -- Call FTE only if the number of lines is greater than zero.
1128:
1139: ,x_msg_count => x_msg_count
1140: ,x_msg_data => x_msg_data );
1141:
1142: IF l_debug_level > 0 THEN
1143: oe_debug_pub.Add('After Calling FTE Process Lines:'||
1144: x_return_status,3);
1145: END IF;
1146:
1147: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1150: IF ( FND_MSG_PUB.Count_Msg > 0 ) THEN
1151: FOR I IN 1..FND_MSG_PUB.Count_Msg LOOP
1152: l_msg_text := FND_MSG_PUB.Get(p_encoded => FND_API.G_FALSE);
1153: IF l_debug_level > 0 THEN
1154: oe_debug_pub.Add(l_msg_text, 3);
1155: END IF;
1156: oe_msg_pub.add_text(p_message_text => l_msg_text);
1157: END LOOP;
1158: END IF;
1163:
1164: IF p_action = 'B' OR
1165: p_action = 'C' THEN
1166: IF l_debug_level > 0 THEN
1167: oe_debug_pub.add('processing o/p for carrier', 1);
1168: END IF;
1169: Process_FTE_Output
1170: ( p_x_fte_source_line_tab => l_fte_source_line_tab
1171: ,p_x_line_tbl => l_line_tbl
1173: ,x_no_opr_count => l_no_opr_count
1174: ,x_return_status => x_return_status);
1175:
1176: IF l_debug_level > 0 THEN
1177: oe_debug_pub.Add('After Calling Process FTE Output: '||
1178: x_return_status);
1179: END IF;
1180:
1181: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1189: -- due to the call to FTE.
1190: oe_globals.g_freight_recursion := 'Y';
1191:
1192: IF l_debug_level > 0 THEN
1193: oe_debug_pub.Add('Before Calling Update FTE Results...',3);
1194: END IF;
1195:
1196: -- If there are no lines with operation UPDATE donot call
1197: -- Update Fte Results.
1201: ( p_x_line_tbl => l_line_tbl
1202: ,x_return_status => x_return_status);
1203:
1204: IF l_debug_level > 0 THEN
1205: oe_debug_pub.Add('After Calling Update FTE Results...'||
1206: x_return_status,3);
1207: END IF;
1208:
1209: ELSE
1207: END IF;
1208:
1209: ELSE
1210: IF l_debug_level > 0 THEN
1211: oe_debug_pub.Add('Donot Call Update Results!!:'||l_line_tbl.count,1);
1212: oe_debug_pub.Add('No of Lines with Opr None:'||l_no_opr_count,1);
1213: END IF;
1214: END IF;
1215:
1208:
1209: ELSE
1210: IF l_debug_level > 0 THEN
1211: oe_debug_pub.Add('Donot Call Update Results!!:'||l_line_tbl.count,1);
1212: oe_debug_pub.Add('No of Lines with Opr None:'||l_no_opr_count,1);
1213: END IF;
1214: END IF;
1215:
1216: oe_globals.g_freight_recursion := 'N';
1226:
1227: IF p_action = 'B' OR
1228: p_action = 'R' THEN
1229: IF l_debug_level > 0 THEN
1230: oe_debug_pub.add('processing o/p for rating', 1);
1231: END IF;
1232:
1233: OE_FREIGHT_RATING_PVT.Process_FTE_Output
1234: ( p_header_id => p_header_id
1240: ,p_call_pricing_for_FR => p_call_pricing_for_FR
1241: ,x_return_status => x_return_status);
1242:
1243: IF l_debug_level > 0 THEN
1244: oe_debug_pub.Add('After Calling FREIGHT Process_FTE_Output '||
1245: x_return_status,3);
1246: END IF;
1247:
1248: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1258: ( p_count => x_msg_count
1259: ,p_data => x_msg_data);
1260:
1261: IF l_debug_level > 0 THEN
1262: oe_debug_pub.Add('Message Count :'||x_msg_count,3);
1263: END IF;
1264:
1265: Print_Time('Exiting OE_FTE_INTEGRATION_PVT.Process_FTE_Action...');
1266:
1267: EXCEPTION
1268:
1269: WHEN FND_API.G_EXC_ERROR THEN
1270: IF l_debug_level > 0 THEN
1271: oe_debug_pub.Add('Expected Error in Get Ship Method', 1);
1272: END IF;
1273:
1274: OE_MSG_PUB.Count_And_Get
1275: ( p_count => x_msg_count
1278: x_return_status := FND_API.G_RET_STS_ERROR;
1279:
1280: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1281: IF l_debug_level > 0 THEN
1282: oe_debug_pub.Add('Unexpected Error in Get Ship Method'||sqlerrm, 2);
1283: END IF;
1284:
1285: OE_MSG_PUB.Count_And_Get
1286: ( p_count => x_msg_count
1292: WHEN OTHERS THEN
1293:
1294: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1295: IF l_debug_level > 0 THEN
1296: oe_debug_pub.Add('When Others in Get Ship Method'||sqlerrm,3);
1297: END IF;
1298:
1299: OE_MSG_PUB.Count_And_Get
1300: ( p_count => x_msg_count