1812: WHERE bor.alternate_routing_designator IS NOT NULL
1813: AND eri.routing_sequence_id = bor.routing_sequence_id(+)
1814: AND eri.routing_sequence_id IS NOT NULL
1815: AND eri.bill_sequence_id IS NULL
1816: AND NVL(eri.from_end_item_unit_number,FND_API.G_MISS_CHAR)
1817: = NVL(p_from_end_item_number,FND_API.G_MISS_CHAR )
1818: AND NVL(eri.new_item_revision,FND_API.G_MISS_CHAR)
1819: = NVL(p_new_item_revision ,FND_API.G_MISS_CHAR)
1820: AND NVL(eri.new_routing_revision,FND_API.G_MISS_CHAR)
1813: AND eri.routing_sequence_id = bor.routing_sequence_id(+)
1814: AND eri.routing_sequence_id IS NOT NULL
1815: AND eri.bill_sequence_id IS NULL
1816: AND NVL(eri.from_end_item_unit_number,FND_API.G_MISS_CHAR)
1817: = NVL(p_from_end_item_number,FND_API.G_MISS_CHAR )
1818: AND NVL(eri.new_item_revision,FND_API.G_MISS_CHAR)
1819: = NVL(p_new_item_revision ,FND_API.G_MISS_CHAR)
1820: AND NVL(eri.new_routing_revision,FND_API.G_MISS_CHAR)
1821: = NVL(p_new_routing_revsion,FND_API.G_MISS_CHAR)
1814: AND eri.routing_sequence_id IS NOT NULL
1815: AND eri.bill_sequence_id IS NULL
1816: AND NVL(eri.from_end_item_unit_number,FND_API.G_MISS_CHAR)
1817: = NVL(p_from_end_item_number,FND_API.G_MISS_CHAR )
1818: AND NVL(eri.new_item_revision,FND_API.G_MISS_CHAR)
1819: = NVL(p_new_item_revision ,FND_API.G_MISS_CHAR)
1820: AND NVL(eri.new_routing_revision,FND_API.G_MISS_CHAR)
1821: = NVL(p_new_routing_revsion,FND_API.G_MISS_CHAR)
1822: AND TRUNC(eri.scheduled_date) = TRUNC(p_effective_date)
1815: AND eri.bill_sequence_id IS NULL
1816: AND NVL(eri.from_end_item_unit_number,FND_API.G_MISS_CHAR)
1817: = NVL(p_from_end_item_number,FND_API.G_MISS_CHAR )
1818: AND NVL(eri.new_item_revision,FND_API.G_MISS_CHAR)
1819: = NVL(p_new_item_revision ,FND_API.G_MISS_CHAR)
1820: AND NVL(eri.new_routing_revision,FND_API.G_MISS_CHAR)
1821: = NVL(p_new_routing_revsion,FND_API.G_MISS_CHAR)
1822: AND TRUNC(eri.scheduled_date) = TRUNC(p_effective_date)
1823: AND eri.change_notice = p_change_notice
1816: AND NVL(eri.from_end_item_unit_number,FND_API.G_MISS_CHAR)
1817: = NVL(p_from_end_item_number,FND_API.G_MISS_CHAR )
1818: AND NVL(eri.new_item_revision,FND_API.G_MISS_CHAR)
1819: = NVL(p_new_item_revision ,FND_API.G_MISS_CHAR)
1820: AND NVL(eri.new_routing_revision,FND_API.G_MISS_CHAR)
1821: = NVL(p_new_routing_revsion,FND_API.G_MISS_CHAR)
1822: AND TRUNC(eri.scheduled_date) = TRUNC(p_effective_date)
1823: AND eri.change_notice = p_change_notice
1824: AND eri.organization_id = p_organization_id
1817: = NVL(p_from_end_item_number,FND_API.G_MISS_CHAR )
1818: AND NVL(eri.new_item_revision,FND_API.G_MISS_CHAR)
1819: = NVL(p_new_item_revision ,FND_API.G_MISS_CHAR)
1820: AND NVL(eri.new_routing_revision,FND_API.G_MISS_CHAR)
1821: = NVL(p_new_routing_revsion,FND_API.G_MISS_CHAR)
1822: AND TRUNC(eri.scheduled_date) = TRUNC(p_effective_date)
1823: AND eri.change_notice = p_change_notice
1824: AND eri.organization_id = p_organization_id
1825: AND eri.revised_item_id = p_revised_item_id ;
1995: WHERE bom.alternate_bom_designator IS NOT NULL
1996: AND eri.bill_sequence_id = bom.bill_sequence_id(+)
1997: AND eri.bill_sequence_id IS NOT NULL
1998: AND eri.routing_sequence_id IS NULL
1999: AND NVL(eri.from_end_item_unit_number, FND_API.G_MISS_CHAR)
2000: = NVL(p_from_end_item_number, FND_API.G_MISS_CHAR)
2001: AND NVL(eri.new_item_revision,FND_API.G_MISS_CHAR)
2002: = NVL(p_new_item_revision ,FND_API.G_MISS_CHAR)
2003: AND NVL(eri.new_routing_revision,FND_API.G_MISS_CHAR)
1996: AND eri.bill_sequence_id = bom.bill_sequence_id(+)
1997: AND eri.bill_sequence_id IS NOT NULL
1998: AND eri.routing_sequence_id IS NULL
1999: AND NVL(eri.from_end_item_unit_number, FND_API.G_MISS_CHAR)
2000: = NVL(p_from_end_item_number, FND_API.G_MISS_CHAR)
2001: AND NVL(eri.new_item_revision,FND_API.G_MISS_CHAR)
2002: = NVL(p_new_item_revision ,FND_API.G_MISS_CHAR)
2003: AND NVL(eri.new_routing_revision,FND_API.G_MISS_CHAR)
2004: = NVL(p_new_routing_revsion,FND_API.G_MISS_CHAR)
1997: AND eri.bill_sequence_id IS NOT NULL
1998: AND eri.routing_sequence_id IS NULL
1999: AND NVL(eri.from_end_item_unit_number, FND_API.G_MISS_CHAR)
2000: = NVL(p_from_end_item_number, FND_API.G_MISS_CHAR)
2001: AND NVL(eri.new_item_revision,FND_API.G_MISS_CHAR)
2002: = NVL(p_new_item_revision ,FND_API.G_MISS_CHAR)
2003: AND NVL(eri.new_routing_revision,FND_API.G_MISS_CHAR)
2004: = NVL(p_new_routing_revsion,FND_API.G_MISS_CHAR)
2005: AND TRUNC(eri.scheduled_date) = trunc(p_effective_date)
1998: AND eri.routing_sequence_id IS NULL
1999: AND NVL(eri.from_end_item_unit_number, FND_API.G_MISS_CHAR)
2000: = NVL(p_from_end_item_number, FND_API.G_MISS_CHAR)
2001: AND NVL(eri.new_item_revision,FND_API.G_MISS_CHAR)
2002: = NVL(p_new_item_revision ,FND_API.G_MISS_CHAR)
2003: AND NVL(eri.new_routing_revision,FND_API.G_MISS_CHAR)
2004: = NVL(p_new_routing_revsion,FND_API.G_MISS_CHAR)
2005: AND TRUNC(eri.scheduled_date) = trunc(p_effective_date)
2006: AND eri.change_notice = p_change_notice
1999: AND NVL(eri.from_end_item_unit_number, FND_API.G_MISS_CHAR)
2000: = NVL(p_from_end_item_number, FND_API.G_MISS_CHAR)
2001: AND NVL(eri.new_item_revision,FND_API.G_MISS_CHAR)
2002: = NVL(p_new_item_revision ,FND_API.G_MISS_CHAR)
2003: AND NVL(eri.new_routing_revision,FND_API.G_MISS_CHAR)
2004: = NVL(p_new_routing_revsion,FND_API.G_MISS_CHAR)
2005: AND TRUNC(eri.scheduled_date) = trunc(p_effective_date)
2006: AND eri.change_notice = p_change_notice
2007: AND eri.organization_id = p_organization_id
2000: = NVL(p_from_end_item_number, FND_API.G_MISS_CHAR)
2001: AND NVL(eri.new_item_revision,FND_API.G_MISS_CHAR)
2002: = NVL(p_new_item_revision ,FND_API.G_MISS_CHAR)
2003: AND NVL(eri.new_routing_revision,FND_API.G_MISS_CHAR)
2004: = NVL(p_new_routing_revsion,FND_API.G_MISS_CHAR)
2005: AND TRUNC(eri.scheduled_date) = trunc(p_effective_date)
2006: AND eri.change_notice = p_change_notice
2007: AND eri.organization_id = p_organization_id
2008: AND eri.revised_item_id = p_revised_item_id ;
2059: IS
2060: l_Mesg_Token_Tbl Error_Handler.Mesg_Token_Tbl_Type;
2061: l_Token_Tbl Error_Handler.Token_Tbl_Type;
2062: BEGIN
2063: x_return_status := FND_API.G_RET_STS_SUCCESS;
2064: l_Token_Tbl(1).Token_name := 'REVISED_ITEM_NAME';
2065: l_Token_Tbl(1).Token_Value := p_revised_item_Rec.revised_item_name;
2066:
2067: BOM_Globals.Set_Require_Item_Rev
2070: IF (Bom_globals.Get_Caller_Type = BOM_GLOBALS.G_MASS_CHANGE) THEN
2071: Null;
2072: ELSE
2073: IF ( p_revised_item_rec.new_revised_item_revision IS NULL OR
2074: p_revised_item_rec.new_revised_item_revision = FND_API.G_MISS_CHAR
2075: ) AND
2076: NVL(BOM_Globals.Is_Item_Rev_Required, 0) = 1
2077: THEN
2078: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
2083: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
2084: , p_Token_Tbl => l_Token_Tbl
2085: );
2086: END IF;
2087: x_return_status := FND_API.G_RET_STS_ERROR;
2088: END IF;
2089: END IF;
2090:
2091: IF NVL(BOM_Globals.Is_Item_Rev_Required, 0) = 1 AND
2089: END IF;
2090:
2091: IF NVL(BOM_Globals.Is_Item_Rev_Required, 0) = 1 AND
2092: p_revised_item_rec.updated_revised_item_revision =
2093: FND_API.G_MISS_CHAR
2094: AND
2095: p_revised_item_rec.alternate_bom_code IS NULL AND
2096: p_revised_item_rec.transaction_type = ENG_GLOBALS.G_OPR_UPDATE
2097: THEN
2103: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
2104: , p_Token_Tbl => l_Token_Tbl
2105: );
2106: END IF;
2107: x_return_status := FND_API.G_RET_STS_ERROR;
2108: END IF;
2109:
2110: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
2111:
2134: , x_Mesg_Token_Tbl OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
2135: , x_Return_Status OUT NOCOPY VARCHAR2
2136: )
2137: IS
2138: l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
2139: l_new_revision_status NUMBER := 0;
2140: l_assembly_type NUMBER := 0;
2141: l_err_text VARCHAR2(2000) := NULL;
2142: l_current_item_revision VARCHAR2(3);
2164: FROM eng_revised_items
2165: WHERE revised_item_id = p_rev_item_unexp_rec.revised_item_id
2166: AND from_end_item_unit_number = NVL(p_revised_item_rec.New_From_End_Item_Unit_Number,
2167: (NVL(p_revised_item_rec.From_End_Item_Unit_Number,
2168: FND_API.G_MISS_NUM)))
2169: AND scheduled_date = NVL(p_revised_item_rec.New_Effective_Date,
2170: p_revised_item_rec.Start_Effective_Date)
2171: AND new_item_revision = NVL(p_revised_item_rec.updated_revised_item_revision,
2172: (NVL(p_revised_item_rec.new_revised_item_revision,
2169: AND scheduled_date = NVL(p_revised_item_rec.New_Effective_Date,
2170: p_revised_item_rec.Start_Effective_Date)
2171: AND new_item_revision = NVL(p_revised_item_rec.updated_revised_item_revision,
2172: (NVL(p_revised_item_rec.new_revised_item_revision,
2173: FND_API.G_MISS_NUM)))
2174: AND organization_id = p_rev_item_unexp_rec.organization_id
2175: AND change_notice = p_revised_item_rec.eco_name;
2176:
2177: l_ECO_approved NUMBER := 0;
2197: SELECT alternate_bom_designator
2198: FROM bom_bill_of_materials
2199: WHERE bill_sequence_id =
2200: nvl(p_rev_item_unexp_rec.bill_sequence_id,
2201: FND_API.G_MISS_NUM);
2202:
2203: l_product_family BOOLEAN := FALSE;
2204: CURSOR c_CheckItemProductFamily IS
2205: SELECT 'Product Family'
2397: IS
2398: SELECT alternate_routing_designator
2399: FROM BOM_OPERATIONAL_ROUTINGS
2400: WHERE routing_sequence_id = NVL( p_rev_item_unexp_rec.routing_sequence_id
2401: , FND_API.G_MISS_NUM );
2402:
2403:
2404: /*******************************************************************
2405: --End of Cursor Definition Added by MK on 08/26/2000
2488: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
2489: , p_Token_Tbl => l_Token_Tbl
2490: );
2491: END IF;
2492: l_return_status := FND_API.G_RET_STS_ERROR;
2493: END IF;
2494: IF BOM_Globals.get_debug = 'Y' THEN
2495: error_handler.write_debug('After check if rev item is unit conrolled in new eco type. . . the return status : ' ||
2496: l_Return_Status );
2521: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
2522: , p_Token_Tbl => l_Token_Tbl
2523: );
2524: END IF;
2525: l_return_status := FND_API.G_RET_STS_ERROR;
2526: END IF;
2527:
2528: IF BOM_Globals.get_debug = 'Y' THEN
2529: error_handler.write_debug('After check new eco type attributes, the return status is ' ||
2553: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
2554: , p_Token_Tbl => l_Token_Tbl
2555: );
2556: END IF;
2557: l_return_status := FND_API.G_RET_STS_ERROR;
2558: END IF;
2559:
2560: IF BOM_Globals.get_debug = 'Y' THEN
2561: error_handler.write_debug('After check lot number and type, the return status is ' ||
2580: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
2581: , p_Token_Tbl => l_Token_Tbl
2582: );
2583: END IF;
2584: l_return_status := FND_API.G_RET_STS_ERROR;
2585: END IF;
2586:
2587: IF BOM_Globals.get_debug = 'Y' THEN
2588: error_handler.write_debug('After check wip id, the return status is ' || l_Return_Status);
2606: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
2607: , p_Token_Tbl => l_Token_Tbl
2608: );
2609: END IF;
2610: l_return_status := FND_API.G_RET_STS_ERROR;
2611: END IF;
2612:
2613: IF BOM_Globals.get_debug = 'Y' THEN
2614: error_handler.write_debug('After check work order, the return status is ' || l_Return_Status);
2633: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
2634: , p_Token_Tbl => l_Token_Tbl
2635: );
2636: END IF;
2637: l_return_status := FND_API.G_RET_STS_ERROR;
2638: END IF;
2639:
2640: IF BOM_Globals.get_debug = 'Y' THEN
2641: error_handler.write_debug('After check type and cumu, the return status is ' ||
2660: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
2661: , p_Token_Tbl => l_Token_Tbl
2662: );
2663: END IF;
2664: l_return_status := FND_API.G_RET_STS_ERROR;
2665: END IF;
2666:
2667: IF BOM_Globals.get_debug = 'Y' THEN
2668: error_handler.write_debug('After check cumulative qty and from/to id, the return status is ' ||
2688: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
2689: , p_Token_Tbl => l_Token_Tbl
2690: );
2691: END IF;
2692: l_return_status := FND_API.G_RET_STS_ERROR;
2693: END IF;
2694:
2695: IF BOM_Globals.get_debug = 'Y' THEN
2696: error_handler.write_debug('After check work order and cumulative qty, the return status is ' ||
2720: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
2721: , p_Token_Tbl => l_Token_Tbl
2722: );
2723: END IF;
2724: l_return_status := FND_API.G_RET_STS_ERROR;
2725:
2726: /*************************************************************
2727: -- Validation for ECO Lot
2728: -- Check if there is unreleased work order with lot number
2747: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
2748: , p_Token_Tbl => l_Token_Tbl
2749: );
2750: END IF;
2751: l_return_status := FND_API.G_RET_STS_ERROR;
2752: END LOOP ;
2753: END IF ;
2754: END IF ;
2755:
2790: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
2791: , p_Token_Tbl => l_Token_Tbl
2792: );
2793: END IF;
2794: l_return_status := FND_API.G_RET_STS_ERROR;
2795: ELSE
2796: IF p_revised_item_rec.from_cumulative_quantity > l_wipjob_for_eco_cum_rec.start_quantity
2797: OR p_revised_item_rec.from_cumulative_quantity < 0
2798: THEN
2807: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
2808: , p_Token_Tbl => l_Token_Tbl
2809: );
2810: END IF;
2811: l_return_status := FND_API.G_RET_STS_ERROR;
2812: END IF ;
2813:
2814: IF p_revised_item_rec.start_effective_date > l_wipjob_for_eco_cum_rec.scheduled_start_date
2815: THEN
2824: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
2825: , p_Token_Tbl => l_Token_Tbl
2826: );
2827: END IF;
2828: l_return_status := FND_API.G_RET_STS_ERROR;
2829: END IF ;
2830: END IF ;
2831: CLOSE l_wipjob_for_eco_cum_csr ;
2832: END IF ;
2869: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
2870: , p_Token_Tbl => l_Token_Tbl
2871: );
2872: END IF;
2873: l_return_status := FND_API.G_RET_STS_ERROR;
2874: END LOOP ;
2875:
2876: IF BOM_Globals.get_debug = 'Y' THEN
2877: error_handler.write_debug('From WO Num : ' || p_revised_item_rec.from_work_order );
2916: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
2917: , p_Token_Tbl => l_Token_Tbl
2918: );
2919: END IF;
2920: l_return_status := FND_API.G_RET_STS_ERROR;
2921:
2922: ELSIF
2923: (p_revised_item_rec.transaction_type = ENG_GLOBALS.G_OPR_UPDATE OR
2924: p_revised_item_rec.transaction_type = ENG_GLOBALS.G_OPR_CREATE )
2936: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
2937: , p_Token_Tbl => l_Token_Tbl
2938: );
2939: END IF;
2940: l_return_status := FND_API.G_RET_STS_ERROR;
2941: END IF ;
2942:
2943:
2944: /*********************************************************************
2984: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
2985: , p_Token_Tbl => l_Token_Tbl
2986: );
2987: END IF;
2988: l_return_status := FND_API.G_RET_STS_ERROR;
2989: END IF ;
2990: close l_rtg_header_csr;
2991: END IF ;
2992:
3025: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
3026: , p_Token_Tbl => l_Token_Tbl
3027: );
3028: END IF;
3029: l_return_status := FND_API.G_RET_STS_ERROR;
3030:
3031: IF Bom_Globals.Get_Debug = 'Y' THEN
3032: Error_Handler.Write_Debug('After check if alternate code is changed, the return status is ' ||
3033: l_Return_Status);
3065: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
3066: , p_Token_Tbl => l_Token_Tbl
3067: );
3068: END IF;
3069: l_return_status := FND_API.G_RET_STS_ERROR;
3070: END IF;
3071: **********************************************************************/
3072:
3073: l_token_tbl.delete;
3081: -- if the revised item is PTO item, Planning Item ,Not Bom Allowed
3082: -- or referencing a common rouitng.
3083: **********************************************************************/
3084: IF((p_revised_item_rec.new_routing_revision IS NOT NULL AND
3085: p_revised_item_rec.new_routing_revision <> FND_API.G_MISS_CHAR) OR
3086: (p_revised_item_rec.updated_routing_revision IS NOT NULL AND
3087: p_revised_item_rec.updated_routing_revision <> FND_API.G_MISS_CHAR) OR
3088: ( p_revised_item_rec.completion_subinventory IS NOT NULL AND
3089: p_revised_item_rec.completion_subinventory <> FND_API.G_MISS_CHAR )OR
3083: **********************************************************************/
3084: IF((p_revised_item_rec.new_routing_revision IS NOT NULL AND
3085: p_revised_item_rec.new_routing_revision <> FND_API.G_MISS_CHAR) OR
3086: (p_revised_item_rec.updated_routing_revision IS NOT NULL AND
3087: p_revised_item_rec.updated_routing_revision <> FND_API.G_MISS_CHAR) OR
3088: ( p_revised_item_rec.completion_subinventory IS NOT NULL AND
3089: p_revised_item_rec.completion_subinventory <> FND_API.G_MISS_CHAR )OR
3090: (p_revised_item_rec.completion_location_name IS NOT NULL AND
3091: p_revised_item_rec.completion_location_name <> FND_API.G_MISS_CHAR )
3085: p_revised_item_rec.new_routing_revision <> FND_API.G_MISS_CHAR) OR
3086: (p_revised_item_rec.updated_routing_revision IS NOT NULL AND
3087: p_revised_item_rec.updated_routing_revision <> FND_API.G_MISS_CHAR) OR
3088: ( p_revised_item_rec.completion_subinventory IS NOT NULL AND
3089: p_revised_item_rec.completion_subinventory <> FND_API.G_MISS_CHAR )OR
3090: (p_revised_item_rec.completion_location_name IS NOT NULL AND
3091: p_revised_item_rec.completion_location_name <> FND_API.G_MISS_CHAR )
3092: ) AND
3093: Not Val_Rev_Item_for_Rtg( p_revised_item_id => p_rev_item_unexp_rec.revised_item_id
3087: p_revised_item_rec.updated_routing_revision <> FND_API.G_MISS_CHAR) OR
3088: ( p_revised_item_rec.completion_subinventory IS NOT NULL AND
3089: p_revised_item_rec.completion_subinventory <> FND_API.G_MISS_CHAR )OR
3090: (p_revised_item_rec.completion_location_name IS NOT NULL AND
3091: p_revised_item_rec.completion_location_name <> FND_API.G_MISS_CHAR )
3092: ) AND
3093: Not Val_Rev_Item_for_Rtg( p_revised_item_id => p_rev_item_unexp_rec.revised_item_id
3094: , p_organization_id => p_rev_item_unexp_rec.organization_id
3095: )
3093: Not Val_Rev_Item_for_Rtg( p_revised_item_id => p_rev_item_unexp_rec.revised_item_id
3094: , p_organization_id => p_rev_item_unexp_rec.organization_id
3095: )
3096: AND ( ((p_revised_item_rec.new_routing_revision IS NOT NULL) AND
3097: (p_revised_item_rec.new_routing_revision <> FND_API.G_MISS_CHAR))
3098: OR (p_revised_item_rec.updated_routing_revision IS NOT NULL AND
3099: p_revised_item_rec.updated_routing_revision <> FND_API.G_MISS_CHAR)
3100: OR p_revised_item_rec.ctp_flag <> Bom_Default_Rtg_Header.Get_Ctp_Flag
3101: OR p_revised_item_rec.completion_subinventory IS NOT NULL
3095: )
3096: AND ( ((p_revised_item_rec.new_routing_revision IS NOT NULL) AND
3097: (p_revised_item_rec.new_routing_revision <> FND_API.G_MISS_CHAR))
3098: OR (p_revised_item_rec.updated_routing_revision IS NOT NULL AND
3099: p_revised_item_rec.updated_routing_revision <> FND_API.G_MISS_CHAR)
3100: OR p_revised_item_rec.ctp_flag <> Bom_Default_Rtg_Header.Get_Ctp_Flag
3101: OR p_revised_item_rec.completion_subinventory IS NOT NULL
3102: OR p_revised_item_rec.completion_location_name IS NOT NULL
3103: OR p_revised_item_rec.priority IS NOT NULL
3114: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
3115: , p_Token_Tbl => l_Token_Tbl
3116: );
3117: END IF;
3118: l_return_status := FND_API.G_RET_STS_ERROR;
3119:
3120: IF Bom_Globals.Get_Debug = 'Y' THEN
3121: Error_Handler.Write_Debug('After check if a rtg can be created for this rev item, the return status is ' || l_Return_Status);
3122: END IF;
3141: , p_Token_Tbl => l_Token_Tbl
3142: );
3143:
3144: END IF;
3145: l_return_status := FND_API.G_RET_STS_ERROR;
3146: ELSIF p_revised_item_rec.transaction_type = ENG_Globals.G_OPR_UPDATE AND
3147: p_revised_item_rec.alternate_bom_code IS NOT NULL AND
3148: p_revised_item_rec.updated_routing_revision IS NOT NULL
3149: THEN
3155: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
3156: , p_Token_Tbl => l_Token_Tbl
3157: );
3158: END IF;
3159: l_return_status := FND_API.G_RET_STS_ERROR;
3160: END IF;
3161:
3162: IF Bom_Globals.Get_Debug = 'Y' THEN
3163: Error_Handler.Write_Debug('After checking rtg revision is null when alt code is not null, the return status is ' || l_return_status );
3182: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
3183: , p_Token_Tbl => l_Token_Tbl
3184: );
3185: END IF;
3186: l_return_status := FND_API.G_RET_STS_ERROR;
3187:
3188: END IF;
3189:
3190: IF BOM_Globals.get_debug = 'Y' THEN
3304: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
3305: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
3306: , p_Token_Tbl => l_Token_Tbl );
3307: END IF;
3308: l_return_status := FND_API.G_RET_STS_ERROR;
3309: ELSIF l_new_revision_status = 2
3310: THEN
3311: l_token_tbl.delete;
3312:
3336: , p_message_type => 'E'
3337: );
3338: END IF;
3339:
3340: l_return_status := FND_API.G_RET_STS_ERROR;
3341: ELSIF l_new_revision_status = 3
3342: THEN
3343: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
3344: THEN
3352: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
3353: , p_Token_Tbl => l_Token_Tbl
3354: );
3355: END IF;
3356: l_return_status := FND_API.G_RET_STS_ERROR;
3357: END IF;
3358: END IF;
3359:
3360: IF BOM_Globals.get_debug = 'Y' THEN
3388: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
3389: , p_Token_Tbl => l_Token_Tbl
3390: );
3391: END IF;
3392: l_return_status := FND_API.G_RET_STS_ERROR;
3393: END IF ;
3394:
3395: IF BOM_Globals.get_debug = 'Y' THEN
3396: error_handler.write_debug('After check ctp flag, the return status is ' || l_Return_Status);
3421: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
3422: , p_Token_Tbl => l_Token_Tbl
3423: );
3424: END IF;
3425: l_return_status := FND_API.G_RET_STS_ERROR;
3426: END IF ;
3427:
3428: IF BOM_Globals.get_debug = 'Y' THEN
3429: error_handler.write_debug('After check priority, the return status is ' || l_Return_Status);
3449: )
3450: OR p_revised_item_rec.transaction_type = ENG_GLOBALS.G_OPR_CREATE
3451: )
3452: AND ( p_revised_item_rec.completion_subinventory IS NULL
3453: OR p_revised_item_rec.completion_subinventory = FND_API.G_MISS_CHAR)
3454: THEN
3455:
3456: IF Bom_Globals.Get_Debug = 'Y' THEN
3457: Error_Handler.Write_Debug('Inside the process when subinventory is null' ) ;
3457: Error_Handler.Write_Debug('Inside the process when subinventory is null' ) ;
3458: END IF;
3459:
3460: IF p_rev_item_unexp_rec.completion_locator_id IS NOT NULL
3461: AND p_rev_item_unexp_rec.completion_locator_id <> FND_API.G_MISS_NUM
3462: -- OR p_rev_item_unexp_rec.completion_locator_id <> FND_API.G_MISS_NUM
3463: -- updated by MK on 11/15/00
3464: THEN
3465: l_token_tbl(1).token_name := 'ASSEMBLY_ITEM_NAME' ;
3458: END IF;
3459:
3460: IF p_rev_item_unexp_rec.completion_locator_id IS NOT NULL
3461: AND p_rev_item_unexp_rec.completion_locator_id <> FND_API.G_MISS_NUM
3462: -- OR p_rev_item_unexp_rec.completion_locator_id <> FND_API.G_MISS_NUM
3463: -- updated by MK on 11/15/00
3464: THEN
3465: l_token_tbl(1).token_name := 'ASSEMBLY_ITEM_NAME' ;
3466: l_token_tbl(1).token_value := p_revised_item_rec.revised_item_name;
3472: , p_token_tbl => l_token_tbl
3473: , p_mesg_token_tbl => l_mesg_token_tbl
3474: , x_mesg_token_tbl => l_mesg_token_tbl
3475: );
3476: l_return_status := FND_API.G_RET_STS_ERROR;
3477: END IF;
3478:
3479: -- Check if Subinventory exists
3480: ELSIF
3484: )
3485: OR p_revised_item_rec.transaction_type = ENG_GLOBALS.G_OPR_CREATE
3486: )
3487: AND ( p_revised_item_rec.completion_subinventory IS NOT NULL
3488: OR p_revised_item_rec.completion_subinventory <> FND_API.G_MISS_CHAR)
3489: THEN
3490:
3491: IF Bom_Globals.Get_Debug = 'Y' THEN
3492: Error_Handler.Write_Debug('Inside the process when subinventory is not null' ) ;
3557: , p_token_tbl => l_token_tbl
3558: , p_mesg_token_tbl => l_mesg_token_tbl
3559: , x_mesg_token_tbl => l_mesg_token_tbl
3560: ) ;
3561: l_return_status := FND_API.G_RET_STS_ERROR;
3562: ELSE
3563: CLOSE c_Restrict_SubInv_Trk;
3564:
3565: END IF;
3594: , p_token_tbl => l_token_tbl
3595: , p_mesg_token_tbl => l_mesg_token_tbl
3596: , x_mesg_token_tbl => l_mesg_token_tbl
3597: ) ;
3598: l_return_status := FND_API.G_RET_STS_ERROR;
3599: ELSE
3600: CLOSE c_Restrict_SubInv_Asset ;
3601: END IF;
3602:
3628: , p_token_tbl => l_token_tbl
3629: , p_mesg_token_tbl => l_mesg_token_tbl
3630: , x_mesg_token_tbl => l_mesg_token_tbl
3631: ) ;
3632: l_return_status := FND_API.G_RET_STS_ERROR;
3633: ELSE
3634: CLOSE c_Restrict_SubInv_Trk;
3635: END IF;
3636:
3666: , p_token_tbl => l_token_tbl
3667: , p_mesg_token_tbl => l_mesg_token_tbl
3668: , x_mesg_token_tbl => l_mesg_token_tbl
3669: ) ;
3670: l_return_status := FND_API.G_RET_STS_ERROR;
3671: ELSE
3672: CLOSE c_SubInventory_Tracked;
3673: END IF;
3674:
3700: , p_token_tbl => l_token_tbl
3701: , p_mesg_token_tbl => l_mesg_token_tbl
3702: , x_mesg_token_tbl => l_mesg_token_tbl
3703: ) ;
3704: l_return_status := FND_API.G_RET_STS_ERROR;
3705: ELSE
3706: CLOSE c_SubInventory_Asset;
3707: END IF;
3708: IF BOM_Globals.get_debug = 'Y' THEN
3732: , p_token_tbl => l_token_tbl
3733: , p_mesg_token_tbl => l_mesg_token_tbl
3734: , x_mesg_token_tbl => l_mesg_token_tbl
3735: ) ;
3736: l_return_status := FND_API.G_RET_STS_ERROR;
3737:
3738: ELSE
3739: CLOSE c_Subinventory_Tracked;
3740: END IF;
3772: NVL(p_old_rev_item_unexp_rec.completion_locator_id , 0)
3773: )
3774: OR (p_revised_item_rec.transaction_type = ENG_GLOBALS.G_OPR_CREATE
3775: AND p_revised_item_rec.completion_subinventory is not null
3776: AND p_revised_item_rec.completion_subinventory <> FND_API.G_MISS_CHAR)
3777: )
3778: AND NOT Check_Locators( p_organization_id => p_rev_item_unexp_rec.organization_id
3779: , p_revised_item_id => p_rev_item_unexp_rec.revised_item_id
3780: , p_locator_id => p_rev_item_unexp_rec.completion_locator_id
3855: );
3856: END IF;
3857: END IF;
3858:
3859: l_return_status := FND_API.G_RET_STS_ERROR;
3860:
3861: -- Comment out by MK, already checked in validation for Sub Inv.
3862: --
3863: -- ELSIF p_revised_item_rec.completion_location_name IS NOT NULL AND
3871: -- , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
3872: -- , p_Token_Tbl => l_Token_Tbl
3873: -- );
3874: -- END IF;
3875: -- l_return_status := FND_API.G_RET_STS_ERROR;
3876:
3877: IF BOM_Globals.get_debug = 'Y' THEN
3878: error_handler.write_debug('completion locator check when locator name is not null,the return status is ' ||
3879: l_Return_Status);
3934: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
3935: , p_Token_Tbl => l_Token_Tbl
3936: );
3937: END IF;
3938: l_return_status := FND_API.G_RET_STS_ERROR;
3939: END IF;
3940:
3941: /*********************************************************************
3942: --
3959: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
3960: , p_Token_Tbl => l_Token_Tbl
3961: );
3962: END IF;
3963: l_return_status := FND_API.G_RET_STS_ERROR;
3964:
3965: ELSIF p_revised_item_rec.use_up_plan_name IS NULL AND
3966: p_revised_item_rec.use_up_item_name IS NOT NULL AND
3967: p_revised_item_rec.transaction_type = ENG_GLOBALS.G_OPR_CREATE
3974: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
3975: , p_Token_Tbl => l_Token_Tbl
3976: );
3977: END IF;
3978: l_return_status := FND_API.G_RET_STS_ERROR;
3979: ELS
3980:
3981: *** End of Comment */
3982:
3996: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
3997: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
3998: );
3999: END IF;
4000: l_return_status := FND_API.G_RET_STS_ERROR;
4001: END IF;
4002:
4003: --
4004: -- End of check for conditionally required attributes
4016: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4017: , p_Token_Tbl => l_Token_Tbl
4018: );
4019: END IF;
4020: l_return_status := FND_API.G_RET_STS_ERROR;
4021: END LOOP;
4022:
4023: ELSIF p_control_rec.caller_type <> 'SSWA' THEN -- not required for plm
4024: -- Peform the following validation only if called thru open interface
4028: -- If the user is trying to update the revised item with new values then make sure that
4029: -- the new values are not creating a duplicate row in the table.
4030: --
4031: IF ( p_revised_item_rec.new_effective_date IS NOT NULL AND
4032: p_revised_item_rec.new_effective_date <> FND_API.G_MISS_DATE
4033: ) OR
4034: ( p_revised_item_rec.updated_revised_item_revision IS NOT NULL AND
4035: p_revised_item_rec.updated_revised_item_revision <> FND_API.G_MISS_CHAR
4036: )
4031: IF ( p_revised_item_rec.new_effective_date IS NOT NULL AND
4032: p_revised_item_rec.new_effective_date <> FND_API.G_MISS_DATE
4033: ) OR
4034: ( p_revised_item_rec.updated_revised_item_revision IS NOT NULL AND
4035: p_revised_item_rec.updated_revised_item_revision <> FND_API.G_MISS_CHAR
4036: )
4037: THEN
4038: FOR X_CheckDupUnit IN CheckDupDateUnit LOOP
4039: --
4068: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4069: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4070: , p_Token_Tbl => l_Token_Tbl
4071: );
4072: l_return_status := FND_API.G_RET_STS_ERROR;
4073: END LOOP;
4074: END IF; /* If updating revision or effective date Ends */
4075:
4076: /*********************************************************************
4094: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4095: , p_Token_Tbl => l_Token_Tbl
4096: );
4097: END IF;
4098: l_return_status := FND_API.G_RET_STS_ERROR;
4099: END IF;
4100:
4101:
4102: /*********************************************************************
4115: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4116: , p_Token_Tbl => l_Token_Tbl
4117: );
4118: END IF;
4119: l_return_status := FND_API.G_RET_STS_ERROR;
4120: END IF;
4121:
4122: /********************************************************************
4123: --
4141: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4142: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4143: );
4144: END IF;
4145: l_return_status := FND_API.G_RET_STS_ERROR;
4146: END IF;
4147:
4148: /*********************************************************************
4149: -- Added by AS on 07/06.
4166: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4167: , p_Token_Tbl => l_Token_Tbl
4168: );
4169: END IF;
4170: l_return_status := FND_API.G_RET_STS_ERROR;
4171: END IF;
4172:
4173: */
4174: /*********************************************************************
4191: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4192: , p_Token_Tbl => l_Token_Tbl
4193: );
4194: END IF;
4195: l_return_status := FND_API.G_RET_STS_ERROR;
4196: END IF;
4197:
4198: IF l_is_item_unit_controlled AND
4199: p_revised_item_rec.update_wip = 1
4211: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4212: , p_Token_Tbl => l_Token_Tbl
4213: );
4214: END IF;
4215: l_return_status := FND_API.G_RET_STS_ERROR;
4216: END IF;
4217:
4218: /**********************************************************************
4219: --
4249: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4250: , p_Token_Tbl => l_Token_Tbl
4251: );
4252: END IF;
4253: l_return_status := FND_API.G_RET_STS_ERROR;
4254: END IF;
4255: END IF;
4256: /*********************************************************************
4257: --
4260: -- Check if scheduled_date is being set to null
4261: --
4262: **********************************************************************/
4263:
4264: IF p_revised_item_rec.new_effective_date = FND_API.G_MISS_DATE AND
4265: p_revised_item_rec.transaction_type = Eng_Globals.G_OPR_UPDATE
4266: THEN
4267: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
4268: THEN
4272: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4273: , p_Token_Tbl => l_Token_Tbl
4274: );
4275: END IF;
4276: l_return_status := FND_API.G_RET_STS_ERROR;
4277: END IF;
4278:
4279: END IF; -- End of code executed only if called thru open interface
4280:
4390: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4391: , p_Token_Tbl => l_Token_Tbl
4392: );
4393: END IF;
4394: l_return_status := FND_API.G_RET_STS_ERROR;
4395: END IF;
4396:
4397: --
4398: -- Early Scheduled date must be <= Scheduled Date
4426: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4427: , p_Token_Tbl => l_Token_Tbl
4428: );
4429: END IF;
4430: l_return_status := FND_API.G_RET_STS_ERROR;
4431: END IF;
4432:
4433: /********************************************************************
4434: --
4443:
4444: IF p_revised_item_rec.use_up_plan_name IS NOT NULL AND
4445: p_rev_item_unexp_rec.use_up_item_id IS NOT NULL AND -- Added by MK on 10/31/00
4446: p_revised_item_rec.start_effective_date IS NOT NULL AND
4447: p_revised_item_rec.start_effective_date <> FND_API.G_MISS_DATE AND
4448: ( p_revised_item_rec.transaction_type = ENG_GLOBALS.G_OPR_CREATE OR
4449: ( p_revised_item_rec.transaction_type = ENG_GLOBALS.G_OPR_UPDATE
4450: AND
4451: ( p_revised_item_rec.new_effective_date IS NOT NULL AND
4448: ( p_revised_item_rec.transaction_type = ENG_GLOBALS.G_OPR_CREATE OR
4449: ( p_revised_item_rec.transaction_type = ENG_GLOBALS.G_OPR_UPDATE
4450: AND
4451: ( p_revised_item_rec.new_effective_date IS NOT NULL AND
4452: p_revised_item_rec.new_effective_date <> FND_API.G_MISS_DATE
4453: )
4454: )
4455: )
4456: THEN
4504: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4505: , p_Token_Tbl => l_Token_Tbl
4506: );
4507: END IF;
4508: l_return_status := FND_API.G_RET_STS_ERROR;
4509: END IF;
4510:
4511: IF BOM_Globals.get_debug = 'Y' THEN
4512: error_handler.write_debug('After validation for shedule date, the return status is ' ||
4533: )
4534: ) AND
4535: p_rev_item_unexp_rec.use_up_item_id <>
4536: p_rev_item_unexp_rec.revised_item_id AND
4537: p_rev_item_unexp_rec.use_up_item_id <> FND_API.G_MISS_NUM
4538: THEN
4539: l_IsUseUpValid := FALSE;
4540:
4541: FOR CheckItem IN c_CheckUseUpItem
4571: END IF;
4572:
4573:
4574:
4575: l_return_status := FND_API.G_RET_STS_ERROR;
4576: END IF;
4577:
4578: IF BOM_Globals.get_debug = 'Y' THEN
4579: error_handler.write_debug('After validation for Use Up Item, the return status is '|| l_Return_Status);
4631: , p_Token_Tbl => l_Token_Tbl
4632: );
4633:
4634: END IF;
4635: l_return_status := FND_API.G_RET_STS_ERROR;
4636: END IF;
4637:
4638: /*********************************************************************
4639: -- Added by MK on 08/26/2000
4657: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4658: , p_Token_Tbl => l_Token_Tbl
4659: );
4660: END IF;
4661: l_return_status := FND_API.G_RET_STS_ERROR;
4662: END IF;
4663: -- Added by MK on 08/26/2000
4664: **********************************************************************/
4665:
4746: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4747: , p_Token_Tbl => l_Token_Tbl
4748: );
4749: END IF;
4750: l_return_status := FND_API.G_RET_STS_ERROR;
4751: ELSIF l_result = 2 THEN
4752: IF FND_MSG_PUB.Check_Msg_Level
4753: (FND_MSG_PUB.G_MSG_LVL_ERROR)
4754: THEN
4763: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4764: , p_Token_Tbl => l_Token_Tbl
4765: );
4766: END IF;
4767: l_return_status := FND_API.G_RET_STS_ERROR;
4768: END IF;
4769: END IF;
4770:
4771: IF BOM_Globals.get_debug = 'Y' THEN
4806: , p_Token_Tbl => l_Token_Tbl
4807: );
4808:
4809: END IF;
4810: l_return_status := FND_API.G_RET_STS_ERROR;
4811: END IF;
4812: END IF;
4813: -- Added by MK on 09/01/2000
4814: IF BOM_Globals.get_debug = 'Y' THEN
4856: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4857: , x_Mesg_Token_tbl => l_Mesg_Token_Tbl
4858: , p_Token_Tbl => l_Token_Tbl);
4859: END IF;
4860: l_return_status := FND_API.G_RET_STS_ERROR;
4861: END IF;
4862: IF BOM_Globals.get_debug = 'Y' THEN
4863: error_handler.write_debug('End of call type check for form, the return status is ' ||
4864: l_Return_Status);
4902: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4903: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4904: );
4905: END IF;
4906: l_return_status := FND_API.G_RET_STS_ERROR;
4907: END;
4908: END IF;
4909: IF BOM_Globals.get_debug = 'Y' THEN
4910: error_handler.write_debug('End of check call type, the return status is '|| l_Return_Status);
4945: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4946: , p_Token_Tbl => l_Token_Tbl
4947: );
4948: END IF;
4949: l_return_status := FND_API.G_RET_STS_ERROR;
4950: END IF;
4951:
4952: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('checked - is status updateable'); END IF;
4953:
4982: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4983: , p_Token_Tbl => l_Token_Tbl
4984: );
4985: END IF;
4986: l_return_status := FND_API.G_RET_STS_ERROR;
4987: END IF;
4988: **********************************************************************/
4989:
4990: l_token_tbl.delete;
5005: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
5006: , p_Token_Tbl => l_Token_Tbl
5007: );
5008: END IF;
5009: l_return_status := FND_API.G_RET_STS_ERROR;
5010: ELSIF p_revised_item_rec.transaction_type = Eng_Globals.G_OPR_UPDATE AND
5011: p_revised_item_rec.alternate_bom_code IS NOT NULL AND
5012: p_revised_item_rec.updated_revised_item_revision IS NOT NULL
5013: AND l_plm_or_erp_change <> 'PLM'
5020: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
5021: , p_Token_Tbl => l_Token_Tbl
5022: );
5023: END IF;
5024: l_return_status := FND_API.G_RET_STS_ERROR;
5025: END IF;
5026: IF Bom_Globals.Get_Debug = 'Y' THEN
5027: Error_Handler.Write_Debug('After checking item revision is null when alt code is not null, the return status is ' || l_return_status );
5028: END IF;
5046: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
5047: , p_Token_Tbl => l_Token_Tbl
5048: );
5049: END IF;
5050: l_return_status := FND_API.G_RET_STS_ERROR;
5051: END IF;
5052:
5053: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('checked - is there current item rev. for item'); END IF;
5054:
5079: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
5080: , p_Token_Tbl => l_Token_Tbl
5081: );
5082: END IF;
5083: l_return_status := FND_API.G_RET_STS_ERROR;
5084: END IF;
5085: IF BOM_Globals.get_debug = 'Y' THEN
5086: error_handler.write_debug('End of validating revision, the return status is ' || l_Return_Status);
5087: END IF;
5105: -- Using from revision instead of the current revision in case
5106: -- of PLM.
5107: IF (l_plm_or_erp_change = 'PLM' AND
5108: p_revised_item_rec.from_item_revision IS NOT NULL AND
5109: p_revised_item_rec.from_item_revision <> FND_API.G_MISS_CHAR)
5110: THEN
5111: l_from_revision := p_revised_item_rec.from_item_revision;
5112: l_message_name := 'ENG_NEW_ITEM_REV_NOT_VALID';
5113: ELSE
5169: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
5170: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
5171: , p_Token_Tbl => l_Token_Tbl);
5172: END IF;
5173: l_return_status := FND_API.G_RET_STS_ERROR;
5174: ELSIF l_new_revision_status = 2
5175: THEN
5176: l_token_tbl.delete;
5177:
5201: , p_token_tbl => l_token_tbl
5202: );
5203: END IF;
5204:
5205: l_return_status := FND_API.G_RET_STS_ERROR;
5206: ELSIF l_new_revision_status = 3
5207: THEN
5208: IF FND_MSG_PUB.Check_Msg_Level
5209: (FND_MSG_PUB.G_MSG_LVL_ERROR)
5214: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
5215: , p_Token_Tbl => l_Token_Tbl
5216: );
5217: END IF;
5218: l_return_status := FND_API.G_RET_STS_ERROR;
5219: END IF;
5220: END IF;
5221: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('checked - is new item revision valid'); END IF;
5222:
5262: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
5263: , p_Token_Tbl => l_Token_Tbl
5264: );
5265: END IF;
5266: l_return_status := FND_API.G_RET_STS_ERROR;
5267: END IF;
5268: IF Bom_Globals.Get_Debug = 'Y'
5269: THEN
5270: Error_Handler.Write_Debug('End of validation of revisions and effectivity dates in ascending order.'
5277: IF (p_revised_item_rec.transaction_type = ENG_GLOBALS.G_OPR_CREATE
5278: AND p_revised_item_rec.new_revised_item_revision IS NULL
5279: AND p_control_rec.caller_type <> 'FORM' AND p_control_rec.caller_type <> 'SSWA'
5280: AND p_revised_item_rec.from_item_revision IS NOT NULL
5281: AND p_revised_item_rec.from_item_revision <> FND_API.G_MISS_CHAR)
5282: THEN
5283: l_is_scheduled_date_invalid := Scheduled_Date_From_Revision (
5284: p_revised_item_id => p_rev_item_unexp_rec.revised_item_id
5285: , p_organization_id => p_rev_item_unexp_rec.organization_id
5297: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
5298: , p_Token_Tbl => l_Token_Tbl
5299: );
5300: END IF;
5301: l_return_status := FND_API.G_RET_STS_ERROR;
5302: END IF;
5303:
5304: END IF;
5305:
5335: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
5336: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
5337: , p_Token_Tbl => l_Token_Tbl
5338: );
5339: l_return_status :=FND_API.G_RET_STS_ERROR;
5340: END IF;
5341: END IF; */
5342: -- Done validating entity
5343: IF BOM_Globals.get_debug = 'Y' THEN
5347: x_return_status := l_return_status;
5348: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
5349:
5350: EXCEPTION
5351: WHEN FND_API.G_EXC_ERROR THEN
5352:
5353: x_return_status := FND_API.G_RET_STS_ERROR;
5354: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
5355:
5349:
5350: EXCEPTION
5351: WHEN FND_API.G_EXC_ERROR THEN
5352:
5353: x_return_status := FND_API.G_RET_STS_ERROR;
5354: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
5355:
5356: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5357:
5352:
5353: x_return_status := FND_API.G_RET_STS_ERROR;
5354: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
5355:
5356: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5357:
5358: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5359: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
5360:
5354: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
5355:
5356: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5357:
5358: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5359: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
5360:
5361: WHEN OTHERS THEN
5362:
5359: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
5360:
5361: WHEN OTHERS THEN
5362:
5363: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5364:
5365: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5366: THEN
5367: l_err_text := G_PKG_NAME || ' : (Entity Validation) ' ||
5443:
5444:
5445: BEGIN
5446:
5447: x_return_status := FND_API.G_RET_STS_SUCCESS;
5448:
5449: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Within Revised Item Check Attributes . . .'); END IF;
5450:
5451: -- Set revised item token name and value.
5472: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
5473: , p_Token_Tbl => l_Token_Tbl);
5474: END IF;
5475:
5476: x_return_status := FND_API.G_RET_STS_ERROR;
5477: END IF;
5478:
5479: -- Status Type cannot be missing.
5480: IF p_revised_item_rec.status_type = FND_API.G_MISS_NUM
5476: x_return_status := FND_API.G_RET_STS_ERROR;
5477: END IF;
5478:
5479: -- Status Type cannot be missing.
5480: IF p_revised_item_rec.status_type = FND_API.G_MISS_NUM
5481: THEN
5482: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
5483: THEN
5484: Error_Handler.Add_Error_Token
5487: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
5488: , p_Token_Tbl => l_Token_Tbl);
5489: END IF;
5490:
5491: x_return_status := FND_API.G_RET_STS_ERROR;
5492:
5493: END IF;
5494:
5495: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Status Type Validated . . . ' ); END IF;
5504: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
5505: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
5506: );
5507: END IF;
5508: x_return_status := FND_API.G_RET_STS_ERROR;
5509: END IF;
5510:
5511:
5512: /* Comment out by MK on 12/06/00
5525: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
5526: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
5527: );
5528: END IF;
5529: x_return_status := FND_API.G_RET_STS_ERROR;
5530: END IF;
5531: */ -- Comment out
5532:
5533:
5535:
5536: IF p_revised_item_rec.transaction_type = ENG_GLOBALS.G_OPR_CREATE AND
5537: (p_revised_item_rec.from_end_item_unit_number IS NOT NULL
5538: AND
5539: p_revised_item_rec.from_end_item_unit_number <> FND_API.G_MISS_CHAR)
5540: THEN
5541: IF NOT ENG_Validate.End_Item_Unit_Number
5542: ( p_from_end_item_unit_number =>
5543: p_revised_item_rec.from_end_item_unit_number
5545: p_rev_item_unexp_rec.revised_item_id
5546: , x_err_text => l_err_text
5547: )
5548: THEN
5549: x_return_status := FND_API.G_RET_STS_ERROR;
5550: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
5551: THEN
5552: l_token_tbl(2).token_name := 'FROM_END_ITEM_UNIT_NUMBER';
5553: l_token_tbl(2).token_value :=
5564:
5565: IF p_revised_item_rec.transaction_type = ENG_GLOBALS.G_OPR_UPDATE AND
5566: (p_revised_item_rec.new_from_end_item_unit_number IS NOT NULL
5567: AND
5568: p_revised_item_rec.new_from_end_item_unit_number <> FND_API.G_MISS_CHAR)
5569: THEN
5570: IF NOT ENG_Validate.End_Item_Unit_Number
5571: ( p_from_end_item_unit_number =>
5572: p_revised_item_rec.new_from_end_item_unit_number
5574: p_rev_item_unexp_rec.revised_item_id
5575: , x_err_text => l_err_text
5576: )
5577: THEN
5578: x_return_status := FND_API.G_RET_STS_ERROR;
5579: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
5580: THEN
5581: l_token_tbl(2).token_name := 'FROM_END_ITEM_UNIT_NUMBER';
5582: l_token_tbl(2).token_value :=
5597: p_old_revised_item_rec.mrp_active IS NULL )
5598: THEN
5599: IF NOT ENG_Validate.Mrp_Active(p_revised_item_rec.mrp_active ,
5600: l_err_text ) THEN
5601: x_return_status := FND_API.G_RET_STS_ERROR;
5602: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
5603: THEN
5604: l_token_tbl(2).token_name := 'MRP_ACTIVE';
5605: l_token_tbl(2).token_value :=
5614:
5615: END IF;
5616: END IF;
5617:
5618: IF p_revised_item_rec.mrp_active = FND_API.G_MISS_NUM
5619: THEN
5620: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
5621: THEN
5622: Error_Handler.Add_Error_Token
5626: , p_Token_Tbl => l_Token_Tbl
5627: );
5628: END IF;
5629:
5630: x_return_status := FND_API.G_RET_STS_ERROR;
5631:
5632: END IF;
5633:
5634: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('MRP Active Validated . . .'); END IF;
5639: p_old_revised_item_rec.update_wip IS NULL )
5640: THEN
5641: IF NOT ENG_Validate.Update_Wip(p_revised_item_rec.update_wip ,
5642: l_err_text ) THEN
5643: x_return_status := FND_API.G_RET_STS_ERROR;
5644: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
5645: THEN
5646: l_token_tbl(2).token_name := 'UPDATE_WIP';
5647: l_token_tbl(2).token_value :=
5655: END IF;
5656: END IF;
5657: END IF;
5658:
5659: IF p_revised_item_rec.update_wip = FND_API.G_MISS_NUM
5660: THEN
5661: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
5662: THEN
5663: Error_Handler.Add_Error_Token
5667: , p_Token_Tbl => l_Token_Tbl
5668: );
5669: END IF;
5670:
5671: x_return_status := FND_API.G_RET_STS_ERROR;
5672:
5673: END IF;
5674:
5675: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Update WIP Validated . . .'); END IF;
5716: Error_Handler.Write_Debug('Use_Up_Plan validation returned with an error ' ||
5717: l_err_text);
5718: END IF;
5719: END IF;
5720: x_return_status := FND_API.G_RET_STS_ERROR;
5721: END IF;
5722: END IF;
5723:
5724: IF p_revised_item_rec.disposition_type IS NOT NULL AND
5744: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
5745: , p_Token_Tbl => l_Token_Tbl
5746: );
5747: END IF;
5748: x_return_status := FND_API.G_RET_STS_ERROR;
5749: END IF;
5750: END IF;
5751:
5752: IF p_revised_item_rec.disposition_type = FND_API.G_MISS_NUM
5748: x_return_status := FND_API.G_RET_STS_ERROR;
5749: END IF;
5750: END IF;
5751:
5752: IF p_revised_item_rec.disposition_type = FND_API.G_MISS_NUM
5753: THEN
5754: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
5755: THEN
5756: Error_Handler.Add_Error_Token
5759: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
5760: , p_Token_Tbl => l_Token_Tbl
5761: );
5762: END IF;
5763: x_return_status := FND_API.G_RET_STS_ERROR;
5764: END IF;
5765:
5766:
5767: /**********************************************************************
5770: -- Added by MK 08/24/2000
5771: **********************************************************************/
5772: -- CTP Flag
5773: IF p_revised_item_rec.ctp_flag IS NOT NULL AND
5774: p_revised_item_rec.ctp_flag <> FND_API.G_MISS_NUM AND
5775: p_revised_item_rec.ctp_flag NOT IN (1,2)
5776: THEN
5777: l_token_tbl(1).token_name := 'ASSEMBLY_ITEM_NAME';
5778: l_token_tbl(1).token_value := p_revised_item_rec.revised_item_name;
5781: , p_token_tbl => l_token_tbl
5782: , p_mesg_token_tbl => l_mesg_token_tbl
5783: , x_mesg_token_tbl => l_mesg_token_tbl
5784: );
5785: x_return_status := FND_API.G_RET_STS_ERROR;
5786: END IF;
5787:
5788: -- Eco For Production Added by MK on 10/06/2000
5789: IF p_revised_item_rec.eco_for_production IS NOT NULL AND
5786: END IF;
5787:
5788: -- Eco For Production Added by MK on 10/06/2000
5789: IF p_revised_item_rec.eco_for_production IS NOT NULL AND
5790: p_revised_item_rec.eco_for_production <> FND_API.G_MISS_NUM AND
5791: p_revised_item_rec.eco_for_production NOT IN (1,2)
5792: THEN
5793: l_token_tbl(1).token_name := 'REVISED_ITEM_NAME';
5794: l_token_tbl(1).token_value := p_revised_item_rec.revised_item_name;
5797: , p_token_tbl => l_token_tbl
5798: , p_mesg_token_tbl => l_mesg_token_tbl
5799: , x_mesg_token_tbl => l_mesg_token_tbl
5800: );
5801: x_return_status := FND_API.G_RET_STS_ERROR;
5802: END IF;
5803:
5804: -- Missing Eco For Production Added by MK on 10/06/2000
5805: IF p_revised_item_rec.eco_for_production = FND_API.G_MISS_NUM AND
5801: x_return_status := FND_API.G_RET_STS_ERROR;
5802: END IF;
5803:
5804: -- Missing Eco For Production Added by MK on 10/06/2000
5805: IF p_revised_item_rec.eco_for_production = FND_API.G_MISS_NUM AND
5806: p_revised_item_rec.transaction_type = ENG_GLOBALS.G_OPR_UPDATE
5807: THEN
5808: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
5809: THEN
5813: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
5814: , p_Token_Tbl => l_Token_Tbl
5815: );
5816: END IF;
5817: x_return_status := FND_API.G_RET_STS_ERROR;
5818: END IF;
5819:
5820: /* Comment Out by MK Flow Routing is not supported in Current Rel
5821: IF p_revised_item_rec.mixed_model_map_flag IS NOT NULL AND
5818: END IF;
5819:
5820: /* Comment Out by MK Flow Routing is not supported in Current Rel
5821: IF p_revised_item_rec.mixed_model_map_flag IS NOT NULL AND
5822: p_revised_item_rec.mixed_model_map_flag <> FND_API.G_MISS_NUM AND
5823: p_revised_item_rec.mixed_model_map_flag NOT IN (1,2)
5824: THEN
5825: l_token_tbl(1).token_name := 'REVISED_ITEM_NAME';
5826: l_token_tbl(1).token_value := p_revised_item_rec.revised_item_name;
5831: , p_token_tbl => l_token_tbl
5832: , p_mesg_token_tbl => l_mesg_token_tbl
5833: , x_mesg_token_tbl => l_mesg_token_tbl
5834: );
5835: x_return_status := FND_API.G_RET_STS_ERROR;
5836: END IF;
5837: */
5838: -- Added by MK on 08/24/2000
5839:
5840:
5841: -- Added by MK on 02/15/2001
5842: -- Validate alternate bom code
5843: IF p_revised_item_rec.alternate_bom_code IS NOT NULL AND
5844: p_revised_item_rec.alternate_bom_code <> FND_API.G_MISS_CHAR
5845: THEN
5846:
5847: FOR check_alternate IN
5848: c_Check_Alternate
5862: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
5863: , p_token_tbl => l_token_tbl
5864: );
5865:
5866: x_return_status := FND_API.G_RET_STS_ERROR;
5867: l_token_tbl.delete ;
5868: l_token_tbl(1).token_name := 'REVISED_ITEM_NAME';
5869: l_token_tbl(1).token_value := p_revised_item_rec.revised_item_name;
5870:
5888: , p_token_tbl => l_token_tbl
5889: , p_mesg_token_tbl => l_mesg_token_tbl
5890: , x_mesg_token_tbl => l_mesg_token_tbl
5891: );
5892: x_return_status := FND_API.G_RET_STS_ERROR;
5893: END IF;
5894:
5895: -- Done validating attributes
5896: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
5897:
5898:
5899: EXCEPTION
5900:
5901: WHEN FND_API.G_EXC_ERROR THEN
5902: x_return_status := FND_API.G_RET_STS_ERROR;
5903: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
5904:
5905: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5898:
5899: EXCEPTION
5900:
5901: WHEN FND_API.G_EXC_ERROR THEN
5902: x_return_status := FND_API.G_RET_STS_ERROR;
5903: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
5904:
5905: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5906:
5901: WHEN FND_API.G_EXC_ERROR THEN
5902: x_return_status := FND_API.G_RET_STS_ERROR;
5903: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
5904:
5905: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5906:
5907: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5908: Error_Handler.Add_Error_Token
5909: ( p_Message_Name => NULL
5903: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
5904:
5905: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5906:
5907: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5908: Error_Handler.Add_Error_Token
5909: ( p_Message_Name => NULL
5910: , p_Message_Text => l_Err_Text
5911: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
5913: );
5914: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
5915: WHEN OTHERS THEN
5916:
5917: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5918:
5919: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5920: THEN
5921: l_err_text := G_PKG_NAME || ' : (Attribute Validation) ' ||
5954: , p_rev_item_unexp_rec IN Eng_Eco_Pub.Rev_Item_Unexposed_Rec_Type
5955: )
5956: IS
5957: l_err_text VARCHAR2(2000) := NULL;
5958: l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
5959: check_delete NUMBER := 0;
5960: l_count1 NUMBER := 0;
5961: l_allow_rev NUMBER := 0;
5962:
6046: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
6047: , p_Token_Tbl => l_Token_Tbl
6048: );
6049: END IF;
6050: l_return_status := FND_API.G_RET_STS_ERROR;
6051: END LOOP;
6052:
6053:
6054:
6070: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
6071: , p_Token_Tbl => l_Token_Tbl
6072: );
6073: END IF;
6074: l_return_status := FND_API.G_RET_STS_ERROR;
6075: END LOOP;
6076: -- Added by MK on 08/26/2000
6077:
6078:
6097: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
6098: , p_Token_Tbl => l_Token_Tbl
6099: );
6100: END IF;
6101: l_return_status := FND_API.G_RET_STS_ERROR;
6102: END IF;
6103:
6104: /*********************************************************************
6105: -- Added by MK on 08/26/2000
6121: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
6122: , p_Token_Tbl => l_Token_Tbl
6123: );
6124: END IF;
6125: l_return_status := FND_API.G_RET_STS_ERROR;
6126: END IF;
6127: -- Added by MK on 08/26/2000
6128:
6129: -- 11.5.10E
6140: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
6141: , p_Token_Tbl => l_Token_Tbl
6142: );
6143: END IF;
6144: l_return_status := FND_API.G_RET_STS_ERROR;
6145: END IF;
6146: CLOSE allow_delete_rev;
6147: -- Done with the validations
6148: x_return_status := l_return_status;
6149: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
6150:
6151: EXCEPTION
6152:
6153: WHEN FND_API.G_EXC_ERROR THEN
6154:
6155: x_return_status := FND_API.G_RET_STS_ERROR;
6156:
6157: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6151: EXCEPTION
6152:
6153: WHEN FND_API.G_EXC_ERROR THEN
6154:
6155: x_return_status := FND_API.G_RET_STS_ERROR;
6156:
6157: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6158:
6159: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6153: WHEN FND_API.G_EXC_ERROR THEN
6154:
6155: x_return_status := FND_API.G_RET_STS_ERROR;
6156:
6157: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6158:
6159: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6160:
6161: WHEN OTHERS THEN
6155: x_return_status := FND_API.G_RET_STS_ERROR;
6156:
6157: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6158:
6159: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6160:
6161: WHEN OTHERS THEN
6162:
6163: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6159: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6160:
6161: WHEN OTHERS THEN
6162:
6163: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6164:
6165: IF allow_delete_rev%ISOPEN
6166: THEN
6167: CLOSE allow_delete_rev;
6260: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
6261: , p_message_name => 'ENG_REV_ITEM_ALREADY_EXISTS'
6262: , p_token_tbl => l_token_tbl
6263: );
6264: l_return_status := FND_API.G_RET_STS_ERROR;
6265: ELSIF l_return_status = Eng_Globals.G_RECORD_NOT_FOUND AND
6266: p_revised_item_rec.transaction_type IN
6267: (Eng_Globals.G_OPR_UPDATE, Eng_Globals.G_OPR_DELETE)
6268: THEN
6271: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
6272: , p_message_name => 'ENG_REV_ITEM_DOESNOT_EXIST'
6273: , p_token_tbl => l_token_tbl
6274: );
6275: l_return_status := FND_API.G_RET_STS_ERROR;
6276: ELSIF l_Return_status = FND_API.G_RET_STS_UNEXP_ERROR
6277: THEN
6278: Error_Handler.Add_Error_Token
6279: ( x_Mesg_token_tbl => l_Mesg_Token_Tbl
6272: , p_message_name => 'ENG_REV_ITEM_DOESNOT_EXIST'
6273: , p_token_tbl => l_token_tbl
6274: );
6275: l_return_status := FND_API.G_RET_STS_ERROR;
6276: ELSIF l_Return_status = FND_API.G_RET_STS_UNEXP_ERROR
6277: THEN
6278: Error_Handler.Add_Error_Token
6279: ( x_Mesg_token_tbl => l_Mesg_Token_Tbl
6280: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
6284: 'Revised Item ' || p_revised_item_rec.revised_item_name
6285: , p_token_tbl => l_token_tbl
6286: );
6287: ELSE
6288: l_return_status := FND_API.G_RET_STS_SUCCESS;
6289: END IF;
6290: --Start of changes Bug no:3034642
6291:
6292: x_disable_revision :=2;
6316: p_mesg_token_tbl=> l_mesg_token_tbl,
6317: x_mesg_token_tbl=> l_mesg_token_tbl,
6318: p_token_tbl=> l_token_tbl
6319: );
6320: l_return_status := fnd_api.g_ret_sts_error;
6321: end if;
6322: end if; --end of if profile value exists
6323:
6324: --end of changes Bug no:3034642
6347: , x_Return_Status OUT NOCOPY VARCHAR2
6348: )
6349: IS
6350: l_Mesg_Token_Tbl Error_Handler.Mesg_Token_Tbl_Type;
6351: l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
6352: l_token_tbl Error_Handler.Token_Tbl_Type;
6353:
6354: BEGIN
6355:
6429: , x_Mesg_Token_Tbl => l_mesg_token_tbl
6430: , p_Token_Tbl => l_token_tbl
6431: );
6432:
6433: l_return_status := FND_API.G_RET_STS_ERROR;
6434: ELSIF (p_revised_item_rec.new_effective_date IS NULL) THEN
6435: -- The change is in scheduled status and the user has not given a
6436: -- value for the new scheduled date.
6437: Error_Handler.Add_Error_Token
6440: , x_Mesg_Token_Tbl => l_mesg_token_tbl
6441: , p_Token_Tbl => l_token_tbl
6442: );
6443:
6444: l_return_status := FND_API.G_RET_STS_ERROR;
6445: ELSIF (p_revised_item_rec.new_effective_date < SYSDATE) THEN
6446: -- While rescheduling the new effective date shall not be less than
6447: -- the current date...
6448: Error_Handler.Add_Error_Token
6451: , x_Mesg_Token_Tbl => l_mesg_token_tbl
6452: , p_Token_Tbl => l_token_tbl
6453: );
6454:
6455: l_return_status := FND_API.G_RET_STS_ERROR;
6456: end if;
6457: x_return_status := l_return_status;
6458: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
6459:
6534: l_status_valid BOOLEAN;
6535:
6536:
6537: BEGIN
6538: l_return_status := FND_API.G_RET_STS_SUCCESS;
6539:
6540: l_Token_Tbl(1).token_name := 'REVISED_ITEM_NAME';
6541: l_token_tbl(1).token_value := p_revised_item_name;
6542:
6567: , p_Mesg_Token_Tbl => l_mesg_token_tbl
6568: , x_Mesg_Token_Tbl => l_mesg_token_tbl
6569: , p_Token_Tbl => l_token_tbl
6570: );
6571: l_return_status := FND_API.G_RET_STS_ERROR;
6572: END IF;
6573: END LOOP;
6574: END IF;
6575:
6627: , x_Mesg_Token_Tbl => l_mesg_token_tbl
6628: , p_Token_Tbl => l_token_tbl
6629: );
6630:
6631: l_return_status := FND_API.G_RET_STS_ERROR;
6632: END IF;
6633: END IF;
6634: -- End fix for Bug 4276451
6635: END LOOP;
6643: , x_Mesg_Token_Tbl => l_mesg_token_tbl
6644: , p_Token_Tbl => l_token_tbl
6645: );
6646:
6647: l_return_status := FND_API.G_RET_STS_ERROR;
6648: ELSIF NVL(BOM_Globals.Is_RItem_Cancl, FALSE) = TRUE
6649: THEN
6650: Error_Handler.Add_Error_Token
6651: ( p_Message_Name => 'ENG_RIT_CANCELLED'
6652: , p_Mesg_Token_Tbl => l_mesg_token_tbl
6653: , x_Mesg_Token_Tbl => l_mesg_token_tbl
6654: , p_Token_Tbl => l_token_tbl
6655: );
6656: l_return_status := FND_API.G_RET_STS_ERROR;
6657: END IF;
6658:
6659:
6660:
6712: , p_Mesg_Token_Tbl => l_mesg_token_tbl
6713: , x_Mesg_Token_Tbl => l_mesg_token_tbl
6714: , p_Token_Tbl => l_token_tbl
6715: );
6716: l_return_status := FND_API.G_RET_STS_ERROR;
6717: ELSIF RevItem.Bom_Item_Type NOT IN
6718: ( NVL(BOM_Globals.Get_STD_Item_Access, 0),
6719: NVL(BOM_Globals.Get_PLN_Item_Access, 0),
6720: NVL(BOM_Globals.Get_OC_Item_Access, 0) ,
6742: , p_Mesg_Token_Tbl => l_mesg_token_tbl
6743: , x_Mesg_Token_Tbl => l_mesg_token_tbl
6744: , p_Token_Tbl => l_token_tbl
6745: );
6746: l_return_status := FND_API.G_RET_STS_ERROR;
6747:
6748: END IF;
6749: END LOOP;
6750:
6762: , p_Mesg_Token_Tbl => l_mesg_token_tbl
6763: , x_Mesg_Token_Tbl => l_mesg_token_tbl
6764: , p_Token_Tbl => l_token_tbl
6765: );
6766: l_return_status := FND_API.G_RET_STS_ERROR;
6767: END IF;
6768:
6769:
6770:
6804: , p_Token_Tbl => l_Token_Tbl
6805: );
6806:
6807: END IF;
6808: l_return_status := FND_API.G_RET_STS_ERROR;
6809:
6810:
6811:
6812: /**************************************************************
6843: , p_Token_Tbl => l_Token_Tbl
6844: );
6845:
6846: END IF;
6847: l_return_status := FND_API.G_RET_STS_ERROR;
6848: END IF;
6849:
6850:
6851:
6864: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
6865: , p_Token_Tbl => l_token_tbl
6866: );
6867:
6868: l_return_status := FND_API.G_RET_STS_ERROR;
6869: END LOOP;
6870: END IF;
6871: END IF ;
6872: -- Bug 4210718
6891: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
6892: , p_Token_Tbl => l_token_tbl
6893: );
6894:
6895: l_return_status := FND_API.G_RET_STS_ERROR;
6896: END IF;
6897: END IF;
6898: --
6899: -- If all the access checks are satisfied then return a status of
6998: FROM mtl_system_items_b i,
6999: bom_parameters bp
7000: WHERE i.organization_id = :1
7001: AND i.inventory_item_status_code not in (''Inactive'', ''Obsolete'')
7002: AND i.inventory_item_status_code <> nvl(bp.bom_delete_status_code, FND_API.G_MISS_CHAR)
7003: AND i.organization_id = bp.organization_id
7004: AND i.inventory_item_id = :2';
7005: if l_current_phase_id IS NOT NULL then
7006: l_sql := l_sql||' AND current_phase_id in ('||l_current_phase_id||')';
7022: END validate_rev_items_for_sub;
7023:
7024: PROCEDURE Validate_Revised_Item (
7025: p_api_version IN NUMBER := 1.0 --
7026: , p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE --
7027: , p_commit IN VARCHAR2 := FND_API.G_FALSE --
7028: , p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL --
7029: , p_debug IN VARCHAR2 := 'N' --
7030: , p_output_dir IN VARCHAR2 := NULL --
7023:
7024: PROCEDURE Validate_Revised_Item (
7025: p_api_version IN NUMBER := 1.0 --
7026: , p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE --
7027: , p_commit IN VARCHAR2 := FND_API.G_FALSE --
7028: , p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL --
7029: , p_debug IN VARCHAR2 := 'N' --
7030: , p_output_dir IN VARCHAR2 := NULL --
7031: , p_debug_filename IN VARCHAR2 := 'VALREVITEMS.log' --
7024: PROCEDURE Validate_Revised_Item (
7025: p_api_version IN NUMBER := 1.0 --
7026: , p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE --
7027: , p_commit IN VARCHAR2 := FND_API.G_FALSE --
7028: , p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL --
7029: , p_debug IN VARCHAR2 := 'N' --
7030: , p_output_dir IN VARCHAR2 := NULL --
7031: , p_debug_filename IN VARCHAR2 := 'VALREVITEMS.log' --
7032: , x_return_status OUT NOCOPY VARCHAR2 --
7114: l_alternate_bom_code VARCHAR2(10); -- Bug 12310735
7115: BEGIN
7116:
7117: -- Standard call to check for call compatibility
7118: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME)
7119: THEN
7120: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7121: END IF;
7122:
7116:
7117: -- Standard call to check for call compatibility
7118: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME)
7119: THEN
7120: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7121: END IF;
7122:
7123: -- Initialize message list if p_init_msg_list is set to TRUE.
7124: IF FND_API.to_Boolean(p_init_msg_list) THEN
7120: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7121: END IF;
7122:
7123: -- Initialize message list if p_init_msg_list is set to TRUE.
7124: IF FND_API.to_Boolean(p_init_msg_list) THEN
7125: FND_MSG_PUB.Initialize;
7126: Error_Handler.Initialize;
7127: END IF;
7128:
7144: ENG_GLOBALS.Init_System_Info_Rec(
7145: x_mesg_token_tbl => l_mesg_token_tbl
7146: , x_return_status => l_return_status
7147: );
7148: IF l_return_status <> FND_API.G_RET_STS_SUCCESS
7149: THEN
7150: RAISE EXC_ERR_PVT_API_MAIN;
7151: END IF;
7152: -- Initialize Unit_Effectivity flag
7425:
7426:
7427: EXCEPTION
7428: WHEN OTHERS THEN
7429: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7430: IF FND_MSG_PUB.Check_Msg_Level( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7431: THEN
7432: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME, l_api_name);
7433: END IF;