[Home] [Help]
PACKAGE BODY: APPS.QP_DEFAULT_PRICE_LIST
Source
1 PACKAGE BODY QP_Default_Price_List AS
2 /* $Header: QPXDPLHB.pls 120.7 2005/09/27 12:32:53 spgopal ship $ */
3
4 -- Global constant holding the package name
5
6 G_PKG_NAME CONSTANT VARCHAR2(30) := 'QP_Default_Price_List';
7
8 -- Package global used within the package.
9
10 g_PRICE_LIST_rec QP_Price_List_PUB.Price_List_Rec_Type;
11
12 -- Get functions.
13
14 FUNCTION Get_Automatic
15 RETURN VARCHAR2
16 IS
17 BEGIN
18
19 oe_debug_pub.add('entering automatic');
20
21 oe_debug_pub.add('exiting automatic');
22
23 RETURN 'Y';
24
25 END Get_Automatic;
26
27 FUNCTION Get_Comments
28 RETURN VARCHAR2
29 IS
30 BEGIN
31
32 RETURN NULL;
33
34 END Get_Comments;
35
36 FUNCTION Get_Name
37 RETURN VARCHAR2
38 IS
39 BEGIN
40
41 RETURN NULL;
42
43 END Get_Name;
44
45 FUNCTION Get_Description
46 RETURN VARCHAR2
47 IS
48 BEGIN
49
50 RETURN NULL;
51
52 END Get_Description;
53
54 FUNCTION Get_Currency
55 RETURN VARCHAR2
56 IS
57 l_set_of_books_id VARCHAR2(255) := '';
58 l_currency_code VARCHAR2(15) := '';
59 l_org_id NUMBER;
60 BEGIN
61
62 oe_debug_Pub.add('entering currency');
63
64 --added for moac to call Oe_sys_params only if org_id is not null
65 l_org_id := QP_UTIL.get_org_id;
66 IF l_org_id IS NOT NULL THEN
67 l_set_of_books_id := oe_sys_parameters.value('SET_OF_BOOKS_ID', l_org_id);
68 ELSE
69 l_set_of_books_id := null;
70 END IF;--if l_org_id
71
75 INTO l_currency_code
72 IF l_set_of_books_id is not null THEN
73
74 SELECT CURRENCY_CODE
76 FROM GL_SETS_OF_BOOKS
77 WHERE SET_OF_BOOKS_ID = l_set_of_books_id;
78
79 END IF;
80
81 oe_debug_Pub.add('exiting currency');
82
83 RETURN l_currency_code;
84
85 EXCEPTION
86
87 WHEN NO_DATA_FOUND THEN RETURN NULL;
88
89 WHEN OTHERS THEN
90
91 IF OE_MSG_PUB.Check_Msg_Level (OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
92 THEN
93 OE_MSG_PUB.Add_Exc_Msg
94 ( G_PKG_NAME ,
95 'Get_Currency'
96 );
97 END IF;
98
99 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
100
101
102
103 END Get_Currency;
104
105 FUNCTION Get_Discount_Lines
106 RETURN VARCHAR2
107 IS
108 BEGIN
109
110 RETURN 'N';
111
112 END Get_Discount_Lines;
113
114 FUNCTION Get_End_Date_Active
115 RETURN DATE
116 IS
117 BEGIN
118
119 RETURN NULL;
120
121 END Get_End_Date_Active;
122
123 FUNCTION Get_Freight_Terms
124 RETURN VARCHAR2
125 IS
126 BEGIN
127
128 RETURN NULL;
129
130 END Get_Freight_Terms;
131
132 FUNCTION Get_Gsa_Indicator
133 RETURN VARCHAR2
134 IS
135 BEGIN
136
137 RETURN NULL;
138
139 END Get_Gsa_Indicator;
140
141 FUNCTION Get_Version
142 RETURN VARCHAR2
143 IS
144 BEGIN
145
146 RETURN '1';
147
148 END Get_Version;
149
150 FUNCTION Get_List_Header
151 RETURN NUMBER
152 IS
153 l_list_header_id NUMBER := NULL;
154 BEGIN
155
156 oe_debug_pub.add('Entering QP_Default_Price_List.Get_Price_List');
157
158 select qp_list_headers_b_s.nextval into l_list_header_id
159 from dual;
160
161 oe_debug_pub.add('Exiting QP_Default_Price_List.Get_Price_List');
162 RETURN l_list_header_id;
163
164 EXCEPTION
165
166 WHEN OTHERS THEN
167
168 IF OE_MSG_PUB.Check_Msg_Level (OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
169 THEN
170 OE_MSG_PUB.Add_Exc_Msg
171 ( G_PKG_NAME ,
172 'Get_Price_List'
173 );
174 END IF;
175
176 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
177
178
179
180 END Get_List_Header;
181
182 FUNCTION Get_List_Type
183 RETURN VARCHAR2
184 IS
185 BEGIN
186
187 RETURN 'PRL';
188
189 END Get_List_Type;
190
191 FUNCTION Get_Prorate
192 RETURN VARCHAR2
193 IS
194 BEGIN
195
196 RETURN NULL;
197
198 END Get_Prorate;
199
200 FUNCTION Get_Active_Flag
201 RETURN VARCHAR2
202 IS
203 BEGIN
204 RETURN 'Y';
205 END Get_Active_Flag;
206
207 -- mkarya for bug 1944882
208 FUNCTION Get_Mobile_Download
209 RETURN VARCHAR2
210 IS
211 BEGIN
212 RETURN 'N';
213 END Get_Mobile_Download;
214
215 -- Pricing Security gtippire
216 FUNCTION Get_Global_Flag
217 RETURN VARCHAR2
218 IS
219 BEGIN
220 RETURN 'Y';
221 END Get_Global_Flag;
222
223 -- Multi-Currency SunilPandey
224 FUNCTION Get_Currency_Header
225 RETURN VARCHAR2
226 IS
227 l_currency_header_id number;
228 BEGIN
229 -- bug 2302661, if multi-currency is installed and public api do not pass the currency_header_id
230 -- then find the currency header id for currency code and rounding factor. If currency_header_id
231 -- is not found then create it.
232 if nvl(fnd_profile.value('QP_MULTI_CURRENCY_INSTALLED'), 'N') = 'Y'
233 --added for moac now defaulted currency_code can be null
234 --when the default org_id is not set as the OM setofbooks will be null
235 --and qp_currency_lists_b.base_currency_code is a notnull column
236 --and the insert below will fail
237 and g_PRICE_LIST_rec.currency_code IS NOT NULL then
238 BEGIN
239 select currency_header_id
240 into l_currency_header_id
241 from qp_currency_lists_vl
242 where base_currency_code = g_PRICE_LIST_rec.currency_code
243 and BASE_ROUNDING_FACTOR = g_PRICE_LIST_rec.rounding_factor
244 and name like 'Generated Currency Conversion For%'
245 and rownum < 2;
246
247 return l_currency_header_id;
248 EXCEPTION
249 when no_data_found then
250 declare
251 ll_currency_header_id number;
252 begin
253 -- Get next currency_header_id
254 SELECT QP_CURRENCY_LISTS_B_S.NEXTVAL
255 INTO ll_currency_header_id
256 FROM dual;
257
258 -- Insert one record into qp_currency_lists
259 INSERT INTO QP_CURRENCY_LISTS_B
260 ( ATTRIBUTE1
261 , ATTRIBUTE10
262 , ATTRIBUTE11
263 , ATTRIBUTE12
264 , ATTRIBUTE13
265 , ATTRIBUTE14
266 , ATTRIBUTE15
267 , ATTRIBUTE2
268 , ATTRIBUTE3
269 , ATTRIBUTE4
273 , ATTRIBUTE8
270 , ATTRIBUTE5
271 , ATTRIBUTE6
272 , ATTRIBUTE7
274 , ATTRIBUTE9
275 , BASE_CURRENCY_CODE
276 , CONTEXT
277 , CREATED_BY
278 , CREATION_DATE
279 , CURRENCY_HEADER_ID
280 , LAST_UPDATED_BY
281 , LAST_UPDATE_DATE
282 , LAST_UPDATE_LOGIN
283 , PROGRAM_APPLICATION_ID
284 , PROGRAM_ID
285 , PROGRAM_UPDATE_DATE
286 , REQUEST_ID
287 )
288 VALUES
289 ( null -- attribute1
290 , null -- attribute10
291 , null -- attribute11
292 , null -- attribute12
293 , null -- attribute13
294 , null -- attribute14
295 , null -- attribute15
296 , null -- attribute2
297 , null -- attribute3
298 , null -- attribute4
299 , null -- attribute5
300 , null -- attribute6
301 , null -- attribute7
302 , null -- attribute8
303 , null -- attribute9
304 , g_price_list_rec.CURRENCY_CODE -- base_currency_code
305 , null -- context
306 , FND_GLOBAL.USER_ID -- created_by
307 , SYSDATE -- creation_date
308 , ll_CURRENCY_HEADER_ID --currency_header_id
309 , FND_GLOBAL.USER_ID -- last_updated_by
310 , SYSDATE -- last_update_date
311 , FND_GLOBAL.LOGIN_ID -- last_update_login
312 , FND_GLOBAL.PROG_APPL_ID -- program_application_id
313 , FND_GLOBAL.CONC_PROGRAM_ID -- program_id
314 , SYSDATE -- program_update_date
315 , FND_GLOBAL.CONC_REQUEST_ID -- request_id
316 );
317
318 -- Insert into qp_currency_details
319
320 INSERT INTO QP_CURRENCY_DETAILS
321 ( ATTRIBUTE1
322 , ATTRIBUTE10
323 , ATTRIBUTE11
324 , ATTRIBUTE12
325 , ATTRIBUTE13
326 , ATTRIBUTE14
327 , ATTRIBUTE15
328 , ATTRIBUTE2
329 , ATTRIBUTE3
330 , ATTRIBUTE4
331 , ATTRIBUTE5
332 , ATTRIBUTE6
333 , ATTRIBUTE7
334 , ATTRIBUTE8
335 , ATTRIBUTE9
336 , CONTEXT
337 , CONVERSION_DATE
338 , CONVERSION_DATE_TYPE
339 , CONVERSION_TYPE
340 , CREATED_BY
341 , CREATION_DATE
342 , CURRENCY_DETAIL_ID
343 , CURRENCY_HEADER_ID
344 , END_DATE_ACTIVE
345 , FIXED_VALUE
346 , LAST_UPDATED_BY
347 , LAST_UPDATE_DATE
348 , LAST_UPDATE_LOGIN
349 , MARKUP_FORMULA_ID
350 , MARKUP_OPERATOR
351 , MARKUP_VALUE
352 , PRICE_FORMULA_ID
353 , PROGRAM_APPLICATION_ID
354 , PROGRAM_ID
355 , PROGRAM_UPDATE_DATE
356 , REQUEST_ID
357 , SELLING_ROUNDING_FACTOR
358 , START_DATE_ACTIVE
359 , TO_CURRENCY_CODE
360 )
361 VALUES
362 ( null -- attribute1
363 , null -- attribute10
364 , null -- attribute11
365 , null -- attribute12
366 , null -- attribute13
367 , null -- attribute14
368 , null -- attribute15
369 , null -- attribute2
370 , null -- attribute3
371 , null -- attribute4
372 , null -- attribute5
373 , null -- attribute6
374 , null -- attribute7
375 , null -- attribute8
376 , null -- attribute9
377 , null -- context
378 , null -- conversion_date
379 , null -- conversion_date_type
380 , null -- conversion_type
381 , FND_GLOBAL.USER_ID -- created_by
382 , SYSDATE -- creation_date
383 , QP_CURRENCY_DETAILS_S.nextval -- currency_detail_id
387 , FND_GLOBAL.USER_ID -- last_updated_by
384 , ll_CURRENCY_HEADER_ID -- currency_header_id
385 , null -- end_date_active
386 , null -- fixed_value
388 , SYSDATE -- last_update_date
389 , FND_GLOBAL.LOGIN_ID -- last_update_login
390 , null -- base_markup_formula_id
391 , null -- base_markup_operator
392 , null -- base_markup_value
393 , null -- price_formula_id
394 , FND_GLOBAL.PROG_APPL_ID -- program_application_id
395 , FND_GLOBAL.CONC_PROGRAM_ID -- program_id
396 , SYSDATE -- program_update_date
397 , FND_GLOBAL.CONC_REQUEST_ID -- request_id
398 , g_price_list_rec.ROUNDING_FACTOR -- base_rounding_factor
399 , null -- start_date_active
400 , g_price_list_rec.CURRENCY_CODE -- base_currency_code
401 );
402
403
404 -- Insert into qp_currency_lists_tl
405 INSERT INTO QP_CURRENCY_LISTS_TL
406 ( CURRENCY_HEADER_ID
407 , NAME
408 , DESCRIPTION
409 , CREATION_DATE
410 , CREATED_BY
411 , LAST_UPDATE_DATE
412 , LAST_UPDATED_BY
413 , LAST_UPDATE_LOGIN
414 , LANGUAGE
415 , SOURCE_LANG
416 )
417 select
418 ll_currency_header_id --CURRENCY_HEADER_ID
419 , 'Generated Currency Conversion For '|| g_price_list_rec.currency_code||' '||ll_currency_header_id -- NAME
420 , 'Generated Currency Conversion For '|| g_price_list_rec.currency_code||' '||ll_currency_header_id -- DESCRIPTION
421 , SYSDATE -- CREATION_DATE
422 , FND_GLOBAL.USER_ID -- CREATED_BY
423 , SYSDATE -- LAST_UPDATE_DATE
424 , FND_GLOBAL.USER_ID -- LAST_UPDATED_BY
425 , FND_GLOBAL.LOGIN_ID -- LAST_UPDATE_LOGIN
426 , L.LANGUAGE_CODE -- LANGUAGE
427 , userenv('LANG') -- SOURCE_LANG
428 from fnd_languages l
429 where l.installed_flag IN ('I','B');
430
431 return ll_currency_header_id;
432 end;
433
434 when others then
435 IF OE_MSG_PUB.Check_Msg_Level (OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
436 THEN
437 OE_MSG_PUB.Add_Exc_Msg
438 ( G_PKG_NAME ,
439 'Get_Currency_Header'
440 );
441 END IF;
442
443 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
444
445 END;
446 else
447 RETURN NULL;
448 end if;
449 END Get_Currency_Header;
450
451 -- Attribute Manager Giri
452 FUNCTION Get_Pte
453 RETURN VARCHAR2
454 IS
455 l_pte_code VARCHAR2(30);
456 BEGIN
457 FND_PROFILE.GET('QP_PRICING_TRANSACTION_ENTITY', l_pte_code);
458
459 IF l_pte_code IS NULL THEN
460 l_pte_code := 'ORDFUL';
461 END IF;
462 RETURN l_pte_code;
463 END Get_Pte;
464
465 FUNCTION Get_Rounding_Factor
466 RETURN NUMBER
467 IS
468 l_unit_precision_type varchar2(255) := '';
469 l_precision number := 0;
470 l_extended_precision number := 0;
471
472 BEGIN
473
474 oe_debug_pub.add('entering get_rounding_factor');
475
476 l_unit_precision_type :=
477 FND_PROFILE.VALUE('QP_UNIT_PRICE_PRECISION_TYPE');
478
479 SELECT -1*PRECISION,
480 -1*EXTENDED_PRECISION
481 INTO l_precision,
482 l_extended_precision
483 FROM FND_CURRENCIES
484 WHERE CURRENCY_CODE = G_PRICE_LIST_REC.CURRENCY_CODE;
485
486 IF l_unit_precision_type = 'STANDARD' THEN
487 oe_debug_pub.add('exiting get_rounding_factor');
488 return l_precision;
489 ELSE
490 return l_extended_precision;
491 END IF;
492
493 EXCEPTION
494
495 WHEN NO_DATA_FOUND THEN RETURN NULL;
496
497 WHEN OTHERS THEN
498
499 IF OE_MSG_PUB.Check_Msg_Level (OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
500 THEN
501 OE_MSG_PUB.Add_Exc_Msg
502 ( G_PKG_NAME ,
503 'Get_Rounding_Factor'
504 );
505 END IF;
506
507 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
508
509 END Get_Rounding_Factor;
510
511 FUNCTION Get_Ship_Method
512 RETURN VARCHAR2
513 IS
514 BEGIN
515
516 RETURN NULL;
517
518 END Get_Ship_Method;
519
520 FUNCTION Get_Start_Date_Active
521 RETURN DATE
522 IS
523 l_sysdate date;
524 BEGIN
525
526 oe_debug_pub.add('entering start date active');
527 SELECT TRUNC(SYSDATE)
528 INTO l_sysdate
529 FROM DUAL;
530
531 oe_debug_pub.add('exiting start date active');
532
533 RETURN l_sysdate;
534
535 EXCEPTION
536
537 WHEN NO_DATA_FOUND THEN RETURN NULL;
538
539 WHEN OTHERS THEN
540
544 ( G_PKG_NAME ,
541 IF OE_MSG_PUB.Check_Msg_Level (OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
542 THEN
543 OE_MSG_PUB.Add_Exc_Msg
545 'Get_Start_Date_Active'
546 );
547 END IF;
548
549 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
550
551 END Get_Start_Date_Active;
552
553 FUNCTION Get_Terms
554 RETURN NUMBER
555 IS
556 BEGIN
557
558 RETURN NULL;
559
560 END Get_Terms;
561
562 --Blanket Sales Order
563 FUNCTION Get_List_Source_Code
564 RETURN VARCHAR2
565 IS BEGIN
566
567 RETURN NULL;
568
569 END Get_List_Source_Code;
570
571 --Blanket Sales Order
572 FUNCTION Get_Orig_System_Header_Ref
573 RETURN VARCHAR2
574 IS BEGIN
575
576 RETURN NULL;
577
578 END Get_Orig_System_Header_Ref;
579
580 -- Blanket Pricing
581 FUNCTION Get_Source_System_Code
582 RETURN VARCHAR2
583 IS
584 l_source_system_code VARCHAR2(30);
585 BEGIN
586
587 FND_PROFILE.GET('QP_SOURCE_SYSTEM_CODE',l_source_system_code);
588 RETURN l_source_system_code;
589
590 END Get_Source_System_Code;
591
592 FUNCTION Get_Shareable_Flag
593 RETURN VARCHAR2
594 IS BEGIN
595
596 RETURN NULL;
597
598 END Get_Shareable_Flag;
599
600 FUNCTION Get_Sold_To_Org_Id
601 RETURN VARCHAR2
602 IS BEGIN
603
604 RETURN NULL;
605
606 END Get_Sold_To_Org_Id;
607
608
609 FUNCTION Get_Locked_From_List_Header_Id
610 RETURN NUMBER
611 IS BEGIN
612
613 RETURN NULL;
614
615 END Get_Locked_From_List_Header_Id;
616
617 --added for MOAC
618 FUNCTION Get_Org_Id
619 RETURN NUMBER
620 IS BEGIN
621
622 RETURN QP_UTIL.Get_Org_Id;
623
624 END Get_Org_Id;
625
626 PROCEDURE Get_Flex_Price_List
627 IS
628 BEGIN
629
630 -- In the future call Flex APIs for defaults
631
632 IF g_PRICE_LIST_rec.attribute1 = FND_API.G_MISS_CHAR THEN
633 g_PRICE_LIST_rec.attribute1 := NULL;
634 END IF;
635
636 IF g_PRICE_LIST_rec.attribute10 = FND_API.G_MISS_CHAR THEN
637 g_PRICE_LIST_rec.attribute10 := NULL;
638 END IF;
639
640 IF g_PRICE_LIST_rec.attribute11 = FND_API.G_MISS_CHAR THEN
641 g_PRICE_LIST_rec.attribute11 := NULL;
642 END IF;
643
644 IF g_PRICE_LIST_rec.attribute12 = FND_API.G_MISS_CHAR THEN
645 g_PRICE_LIST_rec.attribute12 := NULL;
646 END IF;
647
648 IF g_PRICE_LIST_rec.attribute13 = FND_API.G_MISS_CHAR THEN
649 g_PRICE_LIST_rec.attribute13 := NULL;
650 END IF;
651
652 IF g_PRICE_LIST_rec.attribute14 = FND_API.G_MISS_CHAR THEN
653 g_PRICE_LIST_rec.attribute14 := NULL;
654 END IF;
655
656 IF g_PRICE_LIST_rec.attribute15 = FND_API.G_MISS_CHAR THEN
657 g_PRICE_LIST_rec.attribute15 := NULL;
658 END IF;
659
660 IF g_PRICE_LIST_rec.attribute2 = FND_API.G_MISS_CHAR THEN
661 g_PRICE_LIST_rec.attribute2 := NULL;
662 END IF;
663
664 IF g_PRICE_LIST_rec.attribute3 = FND_API.G_MISS_CHAR THEN
665 g_PRICE_LIST_rec.attribute3 := NULL;
666 END IF;
667
668 IF g_PRICE_LIST_rec.attribute4 = FND_API.G_MISS_CHAR THEN
669 g_PRICE_LIST_rec.attribute4 := NULL;
670 END IF;
671
672 IF g_PRICE_LIST_rec.attribute5 = FND_API.G_MISS_CHAR THEN
673 g_PRICE_LIST_rec.attribute5 := NULL;
674 END IF;
675
676 IF g_PRICE_LIST_rec.attribute6 = FND_API.G_MISS_CHAR THEN
677 g_PRICE_LIST_rec.attribute6 := NULL;
678 END IF;
679
680 IF g_PRICE_LIST_rec.attribute7 = FND_API.G_MISS_CHAR THEN
681 g_PRICE_LIST_rec.attribute7 := NULL;
682 END IF;
683
684 IF g_PRICE_LIST_rec.attribute8 = FND_API.G_MISS_CHAR THEN
685 g_PRICE_LIST_rec.attribute8 := NULL;
686 END IF;
687
688 IF g_PRICE_LIST_rec.attribute9 = FND_API.G_MISS_CHAR THEN
689 g_PRICE_LIST_rec.attribute9 := NULL;
690 END IF;
691
692 IF g_PRICE_LIST_rec.context = FND_API.G_MISS_CHAR THEN
693 g_PRICE_LIST_rec.context := NULL;
694 END IF;
695
696 END Get_Flex_Price_List;
697
698 -- Procedure Attributes
699
700 PROCEDURE Attributes
701 ( p_PRICE_LIST_rec IN QP_Price_List_PUB.Price_List_Rec_Type :=
702 QP_Price_List_PUB.G_MISS_PRICE_LIST_REC
703 , p_iteration IN NUMBER := 1
704 , x_PRICE_LIST_rec OUT NOCOPY /* file.sql.39 change */ QP_Price_List_PUB.Price_List_Rec_Type
705 )
706 IS
707 g_p_PRICE_LIST_rec QP_Price_List_PUB.Price_List_Rec_Type;
708 BEGIN
709
710 oe_debug_pub.add('entering attributes');
711
712 -- Check number of iterations.
713
714 IF p_iteration > QP_GLOBALS.G_MAX_DEF_ITERATIONS THEN
715
716 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_ERROR)
717 THEN
718
719 FND_MESSAGE.SET_NAME('QP','OE_DEF_MAX_ITERATION');
720 oe_msg_pub.Add;
721
722 END IF;
723
724 RAISE FND_API.G_EXC_ERROR;
725
726 END IF;
727
731
728 -- Initialize g_PRICE_LIST_rec
729
730 g_PRICE_LIST_rec := p_PRICE_LIST_rec;
732 -- Default missing attributes.
733
734 IF g_PRICE_LIST_rec.automatic_flag = FND_API.G_MISS_CHAR THEN
735
736 g_PRICE_LIST_rec.automatic_flag := Get_Automatic;
737
738 IF g_PRICE_LIST_rec.automatic_flag IS NOT NULL THEN
739
740 IF QP_Validate.Automatic(g_PRICE_LIST_rec.automatic_flag)
741 THEN
742 g_p_PRICE_LIST_rec := g_PRICE_LIST_rec;
743 QP_Price_List_Util.Clear_Dependent_Attr
744 ( p_attr_id => QP_Price_List_Util.G_AUTOMATIC
745 , p_PRICE_LIST_rec => g_p_PRICE_LIST_rec
746 , x_PRICE_LIST_rec => g_PRICE_LIST_rec
747 );
748 ELSE
749 g_PRICE_LIST_rec.automatic_flag := NULL;
750 END IF;
751
752 END IF;
753
754 END IF;
755
756 IF g_PRICE_LIST_rec.comments = FND_API.G_MISS_CHAR THEN
757
758 g_PRICE_LIST_rec.comments := Get_Comments;
759
760 IF g_PRICE_LIST_rec.comments IS NOT NULL THEN
761
762 IF QP_Validate.Comments(g_PRICE_LIST_rec.comments)
763 THEN
764 g_p_PRICE_LIST_rec := g_PRICE_LIST_rec;
765 QP_Price_List_Util.Clear_Dependent_Attr
766 ( p_attr_id => QP_Price_List_Util.G_COMMENTS
767 , p_PRICE_LIST_rec => g_p_PRICE_LIST_rec
768 , x_PRICE_LIST_rec => g_PRICE_LIST_rec
769 );
770 ELSE
771 g_PRICE_LIST_rec.comments := NULL;
772 END IF;
773
774 END IF;
775
776 END IF;
777
778 IF g_PRICE_LIST_rec.currency_code = FND_API.G_MISS_CHAR THEN
779
780 g_PRICE_LIST_rec.currency_code := Get_Currency;
781
782 IF g_PRICE_LIST_rec.currency_code IS NOT NULL THEN
783
784 IF QP_Validate.Currency(g_PRICE_LIST_rec.currency_code)
785 THEN
786 g_p_PRICE_LIST_rec := g_PRICE_LIST_rec;
787 QP_Price_List_Util.Clear_Dependent_Attr
788 ( p_attr_id => QP_Price_List_Util.G_CURRENCY
789 , p_PRICE_LIST_rec => g_p_PRICE_LIST_rec
790 , x_PRICE_LIST_rec => g_PRICE_LIST_rec
791 );
792 ELSE
793 g_PRICE_LIST_rec.currency_code := NULL;
794 END IF;
795
796 END IF;
797
798 END IF;
799
800 IF g_PRICE_LIST_rec.discount_lines_flag = FND_API.G_MISS_CHAR THEN
801
802 g_PRICE_LIST_rec.discount_lines_flag := Get_Discount_Lines;
803
804 IF g_PRICE_LIST_rec.discount_lines_flag IS NOT NULL THEN
805
806 IF QP_Validate.Discount_Lines(g_PRICE_LIST_rec.discount_lines_flag)
807 THEN
808 g_p_PRICE_LIST_rec := g_PRICE_LIST_rec;
809 QP_Price_List_Util.Clear_Dependent_Attr
810 ( p_attr_id => QP_Price_List_Util.G_DISCOUNT_LINES
811 , p_PRICE_LIST_rec => g_p_PRICE_LIST_rec
812 , x_PRICE_LIST_rec => g_PRICE_LIST_rec
813 );
814 ELSE
815 g_PRICE_LIST_rec.discount_lines_flag := NULL;
816 END IF;
817
818 END IF;
819
820 END IF;
821
822 IF g_PRICE_LIST_rec.end_date_active = FND_API.G_MISS_DATE THEN
823
824 g_PRICE_LIST_rec.end_date_active := Get_End_Date_Active;
825
826 IF g_PRICE_LIST_rec.end_date_active IS NOT NULL THEN
827
828 IF QP_Validate.End_Date_Active(g_PRICE_LIST_rec.end_date_active)
829 THEN
830 g_p_PRICE_LIST_rec := g_PRICE_LIST_rec;
831 QP_Price_List_Util.Clear_Dependent_Attr
832 ( p_attr_id => QP_Price_List_Util.G_END_DATE_ACTIVE
833 , p_PRICE_LIST_rec => g_p_PRICE_LIST_rec
834 , x_PRICE_LIST_rec => g_PRICE_LIST_rec
835 );
836 ELSE
837 g_PRICE_LIST_rec.end_date_active := NULL;
838 END IF;
839
840 END IF;
841
842 END IF;
843
844 IF g_PRICE_LIST_rec.freight_terms_code = FND_API.G_MISS_CHAR THEN
845
846 g_PRICE_LIST_rec.freight_terms_code := Get_Freight_Terms;
847
848 IF g_PRICE_LIST_rec.freight_terms_code IS NOT NULL THEN
849
850 IF QP_Validate.Freight_Terms(g_PRICE_LIST_rec.freight_terms_code)
851 THEN
852 g_p_PRICE_LIST_rec := g_PRICE_LIST_rec;
853 QP_Price_List_Util.Clear_Dependent_Attr
854 ( p_attr_id => QP_Price_List_Util.G_FREIGHT_TERMS
855 , p_PRICE_LIST_rec => g_p_PRICE_LIST_rec
856 , x_PRICE_LIST_rec => g_PRICE_LIST_rec
857 );
858 ELSE
859 g_PRICE_LIST_rec.freight_terms_code := NULL;
860 END IF;
861
862 END IF;
863
864 END IF;
865
866 IF g_PRICE_LIST_rec.gsa_indicator = FND_API.G_MISS_CHAR THEN
867
868 g_PRICE_LIST_rec.gsa_indicator := Get_Gsa_Indicator;
869
873 THEN
870 IF g_PRICE_LIST_rec.gsa_indicator IS NOT NULL THEN
871
872 IF QP_Validate.Gsa_Indicator(g_PRICE_LIST_rec.gsa_indicator)
874 g_p_PRICE_LIST_rec := g_PRICE_LIST_rec;
875 QP_Price_List_Util.Clear_Dependent_Attr
876 ( p_attr_id => QP_Price_List_Util.G_GSA_INDICATOR
877 , p_PRICE_LIST_rec => g_p_PRICE_LIST_rec
878 , x_PRICE_LIST_rec => g_PRICE_LIST_rec
879 );
880 ELSE
881 g_PRICE_LIST_rec.gsa_indicator := NULL;
882 END IF;
883
884 END IF;
885
886 END IF;
887
888 IF g_PRICE_LIST_rec.active_flag = FND_API.G_MISS_CHAR THEN
889 g_PRICE_LIST_rec.active_flag := Get_Active_Flag;
890 IF g_PRICE_LIST_rec.active_flag IS NOT NULL THEN
891 IF QP_Validate.active(g_PRICE_LIST_rec.active_flag)
892 THEN
893 g_p_PRICE_LIST_rec := g_PRICE_LIST_rec;
894 QP_Price_List_Util.Clear_Dependent_Attr
895 (p_attr_id => QP_Price_list_Util.G_ACTIVE_FLAG,
896 p_PRICE_LIST_rec => g_p_PRICE_LIST_rec,
897 x_PRICE_LIST_rec => g_PRICE_LIST_rec);
898 ELSE
899 g_PRICE_LIST_rec.active_flag := NULL;
900 END IF;
901 END IF;
902 END IF;
903
904 -- mkarya for bug 1944882
905 IF g_PRICE_LIST_rec.mobile_download = FND_API.G_MISS_CHAR THEN
906 g_PRICE_LIST_rec.mobile_download := Get_Mobile_Download;
907 IF g_PRICE_LIST_rec.mobile_download IS NOT NULL THEN
908 IF QP_Validate.mobile_download(g_PRICE_LIST_rec.mobile_download)
909 THEN
910 g_p_PRICE_LIST_rec := g_PRICE_LIST_rec;
911 QP_Price_List_Util.Clear_Dependent_Attr
912 (p_attr_id => QP_Price_list_Util.G_MOBILE_DOWNLOAD,
913 p_PRICE_LIST_rec => g_p_PRICE_LIST_rec,
914 x_PRICE_LIST_rec => g_PRICE_LIST_rec);
915 ELSE
916 g_PRICE_LIST_rec.mobile_download := NULL;
917 END IF;
918 END IF;
919 END IF;
920
921 -- Pricing Security gtippire
922 IF g_PRICE_LIST_rec.global_flag = FND_API.G_MISS_CHAR THEN
923 g_PRICE_LIST_rec.global_flag := Get_Global_Flag;
924 IF g_PRICE_LIST_rec.global_flag IS NOT NULL THEN
925 IF QP_Validate.global_flag(g_PRICE_LIST_rec.global_flag)
926 THEN
927 g_p_PRICE_LIST_rec := g_PRICE_LIST_rec;
928 QP_Price_List_Util.Clear_Dependent_Attr
929 (p_attr_id => QP_Price_list_Util.G_GLOBAL_FLAG,
930 p_PRICE_LIST_rec => g_p_PRICE_LIST_rec,
931 x_PRICE_LIST_rec => g_PRICE_LIST_rec);
932 ELSE
933 g_PRICE_LIST_rec.global_flag := NULL;
934 END IF;
935 END IF;
936 END IF;
937
938
939 -- Attributes Manager Giri
940 IF g_PRICE_LIST_rec.pte_code = FND_API.G_MISS_CHAR THEN
941 g_PRICE_LIST_rec.pte_code := Get_Pte;
942 IF g_PRICE_LIST_rec.pte_code IS NOT NULL THEN
943 IF QP_Validate.pte(g_PRICE_LIST_rec.pte_code)
944 THEN
945 g_p_PRICE_LIST_rec := g_PRICE_LIST_rec;
946 QP_Price_List_Util.Clear_Dependent_Attr
947 (p_attr_id => QP_Price_list_Util.G_PTE,
948 p_PRICE_LIST_rec => g_p_PRICE_LIST_rec,
949 x_PRICE_LIST_rec => g_PRICE_LIST_rec);
950 ELSE
951 g_PRICE_LIST_rec.pte_code := NULL;
952 END IF;
953 END IF;
954 END IF;
955
956
957 IF g_PRICE_LIST_rec.name = FND_API.G_MISS_CHAR THEN
958
959 g_PRICE_LIST_rec.name := Get_Name;
960
961 IF g_PRICE_LIST_rec.name IS NOT NULL THEN
962
963 IF QP_Validate.Name(g_PRICE_LIST_rec.name)
964 THEN
965 g_p_PRICE_LIST_rec := g_PRICE_LIST_rec;
966 QP_Price_List_Util.Clear_Dependent_Attr
967 ( p_attr_id => QP_Price_List_Util.G_NAME
968 , p_PRICE_LIST_rec => g_p_PRICE_LIST_rec
969 , x_PRICE_LIST_rec => g_PRICE_LIST_rec
970 );
971 ELSE
972 g_PRICE_LIST_rec.name := NULL;
973 END IF;
974
975 END IF;
976
977 END IF;
978
979 IF g_PRICE_LIST_rec.description = FND_API.G_MISS_CHAR THEN
980
981 g_PRICE_LIST_rec.description := Get_Description;
982
983 IF g_PRICE_LIST_rec.description IS NOT NULL THEN
984
985 IF QP_Validate.Description(g_PRICE_LIST_rec.description)
986 THEN
987 g_p_PRICE_LIST_rec := g_PRICE_LIST_rec;
988 QP_Price_List_Util.Clear_Dependent_Attr
989 ( p_attr_id => QP_Price_List_Util.G_DESCRIPTION
990 , p_PRICE_LIST_rec => g_p_PRICE_LIST_rec
991 , x_PRICE_LIST_rec => g_PRICE_LIST_rec
992 );
993 ELSE
994 g_PRICE_LIST_rec.description := NULL;
995 END IF;
996
997 END IF;
998
999 END IF;
1000
1001 IF g_PRICE_LIST_rec.list_header_id = FND_API.G_MISS_NUM THEN
1002
1003 g_PRICE_LIST_rec.list_header_id := Get_List_Header;
1004
1005 IF g_PRICE_LIST_rec.list_header_id IS NOT NULL THEN
1006
1007 IF QP_Validate.List_Header(g_PRICE_LIST_rec.list_header_id)
1008 THEN
1009 g_p_PRICE_LIST_rec := g_PRICE_LIST_rec;
1010 QP_Price_List_Util.Clear_Dependent_Attr
1014 );
1011 ( p_attr_id => QP_Price_List_Util.G_LIST_HEADER
1012 , p_PRICE_LIST_rec => g_p_PRICE_LIST_rec
1013 , x_PRICE_LIST_rec => g_PRICE_LIST_rec
1015 ELSE
1016 g_PRICE_LIST_rec.list_header_id := NULL;
1017 END IF;
1018
1019 END IF;
1020
1021 END IF;
1022
1023 IF g_PRICE_LIST_rec.list_type_code = FND_API.G_MISS_CHAR THEN
1024
1025 g_PRICE_LIST_rec.list_type_code := Get_List_Type;
1026
1027 IF g_PRICE_LIST_rec.list_type_code IS NOT NULL THEN
1028
1029 IF QP_Validate.List_Type(g_PRICE_LIST_rec.list_type_code)
1030 THEN
1031 g_p_PRICE_LIST_rec := g_PRICE_LIST_rec;
1032 QP_Price_List_Util.Clear_Dependent_Attr
1033 ( p_attr_id => QP_Price_List_Util.G_LIST_TYPE
1034 , p_PRICE_LIST_rec => g_p_PRICE_LIST_rec
1035 , x_PRICE_LIST_rec => g_PRICE_LIST_rec
1036 );
1037 ELSE
1038 g_PRICE_LIST_rec.list_type_code := NULL;
1039 END IF;
1040
1041 END IF;
1042
1043 END IF;
1044
1045 IF g_PRICE_LIST_rec.version_no = FND_API.G_MISS_CHAR THEN
1046
1047 g_PRICE_LIST_rec.version_no := Get_Version;
1048
1049 IF g_PRICE_LIST_rec.version_no IS NOT NULL THEN
1050
1051 IF QP_Validate.Version(g_PRICE_LIST_rec.version_no)
1052 THEN
1053 g_p_PRICE_LIST_rec := g_PRICE_LIST_rec;
1054 QP_Price_List_Util.Clear_Dependent_Attr
1055 ( p_attr_id => QP_Price_List_Util.G_VERSION_NO
1056 , p_PRICE_LIST_rec => g_p_PRICE_LIST_rec
1057 , x_PRICE_LIST_rec => g_PRICE_LIST_rec
1058 );
1059 ELSE
1060 g_PRICE_LIST_rec.version_no := NULL;
1061 END IF;
1062
1063 END IF;
1064
1065 END IF;
1066
1067 IF g_PRICE_LIST_rec.prorate_flag = FND_API.G_MISS_CHAR THEN
1068
1069 g_PRICE_LIST_rec.prorate_flag := Get_Prorate;
1070
1071 IF g_PRICE_LIST_rec.prorate_flag IS NOT NULL THEN
1072
1073 IF QP_Validate.Prorate(g_PRICE_LIST_rec.prorate_flag)
1074 THEN
1075 g_p_PRICE_LIST_rec := g_PRICE_LIST_rec;
1076 QP_Price_List_Util.Clear_Dependent_Attr
1077 ( p_attr_id => QP_Price_List_Util.G_PRORATE
1078 , p_PRICE_LIST_rec => g_p_PRICE_LIST_rec
1079 , x_PRICE_LIST_rec => g_PRICE_LIST_rec
1080 );
1081 ELSE
1082 g_PRICE_LIST_rec.prorate_flag := NULL;
1083 END IF;
1084
1085 END IF;
1086
1087 END IF;
1088
1089 IF g_PRICE_LIST_rec.rounding_factor = FND_API.G_MISS_NUM THEN
1090
1091 g_PRICE_LIST_rec.rounding_factor := Get_Rounding_Factor;
1092
1093 IF g_PRICE_LIST_rec.rounding_factor IS NOT NULL THEN
1094
1095 IF QP_Validate.Rounding_Factor(g_PRICE_LIST_rec.rounding_factor)
1096 THEN
1097 g_p_PRICE_LIST_rec := g_PRICE_LIST_rec;
1098 QP_Price_List_Util.Clear_Dependent_Attr
1099 ( p_attr_id => QP_Price_List_Util.G_ROUNDING_FACTOR
1100 , p_PRICE_LIST_rec => g_p_PRICE_LIST_rec
1101 , x_PRICE_LIST_rec => g_PRICE_LIST_rec
1102 );
1103 ELSE
1104 g_PRICE_LIST_rec.rounding_factor := NULL;
1105 END IF;
1106
1107 END IF;
1108
1109 END IF;
1110
1111 -- Multi-Currency SunilPandey
1112 IF g_PRICE_LIST_rec.currency_header_id = FND_API.G_MISS_NUM THEN
1113 g_PRICE_LIST_rec.currency_header_id := Get_Currency_Header;
1114 IF g_PRICE_LIST_rec.currency_header_id IS NOT NULL THEN
1115 IF QP_Validate.currency_header(g_PRICE_LIST_rec.currency_header_id)
1116 THEN
1117 g_p_PRICE_LIST_rec := g_PRICE_LIST_rec;
1118 QP_Price_List_Util.Clear_Dependent_Attr
1119 (p_attr_id => QP_Price_list_Util.G_CURRENCY_HEADER,
1120 p_PRICE_LIST_rec => g_p_PRICE_LIST_rec,
1121 x_PRICE_LIST_rec => g_PRICE_LIST_rec);
1122 ELSE
1123 g_PRICE_LIST_rec.currency_header_id := NULL;
1124 END IF;
1125 END IF;
1126 END IF;
1127
1128 IF g_PRICE_LIST_rec.ship_method_code = FND_API.G_MISS_CHAR THEN
1129
1130 g_PRICE_LIST_rec.ship_method_code := Get_Ship_Method;
1131
1132 IF g_PRICE_LIST_rec.ship_method_code IS NOT NULL THEN
1133
1134 IF QP_Validate.Ship_Method(g_PRICE_LIST_rec.ship_method_code)
1135 THEN
1136 g_p_PRICE_LIST_rec := g_PRICE_LIST_rec;
1137 QP_Price_List_Util.Clear_Dependent_Attr
1138 ( p_attr_id => QP_Price_List_Util.G_SHIP_METHOD
1139 , p_PRICE_LIST_rec => g_p_PRICE_LIST_rec
1140 , x_PRICE_LIST_rec => g_PRICE_LIST_rec
1141 );
1142 ELSE
1143 g_PRICE_LIST_rec.ship_method_code := NULL;
1144 END IF;
1145
1146 END IF;
1147
1148 END IF;
1149
1150 IF g_PRICE_LIST_rec.start_date_active = FND_API.G_MISS_DATE THEN
1151
1152 g_PRICE_LIST_rec.start_date_active := Get_Start_Date_Active;
1153
1157 oe_debug_pub.add('start date active is not null');
1154 /*
1155 IF g_PRICE_LIST_rec.start_date_active IS NOT NULL THEN
1156
1158
1159 IF QP_Validate.Start_Date_Active(g_PRICE_LIST_rec.start_date_active)
1160 THEN
1161 oe_debug_pub.add('valid start date');
1162 QP_Price_List_Util.Clear_Dependent_Attr
1163 ( p_attr_id => QP_Price_List_Util.G_START_DATE_ACTIVE
1164 , p_PRICE_LIST_rec => g_PRICE_LIST_rec
1165 , x_PRICE_LIST_rec => g_PRICE_LIST_rec
1166 );
1167 ELSE
1168 oe_debug_pub.add('setting start date to be null');
1169 g_PRICE_LIST_rec.start_date_active := NULL;
1170 END IF;
1171
1172 END IF;
1173 */
1174
1175 END IF;
1176
1177 IF g_PRICE_LIST_rec.terms_id = FND_API.G_MISS_NUM THEN
1178
1179 oe_debug_pub.add('defaulting terms id');
1180 g_PRICE_LIST_rec.terms_id := Get_Terms;
1181
1182 IF g_PRICE_LIST_rec.terms_id IS NOT NULL THEN
1183
1184 IF QP_Validate.Terms(g_PRICE_LIST_rec.terms_id)
1185 THEN
1186 g_p_PRICE_LIST_rec := g_PRICE_LIST_rec;
1187 QP_Price_List_Util.Clear_Dependent_Attr
1188 ( p_attr_id => QP_Price_List_Util.G_TERMS
1189 , p_PRICE_LIST_rec => g_p_PRICE_LIST_rec
1190 , x_PRICE_LIST_rec => g_PRICE_LIST_rec
1191 );
1192 ELSE
1193 g_PRICE_LIST_rec.terms_id := NULL;
1194 END IF;
1195
1196 END IF;
1197 oe_debug_pub.add('defaulted terms id');
1198
1199 END IF;
1200
1201 --Blanket Sales Order
1202 IF g_PRICE_LIST_rec.list_source_code = FND_API.G_MISS_CHAR THEN
1203
1204 g_PRICE_LIST_REC.list_source_code := Get_List_Source_Code;
1205
1206 IF g_PRICE_LIST_REC.list_source_code IS NOT NULL THEN
1207
1208 IF QP_Validate.List_Source_Code(g_PRICE_LIST_rec.list_source_code) THEN
1209 g_p_PRICE_LIST_rec := g_PRICE_LIST_rec;
1210 QP_Price_List_Util.Clear_Dependent_Attr
1211 ( p_attr_id => QP_Price_List_Util.G_LIST_SOURCE
1212 , p_PRICE_LIST_rec => g_p_PRICE_LIST_rec
1213 , x_PRICE_LIST_rec => g_PRICE_LIST_rec
1214 );
1215 ELSE
1216 oe_debug_pub.add('setting list_source_code and orig_system_header_ref to be null');
1217 g_PRICE_LIST_rec.list_source_code := NULL;
1218 END IF;
1219
1220 END IF;
1221 END IF;
1222
1223
1224 --Blanket Sales Order
1225 IF g_PRICE_LIST_rec.orig_system_header_ref = FND_API.G_MISS_CHAR THEN
1226
1227 g_PRICE_LIST_REC.orig_system_header_ref := Get_Orig_System_Header_ref;
1228
1229 /* IF g_PRICE_LIST_REC.orig_system_header_ref IS NOT NULL THEN
1230
1231 IF QP_Validate.List_Source_Code(g_PRICE_LIST_rec.list_source_code) THEN
1232 QP_Price_List_Util.Clear_Dependent_Attr
1233 ( p_attr_id => QP_Price_List_Util.G_LIST_SOURCE
1234 , p_PRICE_LIST_rec => g_PRICE_LIST_rec
1235 , x_PRICE_LIST_rec => g_PRICE_LIST_rec
1236 );
1237 ELSE
1238 oe_debug_pub.add('setting list_source_code and orig_system_header_ref to be null');
1239 g_PRICE_LIST_rec.list_source_code := NULL;
1240 END IF;
1241
1242 END IF;
1243 */
1244 END IF;
1245
1246 --Blanket pricing
1247 IF g_PRICE_LIST_rec.source_system_code = FND_API.G_MISS_CHAR THEN
1248
1249 g_PRICE_LIST_REC.source_system_code := Get_Source_System_Code;
1250
1251 IF g_PRICE_LIST_REC.source_system_code IS NOT NULL THEN
1252
1253 IF QP_Validate.Source_System(g_PRICE_LIST_rec.source_system_code) THEN
1254 g_p_PRICE_LIST_rec := g_PRICE_LIST_rec;
1255 QP_Price_List_Util.Clear_Dependent_Attr
1256 ( p_attr_id => QP_Price_List_Util.G_SOURCE_SYSTEM_CODE
1257 , p_PRICE_LIST_rec => g_p_PRICE_LIST_rec
1258 , x_PRICE_LIST_rec => g_PRICE_LIST_rec
1259 );
1260 ELSE
1261 oe_debug_pub.add('setting source_system_code to be null');
1262 g_PRICE_LIST_rec.source_system_code := NULL;
1263 END IF;
1264
1265 END IF;
1266 END IF;
1267
1268 IF g_PRICE_LIST_rec.shareable_flag = FND_API.G_MISS_CHAR THEN
1269
1270 g_PRICE_LIST_REC.shareable_flag := Get_Shareable_Flag;
1271
1272 IF g_PRICE_LIST_REC.shareable_flag IS NOT NULL THEN
1273
1274 IF QP_Validate.Shareable_Flag(g_PRICE_LIST_rec.shareable_flag) THEN
1275 g_p_PRICE_LIST_rec := g_PRICE_LIST_rec;
1276 QP_Price_List_Util.Clear_Dependent_Attr
1277 ( p_attr_id => QP_Price_List_Util.G_SHAREABLE_FLAG
1278 , p_PRICE_LIST_rec => g_p_PRICE_LIST_rec
1279 , x_PRICE_LIST_rec => g_PRICE_LIST_rec
1280 );
1281 ELSE
1282 oe_debug_pub.add('setting shareable_flag to be null');
1283 g_PRICE_LIST_rec.shareable_flag := NULL;
1284 END IF;
1285
1286 END IF;
1287 END IF;
1288
1289
1290 IF g_PRICE_LIST_rec.sold_to_org_id = FND_API.G_MISS_NUM THEN
1294 IF g_PRICE_LIST_REC.sold_to_org_id IS NOT NULL THEN
1291
1292 g_PRICE_LIST_REC.sold_to_org_id := Get_Sold_To_Org_Id;
1293
1295
1296 IF QP_Validate.Sold_To_Org_Id(g_PRICE_LIST_rec.sold_to_org_id) THEN
1297 g_p_PRICE_LIST_rec := g_PRICE_LIST_rec;
1298 QP_Price_List_Util.Clear_Dependent_Attr
1299 ( p_attr_id => QP_Price_List_Util.G_SOLD_TO_ORG_ID
1300 , p_PRICE_LIST_rec => g_p_PRICE_LIST_rec
1301 , x_PRICE_LIST_rec => g_PRICE_LIST_rec
1302 );
1303 ELSE
1304 oe_debug_pub.add('setting sold_to_org_id to be null');
1305 g_PRICE_LIST_rec.sold_to_org_id := NULL;
1306 END IF;
1307
1308 END IF;
1309 END IF;
1310
1311 IF g_PRICE_LIST_rec.locked_from_list_header_id = FND_API.G_MISS_NUM THEN
1312
1313 g_PRICE_LIST_REC.locked_from_list_header_id := Get_Locked_From_List_Header_Id;
1314
1315 IF g_PRICE_LIST_REC.locked_from_list_header_id IS NOT NULL THEN
1316
1317 IF QP_Validate.Locked_From_list_Header_Id(g_PRICE_LIST_rec.locked_from_list_header_id) THEN
1318 g_p_PRICE_LIST_rec := g_PRICE_LIST_rec;
1319 QP_Price_List_Util.Clear_Dependent_Attr
1320 ( p_attr_id => QP_Price_List_Util.G_LOCKED_FROM_LIST_HEADER
1321 , p_PRICE_LIST_rec => g_p_PRICE_LIST_rec
1322 , x_PRICE_LIST_rec => g_PRICE_LIST_rec
1323 );
1324 ELSE
1325 oe_debug_pub.add('setting locked_from_list_header_id to be null');
1326 g_PRICE_LIST_rec.locked_from_list_header_id := NULL;
1327 END IF;
1328
1329 END IF;
1330 END IF;
1331
1332 --added for MOAC
1333 IF g_PRICE_LIST_rec.org_id = FND_API.G_MISS_NUM THEN
1334
1335 IF g_PRICE_LIST_rec.global_flag = 'N' THEN
1336 --global_flag defaulting happens before org_id defaulting
1337 g_PRICE_LIST_REC.org_id := Get_Org_Id;
1338 ELSE
1339 g_PRICE_LIST_REC.org_id := null;
1340 END IF;
1341
1342
1343 IF g_PRICE_LIST_REC.org_id IS NOT NULL THEN
1344
1345 IF QP_Validate.Org_id(g_PRICE_LIST_rec.org_id) THEN
1346 g_p_PRICE_LIST_rec := g_PRICE_LIST_rec;
1347 QP_Price_List_Util.Clear_Dependent_Attr
1348 ( p_attr_id => QP_Price_List_Util.G_ORG_ID
1349 , p_PRICE_LIST_rec => g_p_PRICE_LIST_rec
1350 , x_PRICE_LIST_rec => g_PRICE_LIST_rec
1351 );
1352 ELSE
1353 oe_debug_pub.add('setting ORG_ID to be null');
1354 g_PRICE_LIST_rec.org_id := NULL;
1355 END IF;
1356
1357 END IF;
1358 END IF;
1359
1360 IF g_PRICE_LIST_rec.attribute1 = FND_API.G_MISS_CHAR
1361 OR g_PRICE_LIST_rec.attribute10 = FND_API.G_MISS_CHAR
1362 OR g_PRICE_LIST_rec.attribute11 = FND_API.G_MISS_CHAR
1363 OR g_PRICE_LIST_rec.attribute12 = FND_API.G_MISS_CHAR
1364 OR g_PRICE_LIST_rec.attribute13 = FND_API.G_MISS_CHAR
1365 OR g_PRICE_LIST_rec.attribute14 = FND_API.G_MISS_CHAR
1366 OR g_PRICE_LIST_rec.attribute15 = FND_API.G_MISS_CHAR
1367 OR g_PRICE_LIST_rec.attribute2 = FND_API.G_MISS_CHAR
1368 OR g_PRICE_LIST_rec.attribute3 = FND_API.G_MISS_CHAR
1369 OR g_PRICE_LIST_rec.attribute4 = FND_API.G_MISS_CHAR
1370 OR g_PRICE_LIST_rec.attribute5 = FND_API.G_MISS_CHAR
1371 OR g_PRICE_LIST_rec.attribute6 = FND_API.G_MISS_CHAR
1372 OR g_PRICE_LIST_rec.attribute7 = FND_API.G_MISS_CHAR
1373 OR g_PRICE_LIST_rec.attribute8 = FND_API.G_MISS_CHAR
1374 OR g_PRICE_LIST_rec.attribute9 = FND_API.G_MISS_CHAR
1375 OR g_PRICE_LIST_rec.context = FND_API.G_MISS_CHAR
1376 THEN
1377
1378 oe_debug_Pub.add('getting flex field info');
1379
1380 Get_Flex_Price_List;
1381 oe_debug_Pub.add('after getting flex field');
1382
1383 END IF;
1384
1385 IF g_PRICE_LIST_rec.created_by = FND_API.G_MISS_NUM THEN
1386
1387 g_PRICE_LIST_rec.created_by := NULL;
1388
1389 END IF;
1390
1391 IF g_PRICE_LIST_rec.creation_date = FND_API.G_MISS_DATE THEN
1392
1393 g_PRICE_LIST_rec.creation_date := NULL;
1394
1395 END IF;
1396
1397 IF g_PRICE_LIST_rec.last_updated_by = FND_API.G_MISS_NUM THEN
1398
1399 g_PRICE_LIST_rec.last_updated_by := NULL;
1400
1401 END IF;
1402
1403 IF g_PRICE_LIST_rec.last_update_date = FND_API.G_MISS_DATE THEN
1404
1405 g_PRICE_LIST_rec.last_update_date := NULL;
1406
1407 END IF;
1408
1409 IF g_PRICE_LIST_rec.last_update_login = FND_API.G_MISS_NUM THEN
1410
1411 g_PRICE_LIST_rec.last_update_login := NULL;
1412
1413 END IF;
1414
1415 IF g_PRICE_LIST_rec.program_application_id = FND_API.G_MISS_NUM THEN
1416
1417 g_PRICE_LIST_rec.program_application_id := NULL;
1418
1419 END IF;
1420
1421 IF g_PRICE_LIST_rec.program_id = FND_API.G_MISS_NUM THEN
1422
1423 g_PRICE_LIST_rec.program_id := NULL;
1424
1425 END IF;
1426
1427 IF g_PRICE_LIST_rec.program_update_date = FND_API.G_MISS_DATE THEN
1428
1429 g_PRICE_LIST_rec.program_update_date := NULL;
1430
1431 END IF;
1432
1433 IF g_PRICE_LIST_rec.request_id = FND_API.G_MISS_NUM THEN
1434
1435 g_PRICE_LIST_rec.request_id := NULL;
1436
1437 END IF;
1438
1439 -- Redefault if there are any missing attributes.
1440
1441 IF g_PRICE_LIST_rec.attribute1 = FND_API.G_MISS_CHAR
1442 OR g_PRICE_LIST_rec.attribute10 = FND_API.G_MISS_CHAR
1443 OR g_PRICE_LIST_rec.attribute11 = FND_API.G_MISS_CHAR
1444 OR g_PRICE_LIST_rec.attribute12 = FND_API.G_MISS_CHAR
1445 OR g_PRICE_LIST_rec.attribute13 = FND_API.G_MISS_CHAR
1446 OR g_PRICE_LIST_rec.attribute14 = FND_API.G_MISS_CHAR
1447 OR g_PRICE_LIST_rec.attribute15 = FND_API.G_MISS_CHAR
1448 OR g_PRICE_LIST_rec.attribute2 = FND_API.G_MISS_CHAR
1449 OR g_PRICE_LIST_rec.attribute3 = FND_API.G_MISS_CHAR
1450 OR g_PRICE_LIST_rec.attribute4 = FND_API.G_MISS_CHAR
1451 OR g_PRICE_LIST_rec.attribute5 = FND_API.G_MISS_CHAR
1452 OR g_PRICE_LIST_rec.attribute6 = FND_API.G_MISS_CHAR
1453 OR g_PRICE_LIST_rec.attribute7 = FND_API.G_MISS_CHAR
1454 OR g_PRICE_LIST_rec.attribute8 = FND_API.G_MISS_CHAR
1455 OR g_PRICE_LIST_rec.attribute9 = FND_API.G_MISS_CHAR
1456 OR g_PRICE_LIST_rec.automatic_flag = FND_API.G_MISS_CHAR
1457 OR g_PRICE_LIST_rec.comments = FND_API.G_MISS_CHAR
1458 OR g_PRICE_LIST_rec.context = FND_API.G_MISS_CHAR
1459 OR g_PRICE_LIST_rec.created_by = FND_API.G_MISS_NUM
1460 OR g_PRICE_LIST_rec.creation_date = FND_API.G_MISS_DATE
1461 OR g_PRICE_LIST_rec.currency_code = FND_API.G_MISS_CHAR
1462 OR g_PRICE_LIST_rec.discount_lines_flag = FND_API.G_MISS_CHAR
1463 OR g_PRICE_LIST_rec.end_date_active = FND_API.G_MISS_DATE
1464 OR g_PRICE_LIST_rec.freight_terms_code = FND_API.G_MISS_CHAR
1465 OR g_PRICE_LIST_rec.gsa_indicator = FND_API.G_MISS_CHAR
1466 OR g_PRICE_LIST_rec.last_updated_by = FND_API.G_MISS_NUM
1467 OR g_PRICE_LIST_rec.last_update_date = FND_API.G_MISS_DATE
1468 OR g_PRICE_LIST_rec.last_update_login = FND_API.G_MISS_NUM
1469 OR g_PRICE_LIST_rec.list_header_id = FND_API.G_MISS_NUM
1470 OR g_PRICE_LIST_rec.list_type_code = FND_API.G_MISS_CHAR
1471 OR g_PRICE_LIST_rec.version_no = FND_API.G_MISS_CHAR
1472 OR g_PRICE_LIST_rec.program_application_id = FND_API.G_MISS_NUM
1473 OR g_PRICE_LIST_rec.program_id = FND_API.G_MISS_NUM
1474 OR g_PRICE_LIST_rec.program_update_date = FND_API.G_MISS_DATE
1475 OR g_PRICE_LIST_rec.prorate_flag = FND_API.G_MISS_CHAR
1476 OR g_PRICE_LIST_rec.request_id = FND_API.G_MISS_NUM
1477 OR g_PRICE_LIST_rec.rounding_factor = FND_API.G_MISS_NUM
1478 OR g_PRICE_LIST_rec.ship_method_code = FND_API.G_MISS_CHAR
1479 OR g_PRICE_LIST_rec.start_date_active = FND_API.G_MISS_DATE
1480 OR g_PRICE_LIST_rec.terms_id = FND_API.G_MISS_NUM
1481 THEN
1482
1483 oe_debug_pub.add('redefault attributes 1');
1484
1485 QP_Default_Price_List.Attributes
1486 ( p_PRICE_LIST_rec => g_PRICE_LIST_rec
1487 , p_iteration => p_iteration + 1
1488 , x_PRICE_LIST_rec => x_PRICE_LIST_rec
1489 );
1490
1491 oe_debug_pub.add('redefault attributes 2');
1492
1493 ELSE
1494
1495 -- Done defaulting attributes
1496
1497 x_PRICE_LIST_rec := g_PRICE_LIST_rec;
1498
1499 END IF;
1500
1501 oe_debug_pub.add('exiting attributes');
1502
1503 END Attributes;
1504
1505 END QP_Default_Price_List;