1 PACKAGE BODY BOM_Default_Comp_Operation AS
2 /* $Header: BOMDCOPB.pls 120.0.12010000.2 2010/01/20 19:34:54 umajumde ship $ */
3 /***************************************************************************
4 --
5 -- Copyright (c) 1996 Oracle Corporation, Redwood Shores, CA, USA
6 -- All rights reserved.
7 --
8 -- FILENAME
9 --
10 -- BOMDCOPB.pls
11 --
12 -- DESCRIPTION
13 --
14 -- Body of package BOM_Default_Comp_Operation
15 --
16 -- NOTES
17 --
18 -- HISTORY
19 -- 27-AUG-2001 Refai Farook Initial Creation
20 --
21 --
22 ***************************************************************************/
23 -- Global constant holding the package name
24
25 G_PKG_NAME CONSTANT VARCHAR2(30) :=
26 'BOM_Default_Comp_Operation';
27
28 ret_code NUMBER;
29
30 -- Package global used within the package.
31
32 g_bom_comp_ops_rec Bom_Bo_Pub.Bom_Comp_Ops_Rec_Type;
33
34 PROCEDURE Get_Flex_Comp_Operations IS
35 BEGIN
36
37 IF g_bom_comp_ops_rec.attribute1 = FND_API.G_MISS_CHAR THEN
38 g_bom_comp_ops_rec.attribute1 := NULL;
39 END IF;
40
41 IF g_bom_comp_ops_rec.attribute_category = FND_API.G_MISS_CHAR THEN
42 g_bom_comp_ops_rec.attribute_category := NULL;
43 END IF;
44
45 IF g_bom_comp_ops_rec.attribute1 = FND_API.G_MISS_CHAR THEN
46 g_bom_comp_ops_rec.attribute1 := NULL;
47 END IF;
48
49 IF g_bom_comp_ops_rec.attribute2 = FND_API.G_MISS_CHAR THEN
50 g_bom_comp_ops_rec.attribute2 := NULL;
51 END IF;
52
53 IF g_bom_comp_ops_rec.attribute3 = FND_API.G_MISS_CHAR THEN
54 g_bom_comp_ops_rec.attribute3 := NULL;
55 END IF;
56
57 IF g_bom_comp_ops_rec.attribute4 = FND_API.G_MISS_CHAR THEN
58 g_bom_comp_ops_rec.attribute4 := NULL;
59 END IF;
60 IF g_bom_comp_ops_rec.attribute5 = FND_API.G_MISS_CHAR THEN
61 g_bom_comp_ops_rec.attribute5 := NULL;
62 END IF;
63
64 IF g_bom_comp_ops_rec.attribute6 = FND_API.G_MISS_CHAR THEN
65 g_bom_comp_ops_rec.attribute6 := NULL;
66 END IF;
67
68 IF g_bom_comp_ops_rec.attribute7 = FND_API.G_MISS_CHAR THEN
69 g_bom_comp_ops_rec.attribute7 := NULL;
70 END IF;
71
72 IF g_bom_comp_ops_rec.attribute8 = FND_API.G_MISS_CHAR THEN
73 g_bom_comp_ops_rec.attribute8 := NULL;
74 END IF;
75
76 IF g_bom_comp_ops_rec.attribute9 = FND_API.G_MISS_CHAR THEN
77 g_bom_comp_ops_rec.attribute9 := NULL;
78 END IF;
79
80 IF g_bom_comp_ops_rec.attribute10 = FND_API.G_MISS_CHAR THEN
81 g_bom_comp_ops_rec.attribute10 := NULL;
82 END IF;
83
84 IF g_bom_comp_ops_rec.attribute11 = FND_API.G_MISS_CHAR THEN
85 g_bom_comp_ops_rec.attribute11 := NULL;
86 END IF;
87
88 IF g_bom_comp_ops_rec.attribute12 = FND_API.G_MISS_CHAR THEN
89 g_bom_comp_ops_rec.attribute12 := NULL;
90 END IF;
91
92 IF g_bom_comp_ops_rec.attribute13 = FND_API.G_MISS_CHAR THEN
93 g_bom_comp_ops_rec.attribute13 := NULL;
94 END IF;
95
96 IF g_bom_comp_ops_rec.attribute14 = FND_API.G_MISS_CHAR THEN
97 g_bom_comp_ops_rec.attribute14 := NULL;
98 END IF;
99
100 IF g_bom_comp_ops_rec.attribute15 = FND_API.G_MISS_CHAR THEN
101 g_bom_comp_ops_rec.attribute15 := NULL;
102 END IF;
103
104 END;
105
106 /******************************************************************
107 * Procedure : Attribute_Defaulting
108 * Parameter IN : Component ops unexposed Record
109 * Component ops Record
110 * Parameter IN OUT NOCOPY : Return_Status
111 * Mesg_Token_Tbl
112 * Component ops Record
113 * Component ops Unexposed Record
114 * Purpose : Attributes will call get functions for all columns
115 * that need to be defaulted.
116 * Defualting can happen for exposed as well as
117 * unexposed columns.
118 *******************************************************************/
119
120 PROCEDURE Attribute_Defaulting
121 ( p_bom_comp_ops_rec IN Bom_Bo_Pub.Bom_Comp_Ops_Rec_Type :=
122 Bom_Bo_Pub.G_MISS_BOM_COMP_OPS_REC
123 , p_bom_comp_ops_unexp_Rec IN Bom_Bo_Pub.Bom_Comp_Ops_Unexp_Rec_Type
124 , x_bom_comp_ops_rec IN OUT NOCOPY Bom_Bo_Pub.Bom_COmp_Ops_Rec_Type
125 , x_bom_comp_ops_unexp_Rec IN OUT NOCOPY Bom_Bo_Pub.Bom_Comp_Ops_Unexp_Rec_Type
126 , x_Mesg_Token_Tbl IN OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
127 , x_return_status IN OUT NOCOPY VARCHAR2
128 )
129 IS
130 l_bom_comp_ops_rec Bom_Bo_Pub.Bom_Comp_Ops_Rec_Type;
131 stmt_num NUMBER := 0;
132 l_err_text VARCHAR2(255);
133 l_return_status VARCHAR2(10);
134 l_Mesg_Token_Tbl Error_Handler.Mesg_Token_Tbl_Type;
135 BEGIN
136
137 l_bom_comp_ops_rec := p_bom_comp_ops_rec;
138
139 IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Comp Ops in attrib Defaulting ' || p_bom_comp_ops_Rec.operation_sequence_number); END IF;
140
141 IF l_bom_comp_ops_rec.from_end_item_unit_number = FND_API.G_MISS_CHAR THEN
142 l_bom_comp_ops_rec.from_end_item_unit_number := NULL;
143 END IF;
144
145 IF l_bom_comp_ops_rec.to_end_item_unit_number = FND_API.G_MISS_CHAR THEN
146 l_bom_comp_ops_rec.to_end_item_unit_number := NULL;
147 END IF;
148
149 /*
150 IF l_bom_comp_ops_rec.alternate_bom_code = FND_API.G_MISS_CHAR THEN
151 l_bom_comp_ops_rec.alternate_bom_code := NULL;
152 END IF;
153 */
154 g_bom_comp_ops_rec := l_bom_comp_ops_rec;
155 Get_Flex_Comp_Operations;
156 l_bom_comp_ops_rec := g_bom_comp_ops_rec;
157
158 x_return_status := FND_API.G_RET_STS_SUCCESS;
159 x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
160
161 x_bom_comp_ops_rec := l_bom_comp_ops_rec;
162 x_bom_comp_ops_unexp_Rec := p_bom_comp_ops_unexp_rec;
163
164
165 IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Comp Ops Attrib Defaulting Done . . .'); END IF;
166
167 EXCEPTION
168
169 WHEN OTHERS THEN
170 x_bom_comp_ops_rec := l_bom_comp_ops_rec;
171 x_bom_comp_ops_unexp_Rec := p_bom_comp_ops_unexp_rec;
172 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
173 x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
174
175 END Attribute_Defaulting;
176
177 /******************************************************************************
178 * Procedure : Populate_Null_Columns
179 * Parameters IN : Component ops exposed column record
180 * Component ops DB record of exposed columns
181 * Component ops unexposed column record
182 * Component ops DB record of unexposed columns
183 * Parameters OUT: Component ops exposed Record
184 * Component ops Unexposed Record
185 * Purpose : Complete record will compare the database record with the
186 * user given record and will complete the user record with
187 * values from the database record, for all columns that the
188 * user has left NULL.
189 ******************************************************************************/
190 PROCEDURE Populate_Null_Columns
191 ( p_bom_comp_ops_rec IN Bom_Bo_Pub.Bom_Comp_Ops_Rec_Type
192 , p_old_bom_comp_ops_rec IN Bom_Bo_Pub.Bom_Comp_Ops_Rec_Type
193 , p_bom_comp_ops_unexp_rec IN Bom_Bo_Pub.Bom_Comp_Ops_Unexp_Rec_Type
194 , p_old_bom_comp_ops_unexp_rec IN Bom_Bo_Pub.Bom_Comp_Ops_Unexp_Rec_Type
195 , x_bom_comp_ops_rec IN OUT NOCOPY Bom_Bo_Pub.Bom_Comp_Ops_Rec_Type
196 , x_bom_comp_ops_unexp_rec IN OUT NOCOPY Bom_Bo_Pub.Bom_Comp_Ops_Unexp_Rec_Type
197 )
198 IS
199 l_bom_comp_ops_rec Bom_Bo_Pub.Bom_Comp_Ops_Rec_Type :=
200 p_bom_comp_ops_rec;
201 l_bom_comp_ops_unexp_rec Bom_Bo_Pub.Bom_Comp_Ops_Unexp_Rec_Type :=
202 p_bom_comp_ops_unexp_rec;
203 BEGIN
204
205 IF l_bom_comp_ops_rec.from_end_item_unit_number IS NULL THEN
206 l_bom_comp_ops_rec.from_end_item_unit_number :=
207 p_old_bom_comp_ops_rec.from_end_item_unit_number;
208 END IF;
209
210 IF l_bom_comp_ops_rec.to_end_item_unit_number IS NULL THEN
211 l_bom_comp_ops_rec.to_end_item_unit_number :=
212 p_old_bom_comp_ops_rec.to_end_item_unit_number;
213 END IF;
214
215 IF l_bom_comp_ops_rec.alternate_bom_code IS NULL THEN
216 l_bom_comp_ops_rec.alternate_bom_code :=
217 p_old_bom_comp_ops_rec.alternate_bom_code;
218 END IF;
219
220 IF l_bom_comp_ops_rec.attribute_category IS NULL THEN
221 l_bom_comp_ops_rec.attribute_category :=
222 p_old_bom_comp_ops_rec.attribute_category;
223 END IF;
224
225 IF l_bom_comp_ops_rec.attribute1 IS NULL THEN
226 l_bom_comp_ops_rec.attribute1 :=
227 p_old_bom_comp_ops_rec.attribute1;
228 END IF;
229
230 IF l_bom_comp_ops_rec.attribute2 IS NULL THEN
231 l_bom_comp_ops_rec.attribute2 := p_old_bom_comp_ops_rec.attribute2;
232 END IF;
233
234 IF l_bom_comp_ops_rec.attribute3 IS NULL THEN
235 l_bom_comp_ops_rec.attribute3 := p_old_bom_comp_ops_rec.attribute3;
236 END IF;
237
238 IF l_bom_comp_ops_rec.attribute4 IS NULL THEN
239 l_bom_comp_ops_rec.attribute4 := p_old_bom_comp_ops_rec.attribute4;
240 END IF;
241
242 IF l_bom_comp_ops_rec.attribute5 IS NULL THEN
243 l_bom_comp_ops_rec.attribute5 := p_old_bom_comp_ops_rec.attribute5;
244 END IF;
245
246 IF l_bom_comp_ops_rec.attribute6 IS NULL THEN
247 l_bom_comp_ops_rec.attribute6 := p_old_bom_comp_ops_rec.attribute6;
248 END IF;
249
250 IF l_bom_comp_ops_rec.attribute7 IS NULL THEN
251 l_bom_comp_ops_rec.attribute7 := p_old_bom_comp_ops_rec.attribute7;
252 END IF;
253
254 IF l_bom_comp_ops_rec.attribute8 IS NULL THEN
255 l_bom_comp_ops_rec.attribute8 := p_old_bom_comp_ops_rec.attribute8;
256 END IF;
257
258 IF l_bom_comp_ops_rec.attribute9 IS NULL THEN
259 l_bom_comp_ops_rec.attribute9 := p_old_bom_comp_ops_rec.attribute9;
260 END IF;
261
262 IF l_bom_comp_ops_rec.attribute10 IS NULL THEN
263 l_bom_comp_ops_rec.attribute10 := p_old_bom_comp_ops_rec.attribute10;
264 END IF;
265
266 IF l_bom_comp_ops_rec.attribute11 IS NULL THEN
267 l_bom_comp_ops_rec.attribute11 := p_old_bom_comp_ops_rec.attribute11;
268 END IF;
269
270 IF l_bom_comp_ops_rec.attribute12 IS NULL THEN
271 l_bom_comp_ops_rec.attribute12 := p_old_bom_comp_ops_rec.attribute12;
272 END IF;
273
274 IF l_bom_comp_ops_rec.attribute13 IS NULL THEN
275 l_bom_comp_ops_rec.attribute13 := p_old_bom_comp_ops_rec.attribute13;
276 END IF;
277
278 IF l_bom_comp_ops_rec.attribute14 IS NULL THEN
279 l_bom_comp_ops_rec.attribute14 := p_old_bom_comp_ops_rec.attribute14;
280 END IF;
281
282 IF l_bom_comp_ops_rec.attribute15 IS NULL THEN
283 l_bom_comp_ops_rec.attribute15 := p_old_bom_comp_ops_rec.attribute15;
284 END IF;
285
286 g_bom_comp_ops_rec := l_bom_comp_ops_rec;
287 Get_Flex_Comp_Operations;
288 l_bom_comp_ops_rec := g_bom_comp_ops_rec;
289
290 l_bom_comp_ops_unexp_rec := p_bom_comp_ops_unexp_Rec;
291 if(p_bom_comp_ops_unexp_rec.additional_operation_seq_id is null or
292 p_bom_comp_ops_unexp_rec.additional_operation_seq_id = FND_API.G_MISS_NUM) then
293 l_bom_comp_ops_unexp_rec.additional_operation_seq_id :=
294 p_old_bom_comp_ops_unexp_rec.additional_operation_seq_id;
295 end if;
296 if(p_bom_comp_ops_unexp_rec.comp_operation_seq_id is null or
297 p_bom_comp_ops_unexp_rec.comp_operation_seq_id = FND_API.G_MISS_NUM) then
298 l_bom_comp_ops_unexp_rec.comp_operation_seq_id :=
299 p_old_bom_comp_ops_unexp_rec.comp_operation_seq_id;
300 end if;
301 --bug 8850425 changes
302 --commenting out the following since rowid is a db column
303 /*if(p_bom_comp_ops_unexp_rec.rowid is null or
304 p_bom_comp_ops_unexp_rec.rowid = FND_API.G_MISS_NUM) then
305 l_bom_comp_ops_unexp_rec.rowid :=
306 p_old_bom_comp_ops_unexp_rec.rowid ;
307 end if; */
308 if(p_bom_comp_ops_unexp_rec.component_sequence_id is null or
309 p_bom_comp_ops_unexp_rec.component_sequence_id = FND_API.G_MISS_NUM) then
310 l_bom_comp_ops_unexp_rec.component_sequence_id :=
311 p_old_bom_comp_ops_unexp_rec.component_sequence_id ;
312 end if;
313 if(p_bom_comp_ops_unexp_rec.bill_sequence_id is null or
314 p_bom_comp_ops_unexp_rec.bill_sequence_id = FND_API.G_MISS_NUM) then
315 l_bom_comp_ops_unexp_rec.bill_sequence_id :=
316 p_old_bom_comp_ops_unexp_rec.bill_sequence_id;
317 end if;
318
319 x_bom_comp_ops_unexp_rec := l_bom_comp_ops_unexp_Rec;
320 x_bom_comp_ops_Rec := l_bom_comp_ops_rec;
321
322 END Populate_Null_Columns;
323
324
325 END BOM_Default_Comp_Operation;