DBA Data[Home] [Help]

PACKAGE BODY: APPS.ENG_SRS_CONTROLLER

Source


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