DBA Data[Home] [Help]

PACKAGE BODY: APPS.ENG_OPS_CONTROLLER

Source


1 PACKAGE BODY ENG_OPS_Controller AS
2 /* $Header: ENGCOPSB.pls 115.6 2003/07/08 12:09:24 akumar ship $ */
3 
4 -- Procedure Create_Exp_Unexp_Rec
5 
6 PROCEDURE Create_Exp_Unexp_Rec
7 (   p_controller_OPS_rec        IN  Controller_OPS_Rec_Type
8 ,   x_OPS_tbl                   OUT NOCOPY BOM_RTG_PUB.Rev_operation_Tbl_Type
9 ,   x_unexp_OPS_rec             OUT NOCOPY BOM_RTG_PUB.Rev_Op_Unexposed_Rec_Type
10 )
11 IS
12 BEGIN
13         -- Create exposed record
14 
15         x_OPS_tbl(1).eco_name           	:= p_controller_OPS_rec.eco_name;
16         x_OPS_tbl(1).organization_code  	:= p_controller_OPS_rec.organization_code;
17         x_OPS_tbl(1).revised_item_name  	:= p_controller_OPS_rec.revised_item_name;
18         x_OPS_tbl(1).new_revised_item_revision  := p_controller_OPS_rec.new_revised_item_revision;
19         x_OPS_tbl(1).ACD_Type       := p_controller_OPS_rec.ACD_Type;
20         x_OPS_tbl(1).Alternate_Routing_Code     := p_controller_OPS_rec.Alternate_Routing_Code;
21         x_OPS_tbl(1).operation_sequence_number  := p_controller_OPS_rec.operation_sequence_number;
22         x_OPS_tbl(1).Operation_Type := p_controller_OPS_rec.Operation_Type;
23         x_OPS_tbl(1).Start_Effective_Date       := p_controller_OPS_rec.Start_Effective_Date;
24         x_OPS_tbl(1).new_operation_sequence_number := p_controller_OPS_rec.new_operation_sequence_number;
25         x_OPS_tbl(1).Old_Operation_Sequence_Number := p_controller_OPS_rec.Old_Operation_Sequence_Number;
26         x_OPS_tbl(1).Old_Start_Effective_Date   := p_controller_OPS_rec.Old_Start_Effective_Date;
27         x_OPS_tbl(1).Standard_Operation_Code    := p_controller_OPS_rec.Standard_Operation_Code;
28         x_OPS_tbl(1).Department_Code            := p_controller_OPS_rec.Department_Code;
29         x_OPS_tbl(1).Op_Lead_Time_Percent       := p_controller_OPS_rec.Op_Lead_Time_Percent;
30         x_OPS_tbl(1).Minimum_Transfer_Quantity  := p_controller_OPS_rec.Minimum_Transfer_Quantity;
31         x_OPS_tbl(1).Count_Point_Type           := p_controller_OPS_rec.Count_Point_Type;
32         x_OPS_tbl(1).Operation_Description      := p_controller_OPS_rec.Operation_Description;
33         x_OPS_tbl(1).Disable_Date               := p_controller_OPS_rec.Disable_Date ;
34         x_OPS_tbl(1).Backflush_Flag             := p_controller_OPS_rec.Backflush_Flag;
35         x_OPS_tbl(1).Option_Dependent_Flag      := p_controller_OPS_rec.Option_Dependent_Flag;
36         x_OPS_tbl(1).Reference_Flag             := p_controller_OPS_rec.Reference_Flag;
37         x_OPS_tbl(1).Yield                      := p_controller_OPS_rec.Yield  ;
38         x_OPS_tbl(1).Cumulative_Yield           := p_controller_OPS_rec.Cumulative_Yield;
39         x_OPS_tbl(1).Cancel_Comments            := p_controller_OPS_rec.Cancel_Comments ;
40         x_OPS_tbl(1).Attribute_category         := p_controller_OPS_rec.Attribute_category;
41         x_OPS_tbl(1).Attribute1                 := p_controller_OPS_rec.Attribute1;
42         x_OPS_tbl(1).Attribute2                 := p_controller_OPS_rec.Attribute2;
43         x_OPS_tbl(1).Attribute3                 := p_controller_OPS_rec.Attribute3;
44         x_OPS_tbl(1).Attribute4                 := p_controller_OPS_rec.Attribute4;
45         x_OPS_tbl(1).Attribute5                 := p_controller_OPS_rec.Attribute5;
46         x_OPS_tbl(1).Attribute6                 := p_controller_OPS_rec.Attribute6;
47         x_OPS_tbl(1).Attribute7                 := p_controller_OPS_rec.Attribute7;
48         x_OPS_tbl(1).Attribute8                 := p_controller_OPS_rec.Attribute8;
49         x_OPS_tbl(1).Attribute9                 := p_controller_OPS_rec.Attribute9;
50         x_OPS_tbl(1).Attribute10                := p_controller_OPS_rec.Attribute10;
51         x_OPS_tbl(1).Attribute11                := p_controller_OPS_rec.Attribute11;
52         x_OPS_tbl(1).Attribute12                := p_controller_OPS_rec.Attribute12;
53         x_OPS_tbl(1).Attribute13                := p_controller_OPS_rec.Attribute13;
54         x_OPS_tbl(1).Attribute14                := p_controller_OPS_rec.Attribute14;
55         x_OPS_tbl(1).Attribute15                := p_controller_OPS_rec.Attribute15;
56         x_OPS_tbl(1).Original_System_Reference  := p_controller_OPS_rec.Original_System_Reference;
57         x_OPS_tbl(1).Transaction_Type           := p_controller_OPS_rec.Transaction_Type;
58         x_OPS_tbl(1).Return_Status              := p_controller_OPS_rec.Return_Status;
59 
60         -- Create unexposed record
61 
62         x_unexp_OPS_rec.Revised_Item_Sequence_Id  := p_controller_OPS_rec.Revised_Item_Sequence_Id;
63         x_unexp_OPS_rec.Operation_Sequence_Id     := p_controller_OPS_rec.Operation_Sequence_Id;
64         x_unexp_OPS_rec.Old_Operation_Sequence_Id := p_controller_OPS_rec.Old_Operation_Sequence_Id;
65         x_unexp_OPS_rec.Routing_Sequence_Id       := p_controller_OPS_rec.Routing_Sequence_Id;
66         x_unexp_OPS_rec.Revised_Item_Id           := p_controller_OPS_rec.Revised_Item_Id;
67         x_unexp_OPS_rec.Organization_Id           := p_controller_OPS_rec.Organization_Id;
68         x_unexp_OPS_rec.Standard_Operation_Id     := p_controller_OPS_rec.Standard_Operation_Id;
69         x_unexp_OPS_rec.Department_Id             := p_controller_OPS_rec.Department_Id;
70 
71 END Create_Exp_Unexp_Rec;
72 
73 
74 
75 PROCEDURE Create_Controller_Rec
76 (   p_OPS_tbl                   IN  BOM_RTG_PUB.Rev_operation_Tbl_Type
77 ,   p_unexp_OPS_rec             IN  BOM_RTG_PUB.Rev_Op_Unexposed_Rec_Type
78 ,   x_controller_OPS_rec        OUT NOCOPY Controller_OPS_Rec_Type
79 )
80 IS
81 BEGIN
82 
83         -- Create exposed record
84 
85         x_controller_OPS_rec.eco_name                   := p_OPS_tbl(1).eco_name;
86         x_controller_OPS_rec.organization_code          := p_OPS_tbl(1).organization_code;
87         x_controller_OPS_rec.revised_item_name          := p_OPS_tbl(1).revised_item_name;
88         x_controller_OPS_rec.new_revised_item_revision  := p_OPS_tbl(1).new_revised_item_revision;
89         x_controller_OPS_rec.ACD_Type                   := p_OPS_tbl(1).ACD_Type;
90         x_controller_OPS_rec.Alternate_Routing_Code     := p_OPS_tbl(1).Alternate_Routing_Code;
91         x_controller_OPS_rec.operation_sequence_number  := p_OPS_tbl(1).operation_sequence_number;
92         x_controller_OPS_rec.Operation_Type             := p_OPS_tbl(1).Operation_Type;
93         x_controller_OPS_rec.Start_Effective_Date       := p_OPS_tbl(1).Start_Effective_Date;
94         x_controller_OPS_rec.new_operation_sequence_number := p_OPS_tbl(1).new_operation_sequence_number;
95         x_controller_OPS_rec.Old_Operation_Sequence_Number := p_OPS_tbl(1).Old_Operation_Sequence_Number;
96         x_controller_OPS_rec.Old_Start_Effective_Date   := p_OPS_tbl(1).Old_Start_Effective_Date;
97         x_controller_OPS_rec.Standard_Operation_Code    := p_OPS_tbl(1).Standard_Operation_Code;
98         x_controller_OPS_rec.Department_Code            := p_OPS_tbl(1).Department_Code;
99         x_controller_OPS_rec.Op_Lead_Time_Percent       := p_OPS_tbl(1).Op_Lead_Time_Percent;
100         x_controller_OPS_rec.Minimum_Transfer_Quantity  := p_OPS_tbl(1).Minimum_Transfer_Quantity;
101         x_controller_OPS_rec.Count_Point_Type           := p_OPS_tbl(1).Count_Point_Type;
102         x_controller_OPS_rec.Operation_Description      := p_OPS_tbl(1).Operation_Description;
103         x_controller_OPS_rec.Disable_Date               := p_OPS_tbl(1).Disable_Date;
104         x_controller_OPS_rec.Backflush_Flag             := p_OPS_tbl(1).Backflush_Flag;
105         x_controller_OPS_rec.Option_Dependent_Flag      := p_OPS_tbl(1).Option_Dependent_Flag;
106         x_controller_OPS_rec.Reference_Flag             := p_OPS_tbl(1).Reference_Flag ;
107         x_controller_OPS_rec.Yield                      := p_OPS_tbl(1).Yield ;
108         x_controller_OPS_rec.Cumulative_Yield           := p_OPS_tbl(1).Cumulative_Yield ;
109         x_controller_OPS_rec.Cancel_Comments            := p_OPS_tbl(1).Cancel_Comments ;
110         x_controller_OPS_rec.Attribute_category         := p_OPS_tbl(1).Attribute_category ;
111         x_controller_OPS_rec.Attribute1                 := p_OPS_tbl(1).Attribute1;
112         x_controller_OPS_rec.Attribute2                 := p_OPS_tbl(1).Attribute2;
113         x_controller_OPS_rec.Attribute3                 := p_OPS_tbl(1).Attribute3;
114         x_controller_OPS_rec.Attribute4                 := p_OPS_tbl(1).Attribute4;
115         x_controller_OPS_rec.Attribute5                 := p_OPS_tbl(1).Attribute5;
116         x_controller_OPS_rec.Attribute6                 := p_OPS_tbl(1).Attribute6;
117         x_controller_OPS_rec.Attribute7                 := p_OPS_tbl(1).Attribute7;
118         x_controller_OPS_rec.Attribute8                 := p_OPS_tbl(1).Attribute8;
119         x_controller_OPS_rec.Attribute9                 := p_OPS_tbl(1).Attribute9;
120         x_controller_OPS_rec.Attribute10                := p_OPS_tbl(1).Attribute10;
121         x_controller_OPS_rec.Attribute11                := p_OPS_tbl(1).Attribute11;
122         x_controller_OPS_rec.Attribute12                := p_OPS_tbl(1).Attribute12;
123         x_controller_OPS_rec.Attribute13                := p_OPS_tbl(1).Attribute13;
124         x_controller_OPS_rec.Attribute14                := p_OPS_tbl(1).Attribute14;
125         x_controller_OPS_rec.Attribute15                := p_OPS_tbl(1).Attribute15;
126         x_controller_OPS_rec.Original_System_Reference  := p_OPS_tbl(1).Original_System_Reference;
127         x_controller_OPS_rec.Transaction_Type           := p_OPS_tbl(1).Transaction_Type;
128         x_controller_OPS_rec.Return_Status              := p_OPS_tbl(1).Return_Status;
129         x_controller_OPS_rec.Revised_Item_Sequence_Id   := p_unexp_OPS_rec.Revised_Item_Sequence_Id;
130         x_controller_OPS_rec.Operation_Sequence_Id      := p_unexp_OPS_rec.Operation_Sequence_Id;
131         x_controller_OPS_rec.Old_Operation_Sequence_Id  := p_unexp_OPS_rec.Old_Operation_Sequence_Id;
132         x_controller_OPS_rec.Routing_Sequence_Id        := p_unexp_OPS_rec.Routing_Sequence_Id;
133         x_controller_OPS_rec.Revised_Item_Id            := p_unexp_OPS_rec.Revised_Item_Id;
134         x_controller_OPS_rec.Organization_Id            := p_unexp_OPS_rec.Organization_Id;
135         x_controller_OPS_rec.Standard_Operation_Id      := p_unexp_OPS_rec.Standard_Operation_Id;
136         x_controller_OPS_rec.Department_Id              := p_unexp_OPS_rec.Department_Id;
137 END Create_Controller_Rec;
138 
139 -- Procedure Initialize_Record
140 
141 PROCEDURE Initialize_Record
142 (   p_OPS_controller_rec        IN  Controller_OPS_Rec_Type
143 ,   p_control_rec               IN  BOM_BO_PUB.Control_Rec_Type
144 ,   x_OPS_controller_rec        IN OUT NOCOPY Controller_OPS_Rec_Type
145 ,   x_Mesg_Token_Tbl            OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
146 ,   x_return_status             OUT NOCOPY VARCHAR2
147 )
148 IS
149 l_control_rec           BOM_BO_PUB.Control_Rec_Type            := p_control_rec;
150 l_OPS_controller_rec    ENG_OPS_Controller.Controller_Ops_Rec_Type := p_ops_controller_rec;
151 l_ECO_rec               ENG_ECO_PUB.ECO_Rec_Type;
152 l_unexp_eco_rec         ENG_ECO_PUB.ECO_Unexposed_Rec_Type;
153 l_unexp_eco_rev_rec     ENG_ECO_PUB.Eco_Rev_Unexposed_Rec_Type;
154 l_unexp_rev_item_rec    ENG_ECO_PUB.Rev_Item_Unexposed_Rec_Type;
155 l_unexp_rev_comp_rec    BOM_BO_PUB.Rev_Comp_Unexposed_Rec_Type;
156 l_unexp_SBC_rec         BOM_BO_PUB.Sub_Comp_Unexposed_Rec_Type;
157 l_unexp_RFD_rec         BOM_BO_PUB.Ref_Desg_Unexposed_Rec_Type;
158 l_unexp_OPS_rec	        BOM_RTG_PUB.Rev_Op_Unexposed_Rec_Type;
159 l_unexp_rev_op_res_rec	BOM_RTG_PUB.Rev_Op_Res_Unexposed_Rec_Type;
160 l_unexp_rev_sub_res_rec	BOM_RTG_PUB.Rev_Sub_Res_Unexposed_Rec_Type;
161 l_eco_revision_tbl      ENG_Eco_PUB.Eco_Revision_Tbl_Type;
162 l_revised_item_tbl      ENG_Eco_PUB.Revised_Item_Tbl_Type;
163 l_rev_component_tbl     BOM_BO_PUB.Rev_Component_Tbl_Type;
164 l_ref_designator_tbl    BOM_BO_PUB.Ref_Designator_Tbl_Type;
165 l_sub_component_tbl     BOM_BO_PUB.Sub_Component_Tbl_Type;
166 l_rev_operation_tbl     BOM_RTG_PUB.Rev_Operation_Tbl_Type;
167 l_rev_op_resource_tbl   BOM_RTG_PUB.Rev_Op_Resource_Tbl_Type;
168 l_rev_sub_resource_tbl  BOM_RTG_PUB.Rev_Sub_Resource_Tbl_Type;
169 
170 
171 l_mesg_token_tbl        Error_Handler.Mesg_Token_Tbl_Type;
172 l_return_status         VARCHAR2(1);
173 l_msg_count             NUMBER;
174 l_disable_revision   NUMBER; --BUG 3034642
175 BEGIN
176         Create_Exp_Unexp_Rec
177         ( p_controller_OPS_rec  => l_OPS_controller_rec
178         , x_OPS_tbl             => l_rev_operation_tbl
179         , x_unexp_OPS_rec       => l_unexp_OPS_rec
180         );
181 
182         l_rev_operation_tbl(1).transaction_type := 'CREATE';
183 
184         ENG_FORM_ECO_PVT.Process_ECO
185         ( x_return_status          => l_return_status
186         , x_msg_count              => l_msg_count
187         , p_control_rec            => l_control_rec
188         , p_rev_operation_tbl      => l_rev_operation_tbl
189         , p_unexp_rev_op_rec       => l_unexp_OPS_rec
190         , x_eco_rec                => l_eco_rec
191         , x_unexp_eco_rec          => l_unexp_eco_rec
192         , x_unexp_eco_rev_rec      => l_unexp_eco_rev_rec
193         , x_unexp_revised_item_rec => l_unexp_rev_item_rec
194         , x_unexp_rev_comp_rec     => l_unexp_rev_comp_rec
195         , x_unexp_sub_comp_rec     => l_unexp_SBC_rec
196         , x_unexp_ref_desg_rec     => l_unexp_RFD_rec
197         , x_unexp_rev_op_rec       => l_unexp_OPS_rec
198         , x_unexp_rev_op_res_rec   => l_unexp_rev_op_res_rec
199         , x_unexp_rev_sub_res_rec  => l_unexp_rev_sub_res_rec
200         , x_eco_revision_tbl       => l_eco_revision_tbl
201         , x_revised_item_tbl       => l_revised_item_tbl
202         , x_rev_Component_tbl      => l_rev_Component_tbl
203         , x_ref_designator_tbl     => l_ref_designator_tbl
204         , x_sub_component_tbl      => l_sub_component_tbl
205 	, x_rev_operation_tbl      => l_rev_operation_tbl
206 	, x_rev_op_resource_tbl    => l_rev_op_resource_tbl
207 	, x_rev_sub_resource_tbl   => l_rev_sub_resource_tbl
208 	,x_disable_revision  =>l_disable_revision  --BUG 3034642
209         );
210 
211         Create_Controller_Rec
212         ( p_OPS_tbl             => l_rev_operation_tbl
213         , p_unexp_OPS_rec       => l_unexp_OPS_rec
214         , x_controller_OPS_rec  => l_OPS_controller_rec
215         );
216 
217         x_OPS_controller_rec := l_OPS_controller_rec;
218         x_return_status      := l_return_status;
219 END Initialize_Record;
220 
221 -- Procedure Validate_And_Write
222 
223 PROCEDURE Validate_And_Write
224 (   p_OPS_controller_rec        IN  Controller_OPS_Rec_Type
225 ,   p_control_rec               IN  BOM_BO_PUB.Control_Rec_Type
226 ,   p_record_status             IN  VARCHAR2
227 ,   x_OPS_controller_rec        IN OUT NOCOPY Controller_OPS_Rec_Type
228 ,   x_Mesg_Token_Tbl            OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
229 ,   x_return_status             OUT NOCOPY VARCHAR2
230 )
231 IS
232 l_control_rec           BOM_BO_PUB.Control_Rec_Type            := p_control_rec;
233 l_OPS_controller_rec    ENG_OPS_Controller.Controller_Ops_Rec_Type := p_ops_controller_rec;
234 l_ECO_rec               ENG_ECO_PUB.ECO_Rec_Type;
235 l_unexp_eco_rec         ENG_ECO_PUB.ECO_Unexposed_Rec_Type;
236 l_unexp_eco_rev_rec     ENG_ECO_PUB.Eco_Rev_Unexposed_Rec_Type;
237 l_unexp_rev_item_rec    ENG_ECO_PUB.Rev_Item_Unexposed_Rec_Type;
238 l_unexp_rev_comp_rec    BOM_BO_PUB.Rev_Comp_Unexposed_Rec_Type;
239 l_unexp_SBC_rec         BOM_BO_PUB.Sub_Comp_Unexposed_Rec_Type;
240 l_unexp_RFD_rec         BOM_BO_PUB.Ref_Desg_Unexposed_Rec_Type;
241 l_unexp_OPS_rec	        BOM_RTG_PUB.Rev_Op_Unexposed_Rec_Type;
242 l_unexp_rev_op_res_rec	BOM_RTG_PUB.Rev_Op_Res_Unexposed_Rec_Type;
243 l_unexp_rev_sub_res_rec	BOM_RTG_PUB.Rev_Sub_Res_Unexposed_Rec_Type;
244 l_eco_revision_tbl      ENG_Eco_PUB.Eco_Revision_Tbl_Type;
245 l_revised_item_tbl      ENG_Eco_PUB.Revised_Item_Tbl_Type;
246 l_rev_component_tbl     BOM_BO_PUB.Rev_Component_Tbl_Type;
247 l_ref_designator_tbl    BOM_BO_PUB.Ref_Designator_Tbl_Type;
248 l_sub_component_tbl     BOM_BO_PUB.Sub_Component_Tbl_Type;
249 l_rev_operation_tbl     BOM_RTG_PUB.Rev_Operation_Tbl_Type;
250 l_rev_op_resource_tbl   BOM_RTG_PUB.Rev_Op_Resource_Tbl_Type;
251 l_rev_sub_resource_tbl  BOM_RTG_PUB.Rev_Sub_Resource_Tbl_Type;
252 
253 
254 l_mesg_token_tbl        Error_Handler.Mesg_Token_Tbl_Type;
255 l_return_status         VARCHAR2(1);
256 l_msg_count             NUMBER;
257 l_disable_revision   NUMBER; --BUG 3034642
258 BEGIN
259 
260 
261 IF BOM_Globals.get_debug = 'Y'
262 THEN
263      error_handler.write_debug('At the beginning of Validate_And_Write,the return status is');
264      error_handler.write_debug( l_Return_Status);
265 END IF;
266 
267         Create_Exp_Unexp_Rec
268         ( p_controller_OPS_rec  => l_OPS_controller_rec
269         , x_OPS_tbl             => l_rev_operation_tbl
270         , x_unexp_OPS_rec       => l_unexp_OPS_rec
271         );
272 
273         IF p_record_status IN ('NEW', 'INSERT')
274         THEN
275                 l_rev_operation_tbl(1).transaction_type := 'CREATE';
276         ELSIF p_record_status IN ('QUERY', 'CHANGED')
277         THEN
278                 l_rev_operation_tbl(1).transaction_type := 'UPDATE';
279         ELSIF p_record_status = 'DELETE'
280         THEN
281                 l_rev_operation_tbl(1).transaction_type := 'DELETE';
282         END IF;
283 IF BOM_Globals.get_debug = 'Y'
284 THEN
285      error_handler.write_debug('After  Create_Exp_Unexp_Rec, the return status is');
286      error_handler.write_debug( l_Return_Status);
287 END IF;
288 
289         ENG_FORM_ECO_PVT.Process_ECO
290         ( x_return_status          => l_return_status
291         , x_msg_count              => l_msg_count
292         , p_control_rec            => l_control_rec
293         , p_rev_operation_tbl      => l_rev_operation_tbl
294         , p_unexp_rev_op_rec       => l_unexp_OPS_rec
295         , x_eco_rec                => l_eco_rec
296         , x_unexp_eco_rec          => l_unexp_eco_rec
297         , x_unexp_eco_rev_rec      => l_unexp_eco_rev_rec
298         , x_unexp_revised_item_rec => l_unexp_rev_item_rec
299         , x_unexp_rev_comp_rec     => l_unexp_rev_comp_rec
300         , x_unexp_sub_comp_rec     => l_unexp_SBC_rec
301         , x_unexp_ref_desg_rec     => l_unexp_RFD_rec
302         , x_unexp_rev_op_rec       => l_unexp_OPS_rec
303         , x_unexp_rev_op_res_rec   => l_unexp_rev_op_res_rec
304         , x_unexp_rev_sub_res_rec  => l_unexp_rev_sub_res_rec
305         , x_eco_revision_tbl       => l_eco_revision_tbl
306         , x_revised_item_tbl       => l_revised_item_tbl
307         , x_rev_Component_tbl      => l_rev_Component_tbl
308         , x_ref_designator_tbl     => l_ref_designator_tbl
309         , x_sub_component_tbl      => l_sub_component_tbl
310 	, x_rev_operation_tbl      => l_rev_operation_tbl
311 	, x_rev_op_resource_tbl    => l_rev_op_resource_tbl
312 	, x_rev_sub_resource_tbl   => l_rev_sub_resource_tbl
313 	,x_disable_revision  =>l_disable_revision  --BUG 3034642
314         );
315 IF BOM_Globals.get_debug = 'Y'
316 THEN
317      error_handler.write_debug('After  process_ECO, the return status is');
318      error_handler.write_debug( l_Return_Status);
319 END IF;
320         Create_Controller_Rec
321         ( p_OPS_tbl             => l_rev_operation_tbl
322         , p_unexp_OPS_rec       => l_unexp_OPS_rec
323         , x_controller_OPS_rec  => l_OPS_controller_rec
324         );
325 
326         x_OPS_controller_rec := l_OPS_controller_rec;
327         x_return_status := l_return_status;
328 
329 END Validate_And_Write;
330 
331 -- Procedure Delete_Row
332 
333 PROCEDURE Delete_Row
334 (   p_OPS_controller_rec        IN  Controller_OPS_Rec_Type
335 ,   p_control_rec               IN  BOM_BO_PUB.Control_Rec_Type
336 ,   x_Mesg_Token_Tbl            OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
337 ,   x_return_status             OUT NOCOPY VARCHAR2
338 )
339 IS
340 l_control_rec           BOM_BO_PUB.Control_Rec_Type            := p_control_rec;
341 l_OPS_controller_rec    ENG_OPS_Controller.Controller_Ops_Rec_Type := p_ops_controller_rec;
342 l_ECO_rec               ENG_ECO_PUB.ECO_Rec_Type;
343 l_unexp_eco_rec         ENG_ECO_PUB.ECO_Unexposed_Rec_Type;
344 l_unexp_eco_rev_rec     ENG_ECO_PUB.Eco_Rev_Unexposed_Rec_Type;
345 l_unexp_rev_item_rec    ENG_ECO_PUB.Rev_Item_Unexposed_Rec_Type;
346 l_unexp_rev_comp_rec    BOM_BO_PUB.Rev_Comp_Unexposed_Rec_Type;
347 l_unexp_SBC_rec         BOM_BO_PUB.Sub_Comp_Unexposed_Rec_Type;
348 l_unexp_RFD_rec         BOM_BO_PUB.Ref_Desg_Unexposed_Rec_Type;
349 l_unexp_OPS_rec	        BOM_RTG_PUB.Rev_Op_Unexposed_Rec_Type;
350 l_unexp_rev_op_res_rec	BOM_RTG_PUB.Rev_Op_Res_Unexposed_Rec_Type;
351 l_unexp_rev_sub_res_rec	BOM_RTG_PUB.Rev_Sub_Res_Unexposed_Rec_Type;
352 l_eco_revision_tbl      ENG_Eco_PUB.Eco_Revision_Tbl_Type;
353 l_revised_item_tbl      ENG_Eco_PUB.Revised_Item_Tbl_Type;
354 l_rev_component_tbl     BOM_BO_PUB.Rev_Component_Tbl_Type;
355 l_ref_designator_tbl    BOM_BO_PUB.Ref_Designator_Tbl_Type;
356 l_sub_component_tbl     BOM_BO_PUB.Sub_Component_Tbl_Type;
357 l_rev_operation_tbl     BOM_RTG_PUB.Rev_Operation_Tbl_Type;
358 l_rev_op_resource_tbl   BOM_RTG_PUB.Rev_Op_Resource_Tbl_Type;
359 l_rev_sub_resource_tbl  BOM_RTG_PUB.Rev_Sub_Resource_Tbl_Type;
360 
361 l_mesg_token_tbl        Error_Handler.Mesg_Token_Tbl_Type;
362 l_return_status         VARCHAR2(1);
363 l_msg_count             NUMBER;
364 l_disable_revision   NUMBER; --BUG 3034642
365 BEGIN
366         Create_Exp_Unexp_Rec
367         ( p_controller_OPS_rec  => l_OPS_controller_rec
368         , x_OPS_tbl             => l_rev_operation_tbl
369         , x_unexp_OPS_rec       => l_unexp_OPS_rec
370         );
371 
372         l_rev_operation_tbl(1).transaction_type := 'DELETE';
373 
374         ENG_FORM_ECO_PVT.Process_ECO
375         ( x_return_status          => l_return_status
376         , x_msg_count              => l_msg_count
377         , p_control_rec            => l_control_rec
378         , p_rev_operation_tbl      => l_rev_operation_tbl
379         , p_unexp_rev_op_rec       => l_unexp_OPS_rec
380         , x_eco_rec                => l_eco_rec
381         , x_unexp_eco_rec          => l_unexp_eco_rec
382         , x_unexp_eco_rev_rec      => l_unexp_eco_rev_rec
383         , x_unexp_revised_item_rec => l_unexp_rev_item_rec
384         , x_unexp_rev_comp_rec     => l_unexp_rev_comp_rec
385         , x_unexp_sub_comp_rec     => l_unexp_SBC_rec
386         , x_unexp_ref_desg_rec     => l_unexp_RFD_rec
387         , x_unexp_rev_op_rec       => l_unexp_OPS_rec
388         , x_unexp_rev_op_res_rec   => l_unexp_rev_op_res_rec
389         , x_unexp_rev_sub_res_rec  => l_unexp_rev_sub_res_rec
390         , x_eco_revision_tbl       => l_eco_revision_tbl
391         , x_revised_item_tbl       => l_revised_item_tbl
392         , x_rev_Component_tbl      => l_rev_Component_tbl
393         , x_ref_designator_tbl     => l_ref_designator_tbl
394         , x_sub_component_tbl      => l_sub_component_tbl
395 	, x_rev_operation_tbl      => l_rev_operation_tbl
396 	, x_rev_op_resource_tbl    => l_rev_op_resource_tbl
397 	, x_rev_sub_resource_tbl   => l_rev_sub_resource_tbl
398 	,x_disable_revision  =>l_disable_revision  --BUG 3034642
399         );
400 
401         Create_Controller_Rec
402         ( p_OPS_tbl             => l_rev_operation_tbl
403         , p_unexp_OPS_rec       => l_unexp_OPS_rec
404         , x_controller_OPS_rec  => l_OPS_controller_rec
405         );
406 
407         x_return_status := l_return_status;
408 END Delete_Row;
409 
410 --Procedure Change_Attibute
411 
412 PROCEDURE Change_Attribute
413 (   p_OPS_controller_rec        IN  Controller_OPS_Rec_Type
414 ,   p_control_rec               IN  BOM_BO_PUB.Control_Rec_Type
415 ,   p_record_status             IN  VARCHAR2
416 ,   x_OPS_controller_rec        IN OUT NOCOPY Controller_OPS_Rec_Type
417 ,   x_Mesg_Token_Tbl            OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
418 ,   x_return_status             OUT NOCOPY VARCHAR2
419 )
420 IS
421 l_control_rec           BOM_BO_PUB.Control_Rec_Type            := p_control_rec;
422 l_OPS_controller_rec    ENG_OPS_Controller.Controller_Ops_Rec_Type := p_ops_controller_rec;
423 l_ECO_rec               ENG_ECO_PUB.ECO_Rec_Type;
424 l_unexp_eco_rec         ENG_ECO_PUB.ECO_Unexposed_Rec_Type;
425 l_unexp_eco_rev_rec     ENG_ECO_PUB.Eco_Rev_Unexposed_Rec_Type;
426 l_unexp_rev_item_rec    ENG_ECO_PUB.Rev_Item_Unexposed_Rec_Type;
427 l_unexp_rev_comp_rec    BOM_BO_PUB.Rev_Comp_Unexposed_Rec_Type;
428 l_unexp_SBC_rec         BOM_BO_PUB.Sub_Comp_Unexposed_Rec_Type;
429 l_unexp_RFD_rec         BOM_BO_PUB.Ref_Desg_Unexposed_Rec_Type;
430 l_unexp_OPS_rec	        BOM_RTG_PUB.Rev_Op_Unexposed_Rec_Type;
431 l_unexp_rev_op_res_rec	BOM_RTG_PUB.Rev_Op_Res_Unexposed_Rec_Type;
432 l_unexp_rev_sub_res_rec	BOM_RTG_PUB.Rev_Sub_Res_Unexposed_Rec_Type;
433 l_eco_revision_tbl      ENG_Eco_PUB.Eco_Revision_Tbl_Type;
434 l_revised_item_tbl      ENG_Eco_PUB.Revised_Item_Tbl_Type;
435 l_rev_component_tbl     BOM_BO_PUB.Rev_Component_Tbl_Type;
436 l_ref_designator_tbl    BOM_BO_PUB.Ref_Designator_Tbl_Type;
437 l_sub_component_tbl     BOM_BO_PUB.Sub_Component_Tbl_Type;
438 l_rev_operation_tbl     BOM_RTG_PUB.Rev_Operation_Tbl_Type;
439 l_rev_op_resource_tbl   BOM_RTG_PUB.Rev_Op_Resource_Tbl_Type;
440 l_rev_sub_resource_tbl  BOM_RTG_PUB.Rev_Sub_Resource_Tbl_Type;
441 
442 l_mesg_token_tbl        Error_Handler.Mesg_Token_Tbl_Type;
443 l_return_status         VARCHAR2(1);
444 l_msg_count             NUMBER;
445 l_disable_revision   NUMBER; --BUG 3034642
446 BEGIN
447         Create_Exp_Unexp_Rec
448         ( p_controller_OPS_rec  => l_OPS_controller_rec
449         , x_OPS_tbl             => l_rev_operation_tbl
450         , x_unexp_OPS_rec       => l_unexp_OPS_rec
451         );
452 
453         IF p_record_status IN ('NEW', 'INSERT')
454         THEN
455                 l_rev_operation_tbl(1).transaction_type := 'CREATE';
456         ELSIF p_record_status IN ('QUERY', 'CHANGED')
457         THEN
458                 l_rev_operation_tbl(1).transaction_type := 'UPDATE';
459         ELSIF p_record_status = 'DELETE'
460         THEN
461                 l_rev_operation_tbl(1).transaction_type := 'DELETE';
462         END IF;
463 
464         ENG_FORM_ECO_PVT.Process_ECO
465         ( x_return_status          => l_return_status
466         , x_msg_count              => l_msg_count
467         , p_control_rec            => l_control_rec
468         , p_rev_operation_tbl      => l_rev_operation_tbl
469         , p_unexp_rev_op_rec       => l_unexp_OPS_rec
470         , x_eco_rec                => l_eco_rec
471         , x_unexp_eco_rec          => l_unexp_eco_rec
472         , x_unexp_eco_rev_rec      => l_unexp_eco_rev_rec
473         , x_unexp_revised_item_rec => l_unexp_rev_item_rec
474         , x_unexp_rev_comp_rec     => l_unexp_rev_comp_rec
475         , x_unexp_sub_comp_rec     => l_unexp_SBC_rec
476         , x_unexp_ref_desg_rec     => l_unexp_RFD_rec
477         , x_unexp_rev_op_rec       => l_unexp_OPS_rec
478         , x_unexp_rev_op_res_rec   => l_unexp_rev_op_res_rec
479         , x_unexp_rev_sub_res_rec  => l_unexp_rev_sub_res_rec
480         , x_eco_revision_tbl       => l_eco_revision_tbl
481         , x_revised_item_tbl       => l_revised_item_tbl
482         , x_rev_Component_tbl      => l_rev_Component_tbl
483         , x_ref_designator_tbl     => l_ref_designator_tbl
484         , x_sub_component_tbl      => l_sub_component_tbl
485 	, x_rev_operation_tbl      => l_rev_operation_tbl
486 	, x_rev_op_resource_tbl    => l_rev_op_resource_tbl
487 	, x_rev_sub_resource_tbl   => l_rev_sub_resource_tbl
488 	,x_disable_revision  =>l_disable_revision  --BUG 3034642
489         );
490 
491         Create_Controller_Rec
492         ( p_OPS_tbl             => l_rev_operation_tbl
493         , p_unexp_OPS_rec       => l_unexp_OPS_rec
494         , x_controller_OPS_rec  => l_OPS_controller_rec
495         );
496 
497         x_OPS_controller_rec := l_OPS_controller_rec;
498         x_return_status := l_return_status;
499 END Change_Attribute;
500 
501 /*PROCEDURE Lock_Row
502 (   x_return_status                 OUT NOCOPY VARCHAR2
503 ,   x_err_text                      OUT NOCOPY VARCHAR2
504 ,   p_OPS_tbl(1)                    IN  ENG_Eco_PUB.Rit_Rec_Type
505 ,   x_OPS_tbl(1)                    OUT NOCOPY ENG_Eco_PUB.Rit_Rec_Type
506 );
507 */
508 
509 END ENG_OPS_Controller;