21: --
22: -- 06-May-05 Abhishek Rudresh Common BOM Attrs update
23: ****************************************************************************/
24: G_PKG_NAME CONSTANT VARCHAR2(30) := 'BOM_Ref_Designator_Util';
25: G_CONTROL_REC BOM_BO_PUB.Control_Rec_Type;
26:
27: -- Procedure Clear_Dependent_Attr
28:
29: PROCEDURE Clear_Dependent_Attr
27: -- Procedure Clear_Dependent_Attr
28:
29: PROCEDURE Clear_Dependent_Attr
30: ( p_attr_id IN NUMBER := FND_API.G_MISS_NUM
31: , p_ref_designator_rec IN Bom_Bo_Pub.Ref_Designator_Rec_Type
32: , p_old_ref_designator_rec IN Bom_Bo_Pub.Ref_Designator_Rec_Type :=
33: Bom_Bo_Pub.G_MISS_REF_DESIGNATOR_REC
34: , x_ref_designator_rec IN OUT NOCOPY Bom_Bo_Pub.Ref_Designator_Rec_Type
35: )
28:
29: PROCEDURE Clear_Dependent_Attr
30: ( p_attr_id IN NUMBER := FND_API.G_MISS_NUM
31: , p_ref_designator_rec IN Bom_Bo_Pub.Ref_Designator_Rec_Type
32: , p_old_ref_designator_rec IN Bom_Bo_Pub.Ref_Designator_Rec_Type :=
33: Bom_Bo_Pub.G_MISS_REF_DESIGNATOR_REC
34: , x_ref_designator_rec IN OUT NOCOPY Bom_Bo_Pub.Ref_Designator_Rec_Type
35: )
36: IS
29: PROCEDURE Clear_Dependent_Attr
30: ( p_attr_id IN NUMBER := FND_API.G_MISS_NUM
31: , p_ref_designator_rec IN Bom_Bo_Pub.Ref_Designator_Rec_Type
32: , p_old_ref_designator_rec IN Bom_Bo_Pub.Ref_Designator_Rec_Type :=
33: Bom_Bo_Pub.G_MISS_REF_DESIGNATOR_REC
34: , x_ref_designator_rec IN OUT NOCOPY Bom_Bo_Pub.Ref_Designator_Rec_Type
35: )
36: IS
37: BEGIN
30: ( p_attr_id IN NUMBER := FND_API.G_MISS_NUM
31: , p_ref_designator_rec IN Bom_Bo_Pub.Ref_Designator_Rec_Type
32: , p_old_ref_designator_rec IN Bom_Bo_Pub.Ref_Designator_Rec_Type :=
33: Bom_Bo_Pub.G_MISS_REF_DESIGNATOR_REC
34: , x_ref_designator_rec IN OUT NOCOPY Bom_Bo_Pub.Ref_Designator_Rec_Type
35: )
36: IS
37: BEGIN
38: -- Load out record
43:
44: -- Procedure Apply_Attribute_Changes
45:
46: PROCEDURE Apply_Attribute_Changes
47: ( p_ref_designator_rec IN Bom_Bo_Pub.Ref_Designator_Rec_Type
48: , p_old_ref_designator_rec IN Bom_Bo_Pub.Ref_Designator_Rec_Type :=
49: Bom_Bo_Pub.G_MISS_REF_DESIGNATOR_REC
50: , x_ref_designator_rec IN OUT NOCOPY Bom_Bo_Pub.Ref_Designator_Rec_Type
51: )
44: -- Procedure Apply_Attribute_Changes
45:
46: PROCEDURE Apply_Attribute_Changes
47: ( p_ref_designator_rec IN Bom_Bo_Pub.Ref_Designator_Rec_Type
48: , p_old_ref_designator_rec IN Bom_Bo_Pub.Ref_Designator_Rec_Type :=
49: Bom_Bo_Pub.G_MISS_REF_DESIGNATOR_REC
50: , x_ref_designator_rec IN OUT NOCOPY Bom_Bo_Pub.Ref_Designator_Rec_Type
51: )
52: IS
45:
46: PROCEDURE Apply_Attribute_Changes
47: ( p_ref_designator_rec IN Bom_Bo_Pub.Ref_Designator_Rec_Type
48: , p_old_ref_designator_rec IN Bom_Bo_Pub.Ref_Designator_Rec_Type :=
49: Bom_Bo_Pub.G_MISS_REF_DESIGNATOR_REC
50: , x_ref_designator_rec IN OUT NOCOPY Bom_Bo_Pub.Ref_Designator_Rec_Type
51: )
52: IS
53: BEGIN
46: PROCEDURE Apply_Attribute_Changes
47: ( p_ref_designator_rec IN Bom_Bo_Pub.Ref_Designator_Rec_Type
48: , p_old_ref_designator_rec IN Bom_Bo_Pub.Ref_Designator_Rec_Type :=
49: Bom_Bo_Pub.G_MISS_REF_DESIGNATOR_REC
50: , x_ref_designator_rec IN OUT NOCOPY Bom_Bo_Pub.Ref_Designator_Rec_Type
51: )
52: IS
53: BEGIN
54: -- Load out record
59:
60: -- Function Convert_Miss_To_Null
61:
62: FUNCTION Convert_Miss_To_Null
63: ( p_ref_designator_rec IN Bom_Bo_Pub.Ref_Designator_Rec_Type
64: ) RETURN Bom_Bo_Pub.Ref_Designator_Rec_Type
65: IS
66: l_ref_designator_rec Bom_Bo_Pub.Ref_Designator_Rec_Type :=
67: p_ref_designator_rec;
60: -- Function Convert_Miss_To_Null
61:
62: FUNCTION Convert_Miss_To_Null
63: ( p_ref_designator_rec IN Bom_Bo_Pub.Ref_Designator_Rec_Type
64: ) RETURN Bom_Bo_Pub.Ref_Designator_Rec_Type
65: IS
66: l_ref_designator_rec Bom_Bo_Pub.Ref_Designator_Rec_Type :=
67: p_ref_designator_rec;
68: BEGIN
62: FUNCTION Convert_Miss_To_Null
63: ( p_ref_designator_rec IN Bom_Bo_Pub.Ref_Designator_Rec_Type
64: ) RETURN Bom_Bo_Pub.Ref_Designator_Rec_Type
65: IS
66: l_ref_designator_rec Bom_Bo_Pub.Ref_Designator_Rec_Type :=
67: p_ref_designator_rec;
68: BEGIN
69:
70: IF l_ref_designator_rec.Reference_Designator_Name = FND_API.G_MISS_CHAR THEN
152: *
153: ********************************************************************/
154:
155: PROCEDURE Update_Row
156: ( p_ref_designator_rec IN Bom_Bo_Pub.Ref_Designator_Rec_Type
157: , p_Ref_Desg_Unexp_Rec IN Bom_Bo_Pub.Ref_Desg_Unexposed_Rec_Type
158: , x_Mesg_Token_Tbl IN OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
159: , x_Return_Status IN OUT NOCOPY VARCHAR2
160: )
153: ********************************************************************/
154:
155: PROCEDURE Update_Row
156: ( p_ref_designator_rec IN Bom_Bo_Pub.Ref_Designator_Rec_Type
157: , p_Ref_Desg_Unexp_Rec IN Bom_Bo_Pub.Ref_Desg_Unexposed_Rec_Type
158: , x_Mesg_Token_Tbl IN OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
159: , x_Return_Status IN OUT NOCOPY VARCHAR2
160: )
161: IS
160: )
161: IS
162: l_return_status varchar2(80);
163: l_Mesg_Token_Tbl Error_Handler.Mesg_Token_Tbl_Type;
164: l_ref_designator_rec Bom_Bo_Pub.Ref_Designator_Rec_Type;
165: l_Token_Tbl Error_Handler.Token_Tbl_Type;
166: l_BO_Id VARCHAR2(3) := Bom_Globals.Get_Bo_Identifier;
167: BEGIN
168: --bug:3254815 Update request id, prog id, prog appl id and prog update date.
262: *
263: ********************************************************************/
264:
265: PROCEDURE Insert_Row
266: ( p_ref_designator_rec IN Bom_Bo_Pub.Ref_Designator_Rec_Type
267: , p_Ref_Desg_Unexp_Rec IN Bom_Bo_Pub.Ref_Desg_Unexposed_Rec_Type
268: , x_Mesg_Token_Tbl IN OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
269: , x_Return_Status IN OUT NOCOPY VARCHAR2
270: )
263: ********************************************************************/
264:
265: PROCEDURE Insert_Row
266: ( p_ref_designator_rec IN Bom_Bo_Pub.Ref_Designator_Rec_Type
267: , p_Ref_Desg_Unexp_Rec IN Bom_Bo_Pub.Ref_Desg_Unexposed_Rec_Type
268: , x_Mesg_Token_Tbl IN OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
269: , x_Return_Status IN OUT NOCOPY VARCHAR2
270: )
271: IS
451: PROCEDURE Query_Row
452: ( p_ref_designator IN VARCHAR2
453: , p_component_sequence_id IN NUMBER
454: , p_acd_type IN NUMBER
455: , x_Ref_Designator_Rec IN OUT NOCOPY Bom_Bo_Pub.Ref_Designator_Rec_Type
456: , x_Ref_Desg_Unexp_Rec IN OUT NOCOPY Bom_Bo_Pub.Ref_Desg_Unexposed_Rec_Type
457: , x_Return_Status IN OUT NOCOPY VARCHAR2
458: )
459: IS
452: ( p_ref_designator IN VARCHAR2
453: , p_component_sequence_id IN NUMBER
454: , p_acd_type IN NUMBER
455: , x_Ref_Designator_Rec IN OUT NOCOPY Bom_Bo_Pub.Ref_Designator_Rec_Type
456: , x_Ref_Desg_Unexp_Rec IN OUT NOCOPY Bom_Bo_Pub.Ref_Desg_Unexposed_Rec_Type
457: , x_Return_Status IN OUT NOCOPY VARCHAR2
458: )
459: IS
460: l_ref_designator_rec Bom_Bo_Pub.Ref_Designator_Rec_Type;
456: , x_Ref_Desg_Unexp_Rec IN OUT NOCOPY Bom_Bo_Pub.Ref_Desg_Unexposed_Rec_Type
457: , x_Return_Status IN OUT NOCOPY VARCHAR2
458: )
459: IS
460: l_ref_designator_rec Bom_Bo_Pub.Ref_Designator_Rec_Type;
461: l_Ref_Desg_Unexp_Rec Bom_Bo_Pub.Ref_Desg_Unexposed_Rec_Type;
462: l_err_text VARCHAR2(2000);
463: BEGIN
464:
457: , x_Return_Status IN OUT NOCOPY VARCHAR2
458: )
459: IS
460: l_ref_designator_rec Bom_Bo_Pub.Ref_Designator_Rec_Type;
461: l_Ref_Desg_Unexp_Rec Bom_Bo_Pub.Ref_Desg_Unexposed_Rec_Type;
462: l_err_text VARCHAR2(2000);
463: BEGIN
464:
465: SELECT COMPONENT_REFERENCE_DESIGNATOR
527:
528: END Query_Row;
529:
530: PROCEDURE Perform_Writes
531: ( p_ref_designator_rec IN Bom_Bo_Pub.Ref_Designator_rec_Type
532: , p_ref_desg_unexp_rec IN Bom_Bo_Pub.Ref_Desg_Unexposed_Rec_Type
533: , p_control_rec IN BOM_BO_PUB.Control_Rec_Type
534: := BOM_BO_PUB.G_DEFAULT_CONTROL_REC
535: , x_mesg_token_tbl IN OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
528: END Query_Row;
529:
530: PROCEDURE Perform_Writes
531: ( p_ref_designator_rec IN Bom_Bo_Pub.Ref_Designator_rec_Type
532: , p_ref_desg_unexp_rec IN Bom_Bo_Pub.Ref_Desg_Unexposed_Rec_Type
533: , p_control_rec IN BOM_BO_PUB.Control_Rec_Type
534: := BOM_BO_PUB.G_DEFAULT_CONTROL_REC
535: , x_mesg_token_tbl IN OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
536: , x_return_status IN OUT NOCOPY VARCHAR2
529:
530: PROCEDURE Perform_Writes
531: ( p_ref_designator_rec IN Bom_Bo_Pub.Ref_Designator_rec_Type
532: , p_ref_desg_unexp_rec IN Bom_Bo_Pub.Ref_Desg_Unexposed_Rec_Type
533: , p_control_rec IN BOM_BO_PUB.Control_Rec_Type
534: := BOM_BO_PUB.G_DEFAULT_CONTROL_REC
535: , x_mesg_token_tbl IN OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
536: , x_return_status IN OUT NOCOPY VARCHAR2
537: )
530: PROCEDURE Perform_Writes
531: ( p_ref_designator_rec IN Bom_Bo_Pub.Ref_Designator_rec_Type
532: , p_ref_desg_unexp_rec IN Bom_Bo_Pub.Ref_Desg_Unexposed_Rec_Type
533: , p_control_rec IN BOM_BO_PUB.Control_Rec_Type
534: := BOM_BO_PUB.G_DEFAULT_CONTROL_REC
535: , x_mesg_token_tbl IN OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
536: , x_return_status IN OUT NOCOPY VARCHAR2
537: )
538: IS
583: /*
584: ** Procedure definitions for BOM Business Object
585: */
586: FUNCTION Convert_Miss_To_Null
587: ( p_bom_ref_designator_rec IN Bom_Bo_Pub.Bom_Ref_Designator_Rec_Type
588: ) RETURN Bom_Bo_Pub.Bom_Ref_Designator_Rec_Type
589: IS
590: l_ref_designator_rec Bom_Bo_Pub.Ref_Designator_Rec_Type;
591: l_ref_desg_unexp_rec Bom_Bo_Pub.Ref_Desg_Unexposed_Rec_Type;
584: ** Procedure definitions for BOM Business Object
585: */
586: FUNCTION Convert_Miss_To_Null
587: ( p_bom_ref_designator_rec IN Bom_Bo_Pub.Bom_Ref_Designator_Rec_Type
588: ) RETURN Bom_Bo_Pub.Bom_Ref_Designator_Rec_Type
589: IS
590: l_ref_designator_rec Bom_Bo_Pub.Ref_Designator_Rec_Type;
591: l_ref_desg_unexp_rec Bom_Bo_Pub.Ref_Desg_Unexposed_Rec_Type;
592: l_bom_ref_designator_rec Bom_Bo_Pub.Bom_Ref_Designator_Rec_Type;
586: FUNCTION Convert_Miss_To_Null
587: ( p_bom_ref_designator_rec IN Bom_Bo_Pub.Bom_Ref_Designator_Rec_Type
588: ) RETURN Bom_Bo_Pub.Bom_Ref_Designator_Rec_Type
589: IS
590: l_ref_designator_rec Bom_Bo_Pub.Ref_Designator_Rec_Type;
591: l_ref_desg_unexp_rec Bom_Bo_Pub.Ref_Desg_Unexposed_Rec_Type;
592: l_bom_ref_designator_rec Bom_Bo_Pub.Bom_Ref_Designator_Rec_Type;
593: l_bom_ref_desg_unexp_rec Bom_Bo_Pub.Bom_Ref_Desg_Unexp_Rec_Type;
594: BEGIN
587: ( p_bom_ref_designator_rec IN Bom_Bo_Pub.Bom_Ref_Designator_Rec_Type
588: ) RETURN Bom_Bo_Pub.Bom_Ref_Designator_Rec_Type
589: IS
590: l_ref_designator_rec Bom_Bo_Pub.Ref_Designator_Rec_Type;
591: l_ref_desg_unexp_rec Bom_Bo_Pub.Ref_Desg_Unexposed_Rec_Type;
592: l_bom_ref_designator_rec Bom_Bo_Pub.Bom_Ref_Designator_Rec_Type;
593: l_bom_ref_desg_unexp_rec Bom_Bo_Pub.Bom_Ref_Desg_Unexp_Rec_Type;
594: BEGIN
595: --
588: ) RETURN Bom_Bo_Pub.Bom_Ref_Designator_Rec_Type
589: IS
590: l_ref_designator_rec Bom_Bo_Pub.Ref_Designator_Rec_Type;
591: l_ref_desg_unexp_rec Bom_Bo_Pub.Ref_Desg_Unexposed_Rec_Type;
592: l_bom_ref_designator_rec Bom_Bo_Pub.Bom_Ref_Designator_Rec_Type;
593: l_bom_ref_desg_unexp_rec Bom_Bo_Pub.Bom_Ref_Desg_Unexp_Rec_Type;
594: BEGIN
595: --
596: -- Convert the BOM Record to ECO
589: IS
590: l_ref_designator_rec Bom_Bo_Pub.Ref_Designator_Rec_Type;
591: l_ref_desg_unexp_rec Bom_Bo_Pub.Ref_Desg_Unexposed_Rec_Type;
592: l_bom_ref_designator_rec Bom_Bo_Pub.Bom_Ref_Designator_Rec_Type;
593: l_bom_ref_desg_unexp_rec Bom_Bo_Pub.Bom_Ref_Desg_Unexp_Rec_Type;
594: BEGIN
595: --
596: -- Convert the BOM Record to ECO
597: --
594: BEGIN
595: --
596: -- Convert the BOM Record to ECO
597: --
598: Bom_Bo_Pub.Convert_BomDesg_To_EcoDesg
599: ( p_bom_ref_designator_rec => p_bom_ref_designator_rec
600: , x_ref_designator_rec => l_ref_designator_rec
601: , x_ref_desg_unexp_rec => l_ref_desg_unexp_rec
602: );
609:
610: --
611: -- Convert ECO record back to BOM
612: --
613: Bom_Bo_Pub.Convert_EcoDesg_To_BomDesg
614: ( p_ref_designator_rec => l_ref_designator_rec
615: , x_bom_ref_designator_rec => l_bom_ref_designator_rec
616: , x_bom_ref_desg_unexp_rec => l_bom_ref_desg_unexp_rec
617: );
625: PROCEDURE Query_Row
626: ( p_bom_ref_designator IN VARCHAR2
627: , p_component_sequence_id IN NUMBER
628: , p_acd_type IN NUMBER
629: , x_bom_Ref_Designator_Rec IN OUT NOCOPY Bom_Bo_Pub.Bom_Ref_Designator_Rec_Type
630: , x_bom_Ref_Desg_Unexp_Rec IN OUT NOCOPY Bom_Bo_Pub.Bom_Ref_Desg_Unexp_Rec_Type
631: , x_Return_Status IN OUT NOCOPY VARCHAR2
632: )
633: IS
626: ( p_bom_ref_designator IN VARCHAR2
627: , p_component_sequence_id IN NUMBER
628: , p_acd_type IN NUMBER
629: , x_bom_Ref_Designator_Rec IN OUT NOCOPY Bom_Bo_Pub.Bom_Ref_Designator_Rec_Type
630: , x_bom_Ref_Desg_Unexp_Rec IN OUT NOCOPY Bom_Bo_Pub.Bom_Ref_Desg_Unexp_Rec_Type
631: , x_Return_Status IN OUT NOCOPY VARCHAR2
632: )
633: IS
634: l_ref_designator_rec Bom_Bo_Pub.Ref_Designator_Rec_Type;
630: , x_bom_Ref_Desg_Unexp_Rec IN OUT NOCOPY Bom_Bo_Pub.Bom_Ref_Desg_Unexp_Rec_Type
631: , x_Return_Status IN OUT NOCOPY VARCHAR2
632: )
633: IS
634: l_ref_designator_rec Bom_Bo_Pub.Ref_Designator_Rec_Type;
635: l_ref_desg_unexp_rec Bom_Bo_Pub.Ref_Desg_Unexposed_Rec_Type;
636: BEGIN
637:
638: Bom_Ref_Designator_Util.Query_Row
631: , x_Return_Status IN OUT NOCOPY VARCHAR2
632: )
633: IS
634: l_ref_designator_rec Bom_Bo_Pub.Ref_Designator_Rec_Type;
635: l_ref_desg_unexp_rec Bom_Bo_Pub.Ref_Desg_Unexposed_Rec_Type;
636: BEGIN
637:
638: Bom_Ref_Designator_Util.Query_Row
639: ( p_ref_designator => p_bom_ref_designator
645: );
646:
647: -- Convert the ECO record to BOm for return
648:
649: Bom_Bo_Pub.Convert_Ecodesg_To_BomDesg
650: ( p_ref_designator_rec => l_ref_designator_rec
651: , p_ref_desg_unexp_rec => l_ref_Desg_unexp_rec
652: , x_bom_ref_designator_rec => x_bom_ref_designator_rec
653: , x_bom_ref_desg_unexp_rec => x_bom_ref_desg_unexp_Rec
655:
656: END Query_Row;
657:
658: PROCEDURE Perform_Writes
659: ( p_bom_ref_designator_rec IN Bom_Bo_Pub.Bom_Ref_Designator_rec_Type
660: , p_bom_ref_desg_unexp_rec IN Bom_Bo_Pub.Bom_Ref_Desg_Unexp_Rec_Type
661: , x_mesg_token_tbl IN OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
662: , x_return_status IN OUT NOCOPY VARCHAR2
663: )
656: END Query_Row;
657:
658: PROCEDURE Perform_Writes
659: ( p_bom_ref_designator_rec IN Bom_Bo_Pub.Bom_Ref_Designator_rec_Type
660: , p_bom_ref_desg_unexp_rec IN Bom_Bo_Pub.Bom_Ref_Desg_Unexp_Rec_Type
661: , x_mesg_token_tbl IN OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
662: , x_return_status IN OUT NOCOPY VARCHAR2
663: )
664: IS
661: , x_mesg_token_tbl IN OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
662: , x_return_status IN OUT NOCOPY VARCHAR2
663: )
664: IS
665: l_ref_designator_rec Bom_Bo_Pub.Ref_Designator_Rec_Type;
666: l_ref_desg_unexp_rec Bom_Bo_Pub.Ref_Desg_Unexposed_Rec_Type;
667: BEGIN
668: --
669: -- Convert Bom Recor to ECO
662: , x_return_status IN OUT NOCOPY VARCHAR2
663: )
664: IS
665: l_ref_designator_rec Bom_Bo_Pub.Ref_Designator_Rec_Type;
666: l_ref_desg_unexp_rec Bom_Bo_Pub.Ref_Desg_Unexposed_Rec_Type;
667: BEGIN
668: --
669: -- Convert Bom Recor to ECO
670: --
667: BEGIN
668: --
669: -- Convert Bom Recor to ECO
670: --
671: Bom_Bo_Pub.Convert_BomDesg_To_EcoDesg
672: ( p_bom_ref_designator_rec => p_bom_ref_designator_rec
673: , p_bom_ref_desg_unexp_rec => p_bom_ref_desg_unexp_rec
674: , x_ref_designator_rec => l_ref_designator_rec
675: , x_ref_desg_unexp_rec => l_ref_desg_unexp_rec