DBA Data[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;