[Home] [Help]
PACKAGE BODY: APPS.BOM_DEFAULT_REF_DESIGNATOR
Source
1 PACKAGE BODY BOM_Default_Ref_Designator AS
2 /* $Header: BOMDRFDB.pls 115.9 2002/11/13 21:05:21 rfarook ship $ */
3 /***************************************************************************
4 --
5 -- Copyright (c) 1996 Oracle Corporation, Redwood Shores, CA, USA
6 -- All rights reserved.
7 --
8 -- FILENAME
9 --
10 -- BOMDRFDB.pls
11 --
12 -- DESCRIPTION
13 --
14 -- Body of package BOM_Default_Ref_Designator
15 --
16 -- NOTES
17 --
18 -- HISTORY
19 --
20 -- 19-JUL-1999 Rahul Chitko Initial Creation
21 --
22 ***************************************************************************/
23
24 G_PKG_NAME CONSTANT VARCHAR2(30) := 'BOM_Default_Ref_Designator';
25
26 -- Package global used within the package.
27
28 g_ref_designator_rec Bom_Bo_Pub.Ref_Designator_Rec_Type;
29
30 PROCEDURE Get_Flex_Ref_Designator
31 IS
32 BEGIN
33
34 -- In the future call Flex APIs for defaults
35
36 IF g_ref_designator_rec.attribute_category = FND_API.G_MISS_CHAR THEN
37 g_ref_designator_rec.attribute_category := NULL;
38 END IF;
39
40 IF g_ref_designator_rec.attribute1 = FND_API.G_MISS_CHAR THEN
41 g_ref_designator_rec.attribute1 := NULL;
42 END IF;
43
44 IF g_ref_designator_rec.attribute2 = FND_API.G_MISS_CHAR THEN
45 g_ref_designator_rec.attribute2 := NULL;
46 END IF;
47
48 IF g_ref_designator_rec.attribute3 = FND_API.G_MISS_CHAR THEN
49 g_ref_designator_rec.attribute3 := NULL;
50 END IF;
51
52 IF g_ref_designator_rec.attribute4 = FND_API.G_MISS_CHAR THEN
53 g_ref_designator_rec.attribute4 := NULL;
54 END IF;
55
56 IF g_ref_designator_rec.attribute5 = FND_API.G_MISS_CHAR THEN
57 g_ref_designator_rec.attribute5 := NULL;
58 END IF;
59
60 IF g_ref_designator_rec.attribute6 = FND_API.G_MISS_CHAR THEN
61 g_ref_designator_rec.attribute6 := NULL;
62 END IF;
63
64 IF g_ref_designator_rec.attribute7 = FND_API.G_MISS_CHAR THEN
65 g_ref_designator_rec.attribute7 := NULL;
66 END IF;
67
68 IF g_ref_designator_rec.attribute8 = FND_API.G_MISS_CHAR THEN
69 g_ref_designator_rec.attribute8 := NULL;
70 END IF;
71
72 IF g_ref_designator_rec.attribute9 = FND_API.G_MISS_CHAR THEN
73 g_ref_designator_rec.attribute9 := NULL;
74 END IF;
75
76 IF g_ref_designator_rec.attribute10 = FND_API.G_MISS_CHAR THEN
77 g_ref_designator_rec.attribute10 := NULL;
78 END IF;
79
80 IF g_ref_designator_rec.attribute11 = FND_API.G_MISS_CHAR THEN
81 g_ref_designator_rec.attribute11 := NULL;
82 END IF;
83
84 IF g_ref_designator_rec.attribute12 = FND_API.G_MISS_CHAR THEN
85 g_ref_designator_rec.attribute12 := NULL;
86 END IF;
87
88 IF g_ref_designator_rec.attribute13 = FND_API.G_MISS_CHAR THEN
89 g_ref_designator_rec.attribute13 := NULL;
90 END IF;
91
92 IF g_ref_designator_rec.attribute14 = FND_API.G_MISS_CHAR THEN
93 g_ref_designator_rec.attribute14 := NULL;
94 END IF;
95
96 IF g_ref_designator_rec.attribute15 = FND_API.G_MISS_CHAR THEN
97 g_ref_designator_rec.attribute15 := NULL;
98 END IF;
99
100 END Get_Flex_Ref_Designator;
101
102 -- Procedure Attributes
103
104 PROCEDURE Attribute_Defaulting
105 ( p_ref_designator_rec IN Bom_Bo_Pub.Ref_Designator_Rec_Type :=
106 Bom_Bo_Pub.G_MISS_REF_DESIGNATOR_REC
107 , p_ref_desg_unexp_rec IN Bom_Bo_Pub.Ref_Desg_Unexposed_Rec_Type
108 , x_ref_designator_rec IN OUT NOCOPY Bom_Bo_Pub.Ref_Designator_Rec_Type
109 , x_Ref_Desg_Unexp_Rec IN OUT NOCOPY Bom_Bo_Pub.Ref_Desg_Unexposed_Rec_Type
110 , x_Mesg_Token_Tbl IN OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
111 , x_Return_Status IN OUT NOCOPY VARCHAR2
112 )
113 IS
114 BEGIN
115
116 /**************************************************************
117 *
118 * There are no columns that can be defaulted for Reference Desg.
119 *
120 ***************************************************************/
121
122 g_ref_designator_Rec := p_ref_designator_Rec;
123
124 IF g_ref_designator_rec.attribute_category = FND_API.G_MISS_CHAR
125 OR g_ref_designator_rec.attribute1 = FND_API.G_MISS_CHAR
126 OR g_ref_designator_rec.attribute2 = FND_API.G_MISS_CHAR
127 OR g_ref_designator_rec.attribute3 = FND_API.G_MISS_CHAR
128 OR g_ref_designator_rec.attribute4 = FND_API.G_MISS_CHAR
129 OR g_ref_designator_rec.attribute5 = FND_API.G_MISS_CHAR
130 OR g_ref_designator_rec.attribute6 = FND_API.G_MISS_CHAR
131 OR g_ref_designator_rec.attribute7 = FND_API.G_MISS_CHAR
132 OR g_ref_designator_rec.attribute8 = FND_API.G_MISS_CHAR
133 OR g_ref_designator_rec.attribute9 = FND_API.G_MISS_CHAR
134 OR g_ref_designator_rec.attribute10 = FND_API.G_MISS_CHAR
135 OR g_ref_designator_rec.attribute11 = FND_API.G_MISS_CHAR
136 OR g_ref_designator_rec.attribute12 = FND_API.G_MISS_CHAR
137 OR g_ref_designator_rec.attribute13 = FND_API.G_MISS_CHAR
138 OR g_ref_designator_rec.attribute14 = FND_API.G_MISS_CHAR
139 OR g_ref_designator_rec.attribute15 = FND_API.G_MISS_CHAR
140 THEN
141
142 Get_Flex_Ref_Designator;
143
144 END IF;
145
146 x_ref_designator_rec := g_ref_designator_rec;
147 x_ref_Desg_Unexp_Rec := p_ref_Desg_Unexp_Rec;
148
149 END Attribute_defaulting;
150
151 /********************************************************************
152 *
153 * Procedure : Populate_Null_Columns (Complete_Record)
154 * Parameters IN : Reference Designator Record as given by the User
155 * Old Reference Designator rec. queried from the DB
156 * Parameters OUT: Completed Reference Designator Record
157 * Return_Status - Indicating success or faliure
158 * Mesg_Token_Tbl - Filled with any errors or warnings
159 * Purpose : Complete Record will take the Database record and
160 * compare it with the user record and will complete
161 * the user record by filling in those values from the
162 * DB record that the user has left blank.
163 * Any user filled in columns will not be overwritten
164 * even if the values do not match.
165 ********************************************************************/
166
167 PROCEDURE Populate_Null_Columns
168 ( p_ref_designator_rec IN Bom_Bo_Pub.Ref_Designator_Rec_Type
169 , p_ref_desg_unexp_rec IN Bom_Bo_Pub.Ref_Desg_Unexposed_Rec_Type
170 , p_old_Ref_Designator_Rec IN Bom_Bo_Pub.Ref_Designator_Rec_Type
171 , p_old_ref_desg_unexp_rec IN Bom_Bo_Pub.Ref_Desg_Unexposed_Rec_Type
172 , x_Ref_Designator_Rec IN OUT NOCOPY Bom_Bo_Pub.Ref_Designator_Rec_Type
173 , x_ref_desg_unexp_rec IN OUT NOCOPY Bom_Bo_Pub.Ref_Desg_Unexposed_Rec_Type
174 )
175 IS
176 l_ref_designator_rec Bom_Bo_Pub.Ref_Designator_Rec_Type :=
177 p_ref_designator_rec;
178 l_err_text VARCHAR2(2000);
179 BEGIN
180
181 IF l_ref_designator_rec.ref_designator_comment IS NULL THEN
182 l_ref_designator_rec.ref_designator_comment :=
183 p_old_ref_designator_rec.ref_designator_comment;
184 END IF;
185
186 IF l_ref_designator_rec.attribute_category IS NULL THEN
187 l_ref_designator_rec.attribute_category :=
188 p_old_ref_designator_rec.attribute_category;
189 END IF;
190
191 IF l_ref_designator_rec.attribute1 IS NULL THEN
192 l_ref_designator_rec.attribute1 :=
193 p_old_ref_designator_rec.attribute1;
194 END IF;
195
196 IF l_ref_designator_rec.attribute2 IS NULL THEN
197 l_ref_designator_rec.attribute2 :=
198 p_old_ref_designator_rec.attribute2;
199 END IF;
200
201 IF l_ref_designator_rec.attribute3 IS NULL THEN
202 l_ref_designator_rec.attribute3 :=
203 p_old_ref_designator_rec.attribute3;
204 END IF;
205
206 IF l_ref_designator_rec.attribute4 IS NULL THEN
207 l_ref_designator_rec.attribute4 :=
208 p_old_ref_designator_rec.attribute4;
209 END IF;
210
211 IF l_ref_designator_rec.attribute5 IS NULL THEN
212 l_ref_designator_rec.attribute5 :=
213 p_old_ref_designator_rec.attribute5;
214 END IF;
215
216 IF l_ref_designator_rec.attribute6 IS NULL THEN
217 l_ref_designator_rec.attribute6 :=
218 p_old_ref_designator_rec.attribute6;
219 END IF;
220
221 IF l_ref_designator_rec.attribute7 IS NULL THEN
222 l_ref_designator_rec.attribute7 :=
223 p_old_ref_designator_rec.attribute7;
224 END IF;
225
226 IF l_ref_designator_rec.attribute8 IS NULL THEN
227 l_ref_designator_rec.attribute8 :=
228 p_old_ref_designator_rec.attribute8;
229 END IF;
230
231 IF l_ref_designator_rec.attribute9 IS NULL THEN
232 l_ref_designator_rec.attribute9 :=
233 p_old_ref_designator_rec.attribute9;
234 END IF;
235
236 IF l_ref_designator_rec.attribute10 IS NULL THEN
237 l_ref_designator_rec.attribute10 :=
238 p_old_ref_designator_rec.attribute10;
239 END IF;
240
241 IF l_ref_designator_rec.attribute11 IS NULL THEN
242 l_ref_designator_rec.attribute11 :=
243 p_old_ref_designator_rec.attribute11;
244 END IF;
245
246 IF l_ref_designator_rec.attribute12 IS NULL THEN
247 l_ref_designator_rec.attribute12 :=
248 p_old_ref_designator_rec.attribute12;
249 END IF;
250
251 IF l_ref_designator_rec.attribute13 IS NULL THEN
252 l_ref_designator_rec.attribute13 :=
253 p_old_ref_designator_rec.attribute13;
254 END IF;
255
256 IF l_ref_designator_rec.attribute14 IS NULL THEN
257 l_ref_designator_rec.attribute14 :=
258 p_old_ref_designator_rec.attribute14;
259 END IF;
260
261 IF l_ref_designator_rec.attribute15 IS NULL THEN
262 l_ref_designator_rec.attribute15 :=
263 p_old_ref_designator_rec.attribute15;
264 END IF;
265
266 /* Assign NULL for MISSING VALUES */
267
268 g_ref_designator_rec := l_ref_designator_rec;
269 Get_Flex_Ref_Designator;
270 l_ref_designator_rec := g_ref_designator_rec;
271
272 x_Ref_Designator_Rec := l_ref_designator_rec;
273 x_ref_desg_unexp_rec := p_ref_desg_unexp_rec;
274
275 END Populate_Null_Columns;
276
277 /*
278 ** Procedure code for BOM Business Object
279 */
280
281 PROCEDURE Attribute_Defaulting
282 ( p_bom_ref_designator_rec IN Bom_Bo_Pub.Bom_Ref_Designator_Rec_Type :=
283 Bom_Bo_Pub.G_MISS_Bom_REF_DESIGNATOR_REC
284 , p_bom_ref_desg_unexp_rec IN Bom_Bo_Pub.Bom_Ref_Desg_Unexp_Rec_Type
285 , x_bom_ref_designator_rec IN OUT NOCOPY Bom_Bo_Pub.Bom_Ref_Designator_Rec_Type
286 , x_bom_Ref_Desg_Unexp_Rec IN OUT NOCOPY Bom_Bo_Pub.Bom_Ref_Desg_Unexp_Rec_Type
287 , x_Mesg_Token_Tbl IN OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
288 , x_Return_Status IN OUT NOCOPY VARCHAR2
289 )
290 IS
291 l_ref_designator_rec Bom_Bo_Pub.Ref_Designator_Rec_Type;
292 l_ref_desg_unexp_rec Bom_Bo_Pub.Ref_Desg_Unexposed_Rec_Type;
293 BEGIN
294 --
295 -- Convert the Bom Reference Designator record to ECO
296 --
297 Bom_Bo_Pub.Convert_BomDesg_To_EcoDesg
298 ( p_bom_ref_designator_rec => p_bom_ref_designator_rec
299 , p_bom_ref_desg_unexp_rec => p_bom_ref_desg_unexp_rec
300 , x_ref_designator_rec => l_ref_designator_rec
301 , x_ref_desg_unexp_rec => l_ref_desg_unexp_rec
302 );
303
304 --
305 -- Call Attribute Defaulting for Reference Designator
306 --
307
308 Bom_Default_Ref_Designator.Attribute_Defaulting
309 ( p_ref_designator_rec => l_ref_designator_rec
310 , p_ref_desg_unexp_rec => l_ref_desg_unexp_rec
311 , x_ref_designator_rec => l_ref_designator_rec
312 , x_ref_desg_unexp_rec => l_ref_desg_unexp_rec
313 , x_mesg_token_tbl => x_mesg_token_Tbl
314 , x_return_status => x_return_status
315 );
316
317 --
318 -- Covert the Eco Reference Designator Record to Bom
319 --
320
321 Bom_Bo_Pub.Convert_EcoDesg_To_BomDesg
322 ( p_ref_designator_rec => l_ref_designator_rec
323 , p_ref_desg_unexp_rec => l_ref_desg_unexp_rec
324 , x_bom_ref_designator_rec => x_bom_ref_designator_rec
325 , x_bom_ref_desg_unexp_rec => x_bom_ref_desg_unexp_rec
326 );
327
328 END Attribute_Defaulting;
329
330 PROCEDURE Populate_Null_Columns
331 ( p_bom_ref_designator_rec IN Bom_Bo_Pub.Bom_Ref_Designator_Rec_Type
332 , p_bom_ref_desg_unexp_rec IN Bom_Bo_Pub.Bom_Ref_Desg_Unexp_Rec_Type
333 , p_old_bom_Ref_Designator_Rec IN Bom_Bo_Pub.Bom_Ref_Designator_Rec_Type
334 , p_old_bom_ref_desg_unexp_rec IN Bom_Bo_Pub.Bom_Ref_Desg_Unexp_Rec_Type
335 , x_bom_Ref_Designator_Rec IN OUT NOCOPY Bom_Bo_Pub.Bom_Ref_Designator_Rec_Type
336 , x_bom_ref_desg_unexp_rec IN OUT NOCOPY Bom_Bo_Pub.Bom_Ref_Desg_Unexp_Rec_Type
337 )
338 IS
339 l_ref_designator_rec Bom_Bo_Pub.Ref_Designator_Rec_Type;
340 l_old_ref_designator_rec Bom_Bo_Pub.Ref_Designator_Rec_Type;
341 l_ref_desg_unexp_rec Bom_Bo_Pub.Ref_Desg_Unexposed_Rec_Type;
342 l_old_ref_desg_unexp_rec Bom_Bo_Pub.Ref_Desg_Unexposed_Rec_Type;
343 BEGIN
344
345 --
346 -- Convert the Bom Reference Designator record to Eco
347 --
348 Bom_Bo_Pub.Convert_BomDesg_To_EcoDesg
349 ( p_bom_ref_designator_rec => p_bom_ref_designator_rec
350 , p_bom_ref_desg_unexp_rec => p_bom_ref_desg_unexp_rec
351 , x_ref_designator_rec => l_ref_designator_rec
352 , x_ref_desg_unexp_rec => l_ref_desg_unexp_rec
353 );
354
355 --
356 -- Similarly convert the old record information
357 --
358 Bom_Bo_Pub.Convert_BomDesg_To_EcoDesg
359 ( p_bom_ref_designator_rec => p_old_bom_ref_designator_rec
360 , p_bom_ref_desg_unexp_rec => p_old_bom_ref_desg_unexp_rec
361 , x_ref_designator_rec => l_old_ref_designator_rec
362 , x_ref_desg_unexp_rec => l_old_ref_desg_unexp_rec
363 );
364
365
366 --
367 -- Call the Reference Designator Populate Null Columns
368 --
369 Bom_Default_Ref_Designator.Populate_Null_Columns
370 ( p_ref_designator_rec => l_ref_designator_rec
371 , p_ref_desg_unexp_rec => l_ref_desg_unexp_rec
372 , p_old_ref_designator_rec => l_old_ref_designator_rec
373 , p_old_ref_desg_unexp_rec => l_old_ref_desg_unexp_rec
374 , x_ref_designator_rec => l_ref_designator_rec
375 , x_ref_desg_unexp_rec => l_ref_desg_unexp_rec
376 );
377
378 --
379 -- Covert the Eco Reference Designator Record to Bom
380 --
381 Bom_Bo_Pub.Convert_EcoDesg_To_BomDesg
382 ( p_ref_designator_rec => l_ref_designator_rec
383 , p_ref_desg_unexp_rec => l_ref_desg_unexp_rec
384 , x_bom_ref_designator_rec => x_bom_ref_designator_rec
385 , x_bom_ref_desg_unexp_rec => x_bom_ref_desg_unexp_rec
386 );
387
388
389 END Populate_Null_Columns;
390
391
392 END BOM_Default_Ref_Designator;