DBA Data[Home] [Help]

PACKAGE BODY: APPS.QP_DEFAULT_FORMULA_LINES

Source


1 PACKAGE BODY QP_Default_Formula_Lines AS
2 /* $Header: QPXDPFLB.pls 120.2 2005/07/06 01:57:42 appldev ship $ */
3 
4 --  Global constant holding the package name
5 
6 G_PKG_NAME                    CONSTANT VARCHAR2(30) := 'QP_Default_Formula_Lines';
7 
8 --  Package global used within the package.
9 
10 g_FORMULA_LINES_rec           QP_Price_Formula_PUB.Formula_Lines_Rec_Type;
11 
12 --  Get functions.
13 
14 FUNCTION Get_End_Date_Active
15 RETURN DATE
16 IS
17 BEGIN
18 
19     RETURN NULL;
20 
21 END Get_End_Date_Active;
22 
23 FUNCTION Get_Numeric_Constant
24 RETURN NUMBER
25 IS
26 BEGIN
27 
28     RETURN NULL;
29 
30 END Get_Numeric_Constant;
31 
32 FUNCTION Get_Reqd_Flag
33 RETURN VARCHAR2
34 IS
35 BEGIN
36 
37     RETURN 'N';
38 
39 END Get_Reqd_Flag;
40 
41 FUNCTION Get_Price_Formula
42 RETURN NUMBER
43 IS
44 BEGIN
45 
46     RETURN NULL;
47 
48 END Get_Price_Formula;
49 
50 FUNCTION Get_Price_Formula_Line
51 RETURN NUMBER
52 IS
53 l_price_formula_line_id NUMBER := NULL;
54 BEGIN
55 
56 oe_debug_pub.add('Entering Get_Price_Formula_line in FormulaLines Default Pkg');
57     SELECT QP_PRICE_FORMULA_LINES_S.nextval
58     INTO   l_price_formula_line_id
59     FROM   dual;
60 
61 oe_debug_pub.add('Leaving Get_Price_Formula_line in FormulaLines Default Pkg');
62     RETURN l_price_formula_line_id;
63 
64 END Get_Price_Formula_Line;
65 
66 FUNCTION Get_Price_Formula_Line_Type
67 RETURN VARCHAR2
68 IS
69 BEGIN
70 
71     RETURN NULL;
72 
73 END Get_Price_Formula_Line_Type;
74 
75 FUNCTION Get_Price_List_Line
76 RETURN NUMBER
77 IS
78 BEGIN
79 
80     RETURN NULL;
81 
82 END Get_Price_List_Line;
83 
84 FUNCTION Get_Price_Modifier_List
85 RETURN NUMBER
86 IS
87 BEGIN
88 
89     RETURN NULL;
90 
91 END Get_Price_Modifier_List;
92 
93 FUNCTION Get_Pricing_Attribute
94 RETURN VARCHAR2
95 IS
96 BEGIN
97 
98     RETURN NULL;
99 
100 END Get_Pricing_Attribute;
101 
102 FUNCTION Get_Pricing_Attribute_Context
103 RETURN VARCHAR2
104 IS
105 BEGIN
106 
107     RETURN NULL;
108 
109 END Get_Pricing_Attribute_Context;
110 
111 FUNCTION Get_Start_Date_Active
112 RETURN DATE
113 IS
114 BEGIN
115 
116     RETURN NULL;
117 
118 END Get_Start_Date_Active;
119 
120 FUNCTION Get_Step_Number
121 RETURN NUMBER
122 IS
123 BEGIN
124 
125     RETURN NULL;
126 
127 END Get_Step_Number;
128 
129 PROCEDURE Get_Flex_Formula_Lines
130 IS
131 BEGIN
132 
133     --  In the future call Flex APIs for defaults
134 
135     IF g_FORMULA_LINES_rec.attribute1 = FND_API.G_MISS_CHAR THEN
136         g_FORMULA_LINES_rec.attribute1 := NULL;
137     END IF;
138 
139     IF g_FORMULA_LINES_rec.attribute10 = FND_API.G_MISS_CHAR THEN
140         g_FORMULA_LINES_rec.attribute10 := NULL;
141     END IF;
142 
143     IF g_FORMULA_LINES_rec.attribute11 = FND_API.G_MISS_CHAR THEN
144         g_FORMULA_LINES_rec.attribute11 := NULL;
145     END IF;
146 
147     IF g_FORMULA_LINES_rec.attribute12 = FND_API.G_MISS_CHAR THEN
148         g_FORMULA_LINES_rec.attribute12 := NULL;
149     END IF;
150 
151     IF g_FORMULA_LINES_rec.attribute13 = FND_API.G_MISS_CHAR THEN
152         g_FORMULA_LINES_rec.attribute13 := NULL;
153     END IF;
154 
155     IF g_FORMULA_LINES_rec.attribute14 = FND_API.G_MISS_CHAR THEN
156         g_FORMULA_LINES_rec.attribute14 := NULL;
157     END IF;
158 
159     IF g_FORMULA_LINES_rec.attribute15 = FND_API.G_MISS_CHAR THEN
160         g_FORMULA_LINES_rec.attribute15 := NULL;
161     END IF;
162 
163     IF g_FORMULA_LINES_rec.attribute2 = FND_API.G_MISS_CHAR THEN
164         g_FORMULA_LINES_rec.attribute2 := NULL;
165     END IF;
166 
167     IF g_FORMULA_LINES_rec.attribute3 = FND_API.G_MISS_CHAR THEN
168         g_FORMULA_LINES_rec.attribute3 := NULL;
169     END IF;
170 
171     IF g_FORMULA_LINES_rec.attribute4 = FND_API.G_MISS_CHAR THEN
172         g_FORMULA_LINES_rec.attribute4 := NULL;
173     END IF;
174 
175     IF g_FORMULA_LINES_rec.attribute5 = FND_API.G_MISS_CHAR THEN
176         g_FORMULA_LINES_rec.attribute5 := NULL;
177     END IF;
178 
179     IF g_FORMULA_LINES_rec.attribute6 = FND_API.G_MISS_CHAR THEN
180         g_FORMULA_LINES_rec.attribute6 := NULL;
181     END IF;
182 
183     IF g_FORMULA_LINES_rec.attribute7 = FND_API.G_MISS_CHAR THEN
184         g_FORMULA_LINES_rec.attribute7 := NULL;
185     END IF;
186 
187     IF g_FORMULA_LINES_rec.attribute8 = FND_API.G_MISS_CHAR THEN
188         g_FORMULA_LINES_rec.attribute8 := NULL;
189     END IF;
190 
191     IF g_FORMULA_LINES_rec.attribute9 = FND_API.G_MISS_CHAR THEN
192         g_FORMULA_LINES_rec.attribute9 := NULL;
193     END IF;
194 
195     IF g_FORMULA_LINES_rec.context = FND_API.G_MISS_CHAR THEN
196         g_FORMULA_LINES_rec.context    := NULL;
197     END IF;
198 
199 END Get_Flex_Formula_Lines;
200 
201 --  Procedure Attributes
202 
203 PROCEDURE Attributes
204 (   p_FORMULA_LINES_rec             IN  QP_Price_Formula_PUB.Formula_Lines_Rec_Type :=
205                                         QP_Price_Formula_PUB.G_MISS_FORMULA_LINES_REC
206 ,   p_iteration                     IN  NUMBER := 1
207 ,   x_FORMULA_LINES_rec             OUT NOCOPY /* file.sql.39 change */ QP_Price_Formula_PUB.Formula_Lines_Rec_Type
208 )
209 IS
210 l_FORMULA_LINES_rec		QP_Price_Formula_PUB.Formula_Lines_Rec_Type;
211 BEGIN
212     --  Check number of iterations.
213 
214     IF p_iteration > QP_GLOBALS.G_MAX_DEF_ITERATIONS THEN
215 
216         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
217         THEN
218 
219             FND_MESSAGE.SET_NAME('QP','OE_DEF_MAX_ITERATION');
220             OE_MSG_PUB.Add;
221 
222         END IF;
223 
224         RAISE FND_API.G_EXC_ERROR;
225 
226     END IF;
227 
228     --  Initialize g_FORMULA_LINES_rec
229 
230     g_FORMULA_LINES_rec := p_FORMULA_LINES_rec;
231 
232     --  Default missing attributes.
233 
234     IF g_FORMULA_LINES_rec.end_date_active = FND_API.G_MISS_DATE THEN
235 
236         g_FORMULA_LINES_rec.end_date_active := Get_End_Date_Active;
237 
238         IF g_FORMULA_LINES_rec.end_date_active IS NOT NULL THEN
239 
240             IF QP_Validate.End_Date_Active(g_FORMULA_LINES_rec.end_date_active)
241             THEN
242 
243 	        l_FORMULA_LINES_rec := g_FORMULA_LINES_rec;
244 
245                 QP_Formula_Lines_Util.Clear_Dependent_Attr
246                 (   p_attr_id                     => QP_Formula_Lines_Util.G_END_DATE_ACTIVE
247                 ,   p_FORMULA_LINES_rec           => l_FORMULA_LINES_rec
248                 ,   x_FORMULA_LINES_rec           => g_FORMULA_LINES_rec
249                 );
250             ELSE
251                 g_FORMULA_LINES_rec.end_date_active := NULL;
252             END IF;
253 
254         END IF;
255 
256     END IF;
257 
258     IF g_FORMULA_LINES_rec.numeric_constant = FND_API.G_MISS_NUM THEN
259 
260         g_FORMULA_LINES_rec.numeric_constant := Get_Numeric_Constant;
261 
262         IF g_FORMULA_LINES_rec.numeric_constant IS NOT NULL THEN
263 
264             IF QP_Validate.Numeric_Constant(g_FORMULA_LINES_rec.numeric_constant)
265             THEN
266 
267 	        l_FORMULA_LINES_rec := g_FORMULA_LINES_rec;
268 
269                 QP_Formula_Lines_Util.Clear_Dependent_Attr
270                 (   p_attr_id                     => QP_Formula_Lines_Util.G_NUMERIC_CONSTANT
271                 ,   p_FORMULA_LINES_rec           => l_FORMULA_LINES_rec
272                 ,   x_FORMULA_LINES_rec           => g_FORMULA_LINES_rec
273                 );
274             ELSE
275                 g_FORMULA_LINES_rec.numeric_constant := NULL;
276             END IF;
277 
278         END IF;
279 
280     END IF;
281 
282     --Added by rchellam on 30-AUG-01. POSCO change.
283     IF g_FORMULA_LINES_rec.reqd_flag = FND_API.G_MISS_CHAR THEN
284 
285         g_FORMULA_LINES_rec.reqd_flag := Get_Reqd_Flag;
286 
287         IF g_FORMULA_LINES_rec.reqd_flag IS NOT NULL THEN
288 
289             IF QP_Validate.Reqd_Flag(g_FORMULA_LINES_rec.reqd_flag)
290             THEN
291 
292 	        l_FORMULA_LINES_rec := g_FORMULA_LINES_rec;
293 
294                 QP_Formula_Lines_Util.Clear_Dependent_Attr
295                 (   p_attr_id                     => QP_Formula_Lines_Util.G_REQD_FLAG
296                 ,   p_FORMULA_LINES_rec           => l_FORMULA_LINES_rec
297                 ,   x_FORMULA_LINES_rec           => g_FORMULA_LINES_rec
298                 );
299             ELSE
300                 g_FORMULA_LINES_rec.reqd_flag := NULL;
301             END IF;
302 
303         END IF;
304 
305     END IF;
306 
307 
308     IF g_FORMULA_LINES_rec.price_formula_id = FND_API.G_MISS_NUM THEN
309 
310         g_FORMULA_LINES_rec.price_formula_id := Get_Price_Formula;
311 
312         IF g_FORMULA_LINES_rec.price_formula_id IS NOT NULL THEN
313 
314             IF QP_Validate.Price_Formula(g_FORMULA_LINES_rec.price_formula_id)
315             THEN
316 
317 	        l_FORMULA_LINES_rec := g_FORMULA_LINES_rec;
318 
319                 QP_Formula_Lines_Util.Clear_Dependent_Attr
320                 (   p_attr_id                     => QP_Formula_Lines_Util.G_PRICE_FORMULA
321                 ,   p_FORMULA_LINES_rec           => l_FORMULA_LINES_rec
322                 ,   x_FORMULA_LINES_rec           => g_FORMULA_LINES_rec
323                 );
324             ELSE
325                 g_FORMULA_LINES_rec.price_formula_id := NULL;
326             END IF;
327 
328         END IF;
329 
330     END IF;
331 
332     IF g_FORMULA_LINES_rec.price_formula_line_id = FND_API.G_MISS_NUM THEN
333 
334         g_FORMULA_LINES_rec.price_formula_line_id := Get_Price_Formula_Line;
335 
336         IF g_FORMULA_LINES_rec.price_formula_line_id IS NOT NULL THEN
337 
338             IF QP_Validate.Price_Formula_Line(g_FORMULA_LINES_rec.price_formula_line_id)
339             THEN
340 
341 	        l_FORMULA_LINES_rec := g_FORMULA_LINES_rec;
342 
343                 QP_Formula_Lines_Util.Clear_Dependent_Attr
344                 (   p_attr_id                     => QP_Formula_Lines_Util.G_PRICE_FORMULA_LINE
345                 ,   p_FORMULA_LINES_rec           => l_FORMULA_LINES_rec
346                 ,   x_FORMULA_LINES_rec           => g_FORMULA_LINES_rec
347                 );
348             ELSE
349                 g_FORMULA_LINES_rec.price_formula_line_id := NULL;
350             END IF;
351 
352         END IF;
353 
354     END IF;
355 
356     IF g_FORMULA_LINES_rec.formula_line_type_code = FND_API.G_MISS_CHAR THEN
357 
358         g_FORMULA_LINES_rec.formula_line_type_code := Get_Price_Formula_Line_Type;
359 
360         IF g_FORMULA_LINES_rec.formula_line_type_code IS NOT NULL THEN
361 
362             IF QP_Validate.Price_Formula_Line_Type(g_FORMULA_LINES_rec.formula_line_type_code)
363             THEN
364 
365 	        l_FORMULA_LINES_rec := g_FORMULA_LINES_rec;
366 
367                 QP_Formula_Lines_Util.Clear_Dependent_Attr
368                 (   p_attr_id                     => QP_Formula_Lines_Util.G_PRICE_FORMULA_LINE_TYPE
369                 ,   p_FORMULA_LINES_rec           => l_FORMULA_LINES_rec
370                 ,   x_FORMULA_LINES_rec           => g_FORMULA_LINES_rec
371                 );
372             ELSE
373                 g_FORMULA_LINES_rec.formula_line_type_code := NULL;
374             END IF;
375 
376         END IF;
377 
378     END IF;
379 
380     IF g_FORMULA_LINES_rec.price_list_line_id = FND_API.G_MISS_NUM THEN
381 
382         g_FORMULA_LINES_rec.price_list_line_id := Get_Price_List_Line;
383 
384         IF g_FORMULA_LINES_rec.price_list_line_id IS NOT NULL THEN
385 
386             IF QP_Validate.Price_List_Line(g_FORMULA_LINES_rec.price_list_line_id)
387             THEN
388 
389 	        l_FORMULA_LINES_rec := g_FORMULA_LINES_rec;
390 
391                 QP_Formula_Lines_Util.Clear_Dependent_Attr
392                 (   p_attr_id                     => QP_Formula_Lines_Util.G_PRICE_LIST_LINE
393                 ,   p_FORMULA_LINES_rec           => l_FORMULA_LINES_rec
394                 ,   x_FORMULA_LINES_rec           => g_FORMULA_LINES_rec
395                 );
396             ELSE
397                 g_FORMULA_LINES_rec.price_list_line_id := NULL;
398             END IF;
399 
400         END IF;
401 
402     END IF;
403 
404     IF g_FORMULA_LINES_rec.price_modifier_list_id = FND_API.G_MISS_NUM THEN
405 
406         g_FORMULA_LINES_rec.price_modifier_list_id := Get_Price_Modifier_List;
407 
408         IF g_FORMULA_LINES_rec.price_modifier_list_id IS NOT NULL THEN
409 
410             IF QP_Validate.Price_Modifier_List(g_FORMULA_LINES_rec.price_modifier_list_id)
411             THEN
412 
413 	        l_FORMULA_LINES_rec := g_FORMULA_LINES_rec;
414 
415                 QP_Formula_Lines_Util.Clear_Dependent_Attr
416                 (   p_attr_id                     => QP_Formula_Lines_Util.G_PRICE_MODIFIER_LIST
417                 ,   p_FORMULA_LINES_rec           => l_FORMULA_LINES_rec
418                 ,   x_FORMULA_LINES_rec           => g_FORMULA_LINES_rec
419                 );
420             ELSE
421                 g_FORMULA_LINES_rec.price_modifier_list_id := NULL;
422             END IF;
423 
424         END IF;
425 
426     END IF;
427 
428     IF g_FORMULA_LINES_rec.pricing_attribute = FND_API.G_MISS_CHAR THEN
429 
430         g_FORMULA_LINES_rec.pricing_attribute := Get_Pricing_Attribute;
431 
432         IF g_FORMULA_LINES_rec.pricing_attribute IS NOT NULL THEN
433 
434             IF QP_Validate.Pricing_Attribute(g_FORMULA_LINES_rec.pricing_attribute)
435             THEN
436 
437 	        l_FORMULA_LINES_rec := g_FORMULA_LINES_rec;
438 
439                 QP_Formula_Lines_Util.Clear_Dependent_Attr
440                 (   p_attr_id                     => QP_Formula_Lines_Util.G_PRICING_ATTRIBUTE
441                 ,   p_FORMULA_LINES_rec           => l_FORMULA_LINES_rec
442                 ,   x_FORMULA_LINES_rec           => g_FORMULA_LINES_rec
443                 );
444             ELSE
445                 g_FORMULA_LINES_rec.pricing_attribute := NULL;
446             END IF;
447 
448         END IF;
449 
450     END IF;
451 
452     IF g_FORMULA_LINES_rec.pricing_attribute_context = FND_API.G_MISS_CHAR THEN
453 
454         g_FORMULA_LINES_rec.pricing_attribute_context := Get_Pricing_Attribute_Context;
455 
456         IF g_FORMULA_LINES_rec.pricing_attribute_context IS NOT NULL THEN
457 
458             IF QP_Validate.Pricing_Attribute_Context(g_FORMULA_LINES_rec.pricing_attribute_context)
459             THEN
460 
461 	        l_FORMULA_LINES_rec := g_FORMULA_LINES_rec;
462 
463                 QP_Formula_Lines_Util.Clear_Dependent_Attr
464                 (   p_attr_id                     => QP_Formula_Lines_Util.G_PRICING_ATTRIBUTE_CONTEXT
465                 ,   p_FORMULA_LINES_rec           => l_FORMULA_LINES_rec
466                 ,   x_FORMULA_LINES_rec           => g_FORMULA_LINES_rec
467                 );
471 
468             ELSE
469                 g_FORMULA_LINES_rec.pricing_attribute_context := NULL;
470             END IF;
472         END IF;
473 
474     END IF;
475 
476     IF g_FORMULA_LINES_rec.start_date_active = FND_API.G_MISS_DATE THEN
477 
478         g_FORMULA_LINES_rec.start_date_active := Get_Start_Date_Active;
479 
480         IF g_FORMULA_LINES_rec.start_date_active IS NOT NULL THEN
481 
482             IF QP_Validate.Start_Date_Active(g_FORMULA_LINES_rec.start_date_active)
483             THEN
484 
485 	        l_FORMULA_LINES_rec := g_FORMULA_LINES_rec;
486 
487                 QP_Formula_Lines_Util.Clear_Dependent_Attr
488                 (   p_attr_id                     => QP_Formula_Lines_Util.G_START_DATE_ACTIVE
489                 ,   p_FORMULA_LINES_rec           => l_FORMULA_LINES_rec
490                 ,   x_FORMULA_LINES_rec           => g_FORMULA_LINES_rec
491                 );
492             ELSE
493                 g_FORMULA_LINES_rec.start_date_active := NULL;
494             END IF;
495 
496         END IF;
497 
498     END IF;
499 
500     IF g_FORMULA_LINES_rec.step_number = FND_API.G_MISS_NUM THEN
501 
502         g_FORMULA_LINES_rec.step_number := Get_Step_Number;
503 
504         IF g_FORMULA_LINES_rec.step_number IS NOT NULL THEN
505 
506             IF QP_Validate.Step_Number(g_FORMULA_LINES_rec.step_number)
507             THEN
508 
509 	        l_FORMULA_LINES_rec := g_FORMULA_LINES_rec;
510 
511                 QP_Formula_Lines_Util.Clear_Dependent_Attr
512                 (   p_attr_id                     => QP_Formula_Lines_Util.G_STEP_NUMBER
513                 ,   p_FORMULA_LINES_rec           => l_FORMULA_LINES_rec
514                 ,   x_FORMULA_LINES_rec           => g_FORMULA_LINES_rec
515                 );
516             ELSE
517                 g_FORMULA_LINES_rec.step_number := NULL;
518             END IF;
519 
520         END IF;
521 
522     END IF;
523 
524     IF g_FORMULA_LINES_rec.attribute1 = FND_API.G_MISS_CHAR
525     OR  g_FORMULA_LINES_rec.attribute10 = FND_API.G_MISS_CHAR
526     OR  g_FORMULA_LINES_rec.attribute11 = FND_API.G_MISS_CHAR
527     OR  g_FORMULA_LINES_rec.attribute12 = FND_API.G_MISS_CHAR
528     OR  g_FORMULA_LINES_rec.attribute13 = FND_API.G_MISS_CHAR
529     OR  g_FORMULA_LINES_rec.attribute14 = FND_API.G_MISS_CHAR
530     OR  g_FORMULA_LINES_rec.attribute15 = FND_API.G_MISS_CHAR
531     OR  g_FORMULA_LINES_rec.attribute2 = FND_API.G_MISS_CHAR
532     OR  g_FORMULA_LINES_rec.attribute3 = FND_API.G_MISS_CHAR
533     OR  g_FORMULA_LINES_rec.attribute4 = FND_API.G_MISS_CHAR
534     OR  g_FORMULA_LINES_rec.attribute5 = FND_API.G_MISS_CHAR
535     OR  g_FORMULA_LINES_rec.attribute6 = FND_API.G_MISS_CHAR
536     OR  g_FORMULA_LINES_rec.attribute7 = FND_API.G_MISS_CHAR
537     OR  g_FORMULA_LINES_rec.attribute8 = FND_API.G_MISS_CHAR
538     OR  g_FORMULA_LINES_rec.attribute9 = FND_API.G_MISS_CHAR
539     OR  g_FORMULA_LINES_rec.context = FND_API.G_MISS_CHAR
540     THEN
541 
542         Get_Flex_Formula_Lines;
543 
544     END IF;
545 
546     IF g_FORMULA_LINES_rec.created_by = FND_API.G_MISS_NUM THEN
547 
548         g_FORMULA_LINES_rec.created_by := NULL;
549 
550     END IF;
551 
552     IF g_FORMULA_LINES_rec.creation_date = FND_API.G_MISS_DATE THEN
553 
554         g_FORMULA_LINES_rec.creation_date := NULL;
555 
556     END IF;
557 
558     IF g_FORMULA_LINES_rec.last_updated_by = FND_API.G_MISS_NUM THEN
559 
560         g_FORMULA_LINES_rec.last_updated_by := NULL;
561 
562     END IF;
563 
564     IF g_FORMULA_LINES_rec.last_update_date = FND_API.G_MISS_DATE THEN
565 
566         g_FORMULA_LINES_rec.last_update_date := NULL;
567 
568     END IF;
569 
570     IF g_FORMULA_LINES_rec.last_update_login = FND_API.G_MISS_NUM THEN
571 
572         g_FORMULA_LINES_rec.last_update_login := NULL;
573 
574     END IF;
575 
576     --  Redefault if there are any missing attributes.
577 
578     IF  g_FORMULA_LINES_rec.attribute1 = FND_API.G_MISS_CHAR
579     OR  g_FORMULA_LINES_rec.attribute10 = FND_API.G_MISS_CHAR
580     OR  g_FORMULA_LINES_rec.attribute11 = FND_API.G_MISS_CHAR
581     OR  g_FORMULA_LINES_rec.attribute12 = FND_API.G_MISS_CHAR
582     OR  g_FORMULA_LINES_rec.attribute13 = FND_API.G_MISS_CHAR
583     OR  g_FORMULA_LINES_rec.attribute14 = FND_API.G_MISS_CHAR
584     OR  g_FORMULA_LINES_rec.attribute15 = FND_API.G_MISS_CHAR
585     OR  g_FORMULA_LINES_rec.attribute2 = FND_API.G_MISS_CHAR
586     OR  g_FORMULA_LINES_rec.attribute3 = FND_API.G_MISS_CHAR
587     OR  g_FORMULA_LINES_rec.attribute4 = FND_API.G_MISS_CHAR
588     OR  g_FORMULA_LINES_rec.attribute5 = FND_API.G_MISS_CHAR
589     OR  g_FORMULA_LINES_rec.attribute6 = FND_API.G_MISS_CHAR
590     OR  g_FORMULA_LINES_rec.attribute7 = FND_API.G_MISS_CHAR
591     OR  g_FORMULA_LINES_rec.attribute8 = FND_API.G_MISS_CHAR
592     OR  g_FORMULA_LINES_rec.attribute9 = FND_API.G_MISS_CHAR
593     OR  g_FORMULA_LINES_rec.context = FND_API.G_MISS_CHAR
594     OR  g_FORMULA_LINES_rec.created_by = FND_API.G_MISS_NUM
595     OR  g_FORMULA_LINES_rec.creation_date = FND_API.G_MISS_DATE
596     OR  g_FORMULA_LINES_rec.end_date_active = FND_API.G_MISS_DATE
597     OR  g_FORMULA_LINES_rec.last_updated_by = FND_API.G_MISS_NUM
598     OR  g_FORMULA_LINES_rec.last_update_date = FND_API.G_MISS_DATE
599     OR  g_FORMULA_LINES_rec.last_update_login = FND_API.G_MISS_NUM
600     OR  g_FORMULA_LINES_rec.numeric_constant = FND_API.G_MISS_NUM
601     OR  g_FORMULA_LINES_rec.price_formula_id = FND_API.G_MISS_NUM
602     OR  g_FORMULA_LINES_rec.price_formula_line_id = FND_API.G_MISS_NUM
603     OR  g_FORMULA_LINES_rec.formula_line_type_code = FND_API.G_MISS_CHAR
604     OR  g_FORMULA_LINES_rec.price_list_line_id = FND_API.G_MISS_NUM
605     OR  g_FORMULA_LINES_rec.price_modifier_list_id = FND_API.G_MISS_NUM
606     OR  g_FORMULA_LINES_rec.pricing_attribute = FND_API.G_MISS_CHAR
607     OR  g_FORMULA_LINES_rec.pricing_attribute_context = FND_API.G_MISS_CHAR
608     OR  g_FORMULA_LINES_rec.start_date_active = FND_API.G_MISS_DATE
609     OR  g_FORMULA_LINES_rec.step_number = FND_API.G_MISS_NUM
610     OR  g_FORMULA_LINES_rec.reqd_flag = FND_API.G_MISS_CHAR
611     THEN
612 
613         QP_Default_Formula_Lines.Attributes
614         (   p_FORMULA_LINES_rec           => g_FORMULA_LINES_rec
615         ,   p_iteration                   => p_iteration + 1
616         ,   x_FORMULA_LINES_rec           => x_FORMULA_LINES_rec
617         );
618     ELSE
619 
620         --  Done defaulting attributes
621 
622         x_FORMULA_LINES_rec := g_FORMULA_LINES_rec;
623 
624     END IF;
625 
626 END Attributes;
627 
628 END QP_Default_Formula_Lines;