DBA Data[Home] [Help]

PACKAGE BODY: APPS.SBC_CONTROLLER

Source


1 PACKAGE BODY SBC_Controller AS
2 /* $Header: ENGCSBCB.pls 115.7 2003/07/08 12:40:30 akumar ship $ */
3 
4 -- Procedure Create_Exp_Unexp_Rec
5 
6 PROCEDURE Create_Exp_Unexp_Rec
7 (   p_controller_SBC_rec        IN  Controller_SBC_Rec_Type
8 ,   x_SBC_tbl                   OUT NOCOPY BOM_BO_PUB.Sub_Component_Tbl_Type
9 ,   x_unexp_SBC_rec             OUT NOCOPY BOM_BO_PUB.Sub_Comp_Unexposed_Rec_Type
10 )
11 IS
12 BEGIN
13         -- Create exposed record
14 
15         x_SBC_tbl(1).eco_name           := p_controller_SBC_rec.change_notice;
16         x_SBC_tbl(1).organization_code  := p_controller_SBC_rec.organization_code;
17         x_SBC_tbl(1).revised_item_name  := p_controller_SBC_rec.revised_item_name;
18         x_SBC_tbl(1).new_revised_item_revision  := p_controller_SBC_rec.new_revised_item_revision;
19         x_SBC_tbl(1).start_effective_date       := p_controller_SBC_rec.start_effective_date;
20         x_SBC_tbl(1).operation_sequence_number  := p_controller_SBC_rec.operation_sequence_number;
21         x_SBC_tbl(1).Component_Item_Name        := p_controller_SBC_rec.component_item_name;
22         x_SBC_tbl(1).Alternate_BOM_Code         := p_controller_SBC_rec.alternate_bom_code;
23         x_SBC_tbl(1).acd_type                   := p_controller_SBC_rec.acd_type;
24         x_SBC_tbl(1).substitute_component_name  := p_controller_SBC_rec.substitute_component_name;
25         x_SBC_tbl(1).substitute_item_quantity   := p_controller_SBC_rec.substitute_item_quantity;
26         x_SBC_tbl(1).attribute_category         := p_controller_SBC_rec.attribute_category;
27         x_SBC_tbl(1).attribute1                 := p_controller_SBC_rec.attribute1;
28         x_SBC_tbl(1).attribute2                 := p_controller_SBC_rec.attribute2;
32         x_SBC_tbl(1).attribute6                 := p_controller_SBC_rec.attribute6;
29         x_SBC_tbl(1).attribute3                 := p_controller_SBC_rec.attribute3;
30         x_SBC_tbl(1).attribute4                 := p_controller_SBC_rec.attribute4;
31         x_SBC_tbl(1).attribute5                 := p_controller_SBC_rec.attribute5;
33         x_SBC_tbl(1).attribute7                 := p_controller_SBC_rec.attribute7;
34         x_SBC_tbl(1).attribute8                 := p_controller_SBC_rec.attribute8;
35         x_SBC_tbl(1).attribute9                 := p_controller_SBC_rec.attribute9;
36         x_SBC_tbl(1).attribute10                := p_controller_SBC_rec.attribute10;
37         x_SBC_tbl(1).attribute11                := p_controller_SBC_rec.attribute11;
38         x_SBC_tbl(1).attribute12                := p_controller_SBC_rec.attribute12;
39         x_SBC_tbl(1).attribute13                := p_controller_SBC_rec.attribute13;
40         x_SBC_tbl(1).attribute14                := p_controller_SBC_rec.attribute14;
41         x_SBC_tbl(1).attribute15                := p_controller_SBC_rec.attribute15;
42 
43         -- Create unexposed record
44 
45         x_unexp_SBC_rec.organization_id := p_controller_SBC_rec.organization_id;
46         x_unexp_SBC_rec.component_item_id := p_controller_SBC_rec.component_item_id;
47         x_unexp_SBC_rec.component_sequence_id := p_controller_SBC_rec.component_sequence_id;
48         x_unexp_SBC_rec.bill_sequence_id := p_controller_SBC_rec.bill_sequence_id;
49         x_unexp_SBC_rec.revised_item_id := p_controller_SBC_rec.revised_item_id;
50         x_unexp_SBC_rec.revised_item_sequence_id := p_controller_SBC_rec.revised_item_sequence_id;
51         x_unexp_SBC_rec.substitute_component_id := p_controller_SBC_rec.substitute_component_id;
52 END Create_Exp_Unexp_Rec;
53 
54 PROCEDURE Create_Controller_Rec
55 (   p_SBC_tbl                   IN  BOM_BO_PUB.Sub_Component_Tbl_Type
56 ,   p_unexp_SBC_rec             IN  BOM_BO_PUB.Sub_Comp_Unexposed_Rec_Type
57 ,   x_controller_SBC_rec        OUT NOCOPY Controller_SBC_Rec_Type
58 )
59 IS
60 BEGIN
61 
62         -- Create exposed record
63 
64         x_controller_SBC_rec.change_notice := p_SBC_tbl(1).eco_name;
65         x_controller_SBC_rec.organization_code := p_SBC_tbl(1).organization_code;
66         x_controller_SBC_rec.revised_item_name := p_SBC_tbl(1).revised_item_name;
67         x_controller_SBC_rec.new_revised_item_revision := p_SBC_tbl(1).new_revised_item_revision;
68         x_controller_SBC_rec.start_effective_date := p_SBC_tbl(1).start_effective_date;
69         x_controller_SBC_rec.operation_sequence_number := p_SBC_tbl(1).operation_sequence_number;
70         x_controller_SBC_rec.Component_Item_Name := p_SBC_tbl(1).component_item_name;
71         x_controller_SBC_rec.Alternate_BOM_Code := p_SBC_tbl(1).alternate_bom_code;
72         x_controller_SBC_rec.acd_type := p_SBC_tbl(1).acd_type;
73         x_controller_SBC_rec.substitute_component_name := p_SBC_tbl(1).substitute_component_name;
74         x_controller_SBC_rec.substitute_item_quantity := p_SBC_tbl(1).substitute_item_quantity;
75         x_controller_SBC_rec.attribute_category         := p_SBC_tbl(1).attribute_category;
76         x_controller_SBC_rec.attribute1                 := p_SBC_tbl(1).attribute1;
77         x_controller_SBC_rec.attribute2                 := p_SBC_tbl(1).attribute2;
78         x_controller_SBC_rec.attribute3                 := p_SBC_tbl(1).attribute3;
79         x_controller_SBC_rec.attribute4                 := p_SBC_tbl(1).attribute4;
80         x_controller_SBC_rec.attribute5                 := p_SBC_tbl(1).attribute5;
81         x_controller_SBC_rec.attribute6                 := p_SBC_tbl(1).attribute6;
82         x_controller_SBC_rec.attribute7                 := p_SBC_tbl(1).attribute7;
83         x_controller_SBC_rec.attribute8                 := p_SBC_tbl(1).attribute8;
84         x_controller_SBC_rec.attribute9                 := p_SBC_tbl(1).attribute9;
85         x_controller_SBC_rec.attribute10                := p_SBC_tbl(1).attribute10;
86         x_controller_SBC_rec.attribute11                := p_SBC_tbl(1).attribute11;
87         x_controller_SBC_rec.attribute12                := p_SBC_tbl(1).attribute12;
88         x_controller_SBC_rec.attribute13                := p_SBC_tbl(1).attribute13;
89         x_controller_SBC_rec.attribute14                := p_SBC_tbl(1).attribute14;
90         x_controller_SBC_rec.attribute15                := p_SBC_tbl(1).attribute15;
91         x_controller_SBC_rec.organization_id := p_unexp_SBC_rec.organization_id;
92         x_controller_SBC_rec.component_item_id := p_unexp_SBC_rec.component_item_id;
93         x_controller_SBC_rec.component_sequence_id := p_unexp_SBC_rec.component_sequence_id;
94         x_controller_SBC_rec.bill_sequence_id := p_unexp_SBC_rec.bill_sequence_id;
95         x_controller_SBC_rec.substitute_component_id := p_unexp_SBC_rec.substitute_component_id;
96         x_controller_SBC_rec.revised_item_id := p_unexp_SBC_rec.revised_item_id;
97         x_controller_SBC_rec.revised_item_sequence_id := p_unexp_SBC_rec.revised_item_sequence_id;
98 END Create_Controller_Rec;
99 
100 -- Procedure Initialize_Record
101 
102 PROCEDURE Initialize_Record
103 (   p_SBC_controller_rec        IN  Controller_SBC_Rec_Type
104 ,   p_control_rec               IN  BOM_BO_PUB.Control_Rec_Type
105 ,   x_SBC_controller_rec        IN OUT NOCOPY Controller_SBC_Rec_Type
106 ,   x_Mesg_Token_Tbl            OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
107 ,   x_return_status             OUT NOCOPY VARCHAR2
108 )
109 IS
110 l_control_rec           BOM_BO_PUB.Control_Rec_Type := p_control_rec;
111 l_SBC_controller_rec    Controller_SBC_Rec_Type := p_SBC_controller_rec;
112 l_ECO_rec               ENG_ECO_PUB.ECO_Rec_Type;
113 l_unexp_eco_rec         ENG_ECO_PUB.ECO_Unexposed_Rec_Type;
114 l_unexp_eco_rev_rec     ENG_ECO_PUB.Eco_Rev_Unexposed_Rec_Type;
115 l_unexp_rev_item_rec    ENG_ECO_PUB.Rev_Item_Unexposed_Rec_Type;
116 l_unexp_CMP_rec         BOM_BO_PUB.Rev_Comp_Unexposed_Rec_Type;
117 l_unexp_SBC_rec         BOM_BO_PUB.Sub_Comp_Unexposed_Rec_Type;
121 l_unexp_rev_sub_res_rec BOM_RTG_PUB.Rev_Sub_Res_Unexposed_Rec_Type; --add
118 l_unexp_RFD_rec         BOM_BO_PUB.Ref_Desg_Unexposed_Rec_Type;
119 l_unexp_OPS_rec         BOM_RTG_PUB.Rev_Op_Unexposed_Rec_Type;      --add
120 l_unexp_RES_rec         BOM_RTG_PUB.Rev_Op_Res_Unexposed_Rec_Type;  --add
122 l_eco_revision_tbl      ENG_Eco_PUB.Eco_Revision_Tbl_Type;
123 l_revised_item_tbl      ENG_Eco_PUB.Revised_Item_Tbl_Type;
124 l_rev_component_tbl     BOM_BO_PUB.Rev_Component_Tbl_Type;
125 l_ref_designator_tbl    BOM_BO_PUB.Ref_Designator_Tbl_Type;
126 l_sub_component_tbl     BOM_BO_PUB.Sub_Component_Tbl_Type;
127 l_rev_operation_tbl     BOM_RTG_PUB.Rev_Operation_Tbl_Type;         --add
128 l_rev_op_resource_tbl   BOM_RTG_PUB.Rev_Op_Resource_Tbl_Type;       --add
129 l_rev_sub_resource_tbl  BOM_RTG_PUB.Rev_Sub_Resource_Tbl_Type;      --add
130 
131 l_mesg_token_tbl        Error_Handler.Mesg_Token_Tbl_Type;
132 l_return_status         VARCHAR2(1);
133 l_msg_count             NUMBER;
134 l_disable_revision   NUMBER:=2; --BUG 3034642
135 BEGIN
136         Create_Exp_Unexp_Rec
137         ( p_controller_SBC_rec  => l_SBC_controller_rec
138         , x_SBC_tbl             => l_sub_component_tbl
139         , x_unexp_SBC_rec       => l_unexp_SBC_rec
140         );
141 
142         l_rev_component_tbl(1).transaction_type := 'CREATE';
143 
144         ENG_FORM_ECO_PVT.Process_ECO
145         ( x_return_status       => l_return_status
146         , x_msg_count           => l_msg_count
147         , p_control_rec         => l_control_rec
148         , p_sub_component_tbl   => l_sub_component_tbl
149         , p_unexp_sub_comp_rec  => l_unexp_SBC_rec
150         , x_eco_rec             => l_eco_rec
151         , x_unexp_eco_rec       => l_unexp_eco_rec
152         , x_unexp_eco_rev_rec   => l_unexp_eco_rev_rec
153         , x_unexp_revised_item_rec  => l_unexp_rev_item_rec
154         , x_unexp_rev_comp_rec => l_unexp_CMP_rec
155         , x_unexp_sub_comp_rec  => l_unexp_SBC_rec
156         , x_unexp_ref_desg_rec  => l_unexp_RFD_rec
157         , x_unexp_rev_op_rec       => l_unexp_OPS_rec         --add
158         , x_unexp_rev_op_res_rec   => l_unexp_RES_rec         --add
159         , x_unexp_rev_sub_res_rec  => l_unexp_rev_sub_res_rec --add
160         , x_eco_revision_tbl    => l_eco_revision_tbl
161         , x_revised_item_tbl    => l_revised_item_tbl
162         , x_rev_Component_tbl   => l_rev_Component_tbl
163         , x_ref_designator_tbl  => l_ref_designator_tbl
164         , x_sub_component_tbl   => l_sub_component_tbl
165         , x_rev_operation_tbl      => l_rev_operation_tbl     --add
166         , x_rev_op_resource_tbl    => l_rev_op_resource_tbl   --add
167         , x_rev_sub_resource_tbl   => l_rev_sub_resource_tbl  --add
168 	,   x_disable_revision       => l_disable_revision  --BUG 3034642
169         );
170 
171         Create_Controller_Rec
172         ( p_SBC_tbl             => l_sub_component_tbl
173         , p_unexp_SBC_rec       => l_unexp_SBC_rec
174         , x_controller_SBC_rec  => l_SBC_controller_rec
175         );
176 
177         x_SBC_controller_rec := l_SBC_controller_rec;
178         x_return_status := l_return_status;
179 END Initialize_Record;
180 
181 -- Procedure Validate_And_Write
182 
183 PROCEDURE Validate_And_Write
184 (   p_SBC_controller_rec        IN  Controller_SBC_Rec_Type
185 ,   p_control_rec               IN  BOM_BO_PUB.Control_Rec_Type
186 ,   p_record_status             IN  VARCHAR2
187 ,   x_SBC_controller_rec        IN OUT NOCOPY Controller_SBC_Rec_Type
188 ,   x_Mesg_Token_Tbl            OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
189 ,   x_return_status             OUT NOCOPY VARCHAR2
190 )
191 IS
192 l_control_rec           BOM_BO_PUB.Control_Rec_Type := p_control_rec;
193 l_SBC_controller_rec    Controller_SBC_Rec_Type := p_SBC_controller_rec;
194 l_ECO_rec               ENG_ECO_PUB.ECO_Rec_Type;
195 l_unexp_eco_rec         ENG_ECO_PUB.ECO_Unexposed_Rec_Type;
196 l_unexp_eco_rev_rec     ENG_ECO_PUB.Eco_Rev_Unexposed_Rec_Type;
197 l_unexp_rev_item_rec    ENG_ECO_PUB.Rev_Item_Unexposed_Rec_Type;
198 l_unexp_CMP_rec         BOM_BO_PUB.Rev_Comp_Unexposed_Rec_Type;
199 l_unexp_SBC_rec         BOM_BO_PUB.Sub_Comp_Unexposed_Rec_Type;
200 l_unexp_RFD_rec         BOM_BO_PUB.Ref_Desg_Unexposed_Rec_Type;
201 l_unexp_OPS_rec         BOM_RTG_PUB.Rev_Op_Unexposed_Rec_Type;      --add
202 l_unexp_RES_rec         BOM_RTG_PUB.Rev_Op_Res_Unexposed_Rec_Type;  --add
203 l_unexp_rev_sub_res_rec BOM_RTG_PUB.Rev_Sub_Res_Unexposed_Rec_Type; --add
204 l_eco_revision_tbl      ENG_Eco_PUB.Eco_Revision_Tbl_Type;
205 l_revised_item_tbl      ENG_Eco_PUB.Revised_Item_Tbl_Type;
206 l_rev_component_tbl     BOM_BO_PUB.Rev_Component_Tbl_Type;
207 l_ref_designator_tbl    BOM_BO_PUB.Ref_Designator_Tbl_Type;
208 l_sub_component_tbl     BOM_BO_PUB.Sub_Component_Tbl_Type;
209 l_rev_operation_tbl     BOM_RTG_PUB.Rev_Operation_Tbl_Type;         --add
210 l_rev_op_resource_tbl   BOM_RTG_PUB.Rev_Op_Resource_Tbl_Type;       --add
211 l_rev_sub_resource_tbl  BOM_RTG_PUB.Rev_Sub_Resource_Tbl_Type;      --add
212 
213 l_mesg_token_tbl        Error_Handler.Mesg_Token_Tbl_Type;
214 l_return_status         VARCHAR2(1);
215 l_msg_count             NUMBER;
216 l_disable_revision   NUMBER:=2; --BUG 3034642
217 BEGIN
218         Create_Exp_Unexp_Rec
219         ( p_controller_SBC_rec  => l_SBC_controller_rec
220         , x_SBC_tbl             => l_sub_component_tbl
221         , x_unexp_SBC_rec       => l_unexp_SBC_rec
222         );
223 
224         IF p_record_status IN ('NEW', 'INSERT')
225         THEN
229                 l_sub_component_tbl(1).transaction_type := 'UPDATE';
226                 l_sub_component_tbl(1).transaction_type := 'CREATE';
227         ELSIF p_record_status IN ('QUERY', 'CHANGED')
228         THEN
230         ELSIF p_record_status = 'DELETE'
231         THEN
232                 l_sub_component_tbl(1).transaction_type := 'DELETE';
233         END IF;
234 
235         ENG_FORM_ECO_PVT.Process_ECO
236         ( x_return_status       => l_return_status
237         , x_msg_count           => l_msg_count
238         , p_control_rec         => l_control_rec
239         , p_sub_component_tbl   => l_sub_component_tbl
240         , p_unexp_sub_comp_rec  => l_unexp_SBC_rec
241         , x_eco_rec             => l_eco_rec
242         , x_unexp_eco_rec       => l_unexp_eco_rec
243         , x_unexp_eco_rev_rec   => l_unexp_eco_rev_rec
244         , x_unexp_revised_item_rec  => l_unexp_rev_item_rec
245         , x_unexp_rev_comp_rec => l_unexp_CMP_rec
246         , x_unexp_sub_comp_rec  => l_unexp_SBC_rec
247         , x_unexp_ref_desg_rec  => l_unexp_RFD_rec
248         , x_unexp_rev_op_rec       => l_unexp_OPS_rec         --add
249         , x_unexp_rev_op_res_rec   => l_unexp_RES_rec         --add
250         , x_unexp_rev_sub_res_rec  => l_unexp_rev_sub_res_rec --add
251         , x_eco_revision_tbl    => l_eco_revision_tbl
252         , x_revised_item_tbl    => l_revised_item_tbl
253         , x_rev_Component_tbl   => l_rev_Component_tbl
254         , x_ref_designator_tbl  => l_ref_designator_tbl
255         , x_sub_component_tbl   => l_sub_component_tbl
256         , x_rev_operation_tbl      => l_rev_operation_tbl     --add
257         , x_rev_op_resource_tbl    => l_rev_op_resource_tbl   --add
258         , x_rev_sub_resource_tbl   => l_rev_sub_resource_tbl  --add
259 	,   x_disable_revision       => l_disable_revision  --BUG 3034642
260         );
261 
262         Create_Controller_Rec
263         ( p_SBC_tbl             => l_sub_component_tbl
264         , p_unexp_SBC_rec       => l_unexp_SBC_rec
265         , x_controller_SBC_rec  => l_SBC_controller_rec
266         );
267 
268         x_SBC_controller_rec := l_SBC_controller_rec;
269         x_return_status := l_return_status;
270 
271 END Validate_And_Write;
272 
273 -- Procedure Delete_Row
274 
275 PROCEDURE Delete_Row
276 (   p_SBC_controller_rec        IN  Controller_SBC_Rec_Type
277 ,   p_control_rec               IN  BOM_BO_PUB.Control_Rec_Type
278 ,   x_Mesg_Token_Tbl            OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
279 ,   x_return_status             OUT NOCOPY VARCHAR2
280 )
281 IS
282 l_control_rec           BOM_BO_PUB.Control_Rec_Type := p_control_rec;
283 l_SBC_controller_rec    Controller_SBC_Rec_Type := p_SBC_controller_rec;
284 l_ECO_rec               ENG_ECO_PUB.ECO_Rec_Type;
285 l_unexp_eco_rec         ENG_ECO_PUB.ECO_Unexposed_Rec_Type;
286 l_unexp_eco_rev_rec     ENG_ECO_PUB.Eco_Rev_Unexposed_Rec_Type;
287 l_unexp_rev_item_rec    ENG_ECO_PUB.Rev_Item_Unexposed_Rec_Type;
288 l_unexp_CMP_rec         BOM_BO_PUB.Rev_Comp_Unexposed_Rec_Type;
289 l_unexp_SBC_rec         BOM_BO_PUB.Sub_Comp_Unexposed_Rec_Type;
290 l_unexp_RFD_rec         BOM_BO_PUB.Ref_Desg_Unexposed_Rec_Type;
291 l_unexp_OPS_rec         BOM_RTG_PUB.Rev_Op_Unexposed_Rec_Type;      --add
292 l_unexp_RES_rec         BOM_RTG_PUB.Rev_Op_Res_Unexposed_Rec_Type;  --add
293 l_unexp_rev_sub_res_rec BOM_RTG_PUB.Rev_Sub_Res_Unexposed_Rec_Type; --add
294 l_eco_revision_tbl      ENG_Eco_PUB.Eco_Revision_Tbl_Type;
295 l_revised_item_tbl      ENG_Eco_PUB.Revised_Item_Tbl_Type;
296 l_rev_component_tbl     BOM_BO_PUB.Rev_Component_Tbl_Type;
297 l_ref_designator_tbl    BOM_BO_PUB.Ref_Designator_Tbl_Type;
298 l_sub_component_tbl     BOM_BO_PUB.Sub_Component_Tbl_Type;
299 l_rev_operation_tbl     BOM_RTG_PUB.Rev_Operation_Tbl_Type;         --add
300 l_rev_op_resource_tbl   BOM_RTG_PUB.Rev_Op_Resource_Tbl_Type;       --add
301 l_rev_sub_resource_tbl  BOM_RTG_PUB.Rev_Sub_Resource_Tbl_Type;      --add
302 
303 l_mesg_token_tbl        Error_Handler.Mesg_Token_Tbl_Type;
304 l_return_status         VARCHAR2(1);
305 l_msg_count             NUMBER;
306 l_disable_revision   NUMBER:=2; --BUG 3034642
307 BEGIN
308         Create_Exp_Unexp_Rec
309         ( p_controller_SBC_rec  => l_SBC_controller_rec
310         , x_SBC_tbl             => l_sub_component_tbl
311         , x_unexp_SBC_rec       => l_unexp_SBC_rec
312         );
313 
314         l_sub_component_tbl(1).transaction_type := 'DELETE';
315 
316         ENG_FORM_ECO_PVT.Process_ECO
317         ( x_return_status       => l_return_status
318         , x_msg_count           => l_msg_count
319         , p_control_rec         => l_control_rec
320         , p_sub_component_tbl   => l_sub_component_tbl
321         , p_unexp_sub_comp_rec  => l_unexp_SBC_rec
322         , x_eco_rec             => l_eco_rec
323         , x_unexp_eco_rec       => l_unexp_eco_rec
324         , x_unexp_eco_rev_rec   => l_unexp_eco_rev_rec
325         , x_unexp_revised_item_rec  => l_unexp_rev_item_rec
326         , x_unexp_rev_comp_rec => l_unexp_CMP_rec
327         , x_unexp_sub_comp_rec  => l_unexp_SBC_rec
328         , x_unexp_ref_desg_rec  => l_unexp_RFD_rec
329         , x_unexp_rev_op_rec       => l_unexp_OPS_rec         --add
330         , x_unexp_rev_op_res_rec   => l_unexp_RES_rec         --add
331         , x_unexp_rev_sub_res_rec  => l_unexp_rev_sub_res_rec --add
332         , x_eco_revision_tbl    => l_eco_revision_tbl
333         , x_revised_item_tbl    => l_revised_item_tbl
334         , x_rev_Component_tbl   => l_rev_Component_tbl
335         , x_ref_designator_tbl  => l_ref_designator_tbl
336         , x_sub_component_tbl   => l_sub_component_tbl
340 	,   x_disable_revision       => l_disable_revision  --BUG 3034642
337         , x_rev_operation_tbl      => l_rev_operation_tbl     --add
338         , x_rev_op_resource_tbl    => l_rev_op_resource_tbl   --add
339         , x_rev_sub_resource_tbl   => l_rev_sub_resource_tbl  --add
341         );
342 
343         Create_Controller_Rec
344         ( p_SBC_tbl             => l_sub_component_tbl
345         , p_unexp_SBC_rec       => l_unexp_SBC_rec
346         , x_controller_SBC_rec  => l_SBC_controller_rec
347         );
348 
349         x_return_status := l_return_status;
350 END Delete_Row;
351 
352 --Procedure Change_Attibute
353 
354 PROCEDURE Change_Attribute
355 (   p_SBC_controller_rec        IN  Controller_SBC_Rec_Type
356 ,   p_control_rec               IN  BOM_BO_PUB.Control_Rec_Type
357 ,   p_record_status             IN  VARCHAR2
358 ,   x_SBC_controller_rec        IN OUT NOCOPY Controller_SBC_Rec_Type
359 ,   x_Mesg_Token_Tbl            OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
360 ,   x_return_status             OUT NOCOPY VARCHAR2
361 )
362 IS
363 l_control_rec           BOM_BO_PUB.Control_Rec_Type := p_control_rec;
364 l_SBC_controller_rec    Controller_SBC_Rec_Type := p_SBC_controller_rec;
365 l_ECO_rec               ENG_ECO_PUB.ECO_Rec_Type;
366 l_unexp_eco_rec         ENG_ECO_PUB.ECO_Unexposed_Rec_Type;
367 l_unexp_eco_rev_rec     ENG_ECO_PUB.Eco_Rev_Unexposed_Rec_Type;
368 l_unexp_rev_item_rec    ENG_ECO_PUB.Rev_Item_Unexposed_Rec_Type;
369 l_unexp_CMP_rec         BOM_BO_PUB.Rev_Comp_Unexposed_Rec_Type;
370 l_unexp_SBC_rec         BOM_BO_PUB.Sub_Comp_Unexposed_Rec_Type;
371 l_unexp_RFD_rec         BOM_BO_PUB.Ref_Desg_Unexposed_Rec_Type;
372 l_unexp_OPS_rec         BOM_RTG_PUB.Rev_Op_Unexposed_Rec_Type;      --add
373 l_unexp_RES_rec         BOM_RTG_PUB.Rev_Op_Res_Unexposed_Rec_Type;  --add
374 l_unexp_rev_sub_res_rec BOM_RTG_PUB.Rev_Sub_Res_Unexposed_Rec_Type; --add
375 l_eco_revision_tbl      ENG_Eco_PUB.Eco_Revision_Tbl_Type;
376 l_revised_item_tbl      ENG_Eco_PUB.Revised_Item_Tbl_Type;
377 l_rev_component_tbl     BOM_BO_PUB.Rev_Component_Tbl_Type;
378 l_ref_designator_tbl    BOM_BO_PUB.Ref_Designator_Tbl_Type;
379 l_sub_component_tbl     BOM_BO_PUB.Sub_Component_Tbl_Type;
380 l_rev_operation_tbl     BOM_RTG_PUB.Rev_Operation_Tbl_Type;         --add
381 l_rev_op_resource_tbl   BOM_RTG_PUB.Rev_Op_Resource_Tbl_Type;       --add
382 l_rev_sub_resource_tbl  BOM_RTG_PUB.Rev_Sub_Resource_Tbl_Type;      --add
383 
384 l_mesg_token_tbl        Error_Handler.Mesg_Token_Tbl_Type;
385 l_return_status         VARCHAR2(1);
386 l_msg_count             NUMBER;
387 l_disable_revision   NUMBER:=2; --BUG 3034642
388 BEGIN
389         Create_Exp_Unexp_Rec
390         ( p_controller_SBC_rec  => l_SBC_controller_rec
391         , x_SBC_tbl             => l_sub_component_tbl
392         , x_unexp_SBC_rec       => l_unexp_SBC_rec
393         );
394 
395         IF p_record_status IN ('NEW', 'INSERT')
396         THEN
397                 l_sub_component_tbl(1).transaction_type := 'CREATE';
398         ELSIF p_record_status IN ('QUERY', 'CHANGED')
399         THEN
400                 l_sub_component_tbl(1).transaction_type := 'UPDATE';
401         ELSIF p_record_status = 'DELETE'
402         THEN
403                 l_sub_component_tbl(1).transaction_type := 'DELETE';
404         END IF;
405 
406         ENG_FORM_ECO_PVT.Process_ECO
407         ( x_return_status       => l_return_status
408         , x_msg_count           => l_msg_count
409         , p_control_rec         => l_control_rec
410         , p_sub_component_tbl   => l_sub_component_tbl
411         , p_unexp_sub_comp_rec  => l_unexp_SBC_rec
412         , x_eco_rec             => l_eco_rec
413         , x_unexp_eco_rec       => l_unexp_eco_rec
414         , x_unexp_eco_rev_rec   => l_unexp_eco_rev_rec
415         , x_unexp_revised_item_rec  => l_unexp_rev_item_rec
416         , x_unexp_rev_comp_rec => l_unexp_CMP_rec
417         , x_unexp_sub_comp_rec  => l_unexp_SBC_rec
418         , x_unexp_ref_desg_rec  => l_unexp_RFD_rec
419         , x_unexp_rev_op_rec       => l_unexp_OPS_rec         --add
420         , x_unexp_rev_op_res_rec   => l_unexp_RES_rec         --add
421         , x_unexp_rev_sub_res_rec  => l_unexp_rev_sub_res_rec --add
422         , x_eco_revision_tbl    => l_eco_revision_tbl
423         , x_revised_item_tbl    => l_revised_item_tbl
424         , x_rev_Component_tbl   => l_rev_Component_tbl
425         , x_ref_designator_tbl  => l_ref_designator_tbl
426         , x_sub_component_tbl   => l_sub_component_tbl
427         , x_rev_operation_tbl      => l_rev_operation_tbl     --add
428         , x_rev_op_resource_tbl    => l_rev_op_resource_tbl   --add
429         , x_rev_sub_resource_tbl   => l_rev_sub_resource_tbl  --add
430 	,   x_disable_revision       => l_disable_revision  --BUG 3034642
431         );
432 
433         Create_Controller_Rec
434         ( p_SBC_tbl             => l_sub_component_tbl
435         , p_unexp_SBC_rec       => l_unexp_SBC_rec
436         , x_controller_SBC_rec  => l_SBC_controller_rec
437         );
438 
439         x_SBC_controller_rec := l_SBC_controller_rec;
440         x_return_status := l_return_status;
441 END Change_Attribute;
442 
443 /*PROCEDURE Lock_Row
444 (   x_return_status                 OUT NOCOPY VARCHAR2
445 ,   x_err_text                      OUT NOCOPY VARCHAR2
446 ,   p_SBC_tbl(1)                       IN  ENG_Eco_PUB.Rit_Rec_Type
447 ,   x_SBC_tbl(1)                       OUT NOCOPY ENG_Eco_PUB.Rit_Rec_Type
448 );
449 */
450 
451 END SBC_Controller;