92:
93: RETURN;
94: EXCEPTION
95: WHEN OTHERS THEN
96: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
97: END;
98:
99: ELSE
100: X_TotalQuantity :=0;
128: )
129: IS
130: l_ref_qty NUMBER := 0;
131: l_quantity NUMBER;
132: l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
133:
134: l_token_tbl Error_Handler.Token_Tbl_Type;
135: l_Mesg_Token_Tbl Error_Handler.Mesg_Token_Tbl_Type;
136:
171: END IF;
172: END LOOP;
173:
174: IF l_quantity <> l_ref_qty THEN
175: l_return_status := FND_API.G_RET_STS_ERROR;
176:
177: l_token_tbl.delete ;
178: l_token_tbl(1).token_name := 'REVISED_COMPONENT_NAME';
179: l_token_tbl(1).token_value := p_component_item_name;
212: , p_ref_designator_rec IN Bom_Bo_Pub.Ref_Designator_Rec_Type
213: , p_Ref_Desg_Unexp_Rec IN Bom_Bo_Pub.Ref_Desg_Unexposed_Rec_Type
214: )
215: IS
216: l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
217: l_temp_var NUMBER := 0;
218: l_ref_qty NUMBER := 0;
219: l_component_qty NUMBER;
220: l_dummy VARCHAR(80);
257: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
258: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
259: , p_Token_Tbl => l_Token_Tbl
260: );
261: l_Return_Status := FND_API.G_RET_STS_ERROR;
262:
263: END;
264: /* 4870173 */
265: select basis_type into l_basis_type from bom_components_b where component_sequence_id = p_Ref_Desg_Unexp_Rec.component_sequence_id;
271: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
272: , p_message_name => 'BOM_LOT_BASED_RDS'
273: , p_Token_Tbl => l_Token_Tbl
274: );
275: l_return_status := FND_API.G_RET_STS_ERROR;
276: End if;
277:
278: /*Check BOM enabled flag of the assembly*/
279: SELECT msi.bom_enabled_flag
298: , p_message_name => 'BOM_REV_ITEM_BOM_NOT_ENABLED'
299: , p_token_tbl => l_token_tbl
300: );
301: END IF;
302: l_return_status := FND_API.G_RET_STS_ERROR;
303: END IF;
304:
305: -- The ECO can be updated but a warning needs to be generated and
306: -- scheduled revised items need to be update to Open
325: x_err_text => l_err_text
326: );
327:
328: EXCEPTION
329: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
330: l_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
331: END;
332:
333: END IF;
326: );
327:
328: EXCEPTION
329: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
330: l_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
331: END;
332:
333: END IF;
334: END IF;
379: , p_message_name => 'BOM_DISABLE_DESG_NOT_FOUND'
380: , p_Token_Tbl => l_Token_Tbl
381: );
382:
383: l_return_status := FND_API.G_RET_STS_ERROR;
384: END;
385:
386: END IF;
387:
398: --
399: IF acd.acd_type = 1 /* ADD */ AND
400: p_ref_designator_rec.acd_type <> 1
401: THEN
402: l_return_status := FND_API.G_RET_STS_ERROR;
403:
404:
405: l_token_tbl.delete; -- Added by MK on 11/14/00
406: l_Token_Tbl(1).Token_Name := 'REVISED_COMPONENT_NAME';
436:
437: -- If no exception is raised then
438: -- Generate an error saying that the component is non-standard.
439:
440: l_return_status := FND_API.G_RET_STS_ERROR;
441:
442: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
443: THEN
444: Error_Handler.Add_Error_Token
466: ' ' || to_char(SQLCODE)
467: , p_message_name => NULL
468: );
469:
470: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
471:
472: END; /* End Checking for non-standard component */
473:
474: BEGIN
488: );
489:
490: -- If a record is found, then log an error because of the above
491: -- mentioned comment.
492: l_return_status := FND_API.G_RET_STS_ERROR;
493:
494: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
495: THEN
496: Error_Handler.Add_Error_Token
517: ' ' || to_char(SQLCODE)
518: , p_message_name => NULL
519: );
520:
521: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
522: END; /* End Checking for Planning Parent */
523:
524:
525: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Verified Component not planning . . .'); END IF;
617: /* When the Designator name is updated with New_designator, It should be checked that the new_desinator
618: does not exists already */
619:
620: IF ( p_ref_designator_rec.new_reference_designator is not null
621: and p_ref_designator_rec.new_reference_designator <> FND_API.G_MISS_CHAR
622: and p_ref_designator_rec.transaction_type = Bom_Globals.G_OPR_UPDATE) THEN
623:
624: select count(*) into l_temp_var
625: FROM BOM_REFERENCE_DESIGNATORS
624: select count(*) into l_temp_var
625: FROM BOM_REFERENCE_DESIGNATORS
626: WHERE COMPONENT_REFERENCE_DESIGNATOR = p_ref_designator_rec.new_reference_designator
627: AND COMPONENT_SEQUENCE_ID = p_Ref_Desg_Unexp_Rec.component_sequence_id
628: AND NVL(DECODE(ACD_TYPE, FND_API.G_MISS_NUM, null, acd_type), 0) =
629: NVL(DECODE(p_ref_designator_rec.acd_type, FND_API.G_MISS_NUM, null, p_ref_designator_rec.acd_type), 0) ;
630:
631: IF (l_temp_var <>0) then
632:
625: FROM BOM_REFERENCE_DESIGNATORS
626: WHERE COMPONENT_REFERENCE_DESIGNATOR = p_ref_designator_rec.new_reference_designator
627: AND COMPONENT_SEQUENCE_ID = p_Ref_Desg_Unexp_Rec.component_sequence_id
628: AND NVL(DECODE(ACD_TYPE, FND_API.G_MISS_NUM, null, acd_type), 0) =
629: NVL(DECODE(p_ref_designator_rec.acd_type, FND_API.G_MISS_NUM, null, p_ref_designator_rec.acd_type), 0) ;
630:
631: IF (l_temp_var <>0) then
632:
633: l_Token_Tbl(1).Token_Name := 'REFERENCE_DESIGNATOR_NAME';
641: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
642: , p_message_name => 'BOM_REF_DESG_ALREADY_EXISTS'
643: , p_token_tbl => l_token_tbl
644: );
645: RAISE FND_API.G_EXC_ERROR;
646: END IF;
647: END IF;
648:
649: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Verified New_designator ...'); END IF;
649: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Verified New_designator ...'); END IF;
650:
651: EXCEPTION
652:
653: WHEN FND_API.G_EXC_ERROR THEN
654:
655: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Expected Error in Ref Desgs. Entity Validation '); END IF;
656:
657: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
654:
655: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Expected Error in Ref Desgs. Entity Validation '); END IF;
656:
657: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
658: x_return_status := FND_API.G_RET_STS_ERROR;
659:
660: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
661:
662: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('UNExpected Error in Ref. Desgs Entity Validation '); END IF;
656:
657: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
658: x_return_status := FND_API.G_RET_STS_ERROR;
659:
660: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
661:
662: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('UNExpected Error in Ref. Desgs Entity Validation '); END IF;
663: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
664: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
660: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
661:
662: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('UNExpected Error in Ref. Desgs Entity Validation '); END IF;
663: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
664: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
665:
666: WHEN OTHERS THEN
667: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
668: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
664: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
665:
666: WHEN OTHERS THEN
667: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
668: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
669:
670: END Check_Entity;
671:
672: /********************************************************************
689: l_token_tbl Error_Handler.Token_tbl_Type;
690: l_Mesg_token_Tbl Error_Handler.Mesg_Token_Tbl_Type;
691: BEGIN
692:
693: x_return_status := FND_API.G_RET_STS_SUCCESS;
694:
695: -- Validate ref_designator attributes
696:
697: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Attribute Validation Starts . . . '); END IF;
701: p_ref_designator_rec.acd_type NOT IN(1, 3)
702: ) OR
703: ( Bom_Globals.Get_Bo_Identifier = Bom_Globals.G_BOM_BO AND
704: p_ref_designator_rec.acd_type IS NOT NULL OR
705: p_ref_designator_rec.acd_type <> FND_API.G_MISS_NUM
706: )
707: )
708: THEN
709: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
718: , p_message_name => 'BOM_RFD_SBC_ACD_TYPE_INVALID'
719: , p_token_tbl => l_token_tbl
720: );
721: END IF;
722: x_return_status := FND_API.G_RET_STS_ERROR;
723: END IF;
724:
725: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('After ACD_TYPE . . .'); END IF;
726:
728: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
729:
730: EXCEPTION
731:
732: WHEN FND_API.G_EXC_ERROR THEN
733:
734: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Expected Error in Ref. Desgs Attr Validation . . .'); END IF;
735: x_Mesg_token_Tbl := l_Mesg_token_Tbl;
736: x_return_status := FND_API.G_RET_STS_ERROR;
732: WHEN FND_API.G_EXC_ERROR THEN
733:
734: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Expected Error in Ref. Desgs Attr Validation . . .'); END IF;
735: x_Mesg_token_Tbl := l_Mesg_token_Tbl;
736: x_return_status := FND_API.G_RET_STS_ERROR;
737:
738: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
739:
740: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('UNExpected Error in Ref. Desgs Attr Validation . . .'); END IF;
734: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Expected Error in Ref. Desgs Attr Validation . . .'); END IF;
735: x_Mesg_token_Tbl := l_Mesg_token_Tbl;
736: x_return_status := FND_API.G_RET_STS_ERROR;
737:
738: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
739:
740: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('UNExpected Error in Ref. Desgs Attr Validation . . .'); END IF;
741: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
742: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
738: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
739:
740: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('UNExpected Error in Ref. Desgs Attr Validation . . .'); END IF;
741: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
742: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
743:
744: WHEN OTHERS THEN
745: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
746: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
742: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
743:
744: WHEN OTHERS THEN
745: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
746: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
747:
748: END Check_Attributes;
749:
750: /********************************************************************
767: , p_ref_designator_rec IN Bom_Bo_Pub.Ref_Designator_Rec_Type
768: , p_Ref_Desg_Unexp_Rec IN Bom_Bo_Pub.Ref_Desg_Unexposed_Rec_Type
769: )
770: IS
771: l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
772: l_Mesg_Token_Tbl Error_Handler.Mesg_Token_Tbl_Type;
773: l_token_tbl Error_Handler.Token_Tbl_Type;
774:
775: BEGIN
872: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
873: , p_message_name => 'BOM_REF_DESG_ALREADY_EXISTS'
874: , p_token_tbl => l_token_tbl
875: );
876: l_return_status := FND_API.G_RET_STS_ERROR;
877: ELSIF l_return_status = Bom_Globals.G_RECORD_NOT_FOUND AND
878: p_ref_designator_rec.transaction_type IN
879: (Bom_Globals.G_OPR_UPDATE, Bom_Globals.G_OPR_DELETE)
880: THEN
883: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
884: , p_message_name => 'BOM_REF_DESG_DOESNOT_EXIST'
885: , p_token_tbl => l_token_tbl
886: );
887: l_return_status := FND_API.G_RET_STS_ERROR;
888: ELSIF l_Return_status = FND_API.G_RET_STS_UNEXP_ERROR
889: THEN
890: Error_Handler.Add_Error_Token
891: ( x_Mesg_token_tbl => l_Mesg_Token_Tbl
884: , p_message_name => 'BOM_REF_DESG_DOESNOT_EXIST'
885: , p_token_tbl => l_token_tbl
886: );
887: l_return_status := FND_API.G_RET_STS_ERROR;
888: ELSIF l_Return_status = FND_API.G_RET_STS_UNEXP_ERROR
889: THEN
890: Error_Handler.Add_Error_Token
891: ( x_Mesg_token_tbl => l_Mesg_Token_Tbl
892: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
909: x_old_ref_designator_rec.transaction_type :=
910: Bom_Globals.G_OPR_CREATE;
911: END IF;
912: END IF;
913: l_return_status := FND_API.G_RET_STS_SUCCESS;
914:
915: END IF;
916:
917: x_return_status := l_return_status;
936: AND operation_seq_num=p_ref_designator_rec.operation_sequence_number
937: AND effectivity_date = p_ref_designator_rec.start_effective_date
938: AND bill_sequence_id = p_ref_desg_unexp_rec.bill_sequence_id;
939: BEGIN
940: x_return_status := FND_API.G_RET_STS_SUCCESS;
941:
942: FOR Component IN c_GetComponent LOOP
943: IF Component.revised_item_sequence_id <>
944: p_ref_desg_unexp_rec.revised_item_sequence_id
961: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
962: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
963: , p_Token_Tbl => l_Token_Tbl
964: );
965: x_return_status := FND_API.G_RET_STS_ERROR;
966: END IF;
967: END LOOP;
968:
969: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
981: l_mesg_token_tbl Error_Handler.Mesg_Token_Tbl_Type;
982: l_dummy VARCHAR2(80);
983: l_token_tbl Error_Handler.Token_Tbl_Type;
984: BEGIN
985: l_return_status := FND_API.G_RET_STS_SUCCESS;
986:
987: /************************************************************************
988: *
989: * If the parent component is having an ACD_type of Disable then cannot
1012: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
1013: , p_message_name => 'BOM_RFD_COMP_ACD_TYPE_DISABLE'
1014: , p_Token_Tbl => l_Token_Tbl
1015: );
1016: l_return_status := FND_API.G_RET_STS_ERROR;
1017: WHEN OTHERS THEN
1018: --This means that an unexpected error has occured
1019: Error_Handler.Add_Error_Token
1020: ( x_Mesg_Token_tbl => l_Mesg_Token_tbl
1024: || SUBSTR(SQLERRM, 1, 240)
1025: || ' ' || to_char(SQLCODE)
1026: );
1027:
1028: l_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1029: END;
1030: x_return_status := l_return_status;
1031: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
1032: