DBA Data[Home] [Help]

PACKAGE BODY: APPS.ENG_RES_CONTROLLER

Source


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