DBA Data[Home] [Help]

PACKAGE BODY: APPS.ENG_RIT_CONTROLLER

Source


1 PACKAGE BODY ENG_RIT_Controller AS
2 /* $Header: ENGCRICB.pls 120.0 2006/02/12 23:39:49 asjohal noship $ */
3 
4 -- Procedure Create_Exp_Unexp_Rec
5 
6 PROCEDURE Create_Exp_Unexp_Rec
7 (   p_controller_RIT_rec        IN  ENG_RIT_Controller.Controller_Rit_Rec_Type
8 ,   x_RIT_tbl                   OUT NOCOPY ENG_ECO_PUB.Revised_Item_Tbl_Type
9 ,   x_unexp_RIT_rec             OUT NOCOPY ENG_ECO_PUB.Rev_Item_Unexposed_Rec_Type
10 )
11 IS
12 BEGIN
13         -- Create exposed record
14 
15         x_RIT_tbl(1).eco_name                      := p_controller_RIT_rec.eco_name;
16         x_RIT_tbl(1).organization_code             := p_controller_RIT_rec.organization_code;
17         x_RIT_tbl(1).revised_item_name             := p_controller_RIT_rec.revised_item_name;
18         x_RIT_tbl(1).new_revised_item_revision     := p_controller_RIT_rec.new_revised_item_revision;
19 
20         /* Item revision description enhancement Bug: 1667419*/
21         x_RIT_tbl(1).new_revised_item_rev_desc     := p_controller_RIT_rec.new_revised_item_rev_desc;
22 
23         x_RIT_tbl(1).updated_revised_item_revision := p_controller_RIT_rec.updated_revised_item_revision;
24         x_RIT_tbl(1).start_effective_date          := p_controller_RIT_rec.start_effective_date;
25         x_RIT_tbl(1).new_effective_date            := p_controller_RIT_rec.new_effective_date;
26         x_RIT_tbl(1).from_end_item_unit_number     := p_controller_RIT_rec.start_from_unit_number;
27         x_RIT_tbl(1).new_from_end_item_unit_number := p_controller_RIT_rec.new_from_end_item_unit_number;
28         x_RIT_tbl(1).alternate_bom_code            := p_controller_RIT_rec.alternate_bom_code;
29         x_RIT_tbl(1).status_type                   := p_controller_RIT_rec.status_type;
30         x_RIT_tbl(1).mrp_active                    := p_controller_RIT_rec.mrp_active;
31         x_RIT_tbl(1).earliest_effective_date       := p_controller_RIT_rec.earliest_effective_date;
32         x_RIT_tbl(1).use_up_item_name              := p_controller_RIT_rec.use_up_item_name;
33         x_RIT_tbl(1).use_up_plan_name              := p_controller_RIT_rec.use_up_plan_name;
34         x_RIT_tbl(1).Requestor                     := p_controller_RIT_rec.Requestor;
35         x_RIT_tbl(1).disposition_type              := p_controller_RIT_rec.disposition_type;
36         x_RIT_tbl(1).update_wip                    := p_controller_RIT_rec.update_wip;
37         x_RIT_tbl(1).cancel_comments               := p_controller_RIT_rec.cancel_comments;
38         x_RIT_tbl(1).change_description            := p_controller_RIT_rec.change_description;
39         x_RIT_tbl(1).attribute_category            := p_controller_RIT_rec.attribute_category;
40         x_RIT_tbl(1).attribute1                    := p_controller_RIT_rec.attribute1;
41         x_RIT_tbl(1).attribute2                    := p_controller_RIT_rec.attribute2;
42         x_RIT_tbl(1).attribute3                    := p_controller_RIT_rec.attribute3;
43         x_RIT_tbl(1).attribute4                    := p_controller_RIT_rec.attribute4;
44         x_RIT_tbl(1).attribute5                    := p_controller_RIT_rec.attribute5;
45         x_RIT_tbl(1).attribute6                    := p_controller_RIT_rec.attribute6;
46         x_RIT_tbl(1).attribute7                    := p_controller_RIT_rec.attribute7;
47         x_RIT_tbl(1).attribute8                    := p_controller_RIT_rec.attribute8;
48         x_RIT_tbl(1).attribute9                    := p_controller_RIT_rec.attribute9;
49         x_RIT_tbl(1).attribute10                   := p_controller_RIT_rec.attribute10;
50         x_RIT_tbl(1).attribute11                   := p_controller_RIT_rec.attribute11;
51         x_RIT_tbl(1).attribute12                   := p_controller_RIT_rec.attribute12;
52         x_RIT_tbl(1).attribute13                   := p_controller_RIT_rec.attribute13;
53         x_RIT_tbl(1).attribute14                   := p_controller_RIT_rec.attribute14;
54         x_RIT_tbl(1).attribute15                   := p_controller_RIT_rec.attribute15;
55         x_RIT_tbl(1).original_system_reference     := p_controller_RIT_rec.original_system_reference;
56         x_RIT_tbl(1).Return_Status                 := p_controller_RIT_rec.Return_Status;
57         x_RIT_tbl(1).Transaction_Type              := p_controller_RIT_rec.Transaction_Type;
58         x_RIT_tbl(1).From_Work_Order               := p_controller_RIT_rec.From_Work_Order;
59         x_RIT_tbl(1).To_Work_Order                 := p_controller_RIT_rec.To_Work_Order;
60         x_RIT_tbl(1).From_Cumulative_Quantity      := p_controller_RIT_rec.From_Cumulative_Quantity;
61         x_RIT_tbl(1).Lot_Number                    := p_controller_RIT_rec.Lot_Number;
62         x_RIT_tbl(1).Completion_Subinventory       := p_controller_RIT_rec.Completion_Subinventory;
63         x_RIT_tbl(1).Completion_Location_Name      := p_controller_RIT_rec.Completion_Location_Name;
64         x_RIT_tbl(1).Priority                      := p_controller_RIT_rec.Priority;
65         x_RIT_tbl(1).Ctp_Flag                      := p_controller_RIT_rec.CTP_Flag;
66         x_RIT_tbl(1).New_Routing_Revision          := p_controller_RIT_rec.New_Routing_Revision;
67         x_RIT_tbl(1).Updated_Routing_Revision      := p_controller_RIT_rec.Updated_Routing_Revision;
68         x_RIT_tbl(1).Routing_Comment               := p_controller_RIT_rec.Routing_Comment;
69         x_RIT_tbl(1).Eco_For_Production            := p_controller_RIT_rec.Eco_For_Production;
70         x_RIT_tbl(1).Reschedule_Comments           := p_controller_RIT_rec.Reschedule_Comments; -- Bug 3589974
71         -- Create unexposed record
72 
73         x_unexp_RIT_rec.organization_id          := p_controller_RIT_rec.organization_id;
74         x_unexp_RIT_rec.revised_item_id          := p_controller_RIT_rec.revised_item_id;
75         x_unexp_RIT_rec.implementation_date      := p_controller_RIT_rec.implementation_date;
76         x_unexp_RIT_rec.auto_implement_date      := p_controller_RIT_rec.auto_implement_date;
77         x_unexp_RIT_rec.cancellation_date        := p_controller_RIT_rec.cancellation_date;
78         x_unexp_RIT_rec.bill_sequence_id         := p_controller_RIT_rec.bill_sequence_id;
79         x_unexp_RIT_rec.use_up_item_id           := p_controller_RIT_rec.use_up_item_id;
80         x_unexp_RIT_rec.use_up                   := p_controller_RIT_rec.use_up;
81         x_unexp_RIT_rec.Requestor_id             := p_controller_RIT_rec.Requestor_id;
82         x_unexp_RIT_rec.revised_item_sequence_id := p_controller_RIT_rec.revised_item_sequence_id;
83         x_unexp_RIT_rec.routing_sequence_id      := p_controller_RIT_rec.routing_sequence_id;
84         x_unexp_RIT_rec.from_wip_entity_id       := p_controller_RIT_rec.from_wip_entity_id;
85         x_unexp_RIT_rec.to_wip_entity_id         := p_controller_RIT_rec.to_wip_entity_id;
86         x_unexp_RIT_rec.cfm_routing_flag         := p_controller_RIT_rec.cfm_routing_flag;
87         x_unexp_RIT_rec.completion_locator_id    := p_controller_RIT_rec.completion_locator_id;
88 
89 	-------
90         x_unexp_RIT_rec.change_id                := p_controller_RIT_rec.change_id;
91 
92 
93 
94 END Create_Exp_Unexp_Rec;
95 
96 PROCEDURE Create_Controller_Rec
97 (   p_RIT_tbl                   IN  ENG_ECO_PUB.Revised_Item_Tbl_Type
98 ,   p_unexp_RIT_rec             IN  ENG_ECO_PUB.Rev_Item_Unexposed_Rec_Type
99 ,   x_controller_RIT_rec        OUT NOCOPY ENG_RIT_Controller.Controller_Rit_Rec_Type
100 )
101 IS
102 BEGIN
103         -- Create exposed record
104 
105         x_controller_RIT_rec.eco_name                      := p_RIT_tbl(1).eco_name;
106         x_controller_RIT_rec.organization_code             := p_RIT_tbl(1).organization_code;
107         x_controller_RIT_rec.revised_item_name             := p_RIT_tbl(1).revised_item_name;
108         x_controller_RIT_rec.new_revised_item_revision     := NVL(p_RIT_tbl(1).updated_revised_item_revision,
109                                                                   p_RIT_tbl(1).new_revised_item_revision);
110         x_controller_RIT_rec.new_revised_item_rev_desc := p_RIT_tbl(1).new_revised_item_rev_desc ;
111         x_controller_RIT_rec.updated_revised_item_revision := p_RIT_tbl(1).updated_revised_item_revision ;
112         x_controller_RIT_rec.start_effective_date          := NVL(p_RIT_tbl(1).new_effective_date,
113                                                                   p_RIT_tbl(1).start_effective_date);
114         x_controller_RIT_rec.new_effective_date            := p_RIT_tbl(1).new_effective_date ;
115         x_controller_RIT_rec.start_from_unit_number     := NVL(p_RIT_tbl(1).new_from_end_item_unit_number,
116                                                                   p_RIT_tbl(1).from_end_item_unit_number);
117         x_controller_RIT_rec.new_from_end_item_unit_number            := p_RIT_tbl(1).new_from_end_item_unit_number ;
118         x_controller_RIT_rec.Original_System_Reference     := p_RIT_tbl(1).Original_System_Reference;
119         x_controller_RIT_rec.alternate_bom_code            := p_RIT_tbl(1).alternate_bom_code;
120         x_controller_RIT_rec.status_type                   := p_RIT_tbl(1).status_type;
121         x_controller_RIT_rec.mrp_active                    := p_RIT_tbl(1).mrp_active;
122         x_controller_RIT_rec.earliest_effective_date       := p_RIT_tbl(1).earliest_effective_date;
123         x_controller_RIT_rec.use_up_item_name              := p_RIT_tbl(1).use_up_item_name;
124         x_controller_RIT_rec.use_up_plan_name              := p_RIT_tbl(1).use_up_plan_name;
125         x_controller_RIT_rec.requestor                     := p_RIT_tbl(1).requestor;
126         x_controller_RIT_rec.disposition_type              := p_RIT_tbl(1).disposition_type;
127         x_controller_RIT_rec.update_wip                    := p_RIT_tbl(1).update_wip;
128         x_controller_RIT_rec.cancel_comments               := p_RIT_tbl(1).cancel_comments;
129         x_controller_RIT_rec.change_description            := p_RIT_tbl(1).change_description;
130         x_controller_RIT_rec.attribute_category            := p_RIT_tbl(1).attribute_category;
131         x_controller_RIT_rec.attribute1                    := p_RIT_tbl(1).attribute1;
132         x_controller_RIT_rec.attribute2                    := p_RIT_tbl(1).attribute2;
133         x_controller_RIT_rec.attribute3                    := p_RIT_tbl(1).attribute3;
134         x_controller_RIT_rec.attribute4                    := p_RIT_tbl(1).attribute4;
135         x_controller_RIT_rec.attribute5                    := p_RIT_tbl(1).attribute5;
136         x_controller_RIT_rec.attribute6                    := p_RIT_tbl(1).attribute6;
137         x_controller_RIT_rec.attribute7                    := p_RIT_tbl(1).attribute7;
138         x_controller_RIT_rec.attribute8                    := p_RIT_tbl(1).attribute8;
139         x_controller_RIT_rec.attribute9                    := p_RIT_tbl(1).attribute9;
140         x_controller_RIT_rec.attribute10                   := p_RIT_tbl(1).attribute10;
141         x_controller_RIT_rec.attribute11                   := p_RIT_tbl(1).attribute11;
142         x_controller_RIT_rec.attribute12                   := p_RIT_tbl(1).attribute12;
143         x_controller_RIT_rec.attribute13                   := p_RIT_tbl(1).attribute13;
144         x_controller_RIT_rec.attribute14                   := p_RIT_tbl(1).attribute14;
145         x_controller_RIT_rec.attribute15                   := p_RIT_tbl(1).attribute15;
146         x_controller_RIT_rec.Return_Status                 := p_RIT_tbl(1).Return_Status;
147         x_controller_RIT_rec.Transaction_Type              := p_RIT_tbl(1).Transaction_Type;
148         x_controller_RIT_rec.from_work_order               := p_RIT_tbl(1).from_work_order;
149         x_controller_RIT_rec.to_work_order                 := p_RIT_tbl(1).to_work_order;
150         x_controller_RIT_rec.from_cumulative_quantity      := p_RIT_tbl(1).from_cumulative_quantity;
151         x_controller_RIT_rec.lot_number                    := p_RIT_tbl(1).lot_number;
152         x_controller_RIT_rec.completion_subinventory       := p_RIT_tbl(1).completion_subinventory;
153         x_controller_RIT_rec.completion_location_name      := p_RIT_tbl(1).completion_location_name;
154         x_controller_RIT_rec.priority                      := p_RIT_tbl(1).priority;
155         x_controller_RIT_rec.ctp_flag                      := p_RIT_tbl(1).ctp_flag;
156         x_controller_RIT_rec.New_Routing_Revision          := NVL(p_RIT_tbl(1).updated_routing_revision,
157                                                                   p_RIT_tbl(1).new_routing_revision);
158         x_controller_RIT_rec.updated_routing_revision      := p_RIT_tbl(1).updated_routing_revision ;
159         x_controller_RIT_rec.routing_comment               := p_RIT_tbl(1).routing_comment;
160         x_controller_RIT_rec.eco_for_production            := p_RIT_tbl(1).eco_for_production;
161         x_controller_RIT_rec.organization_id               := p_unexp_RIT_rec.organization_id;
162         x_controller_RIT_rec.revised_item_id               := p_unexp_RIT_rec.revised_item_id;
163         x_controller_RIT_rec.implementation_date           := p_unexp_RIT_rec.implementation_date;
164         x_controller_RIT_rec.auto_implement_date           := p_unexp_RIT_rec.auto_implement_date;
165         x_controller_RIT_rec.cancellation_date             := p_unexp_RIT_rec.cancellation_date;
166         x_controller_RIT_rec.bill_sequence_id              := p_unexp_RIT_rec.bill_sequence_id;
167         x_controller_RIT_rec.use_up_item_id                := p_unexp_RIT_rec.use_up_item_id;
168         x_controller_RIT_rec.use_up                        := p_unexp_RIT_rec.use_up;
169         x_controller_RIT_rec.requestor_id                  := p_unexp_RIT_rec.requestor_id;
170         x_controller_RIT_rec.revised_item_sequence_id      := p_unexp_RIT_rec.revised_item_sequence_id;
171         x_controller_RIT_rec.routing_sequence_id           := p_unexp_RIT_Rec.routing_sequence_id;
172         x_controller_RIT_rec.from_wip_entity_id            := p_unexp_RIT_Rec.from_wip_entity_id;
173         x_controller_RIT_rec.to_wip_entity_id              := p_unexp_RIT_Rec.to_wip_entity_id;
174         x_controller_RIT_rec.cfm_routing_flag              := p_unexp_RIT_Rec.cfm_routing_flag;
175         x_controller_RIT_rec.completion_locator_id         := p_unexp_RIT_Rec.completion_locator_id;
176 	------
177         x_controller_RIT_rec.change_id         := p_unexp_RIT_Rec.change_id;
178 
179 END Create_Controller_Rec;
180 
181 -- Procedure Initialize_Record
182 
183 PROCEDURE Initialize_Record
184 (   p_RIT_controller_rec        IN  ENG_RIT_Controller.Controller_Rit_Rec_Type
185 ,   p_control_rec               IN  BOM_BO_PUB.Control_Rec_Type
186 ,   x_RIT_controller_rec        IN OUT NOCOPY ENG_RIT_Controller.Controller_Rit_Rec_Type
187 ,   x_Mesg_Token_Tbl            OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
188 ,   x_return_status             OUT NOCOPY VARCHAR2
189 )
190 IS
191 l_control_rec           BOM_BO_PUB.Control_Rec_Type := p_control_rec;
192 l_RIT_controller_rec    ENG_RIT_Controller.Controller_Rit_Rec_Type := p_rit_controller_rec;
193 l_ECO_rec               ENG_ECO_PUB.ECO_Rec_Type;
194 l_unexp_eco_rec         ENG_ECO_PUB.ECO_Unexposed_Rec_Type;
195 l_unexp_eco_rev_rec     ENG_ECO_PUB.Eco_Rev_Unexposed_Rec_Type;
196 l_unexp_RIT_rec         ENG_ECO_PUB.Rev_Item_Unexposed_Rec_Type;
197 l_unexp_rev_comp_rec    BOM_BO_PUB.Rev_Comp_Unexposed_Rec_Type;
198 l_unexp_SBC_rec         BOM_BO_PUB.Sub_Comp_Unexposed_Rec_Type;
199 l_unexp_RFD_rec         BOM_BO_PUB.Ref_Desg_Unexposed_Rec_Type;
200 l_unexp_rev_op_rec      BOM_RTG_PUB.Rev_Op_Unexposed_Rec_Type;
201 l_unexp_rev_op_res_rec  BOM_RTG_PUB.Rev_Op_Res_Unexposed_Rec_Type;
202 l_unexp_rev_sub_res_rec BOM_RTG_PUB.Rev_Sub_Res_Unexposed_Rec_Type;
203 l_eco_revision_tbl      ENG_Eco_PUB.Eco_Revision_Tbl_Type;
204 l_revised_item_tbl      ENG_Eco_PUB.Revised_Item_Tbl_Type;
205 l_rev_component_tbl     BOM_BO_PUB.Rev_Component_Tbl_Type;
206 l_ref_designator_tbl    BOM_BO_PUB.Ref_Designator_Tbl_Type;
207 l_sub_component_tbl     BOM_BO_PUB.Sub_Component_Tbl_Type;
208 l_rev_operation_tbl     BOM_RTG_PUB.Rev_Operation_Tbl_Type;
209 l_rev_op_resource_tbl   BOM_RTG_PUB.Rev_Op_Resource_Tbl_Type;
210 l_rev_sub_resource_tbl  BOM_RTG_PUB.Rev_Sub_Resource_Tbl_Type;
211 
212 l_mesg_token_tbl        Error_Handler.Mesg_Token_Tbl_Type;
213 l_return_status         VARCHAR2(1);
214 l_msg_count             NUMBER;
215 l_disable_revision      NUMBER; --Bug 3034642
216 BEGIN
217         Create_Exp_Unexp_Rec
218         ( p_controller_RIT_rec  => l_RIT_controller_rec
219         , x_RIT_tbl             => l_revised_item_tbl
220         , x_unexp_RIT_rec       => l_unexp_RIT_rec
221         );
222 
223         l_revised_item_tbl(1).transaction_type := 'CREATE';
224 
225         ENG_FORM_ECO_PVT.Process_ECO
226         ( x_return_status          => l_return_status
227         , x_msg_count              => l_msg_count
228         , p_control_rec            => l_control_rec
229         , p_revised_item_tbl       => l_revised_item_tbl
230         , p_unexp_rev_item_rec     => l_unexp_RIT_rec
231         , x_eco_rec                => l_eco_rec
232         , x_unexp_eco_rec          => l_unexp_eco_rec
233         , x_unexp_eco_rev_rec      => l_unexp_eco_rev_rec
234         , x_unexp_revised_item_rec => l_unexp_RIT_rec
235         , x_unexp_rev_comp_rec     => l_unexp_rev_comp_rec
236         , x_unexp_sub_comp_rec     => l_unexp_SBC_rec
237         , x_unexp_ref_desg_rec     => l_unexp_RFD_rec
238         , x_unexp_rev_op_rec       => l_unexp_rev_op_rec
239         , x_unexp_rev_op_res_rec   => l_unexp_rev_op_res_rec
240         , x_unexp_rev_sub_res_rec  => l_unexp_rev_sub_res_rec
241         , x_eco_revision_tbl       => l_eco_revision_tbl
242         , x_revised_item_tbl       => l_revised_item_tbl
243         , x_rev_Component_tbl      => l_rev_Component_tbl
244         , x_ref_designator_tbl     => l_ref_designator_tbl
245         , x_sub_component_tbl      => l_sub_component_tbl
246         , x_rev_operation_tbl      => l_rev_operation_tbl
247         , x_rev_op_resource_tbl    => l_rev_op_resource_tbl
248         , x_rev_sub_resource_tbl   => l_rev_sub_resource_tbl
249 	,   x_disable_revision     =>  l_disable_revision --Bug no:3034642
250         );
251 
252         Create_Controller_Rec
253         ( p_RIT_tbl             => l_revised_item_tbl
254         , p_unexp_RIT_rec       => l_unexp_RIT_rec
255         , x_controller_RIT_rec  => l_RIT_controller_rec
256         );
257 
258         x_RIT_controller_rec := l_RIT_controller_rec;
259         x_return_status := l_return_status;
260         --dbms_output.put_line('Status: ' ||
261         --                        to_char(l_revised_item_tbl(1).status_type));
262         --dbms_output.put_line('Early effective date: ' ||
263         --                        to_char(l_revised_item_tbl(1).earliest_effective_date));
264         --dbms_output.put_line('Update_WIP: ' ||
265         --                        to_char(l_revised_item_tbl(1).update_wip));
266         --dbms_output.put_line('MRP_Active: ' ||
267         --                        to_char(l_revised_item_tbl(1).mrp_active));
268         --dbms_output.put_line('Requestor Id: ' ||
269         --                        to_char(l_unexp_rit_rec.requestor_id));
270         --dbms_output.put_line('Implementation date: ' ||
271         --                        to_char(l_unexp_rit_rec.implementation_date));
272         --dbms_output.put_line('Cancellation date: ' ||
273         --                        to_char(l_unexp_rit_rec.cancellation_date));
274         --dbms_output.put_line('disposition_type:' ||
275         --                        to_char(l_revised_item_tbl(1).disposition_type));
276 END Initialize_Record;
277 
278 -- Procedure Validate_And_Write
279 
280 PROCEDURE Validate_And_Write
281 (   p_RIT_controller_rec        IN  ENG_RIT_Controller.Controller_Rit_Rec_Type
282 ,   p_control_rec               IN  BOM_BO_PUB.Control_Rec_Type
283 ,   p_record_status             IN  VARCHAR2
284 ,   x_RIT_controller_rec        IN OUT NOCOPY ENG_RIT_Controller.Controller_Rit_Rec_Type
285 ,   x_Mesg_Token_Tbl            OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
286 ,   x_return_status             OUT NOCOPY VARCHAR2
287 )
288 IS
289 l_control_rec           BOM_BO_PUB.Control_Rec_Type := p_control_rec;
290 l_RIT_controller_rec    ENG_RIT_Controller.Controller_Rit_Rec_Type := p_rit_controller_rec;
291 l_ECO_rec               ENG_ECO_PUB.ECO_Rec_Type;
292 l_unexp_eco_rec         ENG_ECO_PUB.ECO_Unexposed_Rec_Type;
293 l_unexp_eco_rev_rec     ENG_ECO_PUB.Eco_Rev_Unexposed_Rec_Type;
294 l_unexp_RIT_rec         ENG_ECO_PUB.Rev_Item_Unexposed_Rec_Type;
295 l_unexp_rev_comp_rec    BOM_BO_PUB.Rev_Comp_Unexposed_Rec_Type;
296 l_unexp_SBC_rec         BOM_BO_PUB.Sub_Comp_Unexposed_Rec_Type;
297 l_unexp_RFD_rec         BOM_BO_PUB.Ref_Desg_Unexposed_Rec_Type;
298 l_unexp_rev_op_rec      BOM_RTG_PUB.Rev_Op_Unexposed_Rec_Type;
299 l_unexp_rev_op_res_rec  BOM_RTG_PUB.Rev_Op_Res_Unexposed_Rec_Type;
300 l_unexp_rev_sub_res_rec BOM_RTG_PUB.Rev_Sub_Res_Unexposed_Rec_Type;
301 l_eco_revision_tbl      ENG_Eco_PUB.Eco_Revision_Tbl_Type;
302 l_revised_item_tbl      ENG_Eco_PUB.Revised_Item_Tbl_Type;
303 l_rev_component_tbl     BOM_BO_PUB.Rev_Component_Tbl_Type;
304 l_ref_designator_tbl    BOM_BO_PUB.Ref_Designator_Tbl_Type;
305 l_sub_component_tbl     BOM_BO_PUB.Sub_Component_Tbl_Type;
306 l_rev_operation_tbl     BOM_RTG_PUB.Rev_Operation_Tbl_Type;
307 l_rev_op_resource_tbl   BOM_RTG_PUB.Rev_Op_Resource_Tbl_Type;
308 l_rev_sub_resource_tbl  BOM_RTG_PUB.Rev_Sub_Resource_Tbl_Type;
309 
310 l_mesg_token_tbl        Error_Handler.Mesg_Token_Tbl_Type;
311 l_return_status         VARCHAR2(1);
312 l_msg_count             NUMBER;
313 l_disable_revision      NUMBER; --Bug 3034642
314 BEGIN
315         Create_Exp_Unexp_Rec
316         ( p_controller_RIT_rec  => l_RIT_controller_rec
317         , x_RIT_tbl             => l_revised_item_tbl
318         , x_unexp_RIT_rec       => l_unexp_RIT_rec
319         );
320 
321         IF p_record_status IN ('NEW', 'INSERT')
322         THEN
323                 l_revised_item_tbl(1).transaction_type := 'CREATE';
324         ELSIF p_record_status IN ('QUERY', 'CHANGED')
325         THEN
326                 l_revised_item_tbl(1).transaction_type := 'UPDATE';
327         ELSIF p_record_status = 'DELETE'
328         THEN
329                 l_revised_item_tbl(1).transaction_type := 'DELETE';
330         END IF;
331 
332         ENG_FORM_ECO_PVT.Process_ECO
333         ( x_return_status          => l_return_status
334         , x_msg_count              => l_msg_count
335         , p_control_rec            => l_control_rec
336         , p_revised_item_tbl       => l_revised_item_tbl
337         , p_unexp_rev_item_rec     => l_unexp_RIT_rec
338         , x_eco_rec                => l_eco_rec
339         , x_unexp_eco_rec          => l_unexp_eco_rec
340         , x_unexp_eco_rev_rec      => l_unexp_eco_rev_rec
341         , x_unexp_revised_item_rec => l_unexp_RIT_rec
342         , x_unexp_rev_comp_rec     => l_unexp_rev_comp_rec
343         , x_unexp_sub_comp_rec     => l_unexp_SBC_rec
344         , x_unexp_ref_desg_rec     => l_unexp_RFD_rec
345         , x_unexp_rev_op_rec       => l_unexp_rev_op_rec
346         , x_unexp_rev_op_res_rec   => l_unexp_rev_op_res_rec
347         , x_unexp_rev_sub_res_rec  => l_unexp_rev_sub_res_rec
348         , x_eco_revision_tbl       => l_eco_revision_tbl
349         , x_revised_item_tbl       => l_revised_item_tbl
350         , x_rev_Component_tbl      => l_rev_Component_tbl
351         , x_ref_designator_tbl     => l_ref_designator_tbl
352         , x_sub_component_tbl      => l_sub_component_tbl
353         , x_rev_operation_tbl      => l_rev_operation_tbl
354         , x_rev_op_resource_tbl    => l_rev_op_resource_tbl
355         , x_rev_sub_resource_tbl   => l_rev_sub_resource_tbl
356 	,   x_disable_revision     =>  l_disable_revision --Bug no:3034642
357         );
358 
359         Create_Controller_Rec
360         ( p_RIT_tbl             => l_revised_item_tbl
361         , p_unexp_RIT_rec       => l_unexp_RIT_rec
362         , x_controller_RIT_rec  => l_RIT_controller_rec
363         );
364 
365         x_RIT_controller_rec := l_RIT_controller_rec;
366         x_return_status := l_return_status;
367 
368 END Validate_And_Write;
369 
370 -- Procedure Delete_Row
371 
372 PROCEDURE Delete_Row
373 (   p_RIT_controller_rec        IN  ENG_RIT_Controller.Controller_Rit_Rec_Type
374 ,   p_control_rec               IN  BOM_BO_PUB.Control_Rec_Type
375 ,   x_Mesg_Token_Tbl            OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
376 ,   x_return_status             OUT NOCOPY VARCHAR2
377 )
378 IS
379 l_control_rec           BOM_BO_PUB.Control_Rec_Type := p_control_rec;
380 l_RIT_controller_rec    ENG_RIT_Controller.Controller_Rit_Rec_Type := p_rit_controller_rec;
381 l_ECO_rec               ENG_ECO_PUB.ECO_Rec_Type;
382 l_unexp_eco_rec         ENG_ECO_PUB.ECO_Unexposed_Rec_Type;
383 l_unexp_eco_rev_rec     ENG_ECO_PUB.Eco_Rev_Unexposed_Rec_Type;
384 l_unexp_RIT_rec         ENG_ECO_PUB.Rev_Item_Unexposed_Rec_Type;
385 l_unexp_rev_comp_rec    BOM_BO_PUB.Rev_Comp_Unexposed_Rec_Type;
386 l_unexp_SBC_rec         BOM_BO_PUB.Sub_Comp_Unexposed_Rec_Type;
387 l_unexp_RFD_rec         BOM_BO_PUB.Ref_Desg_Unexposed_Rec_Type;
388 l_unexp_rev_op_rec      BOM_RTG_PUB.Rev_Op_Unexposed_Rec_Type;
389 l_unexp_rev_op_res_rec  BOM_RTG_PUB.Rev_Op_Res_Unexposed_Rec_Type;
390 l_unexp_rev_sub_res_rec BOM_RTG_PUB.Rev_Sub_Res_Unexposed_Rec_Type;
391 l_eco_revision_tbl      ENG_Eco_PUB.Eco_Revision_Tbl_Type;
392 l_revised_item_tbl      ENG_Eco_PUB.Revised_Item_Tbl_Type;
393 l_rev_component_tbl     BOM_BO_PUB.Rev_Component_Tbl_Type;
394 l_ref_designator_tbl    BOM_BO_PUB.Ref_Designator_Tbl_Type;
395 l_sub_component_tbl     BOM_BO_PUB.Sub_Component_Tbl_Type;
396 l_rev_operation_tbl     BOM_RTG_PUB.Rev_Operation_Tbl_Type;
397 l_rev_op_resource_tbl   BOM_RTG_PUB.Rev_Op_Resource_Tbl_Type;
398 l_rev_sub_resource_tbl  BOM_RTG_PUB.Rev_Sub_Resource_Tbl_Type;
399 
400 l_mesg_token_tbl        Error_Handler.Mesg_Token_Tbl_Type;
401 l_return_status         VARCHAR2(1);
402 l_msg_count             NUMBER;
403 l_disable_revision      NUMBER; --Bug 3034642
404 BEGIN
405         Create_Exp_Unexp_Rec
406         ( p_controller_RIT_rec  => l_RIT_controller_rec
407         , x_RIT_tbl             => l_revised_item_tbl
408         , x_unexp_RIT_rec       => l_unexp_RIT_rec
409         );
410 
411         l_control_rec.process_entity := ENG_Globals.G_ENTITY_ECO;
412 
413         l_revised_item_tbl(1).transaction_type := 'DELETE';
414 
415 
416         ENG_FORM_ECO_PVT.Process_ECO
417         ( x_return_status          => l_return_status
418         , x_msg_count              => l_msg_count
419         , p_control_rec            => l_control_rec
420         , p_revised_item_tbl       => l_revised_item_tbl
421         , p_unexp_rev_item_rec     => l_unexp_RIT_rec
422         , x_eco_rec                => l_eco_rec
423         , x_unexp_eco_rec          => l_unexp_eco_rec
424         , x_unexp_eco_rev_rec      => l_unexp_eco_rev_rec
425         , x_unexp_revised_item_rec => l_unexp_RIT_rec
426         , x_unexp_rev_comp_rec     => l_unexp_rev_comp_rec
427         , x_unexp_sub_comp_rec     => l_unexp_SBC_rec
428         , x_unexp_ref_desg_rec     => l_unexp_RFD_rec
429         , x_unexp_rev_op_rec       => l_unexp_rev_op_rec
430         , x_unexp_rev_op_res_rec   => l_unexp_rev_op_res_rec
431         , x_unexp_rev_sub_res_rec  => l_unexp_rev_sub_res_rec
432         , x_eco_revision_tbl       => l_eco_revision_tbl
433         , x_revised_item_tbl       => l_revised_item_tbl
434         , x_rev_Component_tbl      => l_rev_Component_tbl
435         , x_ref_designator_tbl     => l_ref_designator_tbl
436         , x_sub_component_tbl      => l_sub_component_tbl
437         , x_rev_operation_tbl      => l_rev_operation_tbl
438         , x_rev_op_resource_tbl    => l_rev_op_resource_tbl
439         , x_rev_sub_resource_tbl   => l_rev_sub_resource_tbl
440 	,   x_disable_revision     =>  l_disable_revision --Bug no:3034642
441         );
442 
443         Create_Controller_Rec
444         ( p_RIT_tbl             => l_revised_item_tbl
445         , p_unexp_RIT_rec       => l_unexp_RIT_rec
446         , x_controller_RIT_rec  => l_RIT_controller_rec
447         );
448 
449         x_return_status := l_return_status;
450 END Delete_Row;
451 
452 --Procedure Change_Attibute
453 
454 PROCEDURE Change_Attribute
455 (   p_RIT_controller_rec        IN  ENG_RIT_Controller.Controller_Rit_Rec_Type
456 ,   p_control_rec               IN  BOM_BO_PUB.Control_Rec_Type
457 ,   p_record_status             IN  VARCHAR2
458 ,   x_RIT_controller_rec        IN OUT NOCOPY ENG_RIT_Controller.Controller_Rit_Rec_Type
459 ,   x_Mesg_Token_Tbl            OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
460 ,   x_return_status             OUT NOCOPY VARCHAR2
461 ,   x_disable_revision          OUT NOCOPY NUMBER --Bug no:3034642
462 )
463 IS
464 l_control_rec           BOM_BO_PUB.Control_Rec_Type := p_control_rec;
465 l_RIT_controller_rec    ENG_RIT_Controller.Controller_Rit_Rec_Type := p_rit_controller_rec;
466 l_ECO_rec               ENG_ECO_PUB.ECO_Rec_Type;
467 l_unexp_eco_rec         ENG_ECO_PUB.ECO_Unexposed_Rec_Type;
468 l_unexp_eco_rev_rec     ENG_ECO_PUB.Eco_Rev_Unexposed_Rec_Type;
469 l_unexp_RIT_rec         ENG_ECO_PUB.Rev_Item_Unexposed_Rec_Type;
470 l_unexp_rev_comp_rec    BOM_BO_PUB.Rev_Comp_Unexposed_Rec_Type;
471 l_unexp_SBC_rec         BOM_BO_PUB.Sub_Comp_Unexposed_Rec_Type;
472 l_unexp_RFD_rec         BOM_BO_PUB.Ref_Desg_Unexposed_Rec_Type;
473 l_unexp_rev_op_rec      BOM_RTG_PUB.Rev_Op_Unexposed_Rec_Type;
474 l_unexp_rev_op_res_rec  BOM_RTG_PUB.Rev_Op_Res_Unexposed_Rec_Type;
475 l_unexp_rev_sub_res_rec BOM_RTG_PUB.Rev_Sub_Res_Unexposed_Rec_Type;
476 l_eco_revision_tbl      ENG_Eco_PUB.Eco_Revision_Tbl_Type;
477 l_revised_item_tbl      ENG_Eco_PUB.Revised_Item_Tbl_Type;
478 l_rev_component_tbl     BOM_BO_PUB.Rev_Component_Tbl_Type;
479 l_ref_designator_tbl    BOM_BO_PUB.Ref_Designator_Tbl_Type;
480 l_sub_component_tbl     BOM_BO_PUB.Sub_Component_Tbl_Type;
481 l_rev_operation_tbl     BOM_RTG_PUB.Rev_Operation_Tbl_Type;
482 l_rev_op_resource_tbl   BOM_RTG_PUB.Rev_Op_Resource_Tbl_Type;
483 l_rev_sub_resource_tbl  BOM_RTG_PUB.Rev_Sub_Resource_Tbl_Type;
484 
485 
486 l_mesg_token_tbl        Error_Handler.Mesg_Token_Tbl_Type;
487 l_return_status         VARCHAR2(1);
488 l_msg_count             NUMBER;
489 l_other_message         VARCHAR2(50);
490 l_other_token_tbl       Error_Handler.Token_Tbl_Type;
491 BEGIN
492 
493 IF BOM_Globals.get_debug = 'Y' THEN
494      error_handler.write_debug('at the beginnig of change attribute');
495 END IF;
496         Create_Exp_Unexp_Rec
497         ( p_controller_RIT_rec  => l_RIT_controller_rec
498         , x_RIT_tbl             => l_revised_item_tbl
499         , x_unexp_RIT_rec       => l_unexp_RIT_rec
500         );
501 
502         --dbms_output.put_line('Revised item id: ' ||
503         --                        to_char(l_unexp_rit_rec.revised_item_id));
504         --dbms_output.put_line('Organization id: ' ||
505         --                        to_char(l_unexp_rit_rec.organization_id));
506         -- dbms_output.put_line('Start Effective Date: ' ||
507         --                        to_char(l_revised_item_tbl(1).start_effective_date));
508         --dbms_output.put_line('New item revision: ' ||
509         --                        l_revised_item_tbl(1).new_revised_item_revision);
510         --dbms_output.put_line('ECO name: ' ||
511          --                       l_revised_item_tbl(1).eco_name);
512 
513         IF p_record_status IN ('NEW', 'INSERT')
514         THEN
515                 l_revised_item_tbl(1).transaction_type := 'CREATE';
516         ELSIF p_record_status IN ('QUERY', 'CHANGED')
517         THEN
518                 l_revised_item_tbl(1).transaction_type := 'UPDATE';
519         ELSIF p_record_status = 'DELETE'
520         THEN
521                 l_revised_item_tbl(1).transaction_type := 'DELETE';
522         END IF;
523 
524         ENG_FORM_ECO_PVT.Process_ECO
525         ( x_return_status          => l_return_status
526         , x_msg_count              => l_msg_count
527         , p_control_rec            => l_control_rec
528         , p_revised_item_tbl       => l_revised_item_tbl
529         , p_unexp_rev_item_rec     => l_unexp_RIT_rec
530         , x_eco_rec                => l_eco_rec
531         , x_unexp_eco_rec          => l_unexp_eco_rec
532         , x_unexp_eco_rev_rec      => l_unexp_eco_rev_rec
533         , x_unexp_revised_item_rec => l_unexp_RIT_rec
534         , x_unexp_rev_comp_rec     => l_unexp_rev_comp_rec
535         , x_unexp_sub_comp_rec     => l_unexp_SBC_rec
536         , x_unexp_ref_desg_rec     => l_unexp_RFD_rec
537         , x_unexp_rev_op_rec       => l_unexp_rev_op_rec
538         , x_unexp_rev_op_res_rec   => l_unexp_rev_op_res_rec
539         , x_unexp_rev_sub_res_rec  => l_unexp_rev_sub_res_rec
540         , x_eco_revision_tbl       => l_eco_revision_tbl
541         , x_revised_item_tbl       => l_revised_item_tbl
542         , x_rev_Component_tbl      => l_rev_Component_tbl
543         , x_ref_designator_tbl     => l_ref_designator_tbl
544         , x_sub_component_tbl      => l_sub_component_tbl
545         , x_rev_operation_tbl      => l_rev_operation_tbl
546         , x_rev_op_resource_tbl    => l_rev_op_resource_tbl
547         , x_rev_sub_resource_tbl   => l_rev_sub_resource_tbl
548 	,   x_disable_revision     =>  x_disable_revision --Bug no:3034642
549         );
550 
551         Create_Controller_Rec
552         ( p_RIT_tbl             => l_revised_item_tbl
553         , p_unexp_RIT_rec       => l_unexp_RIT_rec
554         , x_controller_RIT_rec  => l_RIT_controller_rec
555         );
556 
557         x_RIT_controller_rec := l_RIT_controller_rec;
558         x_return_status := l_return_status;
559    EXCEPTION
560       WHEN OTHERS THEN
561         Eco_Error_Handler.Log_Error
562                 (  p_ECO_rec              => l_ECO_rec
563                 ,  p_eco_revision_tbl     => l_eco_revision_tbl
564                 ,  p_revised_item_tbl     => l_revised_item_tbl
565                 ,  p_rev_component_tbl    => l_rev_component_tbl
566                 ,  p_ref_designator_tbl   => l_ref_designator_tbl
567                 ,  p_sub_component_tbl    => l_sub_component_tbl
568                 ,  p_rev_operation_tbl    => l_rev_operation_tbl       --add
569                 ,  p_rev_op_resource_tbl  => l_rev_op_resource_tbl     --add
570                 ,  p_rev_sub_resource_tbl => l_rev_sub_resource_tbl    --add
571                 ,  p_mesg_token_tbl       => l_mesg_token_tbl
572                 ,  p_error_status         => FND_API.G_RET_STS_UNEXP_ERROR
573                 ,  p_other_status         => Error_Handler.G_STATUS_NOT_PICKED
574                 ,  p_other_message        => l_other_message
575                 ,  p_other_token_tbl      => l_other_token_tbl
576                 ,  p_error_level          => 1
577                 ,  x_ECO_rec              => l_ECO_rec
578                 ,  x_eco_revision_tbl     => l_eco_revision_tbl
579                 ,  x_revised_item_tbl     => l_revised_item_tbl
580                 ,  x_rev_component_tbl    => l_rev_component_tbl
581                 ,  x_ref_designator_tbl   => l_ref_designator_tbl
582                 ,  x_sub_component_tbl    => l_sub_component_tbl
583                 ,  x_rev_operation_tbl    => l_rev_operation_tbl       --add
584                 ,  x_rev_op_resource_tbl  => l_rev_op_resource_tbl     --add
585                 ,  x_rev_sub_resource_tbl => l_rev_sub_resource_tbl    --add
586                 );
587 
588        x_return_status := 1;
589 END Change_Attribute;
590 
591 /*PROCEDURE Lock_Row
592 (   x_return_status                 OUT NOCOPY VARCHAR2
593 ,   x_err_text                      OUT NOCOPY VARCHAR2
594 ,   p_RIT_tbl(1)                    IN  ENG_Eco_PUB.Rit_Rec_Type
595 ,   x_RIT_tbl(1)                    OUT NOCOPY ENG_Eco_PUB.Rit_Rec_Type
596 );
597 */
598 
599 END ENG_RIT_Controller;