171: IS
172: l_adj_line_rec OZF_Offer_Adj_Line_PVT.offadj_line_rec_type;
173: l_offer_adjustment_line_id NUMBER;
174: BEGIN
175: x_return_status := FND_API.G_RET_STS_SUCCESS;
176: -- loop thru the lines
177: -- for lines with operation = create , eleminate the dis lines for multi-tier
178: -- for these lines create adjustment_lines with created_from_adjustment= y
179:
183:
184: IF p_modifiers_tbl(k).operation <> 'CREATE' THEN
185: null;
186: ELSIF p_modifiers_tbl(k).list_line_type_code = 'DIS'
187: AND p_modifiers_tbl(k).modifier_parent_index <> FND_API.G_MISS_NUM
188: AND p_modifiers_tbl(k).modifier_parent_index IS NOT NULL
189: THEN
190: null;
191: ELSE
202: l_adj_line_rec.original_discount := -1;
203: END IF;
204: OZF_Offer_Adj_Line_PVT.Create_Offer_Adj_Line(
205: p_api_version_number => 1.0
206: , p_init_msg_list => FND_API.G_FALSE
207: , p_commit => FND_API.G_FALSE
208: , p_validation_level => FND_API.G_VALID_LEVEL_FULL
209: , x_return_status => x_return_status
210: , x_msg_count => x_msg_count
203: END IF;
204: OZF_Offer_Adj_Line_PVT.Create_Offer_Adj_Line(
205: p_api_version_number => 1.0
206: , p_init_msg_list => FND_API.G_FALSE
207: , p_commit => FND_API.G_FALSE
208: , p_validation_level => FND_API.G_VALID_LEVEL_FULL
209: , x_return_status => x_return_status
210: , x_msg_count => x_msg_count
211: , x_msg_data => x_msg_data
204: OZF_Offer_Adj_Line_PVT.Create_Offer_Adj_Line(
205: p_api_version_number => 1.0
206: , p_init_msg_list => FND_API.G_FALSE
207: , p_commit => FND_API.G_FALSE
208: , p_validation_level => FND_API.G_VALID_LEVEL_FULL
209: , x_return_status => x_return_status
210: , x_msg_count => x_msg_count
211: , x_msg_data => x_msg_data
212: -- p_offadj_line_rec IN offadj_line_rec_type := g_miss_offadj_line_rec,
213: , p_offadj_line_rec => l_adj_line_rec
214: , x_offer_adjustment_line_id => l_offer_adjustment_line_id
215: );
216:
217: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
218: return;
219: END IF;
220: END IF;
221: END IF;
248: -- loop thru. dis lines
249: -- populate discounts
250: -- populate pricing_attributes
251: -- merge pricing_attributes
252: x_return_status := FND_API.G_RET_STS_SUCCESS;
253: x_modifier_line_tbl.delete;
254: x_pricing_attr_tbl.delete;
255: l_pricing_attr_tbl.delete;
256: i := 2;
295: IS
296: l_modifier_line_tbl qp_modifiers_pub.modifiers_tbl_type;
297: l_pricing_attr_tbl QP_MODIFIERS_PUB.Pricing_Attr_Tbl_Type;
298: BEGIN
299: x_return_status := FND_API.G_RET_STS_SUCCESS;
300: OZF_VOLUME_OFFER_ADJ.populate_pbh_line
301: (
302: x_return_status => x_return_status
303: , x_msg_count => x_msg_count
305: , p_listLineId => p_pbhListLineId
306: , x_modifier_line_tbl => x_modifier_line_tbl
307: , x_pricing_attr_tbl => x_pricing_attr_tbl
308: );
309: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
310: RAISE FND_API.G_EXC_ERROR;
311: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
312: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
313: END IF;
306: , x_modifier_line_tbl => x_modifier_line_tbl
307: , x_pricing_attr_tbl => x_pricing_attr_tbl
308: );
309: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
310: RAISE FND_API.G_EXC_ERROR;
311: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
312: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
313: END IF;
314: populateDisLines
307: , x_pricing_attr_tbl => x_pricing_attr_tbl
308: );
309: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
310: RAISE FND_API.G_EXC_ERROR;
311: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
312: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
313: END IF;
314: populateDisLines
315: (
308: );
309: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
310: RAISE FND_API.G_EXC_ERROR;
311: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
312: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
313: END IF;
314: populateDisLines
315: (
316: x_return_status => x_return_status
319: , p_pbhListLineId => p_pbhListLineId
320: , x_modifier_line_tbl => l_modifier_line_tbl
321: , x_pricing_attr_tbl => l_pricing_attr_tbl
322: );
323: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
324: RAISE FND_API.G_EXC_ERROR;
325: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
326: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
327: END IF;
320: , x_modifier_line_tbl => l_modifier_line_tbl
321: , x_pricing_attr_tbl => l_pricing_attr_tbl
322: );
323: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
324: RAISE FND_API.G_EXC_ERROR;
325: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
326: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
327: END IF;
328:
321: , x_pricing_attr_tbl => l_pricing_attr_tbl
322: );
323: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
324: RAISE FND_API.G_EXC_ERROR;
325: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
326: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
327: END IF;
328:
329: OZF_VOLUME_OFFER_ADJ.merge_pricing_attributes
322: );
323: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
324: RAISE FND_API.G_EXC_ERROR;
325: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
326: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
327: END IF;
328:
329: OZF_VOLUME_OFFER_ADJ.merge_pricing_attributes
330: (
368: AND a.offer_adjustment_id (+) = cp_offerAdjustmentId
369: ORDER BY b.to_rltd_modifier_id asc;
370: i NUMBER;
371: BEGIN
372: x_return_status := FND_API.G_RET_STS_SUCCESS;
373: i := 2;
374: FOR l_discounts IN c_discounts(cp_offerAdjustmentId => p_offerAdjustmentId, cp_pbhListLineId => p_pbhListLineId) LOOP
375: px_modifier_line_tbl(i).operand := l_discounts.discount;
376: i := i + 1;
394: SELECT *
395: FROM qp_limits
396: WHERE limit_id = cp_limitId;
397: BEGIN
398: x_return_status := FND_API.G_RET_STS_SUCCESS;
399: x_limits_rec := null;
400: FOR l_limits IN c_limits(cp_limitId => p_limitId) LOOP
401: x_limits_rec.attribute1 := l_limits.attribute1 ;
402: x_limits_rec.attribute10 := l_limits.attribute10 ;
413: x_limits_rec.attribute7 := l_limits.attribute7 ;
414: x_limits_rec.attribute8 := l_limits.attribute8 ;
415: x_limits_rec.attribute9 := l_limits.attribute9 ;
416: x_limits_rec.context := l_limits.context ;
417: x_limits_rec.limit_id := FND_API.G_MISS_NUM;
418: x_limits_rec.multival_attr1_type := l_limits.multival_attr1_type ;
419: x_limits_rec.multival_attr1_context := l_limits.multival_attr1_context ;
420: x_limits_rec.multival_attribute1 := l_limits.multival_attribute1 ;
421: x_limits_rec.multival_attr1_datatype := l_limits.multival_attr1_datatype ;
453: FROM qp_list_lines
454: WHERE list_line_id = cp_listLineId;
455: l_listHeaderId NUMBER;
456: BEGIN
457: x_return_status := FND_API.G_RET_STS_SUCCESS;
458: OPEN c_listHeaderId(cp_listLineId => p_toListLineId);
459: FETCH c_listHeaderId INTO l_listHeaderId;
460: CLOSE c_listHeaderId;
461: IF px_limitsRec.OPERATION IS NOT NULL OR px_limitsRec.OPERATION <> FND_API.G_MISS_CHAR THEN
457: x_return_status := FND_API.G_RET_STS_SUCCESS;
458: OPEN c_listHeaderId(cp_listLineId => p_toListLineId);
459: FETCH c_listHeaderId INTO l_listHeaderId;
460: CLOSE c_listHeaderId;
461: IF px_limitsRec.OPERATION IS NOT NULL OR px_limitsRec.OPERATION <> FND_API.G_MISS_CHAR THEN
462: px_limitsRec.list_line_id := p_toListLineId;
463: px_limitsRec.list_header_id := l_listHeaderId;
464: END IF;
465: END processLimitsRec;
487: -- initialize
488: -- populate limits records
489: -- process the limits records
490: -- create limits
491: x_return_status := FND_API.G_RET_STS_SUCCESS;
492:
493: FOR l_limits in (SELECT limit_id, list_line_id FROM qp_limits WHERE list_line_id = p_fromListLineId) LOOP
494: populate_limits_rec
495: (
496: x_limits_rec => l_limitsRec
497: , x_return_status => x_return_status
498: , p_limitId => l_limits.limit_id
499: );
500: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
501: RAISE FND_API.G_EXC_ERROR;
502: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
503: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
504: END IF;
497: , x_return_status => x_return_status
498: , p_limitId => l_limits.limit_id
499: );
500: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
501: RAISE FND_API.G_EXC_ERROR;
502: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
503: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
504: END IF;
505: processLimitsRec
498: , p_limitId => l_limits.limit_id
499: );
500: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
501: RAISE FND_API.G_EXC_ERROR;
502: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
503: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
504: END IF;
505: processLimitsRec
506: (
499: );
500: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
501: RAISE FND_API.G_EXC_ERROR;
502: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
503: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
504: END IF;
505: processLimitsRec
506: (
507: x_return_status => x_return_status
509: , x_msg_data => x_msg_data
510: , px_limitsRec => l_limitsRec
511: , p_toListLineId => p_toListLineId
512: );
513: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
514: RAISE FND_API.G_EXC_ERROR;
515: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
516: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
517: END IF;
510: , px_limitsRec => l_limitsRec
511: , p_toListLineId => p_toListLineId
512: );
513: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
514: RAISE FND_API.G_EXC_ERROR;
515: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
516: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
517: END IF;
518: QP_Limits_PUB.Process_Limits
511: , p_toListLineId => p_toListLineId
512: );
513: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
514: RAISE FND_API.G_EXC_ERROR;
515: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
516: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
517: END IF;
518: QP_Limits_PUB.Process_Limits
519: ( p_init_msg_list => FND_API.g_true,
512: );
513: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
514: RAISE FND_API.G_EXC_ERROR;
515: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
516: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
517: END IF;
518: QP_Limits_PUB.Process_Limits
519: ( p_init_msg_list => FND_API.g_true,
520: p_api_version_number => 1.0,
515: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
516: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
517: END IF;
518: QP_Limits_PUB.Process_Limits
519: ( p_init_msg_list => FND_API.g_true,
520: p_api_version_number => 1.0,
521: p_commit => FND_API.g_false,
522: x_return_status => x_return_status,
523: x_msg_count => x_msg_count,
517: END IF;
518: QP_Limits_PUB.Process_Limits
519: ( p_init_msg_list => FND_API.g_true,
520: p_api_version_number => 1.0,
521: p_commit => FND_API.g_false,
522: x_return_status => x_return_status,
523: x_msg_count => x_msg_count,
524: x_msg_data => x_msg_data,
525: p_LIMITS_rec => l_limitsRec,
529: x_LIMIT_ATTRS_val_tbl => v_LIMIT_ATTRS_val_tbl,
530: x_LIMIT_BALANCES_tbl => v_LIMIT_BALANCES_tbl,
531: x_LIMIT_BALANCES_val_tbl => v_LIMIT_BALANCES_val_tbl
532: );
533: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
534: return;
535: END IF;
536: END LOOP;
537:
582: FROM qp_qualifiers
583: WHERE list_line_id = cp_listLineId;
584: i NUMBER;
585: BEGIN
586: --x_return_status := FND_API.G_RET_STS_SUCCESS;
587: x_qualifiers_tbl.delete;
588: i := 1;
589: FOR l_qualifiers in c_qualifiers(cp_listLineId => p_listLineId) LOOP
590: x_qualifiers_tbl(i).qualifier_grouping_no := l_qualifiers.qualifier_grouping_no;
624: , p_listLineId IN NUMBER
625: )
626: IS
627: BEGIN
628: --x_return_status := FND_API.G_RET_STS_SUCCESS;
629: IF nvl(px_qualifiers_tbl.count,0) > 0 THEN
630: FOR i in px_qualifiers_tbl.first .. px_qualifiers_tbl.last LOOP
631: IF px_qualifiers_tbl.exists(i) THEN
632: px_qualifiers_tbl(i).operation := QP_GLOBALS.G_OPR_CREATE;
664: --initialize
665: -- populate qualifiers
666: -- populate the new list line into the qualifiers
667: -- create qualifiers
668: x_return_status := FND_API.G_RET_STS_SUCCESS;
669: l_qualifiers_tbl.delete;
670: populateQualifiers
671: (
672: x_qualifiers_tbl => l_qualifiers_tbl
671: (
672: x_qualifiers_tbl => l_qualifiers_tbl
673: , p_listLineId => p_fromListLineId
674: );
675: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
676: RAISE FND_API.G_EXC_ERROR;
677: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
678: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
679: END IF;
672: x_qualifiers_tbl => l_qualifiers_tbl
673: , p_listLineId => p_fromListLineId
674: );
675: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
676: RAISE FND_API.G_EXC_ERROR;
677: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
678: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
679: END IF;
680: processQualifierTable
673: , p_listLineId => p_fromListLineId
674: );
675: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
676: RAISE FND_API.G_EXC_ERROR;
677: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
678: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
679: END IF;
680: processQualifierTable
681: (
674: );
675: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
676: RAISE FND_API.G_EXC_ERROR;
677: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
678: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
679: END IF;
680: processQualifierTable
681: (
682: px_qualifiers_tbl => l_qualifiers_tbl
681: (
682: px_qualifiers_tbl => l_qualifiers_tbl
683: , p_listLineId => p_toListLineId
684: );
685: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
686: RAISE FND_API.G_EXC_ERROR;
687: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
688: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
689: END IF;
682: px_qualifiers_tbl => l_qualifiers_tbl
683: , p_listLineId => p_toListLineId
684: );
685: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
686: RAISE FND_API.G_EXC_ERROR;
687: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
688: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
689: END IF;
690: QP_Modifiers_PUB.process_modifiers(
683: , p_listLineId => p_toListLineId
684: );
685: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
686: RAISE FND_API.G_EXC_ERROR;
687: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
688: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
689: END IF;
690: QP_Modifiers_PUB.process_modifiers(
691: p_api_version_number => 1.0,
684: );
685: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
686: RAISE FND_API.G_EXC_ERROR;
687: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
688: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
689: END IF;
690: QP_Modifiers_PUB.process_modifiers(
691: p_api_version_number => 1.0,
692: p_init_msg_list => FND_API.G_FALSE,
688: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
689: END IF;
690: QP_Modifiers_PUB.process_modifiers(
691: p_api_version_number => 1.0,
692: p_init_msg_list => FND_API.G_FALSE,
693: p_return_values => FND_API.G_FALSE,
694: x_return_status => x_return_status,
695: x_msg_count => x_msg_count,
696: x_msg_data => x_msg_data,
689: END IF;
690: QP_Modifiers_PUB.process_modifiers(
691: p_api_version_number => 1.0,
692: p_init_msg_list => FND_API.G_FALSE,
693: p_return_values => FND_API.G_FALSE,
694: x_return_status => x_return_status,
695: x_msg_count => x_msg_count,
696: x_msg_data => x_msg_data,
697: p_qualifiers_tbl => l_qualifiers_tbl,
703: x_qualifiers_val_tbl => v_qualifiers_val_tbl,
704: x_pricing_attr_tbl => v_pricing_attr_tbl,
705: x_pricing_attr_val_tbl => v_pricing_attr_val_tbl
706: );
707: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
708: RAISE FND_API.G_EXC_ERROR;
709: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
710: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
711: END IF;
704: x_pricing_attr_tbl => v_pricing_attr_tbl,
705: x_pricing_attr_val_tbl => v_pricing_attr_val_tbl
706: );
707: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
708: RAISE FND_API.G_EXC_ERROR;
709: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
710: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
711: END IF;
712: END copyQualifiers;
705: x_pricing_attr_val_tbl => v_pricing_attr_val_tbl
706: );
707: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
708: RAISE FND_API.G_EXC_ERROR;
709: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
710: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
711: END IF;
712: END copyQualifiers;
713:
706: );
707: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
708: RAISE FND_API.G_EXC_ERROR;
709: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
710: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
711: END IF;
712: END copyQualifiers;
713:
714: /**
724: ,p_modifier_line_tbl IN qp_modifiers_pub.modifiers_tbl_type
725: )
726: IS
727: BEGIN
728: x_return_status := FND_API.G_RET_STS_SUCCESS;
729: IF nvl(p_modifier_line_tbl.count,0) > 0 THEN
730: FOR i in p_modifier_line_tbl.first .. p_modifier_line_tbl.last LOOP
731: IF p_modifier_line_tbl.exists(i) THEN
732: copyQualifiers
736: , x_msg_data => x_msg_data
737: , p_fromListLineId => to_number( p_modifier_line_tbl(i).comments)
738: , p_toListLineId => p_modifier_line_tbl(i).list_line_id
739: );
740: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
741: return;
742: END IF;
743: END IF;
744: END LOOP;
758: ,p_modifier_line_tbl IN qp_modifiers_pub.modifiers_tbl_type
759: )
760: IS
761: BEGIN
762: x_return_status := FND_API.G_RET_STS_SUCCESS;
763: IF nvl(p_modifier_line_tbl.count,0) > 0 THEN
764: FOR i in p_modifier_line_tbl.first .. p_modifier_line_tbl.last LOOP
765: IF p_modifier_line_tbl.exists(i) THEN
766: copyLimits
770: , x_msg_data => x_msg_data
771: , p_fromListLineId => to_number( p_modifier_line_tbl(i).comments)
772: , p_toListLineId => p_modifier_line_tbl(i).list_line_id
773: );
774: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
775: return;
776: END IF;
777: END IF;
778: END LOOP;
812: -- copy list line
813: -- copy qualifiers
814: -- copy limits
815: -- return created lines
816: x_return_status := FND_API.G_RET_STS_SUCCESS;
817: x_modifier_line_tbl.delete;
818: populatePbhStructure
819: (
820: x_return_status => x_return_status
823: ,p_pbhListLineId => p_pbhListLineId
824: ,x_modifier_line_tbl => l_modifier_line_tbl
825: , x_pricing_attr_tbl => l_pricing_attr_tbl
826: );
827: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
828: RAISE FND_API.G_EXC_ERROR;
829: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
830: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
831: END IF;
824: ,x_modifier_line_tbl => l_modifier_line_tbl
825: , x_pricing_attr_tbl => l_pricing_attr_tbl
826: );
827: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
828: RAISE FND_API.G_EXC_ERROR;
829: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
830: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
831: END IF;
832: processPbhStructure
825: , x_pricing_attr_tbl => l_pricing_attr_tbl
826: );
827: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
828: RAISE FND_API.G_EXC_ERROR;
829: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
830: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
831: END IF;
832: processPbhStructure
833: (
826: );
827: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
828: RAISE FND_API.G_EXC_ERROR;
829: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
830: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
831: END IF;
832: processPbhStructure
833: (
834: x_return_status => x_return_status
838: ,p_offerAdjustmentId => p_offerAdjustmentId
839: ,px_modifier_line_tbl => l_modifier_line_tbl
840: , px_pricing_attr_tbl => l_pricing_attr_tbl
841: );
842: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
843: RAISE FND_API.G_EXC_ERROR;
844: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
845: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
846: END IF;
839: ,px_modifier_line_tbl => l_modifier_line_tbl
840: , px_pricing_attr_tbl => l_pricing_attr_tbl
841: );
842: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
843: RAISE FND_API.G_EXC_ERROR;
844: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
845: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
846: END IF;
847: QP_Modifiers_PUB.process_modifiers(
840: , px_pricing_attr_tbl => l_pricing_attr_tbl
841: );
842: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
843: RAISE FND_API.G_EXC_ERROR;
844: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
845: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
846: END IF;
847: QP_Modifiers_PUB.process_modifiers(
848: p_api_version_number => 1.0,
841: );
842: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
843: RAISE FND_API.G_EXC_ERROR;
844: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
845: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
846: END IF;
847: QP_Modifiers_PUB.process_modifiers(
848: p_api_version_number => 1.0,
849: p_init_msg_list => FND_API.G_FALSE,
845: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
846: END IF;
847: QP_Modifiers_PUB.process_modifiers(
848: p_api_version_number => 1.0,
849: p_init_msg_list => FND_API.G_FALSE,
850: p_return_values => FND_API.G_FALSE,
851: x_return_status => x_return_status,
852: x_msg_count => x_msg_count,
853: x_msg_data => x_msg_data,
846: END IF;
847: QP_Modifiers_PUB.process_modifiers(
848: p_api_version_number => 1.0,
849: p_init_msg_list => FND_API.G_FALSE,
850: p_return_values => FND_API.G_FALSE,
851: x_return_status => x_return_status,
852: x_msg_count => x_msg_count,
853: x_msg_data => x_msg_data,
854: p_modifiers_tbl => l_modifier_line_tbl,
861: x_qualifiers_val_tbl => v_qualifiers_val_tbl,
862: x_pricing_attr_tbl => v_pricing_attr_tbl,
863: x_pricing_attr_val_tbl => v_pricing_attr_val_tbl
864: );
865: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
866: RAISE FND_API.G_EXC_ERROR;
867: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
868: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
869: END IF;
862: x_pricing_attr_tbl => v_pricing_attr_tbl,
863: x_pricing_attr_val_tbl => v_pricing_attr_val_tbl
864: );
865: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
866: RAISE FND_API.G_EXC_ERROR;
867: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
868: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
869: END IF;
870: copyQualifier
863: x_pricing_attr_val_tbl => v_pricing_attr_val_tbl
864: );
865: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
866: RAISE FND_API.G_EXC_ERROR;
867: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
868: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
869: END IF;
870: copyQualifier
871: (
864: );
865: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
866: RAISE FND_API.G_EXC_ERROR;
867: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
868: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
869: END IF;
870: copyQualifier
871: (
872: x_return_status => x_return_status
873: ,x_msg_count => x_msg_count
874: ,x_msg_data => x_msg_data
875: ,p_modifier_line_tbl => v_modifiers_tbl
876: );
877: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
878: RAISE FND_API.G_EXC_ERROR;
879: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
880: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
881: END IF;
874: ,x_msg_data => x_msg_data
875: ,p_modifier_line_tbl => v_modifiers_tbl
876: );
877: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
878: RAISE FND_API.G_EXC_ERROR;
879: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
880: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
881: END IF;
882: copyLimit
875: ,p_modifier_line_tbl => v_modifiers_tbl
876: );
877: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
878: RAISE FND_API.G_EXC_ERROR;
879: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
880: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
881: END IF;
882: copyLimit
883: (
876: );
877: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
878: RAISE FND_API.G_EXC_ERROR;
879: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
880: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
881: END IF;
882: copyLimit
883: (
884: x_return_status => x_return_status
885: ,x_msg_count => x_msg_count
886: ,x_msg_data => x_msg_data
887: ,p_modifier_line_tbl => v_modifiers_tbl
888: );
889: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
890: RAISE FND_API.G_EXC_ERROR;
891: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
892: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
893: END IF;
886: ,x_msg_data => x_msg_data
887: ,p_modifier_line_tbl => v_modifiers_tbl
888: );
889: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
890: RAISE FND_API.G_EXC_ERROR;
891: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
892: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
893: END IF;
894: x_modifier_line_tbl := v_modifiers_tbl;
887: ,p_modifier_line_tbl => v_modifiers_tbl
888: );
889: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
890: RAISE FND_API.G_EXC_ERROR;
891: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
892: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
893: END IF;
894: x_modifier_line_tbl := v_modifiers_tbl;
895: END copyPbhLine;
888: );
889: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
890: RAISE FND_API.G_EXC_ERROR;
891: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
892: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
893: END IF;
894: x_modifier_line_tbl := v_modifiers_tbl;
895: END copyPbhLine;
896:
913: -- initialize
914: -- end date line
915: -- copy line
916: -- relate lines
917: x_return_status := FND_API.G_RET_STS_SUCCESS;
918: FOR l_pbhLines IN c_pbhLines(cp_offerAdjustmentId => p_offerAdjustmentId) LOOP
919: OZF_VOLUME_OFFER_ADJ.end_qp_line
920: (
921: x_return_status => x_return_status
923: , x_msg_data => x_msg_data
924: , p_listLineId => l_pbhLines.from_rltd_modifier_id
925: ,p_offerAdjustmentId => p_offerAdjustmentId
926: );
927: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
928: RAISE FND_API.G_EXC_ERROR;
929: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
930: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
931: END IF;
924: , p_listLineId => l_pbhLines.from_rltd_modifier_id
925: ,p_offerAdjustmentId => p_offerAdjustmentId
926: );
927: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
928: RAISE FND_API.G_EXC_ERROR;
929: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
930: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
931: END IF;
932: copyPbhLine
925: ,p_offerAdjustmentId => p_offerAdjustmentId
926: );
927: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
928: RAISE FND_API.G_EXC_ERROR;
929: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
930: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
931: END IF;
932: copyPbhLine
933: (
926: );
927: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
928: RAISE FND_API.G_EXC_ERROR;
929: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
930: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
931: END IF;
932: copyPbhLine
933: (
934: x_return_status => x_return_status
937: ,p_offerAdjustmentId => p_offerAdjustmentId
938: , p_pbhListLineId => l_pbhLines.from_rltd_modifier_id
939: ,x_modifier_line_tbl => l_modifier_line_tbl
940: );
941: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
942: RAISE FND_API.G_EXC_ERROR;
943: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
944: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
945: END IF;
938: , p_pbhListLineId => l_pbhLines.from_rltd_modifier_id
939: ,x_modifier_line_tbl => l_modifier_line_tbl
940: );
941: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
942: RAISE FND_API.G_EXC_ERROR;
943: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
944: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
945: END IF;
946:
939: ,x_modifier_line_tbl => l_modifier_line_tbl
940: );
941: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
942: RAISE FND_API.G_EXC_ERROR;
943: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
944: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
945: END IF;
946:
947: OZF_VOLUME_OFFER_ADJ.relate_lines
940: );
941: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
942: RAISE FND_API.G_EXC_ERROR;
943: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
944: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
945: END IF;
946:
947: OZF_VOLUME_OFFER_ADJ.relate_lines
948: (
951: , x_return_status => x_return_status
952: , x_msg_count => x_msg_count
953: , x_msg_data => x_msg_data
954: );
955: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
956: RAISE FND_API.G_EXC_ERROR;
957: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
958: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
959: END IF;
952: , x_msg_count => x_msg_count
953: , x_msg_data => x_msg_data
954: );
955: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
956: RAISE FND_API.G_EXC_ERROR;
957: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
958: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
959: END IF;
960: END LOOP;
953: , x_msg_data => x_msg_data
954: );
955: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
956: RAISE FND_API.G_EXC_ERROR;
957: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
958: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
959: END IF;
960: END LOOP;
961: EXCEPTION
954: );
955: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
956: RAISE FND_API.G_EXC_ERROR;
957: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
958: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
959: END IF;
960: END LOOP;
961: EXCEPTION
962: WHEN OTHERS THEN
960: END LOOP;
961: EXCEPTION
962: WHEN OTHERS THEN
963: FND_MSG_PUB.count_and_get(
964: p_encoded => FND_API.g_false
965: , p_count => x_msg_count
966: , p_data => x_msg_data
967: );
968: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
964: p_encoded => FND_API.g_false
965: , p_count => x_msg_count
966: , p_data => x_msg_data
967: );
968: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
969:
970: END processOldPbhLines;
971:
972:
1001: -- populate pricing_attributes
1002: -- merge pricing attributes -> required, since each pricing_attribute can have multiple pricing attributes
1003: -- so the API returning pricing attributes returns a table, each time you get a table it has to be merged with
1004: -- existing table
1005: x_return_status := FND_API.G_RET_STS_SUCCESS;
1006: x_modifier_line_tbl.delete;
1007: x_pricing_attr_tbl.delete;
1008: l_pricing_attr_tbl.delete;
1009: i := 1;
1015: (
1016: x_modifiers_rec => x_modifier_line_tbl(i)
1017: , p_list_line_id => l_listLineDetails.list_line_id
1018: );
1019: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1020: RAISE FND_API.G_EXC_ERROR;
1021: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1022: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1023: END IF;
1016: x_modifiers_rec => x_modifier_line_tbl(i)
1017: , p_list_line_id => l_listLineDetails.list_line_id
1018: );
1019: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1020: RAISE FND_API.G_EXC_ERROR;
1021: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1022: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1023: END IF;
1024: OZF_VOLUME_OFFER_ADJ.populate_pricing_attributes
1017: , p_list_line_id => l_listLineDetails.list_line_id
1018: );
1019: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1020: RAISE FND_API.G_EXC_ERROR;
1021: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1022: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1023: END IF;
1024: OZF_VOLUME_OFFER_ADJ.populate_pricing_attributes
1025: (
1018: );
1019: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1020: RAISE FND_API.G_EXC_ERROR;
1021: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1022: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1023: END IF;
1024: OZF_VOLUME_OFFER_ADJ.populate_pricing_attributes
1025: (
1026: x_pricing_attr_tbl => l_pricing_attr_tbl
1026: x_pricing_attr_tbl => l_pricing_attr_tbl
1027: , p_list_line_id => p_listLineId
1028: , p_index => i
1029: );
1030: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1031: RAISE FND_API.G_EXC_ERROR;
1032: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1033: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1034: END IF;
1027: , p_list_line_id => p_listLineId
1028: , p_index => i
1029: );
1030: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1031: RAISE FND_API.G_EXC_ERROR;
1032: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1033: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1034: END IF;
1035: OZF_VOLUME_OFFER_ADJ.merge_pricing_attributes
1028: , p_index => i
1029: );
1030: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1031: RAISE FND_API.G_EXC_ERROR;
1032: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1033: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1034: END IF;
1035: OZF_VOLUME_OFFER_ADJ.merge_pricing_attributes
1036: (
1029: );
1030: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1031: RAISE FND_API.G_EXC_ERROR;
1032: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1033: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1034: END IF;
1035: OZF_VOLUME_OFFER_ADJ.merge_pricing_attributes
1036: (
1037: px_to_pricing_attr_tbl => x_pricing_attr_tbl
1036: (
1037: px_to_pricing_attr_tbl => x_pricing_attr_tbl
1038: , p_from_pricing_attr_tbl => l_pricing_attr_tbl
1039: );
1040: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1041: RAISE FND_API.G_EXC_ERROR;
1042: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1043: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1044: END IF;
1037: px_to_pricing_attr_tbl => x_pricing_attr_tbl
1038: , p_from_pricing_attr_tbl => l_pricing_attr_tbl
1039: );
1040: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1041: RAISE FND_API.G_EXC_ERROR;
1042: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1043: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1044: END IF;
1045: i := i + 1;
1038: , p_from_pricing_attr_tbl => l_pricing_attr_tbl
1039: );
1040: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1041: RAISE FND_API.G_EXC_ERROR;
1042: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1043: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1044: END IF;
1045: i := i + 1;
1046: END LOOP;
1039: );
1040: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1041: RAISE FND_API.G_EXC_ERROR;
1042: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1043: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1044: END IF;
1045: i := i + 1;
1046: END LOOP;
1047: END populate_dis_qp_data;
1056: ,p_offerAdjustmentLineId IN NUMBER
1057: )
1058: IS
1059: BEGIN
1060: x_return_status := FND_API.G_RET_STS_SUCCESS;
1061: FOR i in x_modifier_line_tbl.first .. x_modifier_line_tbl.last LOOP
1062: IF nvl(x_modifier_line_tbl.count,0) > 0 THEN
1063: IF x_modifier_line_tbl.exists(i) THEN
1064: x_modifier_line_tbl(i).operand := getModifiedDiscount(p_offerAdjustmentLineId => p_offerAdjustmentLineId );
1098: -- populate data from qp_list_line
1099: -- populate adjustments data
1100: -- create qp data
1101: -- return created tables and pricing attributes
1102: x_return_status := FND_API.G_RET_STS_SUCCESS;
1103: l_modifier_line_tbl.delete;
1104: l_pricing_attr_tbl.delete;
1105:
1106: populate_dis_qp_data
1111: , p_listLineId => p_listLineId
1112: , x_modifier_line_tbl => x_modifier_line_tbl
1113: , x_pricing_attr_tbl => x_pricing_attr_tbl
1114: );
1115: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1116: RAISE FND_API.G_EXC_ERROR;
1117: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1118: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1119: END IF;
1112: , x_modifier_line_tbl => x_modifier_line_tbl
1113: , x_pricing_attr_tbl => x_pricing_attr_tbl
1114: );
1115: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1116: RAISE FND_API.G_EXC_ERROR;
1117: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1118: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1119: END IF;
1120: populate_adjustments_data
1113: , x_pricing_attr_tbl => x_pricing_attr_tbl
1114: );
1115: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1116: RAISE FND_API.G_EXC_ERROR;
1117: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1118: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1119: END IF;
1120: populate_adjustments_data
1121: (
1114: );
1115: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1116: RAISE FND_API.G_EXC_ERROR;
1117: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1118: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1119: END IF;
1120: populate_adjustments_data
1121: (
1122: x_return_status => x_return_status
1125: ,x_modifier_line_tbl => x_modifier_line_tbl
1126: ,p_offerAdjustmentId => p_offerAdjustmentId
1127: ,p_offerAdjustmentLineId => p_offerAdjustmentLineId
1128: );
1129: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1130: RAISE FND_API.G_EXC_ERROR;
1131: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1132: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1133: END IF;
1126: ,p_offerAdjustmentId => p_offerAdjustmentId
1127: ,p_offerAdjustmentLineId => p_offerAdjustmentLineId
1128: );
1129: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1130: RAISE FND_API.G_EXC_ERROR;
1131: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1132: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1133: END IF;
1134:
1127: ,p_offerAdjustmentLineId => p_offerAdjustmentLineId
1128: );
1129: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1130: RAISE FND_API.G_EXC_ERROR;
1131: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1132: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1133: END IF;
1134:
1135: QP_Modifiers_PUB.process_modifiers(
1128: );
1129: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1130: RAISE FND_API.G_EXC_ERROR;
1131: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1132: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1133: END IF;
1134:
1135: QP_Modifiers_PUB.process_modifiers(
1136: p_api_version_number => 1.0,
1133: END IF;
1134:
1135: QP_Modifiers_PUB.process_modifiers(
1136: p_api_version_number => 1.0,
1137: p_init_msg_list => FND_API.G_FALSE,
1138: p_return_values => FND_API.G_FALSE,
1139: x_return_status => x_return_status,
1140: x_msg_count => x_msg_count,
1141: x_msg_data => x_msg_data,
1134:
1135: QP_Modifiers_PUB.process_modifiers(
1136: p_api_version_number => 1.0,
1137: p_init_msg_list => FND_API.G_FALSE,
1138: p_return_values => FND_API.G_FALSE,
1139: x_return_status => x_return_status,
1140: x_msg_count => x_msg_count,
1141: x_msg_data => x_msg_data,
1142: p_modifiers_tbl => x_modifier_line_tbl,
1149: x_qualifiers_val_tbl => v_qualifiers_val_tbl,
1150: x_pricing_attr_tbl => v_pricing_attr_tbl,
1151: x_pricing_attr_val_tbl => v_pricing_attr_val_tbl
1152: );
1153: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1154: RAISE FND_API.G_EXC_ERROR;
1155: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1156: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1157: END IF;
1150: x_pricing_attr_tbl => v_pricing_attr_tbl,
1151: x_pricing_attr_val_tbl => v_pricing_attr_val_tbl
1152: );
1153: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1154: RAISE FND_API.G_EXC_ERROR;
1155: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1156: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1157: END IF;
1158:
1151: x_pricing_attr_val_tbl => v_pricing_attr_val_tbl
1152: );
1153: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1154: RAISE FND_API.G_EXC_ERROR;
1155: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1156: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1157: END IF;
1158:
1159: x_modifier_line_tbl := v_modifiers_tbl;
1152: );
1153: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1154: RAISE FND_API.G_EXC_ERROR;
1155: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1156: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1157: END IF;
1158:
1159: x_modifier_line_tbl := v_modifiers_tbl;
1160: x_pricing_attr_tbl := v_pricing_attr_tbl;
1204: -- initialise
1205: -- create Discount lines and pricing attributes(including exclusions)
1206: -- create qualifiers
1207: -- create limits
1208: x_return_status := FND_API.G_RET_STS_SUCCESS;
1209: l_modifier_line_tbl.delete;
1210: l_pricing_attr_tbl.delete;
1211: create_dis_line
1212: (
1219: , x_listLineId => x_listLineId
1220: , p_offerAdjustmentLineId => p_offerAdjustmentLineId
1221: , p_offerAdjustmentId => p_offerAdjustmentId
1222: );
1223: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1224: RAISE FND_API.G_EXC_ERROR;
1225: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1226: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1227: END IF;
1220: , p_offerAdjustmentLineId => p_offerAdjustmentLineId
1221: , p_offerAdjustmentId => p_offerAdjustmentId
1222: );
1223: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1224: RAISE FND_API.G_EXC_ERROR;
1225: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1226: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1227: END IF;
1228: copyQualifiers
1221: , p_offerAdjustmentId => p_offerAdjustmentId
1222: );
1223: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1224: RAISE FND_API.G_EXC_ERROR;
1225: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1226: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1227: END IF;
1228: copyQualifiers
1229: (
1222: );
1223: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1224: RAISE FND_API.G_EXC_ERROR;
1225: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1226: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1227: END IF;
1228: copyQualifiers
1229: (
1230: x_return_status => x_return_status
1232: ,x_msg_data => x_msg_data
1233: ,p_fromListLineId => p_listLineId
1234: , p_toListLineId => x_listLineId
1235: );
1236: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1237: RAISE FND_API.G_EXC_ERROR;
1238: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1239: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1240: END IF;
1233: ,p_fromListLineId => p_listLineId
1234: , p_toListLineId => x_listLineId
1235: );
1236: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1237: RAISE FND_API.G_EXC_ERROR;
1238: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1239: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1240: END IF;
1241: copyLimits
1234: , p_toListLineId => x_listLineId
1235: );
1236: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1237: RAISE FND_API.G_EXC_ERROR;
1238: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1239: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1240: END IF;
1241: copyLimits
1242: (
1235: );
1236: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1237: RAISE FND_API.G_EXC_ERROR;
1238: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1239: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1240: END IF;
1241: copyLimits
1242: (
1243: x_return_status => x_return_status
1245: ,x_msg_data => x_msg_data
1246: ,p_fromListLineId => p_listLineId
1247: , p_toListLineId => x_listLineId
1248: );
1249: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1250: RAISE FND_API.G_EXC_ERROR;
1251: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1252: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1253: END IF;
1246: ,p_fromListLineId => p_listLineId
1247: , p_toListLineId => x_listLineId
1248: );
1249: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1250: RAISE FND_API.G_EXC_ERROR;
1251: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1252: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1253: END IF;
1254: EXCEPTION
1247: , p_toListLineId => x_listLineId
1248: );
1249: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1250: RAISE FND_API.G_EXC_ERROR;
1251: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1252: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1253: END IF;
1254: EXCEPTION
1255: WHEN OTHERS THEN
1248: );
1249: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1250: RAISE FND_API.G_EXC_ERROR;
1251: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1252: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1253: END IF;
1254: EXCEPTION
1255: WHEN OTHERS THEN
1256: FND_MSG_PUB.count_and_get(
1253: END IF;
1254: EXCEPTION
1255: WHEN OTHERS THEN
1256: FND_MSG_PUB.count_and_get(
1257: p_encoded => FND_API.g_false
1258: , p_count => x_msg_count
1259: , p_data => x_msg_data
1260: );
1261: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1257: p_encoded => FND_API.g_false
1258: , p_count => x_msg_count
1259: , p_data => x_msg_data
1260: );
1261: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1262: END copyListLine;
1263:
1264:
1265: /**
1287: -- initialize
1288: -- end date existing line
1289: -- create new qp_list_line/s
1290: -- create new to old mapping
1291: x_return_status := FND_API.G_RET_STS_SUCCESS;
1292: -- check if list_line_id is passed in, in case not, get the list_line_id from the offer_adjustment_line_id, if cannot be located
1293: -- raise error
1294:
1295: IF p_offerAdjustmentLineId IS NULL OR p_offerAdjustmentLineId = FND_API.G_MISS_NUM THEN
1291: x_return_status := FND_API.G_RET_STS_SUCCESS;
1292: -- check if list_line_id is passed in, in case not, get the list_line_id from the offer_adjustment_line_id, if cannot be located
1293: -- raise error
1294:
1295: IF p_offerAdjustmentLineId IS NULL OR p_offerAdjustmentLineId = FND_API.G_MISS_NUM THEN
1296: OZF_Utility_PVT.Error_Message(p_message_name => 'INVALID_ADJUSTMENT_LINE');
1297: x_return_status := FND_API.g_ret_sts_error;
1298: RETURN;
1299: END IF;
1293: -- raise error
1294:
1295: IF p_offerAdjustmentLineId IS NULL OR p_offerAdjustmentLineId = FND_API.G_MISS_NUM THEN
1296: OZF_Utility_PVT.Error_Message(p_message_name => 'INVALID_ADJUSTMENT_LINE');
1297: x_return_status := FND_API.g_ret_sts_error;
1298: RETURN;
1299: END IF;
1300: /*
1301: IF (p_listLineId IS NULL OR p_listLineId = FND_API.G_MISS_NUM) THEN
1297: x_return_status := FND_API.g_ret_sts_error;
1298: RETURN;
1299: END IF;
1300: /*
1301: IF (p_listLineId IS NULL OR p_listLineId = FND_API.G_MISS_NUM) THEN
1302: OPEN c_listLineId(cp_offerAdjustmentLineId => p_offerAdjustmentLineId);
1303: FETCH c_listLineId INTO l_listLineId;
1304: IF c_listLineId%NOTFOUND THEN
1305: OZF_Utility_PVT.Error_Message(p_message_name => 'INVALID_LIST_LINE');
1302: OPEN c_listLineId(cp_offerAdjustmentLineId => p_offerAdjustmentLineId);
1303: FETCH c_listLineId INTO l_listLineId;
1304: IF c_listLineId%NOTFOUND THEN
1305: OZF_Utility_PVT.Error_Message(p_message_name => 'INVALID_LIST_LINE');
1306: x_return_status := FND_API.g_ret_sts_error;
1307: CLOSE c_listLineId;
1308: RETURN;
1309: END IF;
1310: CLOSE c_listLineId;
1318: , x_msg_data => x_msg_data
1319: , p_listLineId => p_listLineId
1320: ,p_offerAdjustmentId => p_offerAdjustmentId
1321: );
1322: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1323: RAISE FND_API.G_EXC_ERROR;
1324: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1325: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1326: END IF;
1319: , p_listLineId => p_listLineId
1320: ,p_offerAdjustmentId => p_offerAdjustmentId
1321: );
1322: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1323: RAISE FND_API.G_EXC_ERROR;
1324: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1325: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1326: END IF;
1327: copyListLine
1320: ,p_offerAdjustmentId => p_offerAdjustmentId
1321: );
1322: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1323: RAISE FND_API.G_EXC_ERROR;
1324: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1325: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1326: END IF;
1327: copyListLine
1328: (
1321: );
1322: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1323: RAISE FND_API.G_EXC_ERROR;
1324: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1325: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1326: END IF;
1327: copyListLine
1328: (
1329: x_return_status => x_return_status
1333: , x_listLineId => l_listLineId
1334: , p_offerAdjustmentLineId => p_offerAdjustmentLineId
1335: ,p_offerAdjustmentId => p_offerAdjustmentId
1336: );
1337: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1338: RAISE FND_API.G_EXC_ERROR;
1339: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1340: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1341: END IF;
1334: , p_offerAdjustmentLineId => p_offerAdjustmentLineId
1335: ,p_offerAdjustmentId => p_offerAdjustmentId
1336: );
1337: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1338: RAISE FND_API.G_EXC_ERROR;
1339: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1340: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1341: END IF;
1342: OZF_VOLUME_OFFER_ADJ.relate_lines
1335: ,p_offerAdjustmentId => p_offerAdjustmentId
1336: );
1337: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1338: RAISE FND_API.G_EXC_ERROR;
1339: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1340: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1341: END IF;
1342: OZF_VOLUME_OFFER_ADJ.relate_lines
1343: (
1336: );
1337: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1338: RAISE FND_API.G_EXC_ERROR;
1339: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1340: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1341: END IF;
1342: OZF_VOLUME_OFFER_ADJ.relate_lines
1343: (
1344: p_from_list_line_id => p_listLineId
1347: , x_return_status => x_return_status
1348: , x_msg_count => x_msg_count
1349: , x_msg_data => x_msg_data
1350: );
1351: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1352: RAISE FND_API.G_EXC_ERROR;
1353: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1354: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1355: END IF;
1348: , x_msg_count => x_msg_count
1349: , x_msg_data => x_msg_data
1350: );
1351: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1352: RAISE FND_API.G_EXC_ERROR;
1353: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1354: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1355: END IF;
1356: END process_old_dis_discount;
1349: , x_msg_data => x_msg_data
1350: );
1351: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1352: RAISE FND_API.G_EXC_ERROR;
1353: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1354: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1355: END IF;
1356: END process_old_dis_discount;
1357:
1350: );
1351: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1352: RAISE FND_API.G_EXC_ERROR;
1353: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1354: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1355: END IF;
1356: END process_old_dis_discount;
1357:
1358:
1374: a.list_line_id = b.list_line_id
1375: AND b.qualification_ind in (0,2,4,6,8,10,12,14,16,18,20,22,24,26, 28, 30, 32)
1376: AND offer_adjustment_id = cp_offerAdjustmentId;
1377: BEGIN
1378: x_return_status := FND_API.G_RET_STS_SUCCESS;
1379: FOR l_adjustmentLines IN c_adjustmentLines(cp_offerAdjustmentId => p_offerAdjustmentId) LOOP
1380: process_old_dis_discount
1381: (
1382: x_return_status => x_return_status
1403: BEGIN
1404: -- initialize
1405: -- loop thru. adjustment lines
1406: -- for each adjustment line end date the existing qp_list_line and create new qp_list_line
1407: x_return_status := FND_API.G_RET_STS_SUCCESS;
1408: processOldDisLines
1409: (
1410: x_return_status => x_return_status
1411: , x_msg_count => x_msg_count
1411: , x_msg_count => x_msg_count
1412: , x_msg_data => x_msg_data
1413: , p_offerAdjustmentId => p_offerAdjustmentId
1414: );
1415: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1416: RAISE FND_API.G_EXC_ERROR;
1417: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1418: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1419: END IF;
1412: , x_msg_data => x_msg_data
1413: , p_offerAdjustmentId => p_offerAdjustmentId
1414: );
1415: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1416: RAISE FND_API.G_EXC_ERROR;
1417: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1418: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1419: END IF;
1420: processOldPbhLines
1413: , p_offerAdjustmentId => p_offerAdjustmentId
1414: );
1415: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1416: RAISE FND_API.G_EXC_ERROR;
1417: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1418: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1419: END IF;
1420: processOldPbhLines
1421: (
1414: );
1415: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1416: RAISE FND_API.G_EXC_ERROR;
1417: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1418: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1419: END IF;
1420: processOldPbhLines
1421: (
1422: x_return_status => x_return_status
1487: , x_modifier_line_tbl IN OUT NOCOPY qp_modifiers_pub.modifiers_tbl_type
1488: )
1489: IS
1490: BEGIN
1491: x_return_status := FND_API.G_RET_STS_SUCCESS;
1492: FOR i in x_modifier_line_tbl.first .. x_modifier_line_tbl.last LOOP
1493: IF x_modifier_line_tbl.exists(i) THEN
1494: x_modifier_line_tbl(i).operand := getModifiedDiscount(p_offerAdjustmentLineId => p_offerAdjustmentLineId);
1495: x_modifier_line_tbl(i).start_date_active := getEffectiveDate(p_offerAdjustmentId => p_offerAdjustmentId);
1523: -- populate modifiers table and pricing attribute table
1524: -- process modifiers table and pricing attribute table
1525: -- create qp data
1526: -- return list_line_id
1527: x_return_status := FND_API.G_RET_STS_SUCCESS;
1528: x_pricing_attr_tbl.delete;
1529: x_modifier_line_tbl.delete;
1530: populatePgDiscounts
1531: (
1535: , p_listLineId => p_listLineId
1536: , x_pricing_attr_tbl => x_pricing_attr_tbl
1537: , x_modifier_line_tbl => x_modifier_line_tbl
1538: );
1539: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1540: RAISE FND_API.G_EXC_ERROR;
1541: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1542: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1543: END IF;
1536: , x_pricing_attr_tbl => x_pricing_attr_tbl
1537: , x_modifier_line_tbl => x_modifier_line_tbl
1538: );
1539: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1540: RAISE FND_API.G_EXC_ERROR;
1541: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1542: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1543: END IF;
1544: processPgDiscounts
1537: , x_modifier_line_tbl => x_modifier_line_tbl
1538: );
1539: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1540: RAISE FND_API.G_EXC_ERROR;
1541: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1542: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1543: END IF;
1544: processPgDiscounts
1545: (
1538: );
1539: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1540: RAISE FND_API.G_EXC_ERROR;
1541: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1542: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1543: END IF;
1544: processPgDiscounts
1545: (
1546: x_return_status => x_return_status
1550: , x_modifier_line_tbl => x_modifier_line_tbl
1551: , p_offerAdjustmentLineId => p_offerAdjustmentLineId
1552: , p_offerAdjustmentId => p_offerAdjustmentId
1553: );
1554: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1555: RAISE FND_API.G_EXC_ERROR;
1556: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1557: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1558: END IF;
1551: , p_offerAdjustmentLineId => p_offerAdjustmentLineId
1552: , p_offerAdjustmentId => p_offerAdjustmentId
1553: );
1554: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1555: RAISE FND_API.G_EXC_ERROR;
1556: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1557: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1558: END IF;
1559:
1552: , p_offerAdjustmentId => p_offerAdjustmentId
1553: );
1554: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1555: RAISE FND_API.G_EXC_ERROR;
1556: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1557: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1558: END IF;
1559:
1560: QP_Modifiers_PUB.process_modifiers(
1553: );
1554: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1555: RAISE FND_API.G_EXC_ERROR;
1556: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1557: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1558: END IF;
1559:
1560: QP_Modifiers_PUB.process_modifiers(
1561: p_api_version_number => 1.0,
1558: END IF;
1559:
1560: QP_Modifiers_PUB.process_modifiers(
1561: p_api_version_number => 1.0,
1562: p_init_msg_list => FND_API.G_TRUE,
1563: p_return_values => FND_API.G_FALSE,
1564: x_return_status => x_return_status,
1565: x_msg_count => x_msg_count,
1566: x_msg_data => x_msg_data,
1559:
1560: QP_Modifiers_PUB.process_modifiers(
1561: p_api_version_number => 1.0,
1562: p_init_msg_list => FND_API.G_TRUE,
1563: p_return_values => FND_API.G_FALSE,
1564: x_return_status => x_return_status,
1565: x_msg_count => x_msg_count,
1566: x_msg_data => x_msg_data,
1567: p_modifiers_tbl => x_modifier_line_tbl,
1574: x_qualifiers_val_tbl => v_qualifiers_val_tbl,
1575: x_pricing_attr_tbl => v_pricing_attr_tbl,
1576: x_pricing_attr_val_tbl => v_pricing_attr_val_tbl
1577: );
1578: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1579: RAISE FND_API.G_EXC_ERROR;
1580: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1581: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1582: END IF;
1575: x_pricing_attr_tbl => v_pricing_attr_tbl,
1576: x_pricing_attr_val_tbl => v_pricing_attr_val_tbl
1577: );
1578: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1579: RAISE FND_API.G_EXC_ERROR;
1580: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1581: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1582: END IF;
1583:
1576: x_pricing_attr_val_tbl => v_pricing_attr_val_tbl
1577: );
1578: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1579: RAISE FND_API.G_EXC_ERROR;
1580: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1581: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1582: END IF;
1583:
1584: x_pricing_attr_tbl := v_pricing_attr_tbl;
1577: );
1578: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1579: RAISE FND_API.G_EXC_ERROR;
1580: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1581: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1582: END IF;
1583:
1584: x_pricing_attr_tbl := v_pricing_attr_tbl;
1585: x_modifier_line_tbl := v_modifiers_tbl;
1609: -- initialise
1610: -- create Discount lines and pricing attributes(including exclusions)
1611: -- create qualifiers
1612: -- create limits
1613: x_return_status := FND_API.G_RET_STS_SUCCESS;
1614: l_modifier_line_tbl.delete;
1615: l_pricing_attr_tbl.delete;
1616: createPgLine
1617: (
1624: , x_listLineId => x_listLineId
1625: , p_offerAdjustmentLineId => p_offerAdjustmentLineId
1626: , p_offerAdjustmentId => p_offerAdjustmentId
1627: );
1628: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1629: RAISE FND_API.G_EXC_ERROR;
1630: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1631: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1632: END IF;
1625: , p_offerAdjustmentLineId => p_offerAdjustmentLineId
1626: , p_offerAdjustmentId => p_offerAdjustmentId
1627: );
1628: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1629: RAISE FND_API.G_EXC_ERROR;
1630: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1631: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1632: END IF;
1633: copyQualifiers
1626: , p_offerAdjustmentId => p_offerAdjustmentId
1627: );
1628: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1629: RAISE FND_API.G_EXC_ERROR;
1630: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1631: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1632: END IF;
1633: copyQualifiers
1634: (
1627: );
1628: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1629: RAISE FND_API.G_EXC_ERROR;
1630: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1631: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1632: END IF;
1633: copyQualifiers
1634: (
1635: x_return_status => x_return_status
1637: ,x_msg_data => x_msg_data
1638: ,p_fromListLineId => p_listLineId
1639: , p_toListLineId => x_listLineId
1640: );
1641: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1642: RAISE FND_API.G_EXC_ERROR;
1643: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1644: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1645: END IF;
1638: ,p_fromListLineId => p_listLineId
1639: , p_toListLineId => x_listLineId
1640: );
1641: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1642: RAISE FND_API.G_EXC_ERROR;
1643: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1644: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1645: END IF;
1646: copyLimits
1639: , p_toListLineId => x_listLineId
1640: );
1641: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1642: RAISE FND_API.G_EXC_ERROR;
1643: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1644: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1645: END IF;
1646: copyLimits
1647: (
1640: );
1641: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1642: RAISE FND_API.G_EXC_ERROR;
1643: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1644: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1645: END IF;
1646: copyLimits
1647: (
1648: x_return_status => x_return_status
1650: ,x_msg_data => x_msg_data
1651: ,p_fromListLineId => p_listLineId
1652: , p_toListLineId => x_listLineId
1653: );
1654: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1655: RAISE FND_API.G_EXC_ERROR;
1656: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1657: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1658: END IF;
1651: ,p_fromListLineId => p_listLineId
1652: , p_toListLineId => x_listLineId
1653: );
1654: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1655: RAISE FND_API.G_EXC_ERROR;
1656: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1657: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1658: END IF;
1659:
1652: , p_toListLineId => x_listLineId
1653: );
1654: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1655: RAISE FND_API.G_EXC_ERROR;
1656: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1657: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1658: END IF;
1659:
1660: END copyPGListLine;
1653: );
1654: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1655: RAISE FND_API.G_EXC_ERROR;
1656: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1657: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1658: END IF;
1659:
1660: END copyPGListLine;
1661:
1674: -- initialize
1675: -- end date existing line
1676: -- create new qp_list_line/s
1677: -- create new to old mapping
1678: x_return_status := FND_API.G_RET_STS_SUCCESS;
1679: -- check if list_line_id is passed in, in case not, get the list_line_id from the offer_adjustment_line_id, if cannot be located
1680: -- raise error
1681: /*IF p_offerAdjustmentLineId IS NULL OR p_offerAdjustmentLineId = FND_API.G_MISS_NUM THEN
1682: OZF_Utility_PVT.Error_Message(p_message_name => 'INVALID_ADJUSTMENT_LINE');
1677: -- create new to old mapping
1678: x_return_status := FND_API.G_RET_STS_SUCCESS;
1679: -- check if list_line_id is passed in, in case not, get the list_line_id from the offer_adjustment_line_id, if cannot be located
1680: -- raise error
1681: /*IF p_offerAdjustmentLineId IS NULL OR p_offerAdjustmentLineId = FND_API.G_MISS_NUM THEN
1682: OZF_Utility_PVT.Error_Message(p_message_name => 'INVALID_ADJUSTMENT_LINE');
1683: x_return_status := FND_API.g_ret_sts_error;
1684: RETURN;
1685: END IF;
1679: -- check if list_line_id is passed in, in case not, get the list_line_id from the offer_adjustment_line_id, if cannot be located
1680: -- raise error
1681: /*IF p_offerAdjustmentLineId IS NULL OR p_offerAdjustmentLineId = FND_API.G_MISS_NUM THEN
1682: OZF_Utility_PVT.Error_Message(p_message_name => 'INVALID_ADJUSTMENT_LINE');
1683: x_return_status := FND_API.g_ret_sts_error;
1684: RETURN;
1685: END IF;
1686: */
1687: OZF_VOLUME_OFFER_ADJ.end_qp_line
1691: , x_msg_data => x_msg_data
1692: , p_listLineId => p_listLineId
1693: ,p_offerAdjustmentId => p_offerAdjustmentId
1694: );
1695: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1696: RAISE FND_API.G_EXC_ERROR;
1697: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1698: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1699: END IF;
1692: , p_listLineId => p_listLineId
1693: ,p_offerAdjustmentId => p_offerAdjustmentId
1694: );
1695: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1696: RAISE FND_API.G_EXC_ERROR;
1697: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1698: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1699: END IF;
1700: copyPGListLine
1693: ,p_offerAdjustmentId => p_offerAdjustmentId
1694: );
1695: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1696: RAISE FND_API.G_EXC_ERROR;
1697: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1698: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1699: END IF;
1700: copyPGListLine
1701: (
1694: );
1695: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1696: RAISE FND_API.G_EXC_ERROR;
1697: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1698: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1699: END IF;
1700: copyPGListLine
1701: (
1702: x_return_status => x_return_status
1706: , x_listLineId => l_listLineId
1707: , p_offerAdjustmentLineId => p_offerAdjustmentLineId
1708: ,p_offerAdjustmentId => p_offerAdjustmentId
1709: );
1710: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1711: RAISE FND_API.G_EXC_ERROR;
1712: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1713: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1714: END IF;
1707: , p_offerAdjustmentLineId => p_offerAdjustmentLineId
1708: ,p_offerAdjustmentId => p_offerAdjustmentId
1709: );
1710: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1711: RAISE FND_API.G_EXC_ERROR;
1712: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1713: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1714: END IF;
1715: OZF_VOLUME_OFFER_ADJ.relate_lines
1708: ,p_offerAdjustmentId => p_offerAdjustmentId
1709: );
1710: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1711: RAISE FND_API.G_EXC_ERROR;
1712: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1713: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1714: END IF;
1715: OZF_VOLUME_OFFER_ADJ.relate_lines
1716: (
1709: );
1710: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1711: RAISE FND_API.G_EXC_ERROR;
1712: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1713: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1714: END IF;
1715: OZF_VOLUME_OFFER_ADJ.relate_lines
1716: (
1717: p_from_list_line_id => p_listLineId
1720: , x_return_status => x_return_status
1721: , x_msg_count => x_msg_count
1722: , x_msg_data => x_msg_data
1723: );
1724: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1725: RAISE FND_API.G_EXC_ERROR;
1726: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1727: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1728: END IF;
1721: , x_msg_count => x_msg_count
1722: , x_msg_data => x_msg_data
1723: );
1724: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1725: RAISE FND_API.G_EXC_ERROR;
1726: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1727: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1728: END IF;
1729: END processOldPgDiscount;
1722: , x_msg_data => x_msg_data
1723: );
1724: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1725: RAISE FND_API.G_EXC_ERROR;
1726: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1727: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1728: END IF;
1729: END processOldPgDiscount;
1730:
1723: );
1724: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1725: RAISE FND_API.G_EXC_ERROR;
1726: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1727: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1728: END IF;
1729: END processOldPgDiscount;
1730:
1731: PROCEDURE process_old_pg_discount
1740: SELECT list_line_id, offer_adjustment_line_id
1741: FROM ozf_offer_adjustment_lines
1742: WHERE offer_adjustment_id = cp_offerAdjustmentId;
1743: BEGIN
1744: x_return_status := FND_API.G_RET_STS_SUCCESS;
1745: FOR l_listLine in c_listLine(cp_offerAdjustmentId => p_offerAdjustmentId ) LOOP
1746: processOldPgDiscount
1747: (
1748: x_return_status => x_return_status
1751: , p_offerAdjustmentId => p_offerAdjustmentId
1752: , p_offerAdjustmentLineId => l_listLine.offer_adjustment_line_id
1753: , p_listLineId => l_listLine.list_line_id
1754: );
1755: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1756: RAISE FND_API.G_EXC_ERROR;
1757: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1758: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1759: END IF;
1752: , p_offerAdjustmentLineId => l_listLine.offer_adjustment_line_id
1753: , p_listLineId => l_listLine.list_line_id
1754: );
1755: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1756: RAISE FND_API.G_EXC_ERROR;
1757: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1758: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1759: END IF;
1760: END LOOP;
1753: , p_listLineId => l_listLine.list_line_id
1754: );
1755: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1756: RAISE FND_API.G_EXC_ERROR;
1757: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1758: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1759: END IF;
1760: END LOOP;
1761: END process_old_pg_discount;
1754: );
1755: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1756: RAISE FND_API.G_EXC_ERROR;
1757: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1758: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1759: END IF;
1760: END LOOP;
1761: END process_old_pg_discount;
1762:
1770: ,x_msg_data OUT NOCOPY VARCHAR2
1771: )
1772: IS
1773: BEGIN
1774: x_return_status := FND_API.G_RET_STS_SUCCESS;
1775: FOR l_pricingAttr IN (SELECT product_attribute, product_attr_value, product_uom_code,pricing_attribute, pricing_attr_value_from
1776: FROM qp_pricing_attributes
1777: WHERE list_line_id = p_listLineId
1778: AND excluder_flag = 'N')
1810: AND a.list_line_id =cp_listLineId;
1811:
1812: l_modifier_line_rec ozf_offer_pvt.MODIFIER_LINE_REC_TYPE;
1813: BEGIN
1814: x_return_status := FND_API.G_RET_STS_SUCCESS;
1815: FOR l_tdAdjustmentLines IN c_tdAdjustmentLines(cp_listLineId => p_listLineId )
1816: LOOP
1817: l_modifier_line_rec.operation := 'CREATE';
1818: l_modifier_line_rec.list_line_type_code := 'DIS';
1829: ,x_return_status => x_return_status
1830: ,x_msg_count => x_msg_count
1831: ,x_msg_data => x_msg_data
1832: );
1833: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1834: return;
1835: END IF;
1836: END LOOP;
1837: x_modifier_line_rec := l_modifier_line_rec;
1855: WHERE a.offer_adjustment_id = b.offer_adjustment_id
1856: AND a.offer_adjustment_id = cp_offerAdjustmentId
1857: AND a.list_line_id = cp_listLineId;
1858: BEGIN
1859: x_return_status := FND_API.G_RET_STS_SUCCESS;
1860: FOR l_tdCrtLineDetails in c_tdCrtLineDetails(cp_offerAdjustmentId => p_offerAdjustmentId, cp_listLineId => p_listLineId) LOOP
1861: px_modifier_line_rec.start_date_active := getEffectiveDate(p_offerAdjustmentId => p_offerAdjustmentId);
1862: px_modifier_line_rec.operand := l_tdCrtLineDetails.discount;
1863: px_modifier_line_rec.qd_operand := l_tdCrtLineDetails.discount_td;
1899: AND a.list_line_id = cp_listLineId;
1900:
1901: l_modifier_line_rec ozf_offer_pvt.MODIFIER_LINE_REC_TYPE;
1902: BEGIN
1903: x_return_status := FND_API.G_RET_STS_SUCCESS;
1904: FOR l_tdUpdAdjustmentLines IN c_tdUpdAdjustmentLines(cp_listLineId => p_listLineId)
1905: LOOP
1906: l_modifier_line_rec.operation := 'UPDATE';
1907: l_modifier_line_rec.list_line_id := l_tdUpdAdjustmentLines.list_line_id;
1929: ,x_msg_data OUT NOCOPY VARCHAR2
1930: )
1931: IS
1932: BEGIN
1933: x_return_status := FND_API.G_RET_STS_SUCCESS;
1934: px_modifier_line_rec.end_date_active := getEndDate( p_offerAdjustmentId => p_offerAdjustmentId , p_listLineId => p_listLineId);
1935: END processTdUpdLines;
1936:
1937:
1954: -- populate td lines
1955: -- process td lines
1956: -- create discount rules
1957: -- return table created
1958: x_return_status := FND_API.G_RET_STS_SUCCESS;
1959: l_modifier_line_tbl.delete;
1960: populateTdCrtLines
1961: (
1962: x_modifier_line_rec => l_modifier_line_tbl(1)
1965: , x_msg_count => x_msg_count
1966: , x_msg_data => x_msg_data
1967: );
1968: ----dbms_output.put_line('Populated creat lines');
1969: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1970: RAISE FND_API.G_EXC_ERROR;
1971: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1972: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1973: END IF;
1966: , x_msg_data => x_msg_data
1967: );
1968: ----dbms_output.put_line('Populated creat lines');
1969: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1970: RAISE FND_API.G_EXC_ERROR;
1971: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1972: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1973: END IF;
1974: processTdCrtLines
1967: );
1968: ----dbms_output.put_line('Populated creat lines');
1969: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1970: RAISE FND_API.G_EXC_ERROR;
1971: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1972: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1973: END IF;
1974: processTdCrtLines
1975: (
1968: ----dbms_output.put_line('Populated creat lines');
1969: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1970: RAISE FND_API.G_EXC_ERROR;
1971: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1972: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1973: END IF;
1974: processTdCrtLines
1975: (
1976: px_modifier_line_rec => l_modifier_line_tbl(1)
1983: ----dbms_output.put_line('Processed creat lines:'|| l_modifier_line_tbl(1).list_line_id||':'||l_modifier_line_tbl(1).product_attr_val||l_modifier_line_tbl(1).list_header_id);
1984: --dbms_output.put_line('operand:'|| l_modifier_line_tbl(1).operand||':'||l_modifier_line_tbl(1).qd_operand);
1985: --dbms_output.put_line('Arithmetic operator:'|| l_modifier_line_tbl(1).arithmetic_operator||':'||l_modifier_line_tbl(1).qd_arithmetic_operator);
1986:
1987: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1988: RAISE FND_API.G_EXC_ERROR;
1989: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1990: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1991: END IF;
1984: --dbms_output.put_line('operand:'|| l_modifier_line_tbl(1).operand||':'||l_modifier_line_tbl(1).qd_operand);
1985: --dbms_output.put_line('Arithmetic operator:'|| l_modifier_line_tbl(1).arithmetic_operator||':'||l_modifier_line_tbl(1).qd_arithmetic_operator);
1986:
1987: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1988: RAISE FND_API.G_EXC_ERROR;
1989: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1990: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1991: END IF;
1992: ozf_offer_pvt.process_qp_list_lines
1985: --dbms_output.put_line('Arithmetic operator:'|| l_modifier_line_tbl(1).arithmetic_operator||':'||l_modifier_line_tbl(1).qd_arithmetic_operator);
1986:
1987: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1988: RAISE FND_API.G_EXC_ERROR;
1989: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1990: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1991: END IF;
1992: ozf_offer_pvt.process_qp_list_lines
1993: (
1986:
1987: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1988: RAISE FND_API.G_EXC_ERROR;
1989: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1990: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1991: END IF;
1992: ozf_offer_pvt.process_qp_list_lines
1993: (
1994: x_return_status => x_return_status
1999: ,p_list_header_id => l_modifier_line_tbl(1).list_header_id
2000: ,x_modifier_line_tbl => lx_modifier_tbl --QP_MODIFIERS_PUB.modifiers_tbl_type
2001: ,x_error_location => l_errorLocation
2002: );
2003: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2004: RAISE FND_API.G_EXC_ERROR;
2005: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2006: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2007: END IF;
2000: ,x_modifier_line_tbl => lx_modifier_tbl --QP_MODIFIERS_PUB.modifiers_tbl_type
2001: ,x_error_location => l_errorLocation
2002: );
2003: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2004: RAISE FND_API.G_EXC_ERROR;
2005: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2006: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2007: END IF;
2008:
2001: ,x_error_location => l_errorLocation
2002: );
2003: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2004: RAISE FND_API.G_EXC_ERROR;
2005: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2006: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2007: END IF;
2008:
2009: x_modifier_tbl := lx_modifier_tbl;
2002: );
2003: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2004: RAISE FND_API.G_EXC_ERROR;
2005: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2006: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2007: END IF;
2008:
2009: x_modifier_tbl := lx_modifier_tbl;
2010:
2010:
2011: EXCEPTION
2012: WHEN OTHERS THEN
2013: FND_MSG_PUB.count_and_get(
2014: p_encoded => FND_API.g_false
2015: , p_count => x_msg_count
2016: , p_data => x_msg_data
2017: );
2018: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2014: p_encoded => FND_API.g_false
2015: , p_count => x_msg_count
2016: , p_data => x_msg_data
2017: );
2018: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2019:
2020: END createTdLine;
2021:
2022: PROCEDURE populateTdExclusion
2035: FROM qp_pricing_attributes
2036: WHERE list_line_id = cp_listLineId
2037: and excluder_flag = 'Y';
2038: BEGIN
2039: x_return_status := FND_API.G_RET_STS_SUCCESS;
2040: x_pricing_attr_tbl.delete;
2041: i := 0;
2042: --dbms_output.put_line('inside loop1'||p_fromListLineId);
2043: FOR l_productAttributes IN c_productAttributes(cp_listLineId => p_fromListLineId)
2062: ,px_pricing_attr_tbl IN OUT NOCOPY OZF_OFFER_PVT.PRICING_ATTR_TBL_TYPE
2063: )
2064: IS
2065: BEGIN
2066: x_return_status := FND_API.G_RET_STS_SUCCESS;
2067: IF nvl(px_pricing_attr_tbl.count,0) > 0 THEN
2068: FOR i in px_pricing_attr_tbl.first .. px_pricing_attr_tbl.last LOOP
2069: IF px_pricing_attr_tbl.exists(i) THEN
2070: px_pricing_attr_tbl(i).list_line_id := p_toListLineId;
2089: BEGIN
2090: -- initialize
2091: -- populate records
2092: --create exclusions
2093: x_return_status := FND_API.G_RET_STS_SUCCESS;
2094: l_pricing_attr_tbl.delete;
2095: populateTdExclusion
2096: (
2097: p_fromListLineId => p_fromListLineId
2099: ,x_return_status => x_return_status
2100: ,x_msg_count => x_msg_count
2101: ,x_msg_data => x_msg_data
2102: );
2103: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2104: RAISE FND_API.G_EXC_ERROR;
2105: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2106: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2107: END IF;
2100: ,x_msg_count => x_msg_count
2101: ,x_msg_data => x_msg_data
2102: );
2103: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2104: RAISE FND_API.G_EXC_ERROR;
2105: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2106: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2107: END IF;
2108: processTdExclusion
2101: ,x_msg_data => x_msg_data
2102: );
2103: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2104: RAISE FND_API.G_EXC_ERROR;
2105: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2106: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2107: END IF;
2108: processTdExclusion
2109: (
2102: );
2103: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2104: RAISE FND_API.G_EXC_ERROR;
2105: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2106: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2107: END IF;
2108: processTdExclusion
2109: (
2110: p_toListLineId => p_toListLineId
2112: ,x_return_status => x_return_status
2113: ,x_msg_count => x_msg_count
2114: ,x_msg_data => x_msg_data
2115: );
2116: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2117: RAISE FND_API.G_EXC_ERROR;
2118: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2119: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2120: END IF;
2113: ,x_msg_count => x_msg_count
2114: ,x_msg_data => x_msg_data
2115: );
2116: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2117: RAISE FND_API.G_EXC_ERROR;
2118: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2119: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2120: END IF;
2121: --dbms_output.put_line('Table cnt is :'||nvl(l_pricing_attr_tbl.count,0));
2114: ,x_msg_data => x_msg_data
2115: );
2116: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2117: RAISE FND_API.G_EXC_ERROR;
2118: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2119: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2120: END IF;
2121: --dbms_output.put_line('Table cnt is :'||nvl(l_pricing_attr_tbl.count,0));
2122: OZF_OFFER_PVT.process_exclusions
2115: );
2116: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2117: RAISE FND_API.G_EXC_ERROR;
2118: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2119: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2120: END IF;
2121: --dbms_output.put_line('Table cnt is :'||nvl(l_pricing_attr_tbl.count,0));
2122: OZF_OFFER_PVT.process_exclusions
2123: (
2120: END IF;
2121: --dbms_output.put_line('Table cnt is :'||nvl(l_pricing_attr_tbl.count,0));
2122: OZF_OFFER_PVT.process_exclusions
2123: (
2124: p_init_msg_list => FND_API.G_FALSE
2125: ,p_api_version => 1.0
2126: ,p_commit => FND_API.G_FALSE
2127: ,x_return_status => x_return_status
2128: ,x_msg_count => x_msg_count
2122: OZF_OFFER_PVT.process_exclusions
2123: (
2124: p_init_msg_list => FND_API.G_FALSE
2125: ,p_api_version => 1.0
2126: ,p_commit => FND_API.G_FALSE
2127: ,x_return_status => x_return_status
2128: ,x_msg_count => x_msg_count
2129: ,x_msg_data => x_msg_data
2130: ,p_pricing_attr_tbl => l_pricing_attr_tbl
2129: ,x_msg_data => x_msg_data
2130: ,p_pricing_attr_tbl => l_pricing_attr_tbl
2131: ,x_error_location => l_errorLocation
2132: );
2133: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2134: RAISE FND_API.G_EXC_ERROR;
2135: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2136: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2137: END IF;
2130: ,p_pricing_attr_tbl => l_pricing_attr_tbl
2131: ,x_error_location => l_errorLocation
2132: );
2133: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2134: RAISE FND_API.G_EXC_ERROR;
2135: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2136: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2137: END IF;
2138: EXCEPTION
2131: ,x_error_location => l_errorLocation
2132: );
2133: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2134: RAISE FND_API.G_EXC_ERROR;
2135: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2136: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2137: END IF;
2138: EXCEPTION
2139: WHEN OTHERS THEN
2132: );
2133: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2134: RAISE FND_API.G_EXC_ERROR;
2135: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2136: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2137: END IF;
2138: EXCEPTION
2139: WHEN OTHERS THEN
2140: --dbms_output.put_line(sqlerrm);
2137: END IF;
2138: EXCEPTION
2139: WHEN OTHERS THEN
2140: --dbms_output.put_line(sqlerrm);
2141: x_return_status := FND_API.G_RET_STS_ERROR;
2142: OE_MSG_PUB.count_and_get(
2143: p_count => x_msg_count
2144: , p_data => x_msg_data
2145: );
2159: , p_modifier_tbl IN QP_MODIFIERS_PUB.modifiers_tbl_type
2160: )
2161: IS
2162: BEGIN
2163: x_return_status := FND_API.G_RET_STS_SUCCESS;
2164: IF nvl(p_modifier_tbl.count,0) > 0 THEN
2165: FOR i in p_modifier_tbl.first .. p_modifier_tbl.last LOOP
2166: IF p_modifier_tbl.exists(i) THEN
2167: copyLimits
2171: , x_msg_data => x_msg_data
2172: , p_fromListLineId => p_listLineId
2173: , p_toListLineId => p_modifier_tbl(i).list_line_id
2174: );
2175: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2176: RAISE FND_API.G_EXC_ERROR;
2177: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2178: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2179: END IF;
2172: , p_fromListLineId => p_listLineId
2173: , p_toListLineId => p_modifier_tbl(i).list_line_id
2174: );
2175: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2176: RAISE FND_API.G_EXC_ERROR;
2177: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2178: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2179: END IF;
2180: END IF;
2173: , p_toListLineId => p_modifier_tbl(i).list_line_id
2174: );
2175: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2176: RAISE FND_API.G_EXC_ERROR;
2177: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2178: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2179: END IF;
2180: END IF;
2181: END LOOP;
2174: );
2175: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2176: RAISE FND_API.G_EXC_ERROR;
2177: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2178: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2179: END IF;
2180: END IF;
2181: END LOOP;
2182: END IF;
2196: , x_modifier_tbl IN QP_MODIFIERS_PUB.modifiers_tbl_type
2197: )
2198: IS
2199: BEGIN
2200: x_return_status := FND_API.G_RET_STS_SUCCESS;
2201: -- loop thru. modifiers tbl
2202: -- for each list_line_id in the table copy exclusion
2203: IF nvl(x_modifier_tbl.count,0) > 0 THEN
2204: FOR i in x_modifier_tbl.first .. x_modifier_tbl.last LOOP
2211: ,p_fromListLineId => p_listLineId
2212: , p_toListLineId => x_modifier_tbl(i).list_line_id
2213: );
2214: --dbms_output.PUT_LINE('List line id passed in is:'||p_listLineId||':'||x_modifier_tbl(i).list_line_id);
2215: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2216: RAISE FND_API.G_EXC_ERROR;
2217: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2218: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2219: END IF;
2212: , p_toListLineId => x_modifier_tbl(i).list_line_id
2213: );
2214: --dbms_output.PUT_LINE('List line id passed in is:'||p_listLineId||':'||x_modifier_tbl(i).list_line_id);
2215: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2216: RAISE FND_API.G_EXC_ERROR;
2217: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2218: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2219: END IF;
2220: END IF;
2213: );
2214: --dbms_output.PUT_LINE('List line id passed in is:'||p_listLineId||':'||x_modifier_tbl(i).list_line_id);
2215: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2216: RAISE FND_API.G_EXC_ERROR;
2217: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2218: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2219: END IF;
2220: END IF;
2221: END LOOP;
2214: --dbms_output.PUT_LINE('List line id passed in is:'||p_listLineId||':'||x_modifier_tbl(i).list_line_id);
2215: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2216: RAISE FND_API.G_EXC_ERROR;
2217: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2218: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2219: END IF;
2220: END IF;
2221: END LOOP;
2222: END IF;
2236: , x_modifier_tbl IN QP_MODIFIERS_PUB.modifiers_tbl_type
2237: )
2238: IS
2239: BEGIN
2240: x_return_status := FND_API.G_RET_STS_SUCCESS;
2241: IF nvl(x_modifier_tbl.count,0) > 0 THEN
2242: FOR i in x_modifier_tbl.first .. x_modifier_tbl.last LOOP
2243: IF x_modifier_tbl.exists(i) THEN
2244: copyQualifiers
2248: , x_msg_data => x_msg_data
2249: , p_fromListLineId => p_listLineId
2250: , p_toListLineId => x_modifier_tbl(i).list_line_id
2251: );
2252: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2253: return;
2254: END IF;
2255: END IF;
2256: END LOOP;
2300: SELECT accrual_flag
2301: FROM qp_list_lines
2302: WHERE list_line_id = cp_listLineId;
2303: BEGIN
2304: x_return_status := FND_API.G_RET_STS_SUCCESS;
2305: -- get accrual flag for given list line
2306: -- loop thru. the passed in table
2307: -- if the accrual flag for the list_line_id is the same as
2308: FOR l_accrualFlag IN c_accrualFlag(cp_listLineId => p_listLineId) LOOP
2318: , x_return_status => x_return_status
2319: , x_msg_count => x_msg_count
2320: , x_msg_data => x_msg_data
2321: );
2322: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2323: RAISE FND_API.G_EXC_ERROR;
2324: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2325: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2326: END IF;
2319: , x_msg_count => x_msg_count
2320: , x_msg_data => x_msg_data
2321: );
2322: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2323: RAISE FND_API.G_EXC_ERROR;
2324: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2325: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2326: END IF;
2327: IF getTdLine(p_listLineId) IS NOT NULL AND getTdLine(p_modifier_tbl(j).list_line_id) IS NOT NULL THEN
2320: , x_msg_data => x_msg_data
2321: );
2322: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2323: RAISE FND_API.G_EXC_ERROR;
2324: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2325: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2326: END IF;
2327: IF getTdLine(p_listLineId) IS NOT NULL AND getTdLine(p_modifier_tbl(j).list_line_id) IS NOT NULL THEN
2328: OZF_VOLUME_OFFER_ADJ.relate_lines
2321: );
2322: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2323: RAISE FND_API.G_EXC_ERROR;
2324: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2325: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2326: END IF;
2327: IF getTdLine(p_listLineId) IS NOT NULL AND getTdLine(p_modifier_tbl(j).list_line_id) IS NOT NULL THEN
2328: OZF_VOLUME_OFFER_ADJ.relate_lines
2329: (
2333: , x_return_status => x_return_status
2334: , x_msg_count => x_msg_count
2335: , x_msg_data => x_msg_data
2336: );
2337: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2338: RAISE FND_API.G_EXC_ERROR;
2339: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2340: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2341: END IF;
2334: , x_msg_count => x_msg_count
2335: , x_msg_data => x_msg_data
2336: );
2337: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2338: RAISE FND_API.G_EXC_ERROR;
2339: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2340: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2341: END IF;
2342: END IF;
2335: , x_msg_data => x_msg_data
2336: );
2337: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2338: RAISE FND_API.G_EXC_ERROR;
2339: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2340: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2341: END IF;
2342: END IF;
2343: END IF;
2336: );
2337: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2338: RAISE FND_API.G_EXC_ERROR;
2339: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2340: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2341: END IF;
2342: END IF;
2343: END IF;
2344: END IF;
2367: -- copy exclusions
2368: -- copy qualifiers
2369: -- return list_line_id created
2370: -- return record created
2371: x_return_status := FND_API.G_RET_STS_SUCCESS;
2372: createTdLine
2373: (
2374: x_return_status => x_return_status
2375: ,x_msg_count => x_msg_count
2377: ,p_offerAdjustmentId => p_offerAdjustmentId
2378: , p_listLineId => p_listLineId
2379: , x_modifier_tbl => x_modifier_tbl
2380: );
2381: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2382: RAISE FND_API.G_EXC_ERROR;
2383: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2384: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2385: END IF;
2378: , p_listLineId => p_listLineId
2379: , x_modifier_tbl => x_modifier_tbl
2380: );
2381: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2382: RAISE FND_API.G_EXC_ERROR;
2383: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2384: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2385: END IF;
2386: copyTdExclusions
2379: , x_modifier_tbl => x_modifier_tbl
2380: );
2381: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2382: RAISE FND_API.G_EXC_ERROR;
2383: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2384: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2385: END IF;
2386: copyTdExclusions
2387: (
2380: );
2381: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2382: RAISE FND_API.G_EXC_ERROR;
2383: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2384: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2385: END IF;
2386: copyTdExclusions
2387: (
2388: x_return_status => x_return_status
2390: ,x_msg_data => x_msg_data
2391: , p_listLineId => p_listLineId
2392: , x_modifier_tbl => x_modifier_tbl
2393: );
2394: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2395: RAISE FND_API.G_EXC_ERROR;
2396: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2397: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2398: END IF;
2391: , p_listLineId => p_listLineId
2392: , x_modifier_tbl => x_modifier_tbl
2393: );
2394: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2395: RAISE FND_API.G_EXC_ERROR;
2396: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2397: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2398: END IF;
2399: copyTdQualifiers
2392: , x_modifier_tbl => x_modifier_tbl
2393: );
2394: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2395: RAISE FND_API.G_EXC_ERROR;
2396: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2397: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2398: END IF;
2399: copyTdQualifiers
2400: (
2393: );
2394: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2395: RAISE FND_API.G_EXC_ERROR;
2396: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2397: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2398: END IF;
2399: copyTdQualifiers
2400: (
2401: x_return_status => x_return_status
2403: ,x_msg_data => x_msg_data
2404: , p_listLineId => p_listLineId
2405: , x_modifier_tbl => x_modifier_tbl
2406: );
2407: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2408: RAISE FND_API.G_EXC_ERROR;
2409: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2410: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2411: END IF;
2404: , p_listLineId => p_listLineId
2405: , x_modifier_tbl => x_modifier_tbl
2406: );
2407: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2408: RAISE FND_API.G_EXC_ERROR;
2409: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2410: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2411: END IF;
2412: copyTdLimits
2405: , x_modifier_tbl => x_modifier_tbl
2406: );
2407: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2408: RAISE FND_API.G_EXC_ERROR;
2409: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2410: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2411: END IF;
2412: copyTdLimits
2413: (
2406: );
2407: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2408: RAISE FND_API.G_EXC_ERROR;
2409: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2410: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2411: END IF;
2412: copyTdLimits
2413: (
2414: x_return_status => x_return_status
2416: ,x_msg_data => x_msg_data
2417: , p_listLineId => p_listLineId
2418: , p_modifier_tbl => x_modifier_tbl
2419: );
2420: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2421: RAISE FND_API.G_EXC_ERROR;
2422: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2423: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2424: END IF;
2417: , p_listLineId => p_listLineId
2418: , p_modifier_tbl => x_modifier_tbl
2419: );
2420: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2421: RAISE FND_API.G_EXC_ERROR;
2422: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2423: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2424: END IF;
2425: END copyTdLine;
2418: , p_modifier_tbl => x_modifier_tbl
2419: );
2420: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2421: RAISE FND_API.G_EXC_ERROR;
2422: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2423: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2424: END IF;
2425: END copyTdLine;
2426: /**
2419: );
2420: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2421: RAISE FND_API.G_EXC_ERROR;
2422: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2423: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2424: END IF;
2425: END copyTdLine;
2426: /**
2427: End Dates a Trade Deal Discount Rule with the effective date of the Adjustment id passed in
2442: -- initialize
2443: -- populate end date lines
2444: -- process end date lines
2445: -- end date line
2446: x_return_status := FND_API.G_RET_STS_SUCCESS;
2447: ozf_utility_pvt.debug_message('before populateTdUpdLines :'||x_return_status);
2448: populateTdUpdLines
2449: (
2450: x_modifier_line_rec => l_modifier_line_tbl(1)
2453: ,x_msg_count => x_msg_count
2454: ,x_msg_data => x_msg_data
2455: );
2456: ozf_utility_pvt.debug_message('after populateTdUpdLines :'||x_return_status);
2457: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2458: RAISE FND_API.G_EXC_ERROR;
2459: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2460: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2461: END IF;
2454: ,x_msg_data => x_msg_data
2455: );
2456: ozf_utility_pvt.debug_message('after populateTdUpdLines :'||x_return_status);
2457: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2458: RAISE FND_API.G_EXC_ERROR;
2459: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2460: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2461: END IF;
2462: ozf_utility_pvt.debug_message('before processTdUpdLines :'||x_return_status);
2455: );
2456: ozf_utility_pvt.debug_message('after populateTdUpdLines :'||x_return_status);
2457: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2458: RAISE FND_API.G_EXC_ERROR;
2459: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2460: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2461: END IF;
2462: ozf_utility_pvt.debug_message('before processTdUpdLines :'||x_return_status);
2463:
2456: ozf_utility_pvt.debug_message('after populateTdUpdLines :'||x_return_status);
2457: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2458: RAISE FND_API.G_EXC_ERROR;
2459: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2460: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2461: END IF;
2462: ozf_utility_pvt.debug_message('before processTdUpdLines :'||x_return_status);
2463:
2464: processTdUpdLines
2470: ,x_msg_count => x_msg_count
2471: ,x_msg_data => x_msg_data
2472: );
2473: ozf_utility_pvt.debug_message('after processTdUpdLines :'||x_return_status);
2474: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2475: RAISE FND_API.G_EXC_ERROR;
2476: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2477: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2478: END IF;
2471: ,x_msg_data => x_msg_data
2472: );
2473: ozf_utility_pvt.debug_message('after processTdUpdLines :'||x_return_status);
2474: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2475: RAISE FND_API.G_EXC_ERROR;
2476: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2477: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2478: END IF;
2479: ozf_utility_pvt.debug_message('before process_qp_list_lines :'||x_return_status);
2472: );
2473: ozf_utility_pvt.debug_message('after processTdUpdLines :'||x_return_status);
2474: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2475: RAISE FND_API.G_EXC_ERROR;
2476: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2477: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2478: END IF;
2479: ozf_utility_pvt.debug_message('before process_qp_list_lines :'||x_return_status);
2480: ozf_offer_pvt.process_qp_list_lines
2473: ozf_utility_pvt.debug_message('after processTdUpdLines :'||x_return_status);
2474: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2475: RAISE FND_API.G_EXC_ERROR;
2476: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2477: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2478: END IF;
2479: ozf_utility_pvt.debug_message('before process_qp_list_lines :'||x_return_status);
2480: ozf_offer_pvt.process_qp_list_lines
2481: (
2488: ,x_modifier_line_tbl => lx_modifier_tbl --QP_MODIFIERS_PUB.modifiers_tbl_type
2489: ,x_error_location => l_errorLocation
2490: );
2491: ozf_utility_pvt.debug_message('after process_qp_list_lines :'||x_return_status);
2492: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2493: RAISE FND_API.G_EXC_ERROR;
2494: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2495: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2496: END IF;
2489: ,x_error_location => l_errorLocation
2490: );
2491: ozf_utility_pvt.debug_message('after process_qp_list_lines :'||x_return_status);
2492: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2493: RAISE FND_API.G_EXC_ERROR;
2494: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2495: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2496: END IF;
2497: EXCEPTION
2490: );
2491: ozf_utility_pvt.debug_message('after process_qp_list_lines :'||x_return_status);
2492: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2493: RAISE FND_API.G_EXC_ERROR;
2494: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2495: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2496: END IF;
2497: EXCEPTION
2498: WHEN OTHERS THEN
2491: ozf_utility_pvt.debug_message('after process_qp_list_lines :'||x_return_status);
2492: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2493: RAISE FND_API.G_EXC_ERROR;
2494: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2495: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2496: END IF;
2497: EXCEPTION
2498: WHEN OTHERS THEN
2499: FND_MSG_PUB.count_and_get(
2496: END IF;
2497: EXCEPTION
2498: WHEN OTHERS THEN
2499: FND_MSG_PUB.count_and_get(
2500: p_encoded => FND_API.g_false
2501: , p_count => x_msg_count
2502: , p_data => x_msg_data
2503: );
2504: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2500: p_encoded => FND_API.g_false
2501: , p_count => x_msg_count
2502: , p_data => x_msg_data
2503: );
2504: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2505: END endDateTdLine;
2506:
2507:
2508: PROCEDURE processOldTdLine
2516: IS
2517: l_modifier_tbl QP_MODIFIERS_PUB.modifiers_tbl_type;
2518: l_listLineId number;
2519: BEGIN
2520: x_return_status := FND_API.G_RET_STS_SUCCESS;
2521: ozf_utility_pvt.debug_message('before endDateTdLine :'||x_return_status);
2522: endDateTdLine
2523: (
2524: x_return_status => x_return_status
2527: ,p_offerAdjustmentId => p_offerAdjustmentId
2528: , p_listLineId => p_listLineId
2529: );
2530: ozf_utility_pvt.debug_message('after endDateTdLine :'||x_return_status);
2531: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2532: RAISE FND_API.G_EXC_ERROR;
2533: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2534: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2535: END IF;
2528: , p_listLineId => p_listLineId
2529: );
2530: ozf_utility_pvt.debug_message('after endDateTdLine :'||x_return_status);
2531: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2532: RAISE FND_API.G_EXC_ERROR;
2533: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2534: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2535: END IF;
2536: ozf_utility_pvt.debug_message('before copyTdLine :'||x_return_status);
2529: );
2530: ozf_utility_pvt.debug_message('after endDateTdLine :'||x_return_status);
2531: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2532: RAISE FND_API.G_EXC_ERROR;
2533: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2534: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2535: END IF;
2536: ozf_utility_pvt.debug_message('before copyTdLine :'||x_return_status);
2537: copyTdLine
2530: ozf_utility_pvt.debug_message('after endDateTdLine :'||x_return_status);
2531: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2532: RAISE FND_API.G_EXC_ERROR;
2533: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2534: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2535: END IF;
2536: ozf_utility_pvt.debug_message('before copyTdLine :'||x_return_status);
2537: copyTdLine
2538: (
2545: , x_modifier_tbl => l_modifier_tbl
2546: );
2547: ozf_utility_pvt.debug_message('after copyTdLine :'||x_return_status);
2548:
2549: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2550: RAISE FND_API.G_EXC_ERROR;
2551: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2552: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2553: END IF;
2546: );
2547: ozf_utility_pvt.debug_message('after copyTdLine :'||x_return_status);
2548:
2549: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2550: RAISE FND_API.G_EXC_ERROR;
2551: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2552: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2553: END IF;
2554: ozf_utility_pvt.debug_message('before relateTdLine :'||x_return_status);
2547: ozf_utility_pvt.debug_message('after copyTdLine :'||x_return_status);
2548:
2549: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2550: RAISE FND_API.G_EXC_ERROR;
2551: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2552: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2553: END IF;
2554: ozf_utility_pvt.debug_message('before relateTdLine :'||x_return_status);
2555: relateTdLines
2548:
2549: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2550: RAISE FND_API.G_EXC_ERROR;
2551: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2552: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2553: END IF;
2554: ozf_utility_pvt.debug_message('before relateTdLine :'||x_return_status);
2555: relateTdLines
2556: (
2561: , p_listLineId => p_listLineId
2562: , p_modifier_tbl => l_modifier_tbl
2563: );
2564: ozf_utility_pvt.debug_message('after relateTdLine :'||x_return_status);
2565: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2566: RAISE FND_API.G_EXC_ERROR;
2567: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2568: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2569: END IF;
2562: , p_modifier_tbl => l_modifier_tbl
2563: );
2564: ozf_utility_pvt.debug_message('after relateTdLine :'||x_return_status);
2565: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2566: RAISE FND_API.G_EXC_ERROR;
2567: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2568: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2569: END IF;
2570:
2563: );
2564: ozf_utility_pvt.debug_message('after relateTdLine :'||x_return_status);
2565: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2566: RAISE FND_API.G_EXC_ERROR;
2567: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2568: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2569: END IF;
2570:
2571: END ;
2564: ozf_utility_pvt.debug_message('after relateTdLine :'||x_return_status);
2565: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2566: RAISE FND_API.G_EXC_ERROR;
2567: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2568: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2569: END IF;
2570:
2571: END ;
2572: /**
2591: -- loop thru. all adjustment lines
2592: -- end date list_line
2593: -- copy list_line
2594: -- relate list_lines
2595: x_return_status := FND_API.G_RET_STS_SUCCESS;
2596: FOR l_adjLines in c_adjLines(cp_offerAdjustmentId => p_offerAdjustmentId) LOOP
2597: --dbms_output.put_line('Processiung :'||l_adjLines.list_line_id);
2598: ozf_utility_pvt.debug_message('before process old td line discounts :'||x_return_status);
2599:
2605: ,p_offerAdjustmentId => p_offerAdjustmentId
2606: , p_listLineId => l_adjLines.list_line_id
2607: );
2608: ozf_utility_pvt.debug_message('after process old td line discounts :'||x_return_status);
2609: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2610: RAISE FND_API.G_EXC_ERROR;
2611: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2612: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2613: END IF;
2606: , p_listLineId => l_adjLines.list_line_id
2607: );
2608: ozf_utility_pvt.debug_message('after process old td line discounts :'||x_return_status);
2609: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2610: RAISE FND_API.G_EXC_ERROR;
2611: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2612: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2613: END IF;
2614: END LOOP;
2607: );
2608: ozf_utility_pvt.debug_message('after process old td line discounts :'||x_return_status);
2609: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2610: RAISE FND_API.G_EXC_ERROR;
2611: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2612: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2613: END IF;
2614: END LOOP;
2615: END process_old_td_discount;
2608: ozf_utility_pvt.debug_message('after process old td line discounts :'||x_return_status);
2609: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2610: RAISE FND_API.G_EXC_ERROR;
2611: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2612: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2613: END IF;
2614: END LOOP;
2615: END process_old_td_discount;
2616:
2629: WHERE a.qp_list_header_id = b.list_header_id
2630: AND b.offer_adjustment_id = cp_offerAdjustmentId;
2631: l_offerType c_offerType%ROWTYPE;
2632: BEGIN
2633: x_return_status := FND_API.G_RET_STS_SUCCESS;
2634: OPEN c_offerType(cp_offerAdjustmentId => p_offerAdjustmentId);
2635: FETCH c_offerType INTO l_offerType;
2636: CLOSE c_offerType;
2637: IF l_offerType.offer_type = 'DEAL' THEN
2643: , x_msg_data => x_msg_data
2644: , p_offerAdjustmentId => p_offerAdjustmentId
2645: );
2646: ozf_utility_pvt.debug_message('after process old td discounts :'||x_return_status);
2647: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2648: RAISE FND_API.G_EXC_ERROR;
2649: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2650: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2651: END IF;
2644: , p_offerAdjustmentId => p_offerAdjustmentId
2645: );
2646: ozf_utility_pvt.debug_message('after process old td discounts :'||x_return_status);
2647: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2648: RAISE FND_API.G_EXC_ERROR;
2649: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2650: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2651: END IF;
2652: ELSIF l_offerType.offer_type = 'OID' THEN
2645: );
2646: ozf_utility_pvt.debug_message('after process old td discounts :'||x_return_status);
2647: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2648: RAISE FND_API.G_EXC_ERROR;
2649: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2650: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2651: END IF;
2652: ELSIF l_offerType.offer_type = 'OID' THEN
2653: process_old_pg_discount
2646: ozf_utility_pvt.debug_message('after process old td discounts :'||x_return_status);
2647: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2648: RAISE FND_API.G_EXC_ERROR;
2649: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2650: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2651: END IF;
2652: ELSIF l_offerType.offer_type = 'OID' THEN
2653: process_old_pg_discount
2654: (
2656: , x_msg_count => x_msg_count
2657: , x_msg_data => x_msg_data
2658: , p_offerAdjustmentId => p_offerAdjustmentId
2659: );
2660: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2661: RAISE FND_API.G_EXC_ERROR;
2662: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2663: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2664: END IF;
2657: , x_msg_data => x_msg_data
2658: , p_offerAdjustmentId => p_offerAdjustmentId
2659: );
2660: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2661: RAISE FND_API.G_EXC_ERROR;
2662: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2663: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2664: END IF;
2665: ELSIF l_offerType.offer_type = 'VOLUME_OFFER' THEN
2658: , p_offerAdjustmentId => p_offerAdjustmentId
2659: );
2660: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2661: RAISE FND_API.G_EXC_ERROR;
2662: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2663: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2664: END IF;
2665: ELSIF l_offerType.offer_type = 'VOLUME_OFFER' THEN
2666: OZF_VOLUME_OFFER_ADJ.adjust_old_discounts
2659: );
2660: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2661: RAISE FND_API.G_EXC_ERROR;
2662: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2663: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2664: END IF;
2665: ELSIF l_offerType.offer_type = 'VOLUME_OFFER' THEN
2666: OZF_VOLUME_OFFER_ADJ.adjust_old_discounts
2667: (
2669: ,x_msg_count => x_msg_count
2670: ,x_msg_data => x_msg_data
2671: ,p_offerAdjustmentId => p_offerAdjustmentId
2672: );
2673: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2674: RAISE FND_API.G_EXC_ERROR;
2675: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2676: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2677: END IF;
2670: ,x_msg_data => x_msg_data
2671: ,p_offerAdjustmentId => p_offerAdjustmentId
2672: );
2673: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2674: RAISE FND_API.G_EXC_ERROR;
2675: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2676: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2677: END IF;
2678:
2671: ,p_offerAdjustmentId => p_offerAdjustmentId
2672: );
2673: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2674: RAISE FND_API.G_EXC_ERROR;
2675: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2676: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2677: END IF;
2678:
2679: ELSIF l_offerType.offer_type IN ( 'ORDER','ACCRUAL','OFF_INVOICE') THEN
2672: );
2673: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2674: RAISE FND_API.G_EXC_ERROR;
2675: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2676: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2677: END IF;
2678:
2679: ELSIF l_offerType.offer_type IN ( 'ORDER','ACCRUAL','OFF_INVOICE') THEN
2680: process_old_reg_discount
2683: , x_msg_count => x_msg_count
2684: , x_msg_data => x_msg_data
2685: , p_offerAdjustmentId => p_offerAdjustmentId
2686: );
2687: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2688: RAISE FND_API.G_EXC_ERROR;
2689: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2690: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2691: END IF;
2684: , x_msg_data => x_msg_data
2685: , p_offerAdjustmentId => p_offerAdjustmentId
2686: );
2687: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2688: RAISE FND_API.G_EXC_ERROR;
2689: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2690: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2691: END IF;
2692: END IF;
2685: , p_offerAdjustmentId => p_offerAdjustmentId
2686: );
2687: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2688: RAISE FND_API.G_EXC_ERROR;
2689: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2690: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2691: END IF;
2692: END IF;
2693: END process_old_discounts;
2686: );
2687: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2688: RAISE FND_API.G_EXC_ERROR;
2689: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2690: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2691: END IF;
2692: END IF;
2693: END process_old_discounts;
2694: ---------------------------------------Process pg products--------------------
2719: AND b.offer_adjustment_id = c.offer_adjustment_id
2720: AND b.offer_adj_new_line_id = cp_offerAdjNewLineId;
2721: i NUMBER;
2722: BEGIN
2723: x_return_status := FND_API.G_RET_STS_SUCCESS;
2724: x_modifier_line_tbl.delete;
2725: i := 1;
2726: FOR l_newBuy in c_newBuy(cp_offerAdjNewLineId => p_offerAdjNewLineId) LOOP
2727: x_modifier_line_tbl(i).product_attr := l_newBuy.product_attribute;
2746: ,px_modifier_line_tbl IN OUT NOCOPY ozf_offer_pvt.MODIFIER_LINE_Tbl_TYPE
2747: )
2748: IS
2749: BEGIN
2750: x_return_status := FND_API.G_RET_STS_SUCCESS;
2751: IF nvl(px_modifier_line_tbl.count,0) > 0 THEN
2752: FOR i in px_modifier_line_tbl.first .. px_modifier_line_tbl.last LOOP
2753: IF px_modifier_line_tbl.exists(i) THEN
2754: px_modifier_line_tbl(i).operation := QP_GLOBALS.G_OPR_CREATE;
2781: -- populate data
2782: -- process data
2783: -- create
2784: -- return created table
2785: x_return_status := FND_API.G_RET_STS_SUCCESS;
2786: l_modifier_line_tbl.delete;
2787: lx_modifier_tbl.delete;
2788:
2789: populateNewBuyProduct
2793: , x_msg_data => x_msg_data
2794: , p_offerAdjNewLineId => p_offerAdjNewLineId
2795: , x_modifier_line_tbl => l_modifier_line_tbl
2796: );
2797: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2798: RAISE FND_API.G_EXC_ERROR;
2799: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2800: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2801: END IF;
2794: , p_offerAdjNewLineId => p_offerAdjNewLineId
2795: , x_modifier_line_tbl => l_modifier_line_tbl
2796: );
2797: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2798: RAISE FND_API.G_EXC_ERROR;
2799: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2800: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2801: END IF;
2802: processNewBuyProduct
2795: , x_modifier_line_tbl => l_modifier_line_tbl
2796: );
2797: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2798: RAISE FND_API.G_EXC_ERROR;
2799: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2800: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2801: END IF;
2802: processNewBuyProduct
2803: (
2796: );
2797: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2798: RAISE FND_API.G_EXC_ERROR;
2799: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2800: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2801: END IF;
2802: processNewBuyProduct
2803: (
2804: x_return_status => x_return_status
2806: , x_msg_data => x_msg_data
2807: , p_offerAdjNewLineId => p_offerAdjNewLineId
2808: , px_modifier_line_tbl => l_modifier_line_tbl
2809: );
2810: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2811: RAISE FND_API.G_EXC_ERROR;
2812: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2813: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2814: END IF;
2807: , p_offerAdjNewLineId => p_offerAdjNewLineId
2808: , px_modifier_line_tbl => l_modifier_line_tbl
2809: );
2810: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2811: RAISE FND_API.G_EXC_ERROR;
2812: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2813: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2814: END IF;
2815: OZF_OFFER_PVT.process_qp_list_lines
2808: , px_modifier_line_tbl => l_modifier_line_tbl
2809: );
2810: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2811: RAISE FND_API.G_EXC_ERROR;
2812: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2813: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2814: END IF;
2815: OZF_OFFER_PVT.process_qp_list_lines
2816: (
2809: );
2810: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2811: RAISE FND_API.G_EXC_ERROR;
2812: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2813: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2814: END IF;
2815: OZF_OFFER_PVT.process_qp_list_lines
2816: (
2817: x_return_status => x_return_status
2822: ,p_list_header_id => l_modifier_line_tbl(1).list_header_id
2823: ,x_modifier_line_tbl => lx_modifier_tbl
2824: ,x_error_location => l_errorLocation
2825: );
2826: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2827: RAISE FND_API.G_EXC_ERROR;
2828: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2829: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2830: END IF;
2823: ,x_modifier_line_tbl => lx_modifier_tbl
2824: ,x_error_location => l_errorLocation
2825: );
2826: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2827: RAISE FND_API.G_EXC_ERROR;
2828: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2829: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2830: END IF;
2831: x_modifier_tbl := lx_modifier_tbl;
2824: ,x_error_location => l_errorLocation
2825: );
2826: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2827: RAISE FND_API.G_EXC_ERROR;
2828: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2829: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2830: END IF;
2831: x_modifier_tbl := lx_modifier_tbl;
2832: EXCEPTION
2825: );
2826: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2827: RAISE FND_API.G_EXC_ERROR;
2828: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2829: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2830: END IF;
2831: x_modifier_tbl := lx_modifier_tbl;
2832: EXCEPTION
2833: WHEN OTHERS THEN
2830: END IF;
2831: x_modifier_tbl := lx_modifier_tbl;
2832: EXCEPTION
2833: WHEN OTHERS THEN
2834: x_return_status := FND_API.G_RET_STS_ERROR;
2835: FND_MSG_PUB.count_and_get(
2836: p_encoded => FND_API.g_false
2837: , p_count => x_msg_count
2838: , p_data => x_msg_data
2832: EXCEPTION
2833: WHEN OTHERS THEN
2834: x_return_status := FND_API.G_RET_STS_ERROR;
2835: FND_MSG_PUB.count_and_get(
2836: p_encoded => FND_API.g_false
2837: , p_count => x_msg_count
2838: , p_data => x_msg_data
2839: );
2840: END createNewBuyProduct;
2851: BEGIN
2852: -- initialize
2853: -- create new line
2854: -- create line in ozf_offer_adjustment_lines
2855: x_return_status := FND_API.G_RET_STS_SUCCESS;
2856: createNewBuyProduct
2857: (
2858: x_return_status => x_return_status
2859: ,x_msg_count => x_msg_count
2860: ,x_msg_data => x_msg_data
2861: ,p_offerAdjNewLineId => p_offerAdjNewLineId
2862: , x_modifier_tbl => l_modifiers_tbl
2863: );
2864: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2865: RAISE FND_API.G_EXC_ERROR;
2866: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2867: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2868: END IF;
2861: ,p_offerAdjNewLineId => p_offerAdjNewLineId
2862: , x_modifier_tbl => l_modifiers_tbl
2863: );
2864: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2865: RAISE FND_API.G_EXC_ERROR;
2866: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2867: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2868: END IF;
2869: createAdjLines
2862: , x_modifier_tbl => l_modifiers_tbl
2863: );
2864: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2865: RAISE FND_API.G_EXC_ERROR;
2866: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2867: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2868: END IF;
2869: createAdjLines
2870: (
2863: );
2864: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2865: RAISE FND_API.G_EXC_ERROR;
2866: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2867: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2868: END IF;
2869: createAdjLines
2870: (
2871: x_return_status => x_return_status
2873: ,x_msg_data => x_msg_data
2874: ,p_modifiers_tbl => l_modifiers_tbl
2875: ,p_offerAdjustmentId => getAdjustmentId( p_offerAdjNewLineId => p_offerAdjNewLineId)
2876: );
2877: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2878: RAISE FND_API.G_EXC_ERROR;
2879: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2880: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2881: END IF;
2874: ,p_modifiers_tbl => l_modifiers_tbl
2875: ,p_offerAdjustmentId => getAdjustmentId( p_offerAdjNewLineId => p_offerAdjNewLineId)
2876: );
2877: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2878: RAISE FND_API.G_EXC_ERROR;
2879: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2880: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2881: END IF;
2882: EXCEPTION
2875: ,p_offerAdjustmentId => getAdjustmentId( p_offerAdjNewLineId => p_offerAdjNewLineId)
2876: );
2877: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2878: RAISE FND_API.G_EXC_ERROR;
2879: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2880: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2881: END IF;
2882: EXCEPTION
2883: WHEN OTHERS THEN
2876: );
2877: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2878: RAISE FND_API.G_EXC_ERROR;
2879: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2880: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2881: END IF;
2882: EXCEPTION
2883: WHEN OTHERS THEN
2884: FND_MSG_PUB.count_and_get(
2881: END IF;
2882: EXCEPTION
2883: WHEN OTHERS THEN
2884: FND_MSG_PUB.count_and_get(
2885: p_encoded => FND_API.g_false
2886: , p_count => x_msg_count
2887: , p_data => x_msg_data
2888: );
2889: END processNewBuyProduct;
2903: AND offer_adjustment_id = cp_offerAdjustmentId;
2904: BEGIN
2905: -- initialize
2906: -- loop thru. individual lines and process each line
2907: x_return_status := FND_API.G_RET_STS_SUCCESS;
2908: FOR l_adjLines IN c_adjLines(cp_offerAdjustmentId => p_offerAdjustmentId) LOOP
2909: processNewBuyProduct
2910: (
2911: x_return_status => x_return_status
2912: ,x_msg_count => x_msg_count
2913: ,x_msg_data => x_msg_data
2914: ,p_offerAdjNewLineId => l_adjLines.offer_adj_new_line_id
2915: );
2916: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2917: RAISE FND_API.G_EXC_ERROR;
2918: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2919: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2920: END IF;
2913: ,x_msg_data => x_msg_data
2914: ,p_offerAdjNewLineId => l_adjLines.offer_adj_new_line_id
2915: );
2916: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2917: RAISE FND_API.G_EXC_ERROR;
2918: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2919: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2920: END IF;
2921: END LOOP;
2914: ,p_offerAdjNewLineId => l_adjLines.offer_adj_new_line_id
2915: );
2916: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2917: RAISE FND_API.G_EXC_ERROR;
2918: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2919: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2920: END IF;
2921: END LOOP;
2922: END processNewBuyProducts;
2915: );
2916: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2917: RAISE FND_API.G_EXC_ERROR;
2918: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2919: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2920: END IF;
2921: END LOOP;
2922: END processNewBuyProducts;
2923: ----------------------------End PG Buy products------------------------------
2948: AND a.offer_adj_new_line_id = cp_offerAdjNewLineId;
2949:
2950: i NUMBER;
2951: BEGIN
2952: x_return_status := FND_API.G_RET_STS_SUCCESS;
2953: x_modifier_line_tbl.delete;
2954: i := 1;
2955: FOR l_newGet IN c_newGet(cp_offerAdjNewLineId => p_offerAdjNewLineId) LOOP
2956: x_modifier_line_tbl(i).start_date_active := l_newGet.effective_date;
2979: ,px_modifier_line_tbl IN OUT NOCOPY ozf_offer_pvt.MODIFIER_LINE_Tbl_TYPE
2980: )
2981: IS
2982: BEGIN
2983: x_return_status := FND_API.G_RET_STS_SUCCESS;
2984: IF nvl(px_modifier_line_tbl.count,0) > 0 THEN
2985: FOR i in px_modifier_line_tbl.first .. px_modifier_line_tbl.last LOOP
2986: IF px_modifier_line_tbl.exists(i) THEN
2987: px_modifier_line_tbl(i).operation := QP_GLOBALS.G_OPR_CREATE;
3010: -- populate data in qp structures
3011: -- process data in qp structures
3012: -- create
3013: -- return the created table
3014: x_return_status := FND_API.G_RET_STS_SUCCESS;
3015: l_modifier_line_tbl.delete;
3016:
3017: populateNewGetProduct
3018: (
3021: ,x_msg_data => x_msg_data
3022: ,p_offerAdjNewLineId => p_offerAdjNewLineId
3023: ,x_modifier_line_tbl => l_modifier_line_tbl
3024: );
3025: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3026: RAISE FND_API.G_EXC_ERROR;
3027: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3028: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3029: END IF;
3022: ,p_offerAdjNewLineId => p_offerAdjNewLineId
3023: ,x_modifier_line_tbl => l_modifier_line_tbl
3024: );
3025: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3026: RAISE FND_API.G_EXC_ERROR;
3027: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3028: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3029: END IF;
3030: processNewGetProduct
3023: ,x_modifier_line_tbl => l_modifier_line_tbl
3024: );
3025: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3026: RAISE FND_API.G_EXC_ERROR;
3027: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3028: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3029: END IF;
3030: processNewGetProduct
3031: (
3024: );
3025: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3026: RAISE FND_API.G_EXC_ERROR;
3027: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3028: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3029: END IF;
3030: processNewGetProduct
3031: (
3032: x_return_status => x_return_status
3034: ,x_msg_data => x_msg_data
3035: ,p_offerAdjNewLineId => p_offerAdjNewLineId
3036: ,px_modifier_line_tbl => l_modifier_line_tbl
3037: );
3038: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3039: RAISE FND_API.G_EXC_ERROR;
3040: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3041: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3042: END IF;
3035: ,p_offerAdjNewLineId => p_offerAdjNewLineId
3036: ,px_modifier_line_tbl => l_modifier_line_tbl
3037: );
3038: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3039: RAISE FND_API.G_EXC_ERROR;
3040: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3041: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3042: END IF;
3043: OZF_OFFER_PVT.process_qp_list_lines
3036: ,px_modifier_line_tbl => l_modifier_line_tbl
3037: );
3038: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3039: RAISE FND_API.G_EXC_ERROR;
3040: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3041: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3042: END IF;
3043: OZF_OFFER_PVT.process_qp_list_lines
3044: (
3037: );
3038: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3039: RAISE FND_API.G_EXC_ERROR;
3040: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3041: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3042: END IF;
3043: OZF_OFFER_PVT.process_qp_list_lines
3044: (
3045: x_return_status => x_return_status
3050: ,p_list_header_id => l_modifier_line_tbl(1).list_header_id
3051: ,x_modifier_line_tbl => lx_modifier_tbl
3052: ,x_error_location => l_errorLocation
3053: );
3054: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3055: RAISE FND_API.G_EXC_ERROR;
3056: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3057: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3058: END IF;
3051: ,x_modifier_line_tbl => lx_modifier_tbl
3052: ,x_error_location => l_errorLocation
3053: );
3054: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3055: RAISE FND_API.G_EXC_ERROR;
3056: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3057: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3058: END IF;
3059: x_modifier_tbl := lx_modifier_tbl;
3052: ,x_error_location => l_errorLocation
3053: );
3054: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3055: RAISE FND_API.G_EXC_ERROR;
3056: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3057: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3058: END IF;
3059: x_modifier_tbl := lx_modifier_tbl;
3060: END createNewGetProduct;
3053: );
3054: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3055: RAISE FND_API.G_EXC_ERROR;
3056: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3057: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3058: END IF;
3059: x_modifier_tbl := lx_modifier_tbl;
3060: END createNewGetProduct;
3061:
3071: BEGIN
3072: -- initialize
3073: -- create new get product
3074: -- create offer_adjustment_line
3075: x_return_status := FND_API.G_RET_STS_SUCCESS;
3076: l_modifiers_tbl.delete;
3077: createNewGetProduct
3078: (
3079: x_return_status => x_return_status
3081: ,x_msg_data => x_msg_data
3082: ,p_offerAdjNewLineId => p_offerAdjNewLineId
3083: ,x_modifier_tbl => l_modifiers_tbl
3084: );
3085: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3086: RAISE FND_API.G_EXC_ERROR;
3087: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3088: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3089: END IF;
3082: ,p_offerAdjNewLineId => p_offerAdjNewLineId
3083: ,x_modifier_tbl => l_modifiers_tbl
3084: );
3085: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3086: RAISE FND_API.G_EXC_ERROR;
3087: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3088: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3089: END IF;
3090: createAdjLines
3083: ,x_modifier_tbl => l_modifiers_tbl
3084: );
3085: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3086: RAISE FND_API.G_EXC_ERROR;
3087: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3088: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3089: END IF;
3090: createAdjLines
3091: (
3084: );
3085: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3086: RAISE FND_API.G_EXC_ERROR;
3087: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3088: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3089: END IF;
3090: createAdjLines
3091: (
3092: x_return_status => x_return_status
3094: ,x_msg_data => x_msg_data
3095: ,p_modifiers_tbl => l_modifiers_tbl
3096: ,p_offerAdjustmentId => getAdjustmentId( p_offerAdjNewLineId => p_offerAdjNewLineId)
3097: );
3098: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3099: RAISE FND_API.G_EXC_ERROR;
3100: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3101: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3102: END IF;
3095: ,p_modifiers_tbl => l_modifiers_tbl
3096: ,p_offerAdjustmentId => getAdjustmentId( p_offerAdjNewLineId => p_offerAdjNewLineId)
3097: );
3098: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3099: RAISE FND_API.G_EXC_ERROR;
3100: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3101: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3102: END IF;
3103: EXCEPTION
3096: ,p_offerAdjustmentId => getAdjustmentId( p_offerAdjNewLineId => p_offerAdjNewLineId)
3097: );
3098: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3099: RAISE FND_API.G_EXC_ERROR;
3100: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3101: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3102: END IF;
3103: EXCEPTION
3104: WHEN OTHERS THEN
3097: );
3098: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3099: RAISE FND_API.G_EXC_ERROR;
3100: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3101: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3102: END IF;
3103: EXCEPTION
3104: WHEN OTHERS THEN
3105: FND_MSG_PUB.count_and_get(
3102: END IF;
3103: EXCEPTION
3104: WHEN OTHERS THEN
3105: FND_MSG_PUB.count_and_get(
3106: p_encoded => FND_API.g_false
3107: , p_count => x_msg_count
3108: , p_data => x_msg_data
3109: );
3110: END processNewGetProduct;
3124: AND offer_adjustment_id = cp_offerAdjustmentId;
3125: BEGIN
3126: -- initialize
3127: -- loop thru. individual lines and process each line
3128: x_return_status := FND_API.G_RET_STS_SUCCESS;
3129: FOR l_adjLines IN c_adjLines(cp_offerAdjustmentId => p_offerAdjustmentId) LOOP
3130: processNewGetProduct
3131: (
3132: x_return_status => x_return_status
3133: ,x_msg_count => x_msg_count
3134: ,x_msg_data => x_msg_data
3135: ,p_offerAdjNewLineId => l_adjLines.offer_adj_new_line_id
3136: );
3137: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3138: RAISE FND_API.G_EXC_ERROR;
3139: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3140: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3141: END IF;
3134: ,x_msg_data => x_msg_data
3135: ,p_offerAdjNewLineId => l_adjLines.offer_adj_new_line_id
3136: );
3137: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3138: RAISE FND_API.G_EXC_ERROR;
3139: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3140: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3141: END IF;
3142: END LOOP;
3135: ,p_offerAdjNewLineId => l_adjLines.offer_adj_new_line_id
3136: );
3137: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3138: RAISE FND_API.G_EXC_ERROR;
3139: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3140: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3141: END IF;
3142: END LOOP;
3143: END processNewGetProducts;
3136: );
3137: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3138: RAISE FND_API.G_EXC_ERROR;
3139: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3140: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3141: END IF;
3142: END LOOP;
3143: END processNewGetProducts;
3144:
3150: ,p_offerAdjustmentId IN NUMBER
3151: )
3152: IS
3153: BEGIN
3154: x_return_status := FND_API.G_RET_STS_SUCCESS;
3155: -- initialize
3156: -- process new buy products
3157: -- process new get products
3158: processNewBuyProducts
3161: ,x_msg_count => x_msg_count
3162: ,x_msg_data => x_msg_data
3163: ,p_offerAdjustmentId => p_offerAdjustmentId
3164: );
3165: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3166: RAISE FND_API.G_EXC_ERROR;
3167: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3168: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3169: END IF;
3162: ,x_msg_data => x_msg_data
3163: ,p_offerAdjustmentId => p_offerAdjustmentId
3164: );
3165: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3166: RAISE FND_API.G_EXC_ERROR;
3167: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3168: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3169: END IF;
3170: processNewGetProducts
3163: ,p_offerAdjustmentId => p_offerAdjustmentId
3164: );
3165: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3166: RAISE FND_API.G_EXC_ERROR;
3167: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3168: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3169: END IF;
3170: processNewGetProducts
3171: (
3164: );
3165: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3166: RAISE FND_API.G_EXC_ERROR;
3167: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3168: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3169: END IF;
3170: processNewGetProducts
3171: (
3172: x_return_status => x_return_status
3173: ,x_msg_count => x_msg_count
3174: ,x_msg_data => x_msg_data
3175: ,p_offerAdjustmentId => p_offerAdjustmentId
3176: );
3177: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3178: RAISE FND_API.G_EXC_ERROR;
3179: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3180: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3181: END IF;
3174: ,x_msg_data => x_msg_data
3175: ,p_offerAdjustmentId => p_offerAdjustmentId
3176: );
3177: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3178: RAISE FND_API.G_EXC_ERROR;
3179: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3180: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3181: END IF;
3182: EXCEPTION
3175: ,p_offerAdjustmentId => p_offerAdjustmentId
3176: );
3177: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3178: RAISE FND_API.G_EXC_ERROR;
3179: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3180: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3181: END IF;
3182: EXCEPTION
3183: WHEN OTHERS THEN
3176: );
3177: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3178: RAISE FND_API.G_EXC_ERROR;
3179: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3180: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3181: END IF;
3182: EXCEPTION
3183: WHEN OTHERS THEN
3184: x_return_status := FND_API.G_RET_STS_ERROR;
3180: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3181: END IF;
3182: EXCEPTION
3183: WHEN OTHERS THEN
3184: x_return_status := FND_API.G_RET_STS_ERROR;
3185: FND_MSG_PUB.count_and_get(
3186: p_encoded => FND_API.g_false
3187: , p_count => x_msg_count
3188: , p_data => x_msg_data
3182: EXCEPTION
3183: WHEN OTHERS THEN
3184: x_return_status := FND_API.G_RET_STS_ERROR;
3185: FND_MSG_PUB.count_and_get(
3186: p_encoded => FND_API.g_false
3187: , p_count => x_msg_count
3188: , p_data => x_msg_data
3189: );
3190: END processNewPgProducts;
3232:
3233: BEGIN
3234: -- initialize
3235: -- loop thru. the records and populate
3236: x_return_status := FND_API.G_RET_STS_SUCCESS;
3237: x_modifier_line_tbl.delete;
3238: i := 1;
3239: FOR l_offerAdjustmentLines IN c_offerAdjustmentLines(cp_offerAdjNewLineId => p_offerAdjNewLineId)
3240: LOOP
3238: i := 1;
3239: FOR l_offerAdjustmentLines IN c_offerAdjustmentLines(cp_offerAdjNewLineId => p_offerAdjNewLineId)
3240: LOOP
3241: x_modifier_line_tbl(i).list_header_id := l_offerAdjustmentLines.list_header_id;
3242: x_modifier_line_tbl(i).list_line_id := FND_API.G_MISS_NUM;
3243: x_modifier_line_tbl(i).list_line_type_code := l_offerAdjustmentLines.tier_type;
3244: x_modifier_line_tbl(i).operand := l_offerAdjustmentLines.discount;
3245: x_modifier_line_tbl(i).arithmetic_operator := l_offerAdjustmentLines.discount_type;
3246: x_modifier_line_tbl(i).product_attr := l_offerAdjustmentLines.product_attribute;
3248: x_modifier_line_tbl(i).product_uom_code := l_offerAdjustmentLines.uom_code;
3249: x_modifier_line_tbl(i).pricing_attr := l_offerAdjustmentLines.volume_type;
3250: x_modifier_line_tbl(i).pricing_attr_value_from := l_offerAdjustmentLines.volume_from;
3251: x_modifier_line_tbl(i).inactive_flag := 'Y';
3252: x_modifier_line_tbl(i).pricing_attribute_id := FND_API.G_MISS_NUM;
3253:
3254: END LOOP;
3255: END populateDisDiscounts;
3256:
3263: ,px_modifier_line_tbl IN OUT NOCOPY ozf_offer_pvt.modifier_line_tbl_type
3264: )
3265: IS
3266: BEGIN
3267: x_return_status := FND_API.G_RET_STS_SUCCESS;
3268: IF nvl(px_modifier_line_tbl.count,0) > 0 THEN
3269: FOR i IN px_modifier_line_tbl.first .. px_modifier_line_tbl.last LOOP
3270: IF px_modifier_line_tbl.exists(i) THEN
3271: px_modifier_line_tbl(i).operation := QP_GLOBALS.G_OPR_CREATE;
3291: -- populate discounts
3292: -- create qp_list_lines
3293: -- create ozf_offer_adjustment_lines with created from adjustments = y -- required only for processing with bugets
3294: -- need to look at relating offer_adj_new_line_id with the qp list_line_id created. may be useful later for audit reporting and Sarbines-Auxley compliance.
3295: x_return_status := FND_API.G_RET_STS_SUCCESS;
3296: l_modifier_line_tbl.delete;
3297: populateDisDiscounts
3298: (
3299: x_return_status => x_return_status
3301: ,x_msg_data => x_msg_data
3302: ,p_offerAdjNewLineId => p_offerAdjNewLineId
3303: ,x_modifier_line_tbl => l_modifier_line_tbl
3304: );
3305: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3306: RAISE FND_API.G_EXC_ERROR;
3307: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3308: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3309: END IF;
3302: ,p_offerAdjNewLineId => p_offerAdjNewLineId
3303: ,x_modifier_line_tbl => l_modifier_line_tbl
3304: );
3305: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3306: RAISE FND_API.G_EXC_ERROR;
3307: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3308: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3309: END IF;
3310: processDisDiscounts
3303: ,x_modifier_line_tbl => l_modifier_line_tbl
3304: );
3305: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3306: RAISE FND_API.G_EXC_ERROR;
3307: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3308: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3309: END IF;
3310: processDisDiscounts
3311: (
3304: );
3305: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3306: RAISE FND_API.G_EXC_ERROR;
3307: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3308: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3309: END IF;
3310: processDisDiscounts
3311: (
3312: x_return_status => x_return_status
3314: ,x_msg_data => x_msg_data
3315: ,p_offerAdjNewLineId => p_offerAdjNewLineId
3316: ,px_modifier_line_tbl => l_modifier_line_tbl
3317: );
3318: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3319: RAISE FND_API.G_EXC_ERROR;
3320: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3321: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3322: END IF;
3315: ,p_offerAdjNewLineId => p_offerAdjNewLineId
3316: ,px_modifier_line_tbl => l_modifier_line_tbl
3317: );
3318: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3319: RAISE FND_API.G_EXC_ERROR;
3320: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3321: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3322: END IF;
3323: OZF_OFFER_PVT.process_qp_list_lines
3316: ,px_modifier_line_tbl => l_modifier_line_tbl
3317: );
3318: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3319: RAISE FND_API.G_EXC_ERROR;
3320: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3321: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3322: END IF;
3323: OZF_OFFER_PVT.process_qp_list_lines
3324: (
3317: );
3318: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3319: RAISE FND_API.G_EXC_ERROR;
3320: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3321: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3322: END IF;
3323: OZF_OFFER_PVT.process_qp_list_lines
3324: (
3325: x_return_status => x_return_status
3330: ,p_list_header_id => l_modifier_line_tbl(1).list_header_id
3331: ,x_modifier_line_tbl => l_modifiers_tbl
3332: ,x_error_location => l_errorLocation
3333: );
3334: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3335: RAISE FND_API.G_EXC_ERROR;
3336: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3337: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3338: END IF;
3331: ,x_modifier_line_tbl => l_modifiers_tbl
3332: ,x_error_location => l_errorLocation
3333: );
3334: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3335: RAISE FND_API.G_EXC_ERROR;
3336: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3337: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3338: END IF;
3339: createAdjLines
3332: ,x_error_location => l_errorLocation
3333: );
3334: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3335: RAISE FND_API.G_EXC_ERROR;
3336: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3337: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3338: END IF;
3339: createAdjLines
3340: (
3333: );
3334: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3335: RAISE FND_API.G_EXC_ERROR;
3336: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3337: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3338: END IF;
3339: createAdjLines
3340: (
3341: x_return_status => x_return_status
3343: ,x_msg_data => x_msg_data
3344: ,p_modifiers_tbl => l_modifiers_tbl
3345: ,p_offerAdjustmentId => getAdjustmentId( p_offerAdjNewLineId => p_offerAdjNewLineId)
3346: );
3347: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3348: RAISE FND_API.G_EXC_ERROR;
3349: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3350: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3351: END IF;
3344: ,p_modifiers_tbl => l_modifiers_tbl
3345: ,p_offerAdjustmentId => getAdjustmentId( p_offerAdjNewLineId => p_offerAdjNewLineId)
3346: );
3347: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3348: RAISE FND_API.G_EXC_ERROR;
3349: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3350: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3351: END IF;
3352: END processNewStProduct;
3345: ,p_offerAdjustmentId => getAdjustmentId( p_offerAdjNewLineId => p_offerAdjNewLineId)
3346: );
3347: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3348: RAISE FND_API.G_EXC_ERROR;
3349: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3350: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3351: END IF;
3352: END processNewStProduct;
3353:
3346: );
3347: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3348: RAISE FND_API.G_EXC_ERROR;
3349: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3350: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3351: END IF;
3352: END processNewStProduct;
3353:
3354:
3372: FROM qp_list_lines
3373: WHERE list_header_id = cp_listHeaderId
3374: AND rownum < 2;
3375: BEGIN
3376: x_return_status := FND_API.G_RET_STS_SUCCESS;
3377: FOR l_advOpt IN c_advOpt(cp_listHeaderId => p_listHeaderId ) LOOP
3378: px_modifier_line_rec.proration_type_code := l_advOpt.proration_type_code;
3379: px_modifier_line_rec.product_precedence := l_advOpt.product_precedence;
3380: px_modifier_line_rec.pricing_group_sequence := l_advOpt.pricing_group_sequence;
3405: AND b.list_header_id = c.qp_list_header_id
3406: AND a.offer_adj_new_line_id = cp_offerAdjNewLineId;
3407: i NUMBER;
3408: BEGIN
3409: x_return_status := FND_API.G_RET_STS_SUCCESS;
3410: i := 1;
3411: FOR l_offerDetails IN c_offerDetails(cp_offerAdjNewLineId => p_offerAdjNewLineId) LOOP
3412: px_modifier_line_rec.operation := QP_GLOBALS.G_OPR_CREATE;
3413: px_modifier_line_rec.start_date_active := l_offerDetails.effective_date;
3457: a.offer_adj_new_line_id = b.offer_adj_new_line_id
3458: AND a.offer_adj_new_line_id = cp_offerAdjNewLineId;
3459: i NUMBER;
3460: BEGIN
3461: x_return_status := FND_API.G_RET_STS_SUCCESS;
3462: i := 1;
3463: FOR l_productAttributes IN c_productAttributes(cp_offerAdjNewLineId => p_offerAdjNewLineId) LOOP
3464: x_pricing_attr_tbl(i).product_attribute_context := l_productAttributes.product_context;
3465: x_pricing_attr_tbl(i).product_attribute := l_productAttributes.product_attribute;
3470: x_pricing_attr_tbl(i).pricing_attribute := l_productAttributes.volume_type;
3471: x_pricing_attr_tbl(i).comparison_operator_code := 'BETWEEN';
3472: x_pricing_attr_tbl(i).modifiers_index := p_index;
3473: x_pricing_attr_tbl(i).operation := QP_GLOBALS.G_OPR_CREATE;
3474: x_pricing_attr_tbl(i).pricing_attribute_id := FND_API.G_MISS_NUM;
3475: x_pricing_attr_tbl(i).attribute_grouping_no := FND_API.G_MISS_NUM;
3476: i := i + 1;
3477: END LOOP;
3478: END populatePbhPricingAttr;
3471: x_pricing_attr_tbl(i).comparison_operator_code := 'BETWEEN';
3472: x_pricing_attr_tbl(i).modifiers_index := p_index;
3473: x_pricing_attr_tbl(i).operation := QP_GLOBALS.G_OPR_CREATE;
3474: x_pricing_attr_tbl(i).pricing_attribute_id := FND_API.G_MISS_NUM;
3475: x_pricing_attr_tbl(i).attribute_grouping_no := FND_API.G_MISS_NUM;
3476: i := i + 1;
3477: END LOOP;
3478: END populatePbhPricingAttr;
3479:
3497: FROM ozf_offer_adj_new_lines a
3498: WHERE a.offer_adj_new_line_id = cp_offerAdjNewLineId;
3499:
3500: BEGIN
3501: x_return_status := FND_API.G_RET_STS_SUCCESS;
3502: FOR l_pbhData IN c_pbhData(cp_offerAdjNewLineId => p_offerAdjNewLineId) LOOP
3503: x_modifier_line_rec.operation := QP_GLOBALS.G_OPR_CREATE;
3504: x_modifier_line_rec.list_line_type_code := 'PBH';
3505: x_modifier_line_rec.automatic_flag := 'Y';
3522: ,x_msg_data => x_msg_data
3523: ,p_offerAdjNewLineId => p_offerAdjNewLineId
3524: , px_modifier_line_rec => x_modifier_line_rec
3525: );
3526: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3527: RAISE FND_API.G_EXC_ERROR;
3528: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3529: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3530: END IF;
3523: ,p_offerAdjNewLineId => p_offerAdjNewLineId
3524: , px_modifier_line_rec => x_modifier_line_rec
3525: );
3526: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3527: RAISE FND_API.G_EXC_ERROR;
3528: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3529: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3530: END IF;
3531: END LOOP;
3524: , px_modifier_line_rec => x_modifier_line_rec
3525: );
3526: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3527: RAISE FND_API.G_EXC_ERROR;
3528: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3529: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3530: END IF;
3531: END LOOP;
3532: END populatePbhDiscounts;
3525: );
3526: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3527: RAISE FND_API.G_EXC_ERROR;
3528: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3529: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3530: END IF;
3531: END LOOP;
3532: END populatePbhDiscounts;
3533: /*
3540: , x_modifier_line_rec OUT NOCOPY qp_modifiers_pub.modifiers_rec_type
3541: )
3542: IS
3543: BEGIN
3544: x_return_status := FND_API.G_RET_STS_SUCCESS;
3545: -- initialize
3546: -- loop thru. discount lines and populate discounts for each line
3547:
3548: END populateDisDiscounts;*/
3564: FROM ozf_offer_adj_new_lines
3565: WHERE offer_adj_new_line_id = cp_offerAdjNewLineId;
3566:
3567: BEGIN
3568: x_return_status := FND_API.G_RET_STS_SUCCESS;
3569: FOR l_discounts IN c_discounts(cp_offerAdjNewLineId => p_offerAdjNewLineId) LOOP
3570:
3571: x_modifier_line_rec.operation := QP_GLOBALS.G_OPR_CREATE;
3572: x_modifier_line_rec.list_line_type_code := l_discounts.tier_type;
3584: ,x_msg_data => x_msg_data
3585: ,p_offerAdjNewLineId => p_offerAdjNewLineId
3586: , px_modifier_line_rec => x_modifier_line_rec
3587: );
3588: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3589: RAISE FND_API.G_EXC_ERROR;
3590: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3591: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3592: END IF;
3585: ,p_offerAdjNewLineId => p_offerAdjNewLineId
3586: , px_modifier_line_rec => x_modifier_line_rec
3587: );
3588: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3589: RAISE FND_API.G_EXC_ERROR;
3590: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3591: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3592: END IF;
3593:
3586: , px_modifier_line_rec => x_modifier_line_rec
3587: );
3588: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3589: RAISE FND_API.G_EXC_ERROR;
3590: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3591: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3592: END IF;
3593:
3594: END LOOP;
3587: );
3588: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3589: RAISE FND_API.G_EXC_ERROR;
3590: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3591: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3592: END IF;
3593:
3594: END LOOP;
3595: END populateDisDiscounts;
3618: a.offer_adj_new_line_id = b.parent_adj_line_id
3619: AND a.excluder_flag = 'N'
3620: AND b.offer_adj_new_line_id = cp_offerAdjNewLineId;
3621: BEGIN
3622: x_return_status := FND_API.G_RET_STS_SUCCESS;
3623: x_pricing_attr_rec := null;
3624: FOR l_pricingAttributes in c_pricingAttributes(cp_offerAdjNewLineId => p_offerAdjNewLineId) LOOP
3625: x_pricing_attr_rec.pricing_attribute_id := FND_API.G_MISS_NUM;
3626: x_pricing_attr_rec.attribute_grouping_no := FND_API.G_MISS_NUM;
3621: BEGIN
3622: x_return_status := FND_API.G_RET_STS_SUCCESS;
3623: x_pricing_attr_rec := null;
3624: FOR l_pricingAttributes in c_pricingAttributes(cp_offerAdjNewLineId => p_offerAdjNewLineId) LOOP
3625: x_pricing_attr_rec.pricing_attribute_id := FND_API.G_MISS_NUM;
3626: x_pricing_attr_rec.attribute_grouping_no := FND_API.G_MISS_NUM;
3627: x_pricing_attr_rec.product_attribute_context := l_pricingAttributes.product_context;
3628: x_pricing_attr_rec.product_attribute := l_pricingAttributes.product_attribute;
3629: x_pricing_attr_rec.product_attr_value := l_pricingAttributes.product_attr_value;
3622: x_return_status := FND_API.G_RET_STS_SUCCESS;
3623: x_pricing_attr_rec := null;
3624: FOR l_pricingAttributes in c_pricingAttributes(cp_offerAdjNewLineId => p_offerAdjNewLineId) LOOP
3625: x_pricing_attr_rec.pricing_attribute_id := FND_API.G_MISS_NUM;
3626: x_pricing_attr_rec.attribute_grouping_no := FND_API.G_MISS_NUM;
3627: x_pricing_attr_rec.product_attribute_context := l_pricingAttributes.product_context;
3628: x_pricing_attr_rec.product_attribute := l_pricingAttributes.product_attribute;
3629: x_pricing_attr_rec.product_attr_value := l_pricingAttributes.product_attr_value;
3630: x_pricing_attr_rec.product_uom_code := l_pricingAttributes.uom_code;
3655: FROM ozf_offer_adj_new_lines
3656: WHERE parent_adj_line_id = cp_offerAdjNewLineId;
3657: i NUMBER;
3658: BEGIN
3659: x_return_status := FND_API.G_RET_STS_SUCCESS;
3660: i := 2; -- hardcode since dis lines will always start at 2
3661: FOR l_adjNewLines IN c_adjNewLines(cp_offerAdjNewLineId => p_offerAdjNewLineId) LOOP
3662: populateDisDiscounts
3663: (
3667: ,p_offerAdjNewLineId => l_adjNewLines.offer_adj_new_line_id
3668: , x_modifier_line_rec => x_modifier_line_tbl(i)
3669: );
3670: x_modifier_line_tbl(i).start_date_active := null;
3671: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3672: RAISE FND_API.G_EXC_ERROR;
3673: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3674: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3675: END IF;
3668: , x_modifier_line_rec => x_modifier_line_tbl(i)
3669: );
3670: x_modifier_line_tbl(i).start_date_active := null;
3671: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3672: RAISE FND_API.G_EXC_ERROR;
3673: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3674: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3675: END IF;
3676: populateDisPricingAttributes
3669: );
3670: x_modifier_line_tbl(i).start_date_active := null;
3671: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3672: RAISE FND_API.G_EXC_ERROR;
3673: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3674: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3675: END IF;
3676: populateDisPricingAttributes
3677: (
3670: x_modifier_line_tbl(i).start_date_active := null;
3671: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3672: RAISE FND_API.G_EXC_ERROR;
3673: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3674: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3675: END IF;
3676: populateDisPricingAttributes
3677: (
3678: x_return_status => x_return_status
3681: ,p_offerAdjNewLineId => l_adjNewLines.offer_adj_new_line_id
3682: , x_pricing_attr_rec => x_pricing_attr_tbl(i)
3683: , p_index => i
3684: );
3685: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3686: RAISE FND_API.G_EXC_ERROR;
3687: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3688: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3689: END IF;
3682: , x_pricing_attr_rec => x_pricing_attr_tbl(i)
3683: , p_index => i
3684: );
3685: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3686: RAISE FND_API.G_EXC_ERROR;
3687: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3688: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3689: END IF;
3690: i := i + 1;
3683: , p_index => i
3684: );
3685: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3686: RAISE FND_API.G_EXC_ERROR;
3687: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3688: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3689: END IF;
3690: i := i + 1;
3691: END LOOP;
3684: );
3685: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3686: RAISE FND_API.G_EXC_ERROR;
3687: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3688: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3689: END IF;
3690: i := i + 1;
3691: END LOOP;
3692: -- populate discounts
3706: )
3707: IS
3708: i NUMBER;
3709: BEGIN
3710: x_return_status := FND_API.G_RET_STS_SUCCESS;
3711: x_modifier_line_rec := null;
3712: x_pricing_attr_tbl.delete;
3713: i := 1;
3714: -- populate pbh discounts
3720: ,x_msg_data => x_msg_data
3721: ,p_offerAdjNewLineId => p_offerAdjNewLineId
3722: , x_modifier_line_rec => x_modifier_line_rec
3723: );
3724: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3725: RAISE FND_API.G_EXC_ERROR;
3726: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3727: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3728: END IF;
3721: ,p_offerAdjNewLineId => p_offerAdjNewLineId
3722: , x_modifier_line_rec => x_modifier_line_rec
3723: );
3724: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3725: RAISE FND_API.G_EXC_ERROR;
3726: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3727: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3728: END IF;
3729: populatePbhPricingAttr
3722: , x_modifier_line_rec => x_modifier_line_rec
3723: );
3724: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3725: RAISE FND_API.G_EXC_ERROR;
3726: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3727: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3728: END IF;
3729: populatePbhPricingAttr
3730: (
3723: );
3724: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3725: RAISE FND_API.G_EXC_ERROR;
3726: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3727: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3728: END IF;
3729: populatePbhPricingAttr
3730: (
3731: x_return_status => x_return_status
3749: IS
3750: l_modifier_line_tbl qp_modifiers_pub.modifiers_tbl_type;
3751: l_pricing_attr_tbl QP_MODIFIERS_PUB.Pricing_Attr_Tbl_Type;
3752: BEGIN
3753: x_return_status := FND_API.G_RET_STS_SUCCESS;
3754: x_modifier_line_tbl.delete;
3755: x_pricing_attr_tbl.delete;
3756: l_modifier_line_tbl.delete;
3757: l_pricing_attr_tbl.delete;
3765: ,p_offerAdjNewLineId => p_offerAdjNewLineId
3766: , x_modifier_line_rec => x_modifier_line_tbl(1)
3767: , x_pricing_attr_tbl => x_pricing_attr_tbl
3768: );
3769: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3770: RAISE FND_API.G_EXC_ERROR;
3771: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3772: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3773: END IF;
3766: , x_modifier_line_rec => x_modifier_line_tbl(1)
3767: , x_pricing_attr_tbl => x_pricing_attr_tbl
3768: );
3769: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3770: RAISE FND_API.G_EXC_ERROR;
3771: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3772: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3773: END IF;
3774: populateDisData
3767: , x_pricing_attr_tbl => x_pricing_attr_tbl
3768: );
3769: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3770: RAISE FND_API.G_EXC_ERROR;
3771: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3772: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3773: END IF;
3774: populateDisData
3775: (
3768: );
3769: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3770: RAISE FND_API.G_EXC_ERROR;
3771: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3772: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3773: END IF;
3774: populateDisData
3775: (
3776: x_return_status => x_return_status
3779: ,p_offerAdjNewLineId => p_offerAdjNewLineId
3780: , x_modifier_line_tbl => l_modifier_line_tbl
3781: , x_pricing_attr_tbl => l_pricing_attr_tbl
3782: );
3783: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3784: RAISE FND_API.G_EXC_ERROR;
3785: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3786: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3787: END IF;
3780: , x_modifier_line_tbl => l_modifier_line_tbl
3781: , x_pricing_attr_tbl => l_pricing_attr_tbl
3782: );
3783: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3784: RAISE FND_API.G_EXC_ERROR;
3785: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3786: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3787: END IF;
3788: OZF_VOLUME_OFFER_ADJ.merge_pricing_attributes
3781: , x_pricing_attr_tbl => l_pricing_attr_tbl
3782: );
3783: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3784: RAISE FND_API.G_EXC_ERROR;
3785: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3786: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3787: END IF;
3788: OZF_VOLUME_OFFER_ADJ.merge_pricing_attributes
3789: (
3782: );
3783: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3784: RAISE FND_API.G_EXC_ERROR;
3785: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3786: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3787: END IF;
3788: OZF_VOLUME_OFFER_ADJ.merge_pricing_attributes
3789: (
3790: px_to_pricing_attr_tbl => x_pricing_attr_tbl
3794: (
3795: px_to_modifier_line_tbl => x_modifier_line_tbl
3796: , p_from_modifier_line_tbl => l_modifier_line_tbl
3797: );
3798: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3799: RAISE FND_API.G_EXC_ERROR;
3800: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3801: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3802: END IF;
3795: px_to_modifier_line_tbl => x_modifier_line_tbl
3796: , p_from_modifier_line_tbl => l_modifier_line_tbl
3797: );
3798: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3799: RAISE FND_API.G_EXC_ERROR;
3800: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3801: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3802: END IF;
3803: END populateNewMtProducts;
3796: , p_from_modifier_line_tbl => l_modifier_line_tbl
3797: );
3798: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3799: RAISE FND_API.G_EXC_ERROR;
3800: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3801: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3802: END IF;
3803: END populateNewMtProducts;
3804:
3797: );
3798: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3799: RAISE FND_API.G_EXC_ERROR;
3800: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3801: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3802: END IF;
3803: END populateNewMtProducts;
3804:
3805: /**
3831: -- populate records
3832: -- process data
3833: -- create qp data
3834: -- return created table
3835: x_return_status := FND_API.G_RET_STS_SUCCESS;
3836: l_modifier_line_tbl.delete;
3837: l_pricing_attr_tbl.delete;
3838:
3839: populateNewMtProducts
3845: , x_modifier_line_tbl => l_modifier_line_tbl
3846: , x_pricing_attr_tbl => l_pricing_attr_tbl
3847: );
3848:
3849: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3850: RAISE FND_API.G_EXC_ERROR;
3851: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3852: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3853: END IF;
3846: , x_pricing_attr_tbl => l_pricing_attr_tbl
3847: );
3848:
3849: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3850: RAISE FND_API.G_EXC_ERROR;
3851: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3852: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3853: END IF;
3854: QP_Modifiers_PUB.process_modifiers(
3847: );
3848:
3849: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3850: RAISE FND_API.G_EXC_ERROR;
3851: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3852: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3853: END IF;
3854: QP_Modifiers_PUB.process_modifiers(
3855: p_api_version_number => 1.0,
3848:
3849: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3850: RAISE FND_API.G_EXC_ERROR;
3851: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3852: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3853: END IF;
3854: QP_Modifiers_PUB.process_modifiers(
3855: p_api_version_number => 1.0,
3856: p_init_msg_list => FND_API.G_FALSE,
3852: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3853: END IF;
3854: QP_Modifiers_PUB.process_modifiers(
3855: p_api_version_number => 1.0,
3856: p_init_msg_list => FND_API.G_FALSE,
3857: p_return_values => FND_API.G_FALSE,
3858: x_return_status => x_return_status,
3859: x_msg_count => x_msg_count,
3860: x_msg_data => x_msg_data,
3853: END IF;
3854: QP_Modifiers_PUB.process_modifiers(
3855: p_api_version_number => 1.0,
3856: p_init_msg_list => FND_API.G_FALSE,
3857: p_return_values => FND_API.G_FALSE,
3858: x_return_status => x_return_status,
3859: x_msg_count => x_msg_count,
3860: x_msg_data => x_msg_data,
3861: p_modifiers_tbl => l_modifier_line_tbl,
3868: x_qualifiers_val_tbl => v_qualifiers_val_tbl,
3869: x_pricing_attr_tbl => v_pricing_attr_tbl,
3870: x_pricing_attr_val_tbl => v_pricing_attr_val_tbl
3871: );
3872: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3873: RAISE FND_API.G_EXC_ERROR;
3874: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3875: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3876: END IF;
3869: x_pricing_attr_tbl => v_pricing_attr_tbl,
3870: x_pricing_attr_val_tbl => v_pricing_attr_val_tbl
3871: );
3872: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3873: RAISE FND_API.G_EXC_ERROR;
3874: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3875: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3876: END IF;
3877: x_modifier_line_tbl := v_modifiers_tbl;
3870: x_pricing_attr_val_tbl => v_pricing_attr_val_tbl
3871: );
3872: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3873: RAISE FND_API.G_EXC_ERROR;
3874: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3875: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3876: END IF;
3877: x_modifier_line_tbl := v_modifiers_tbl;
3878: EXCEPTION
3871: );
3872: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3873: RAISE FND_API.G_EXC_ERROR;
3874: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3875: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3876: END IF;
3877: x_modifier_line_tbl := v_modifiers_tbl;
3878: EXCEPTION
3879: WHEN OTHERS THEN
3877: x_modifier_line_tbl := v_modifiers_tbl;
3878: EXCEPTION
3879: WHEN OTHERS THEN
3880: FND_MSG_PUB.count_and_get(
3881: p_encoded => FND_API.g_false
3882: , p_count => x_msg_count
3883: , p_data => x_msg_data
3884: );
3885: x_return_status := FND_API.G_RET_STS_ERROR;
3881: p_encoded => FND_API.g_false
3882: , p_count => x_msg_count
3883: , p_data => x_msg_data
3884: );
3885: x_return_status := FND_API.G_RET_STS_ERROR;
3886: END createNewMtProduct;
3887:
3888: /**
3889: Processes a Multi-tier offer_adjustment_line
3900: BEGIN
3901: -- initialize
3902: -- create a product qp data
3903: -- back create ozf_offer_adjustment_lines
3904: x_return_status := FND_API.G_RET_STS_SUCCESS;
3905: l_modifier_line_tbl.delete;
3906:
3907: createNewMtProduct
3908: (
3911: ,x_msg_data => x_msg_data
3912: ,p_offerAdjNewLineId => p_offerAdjNewLineId
3913: , x_modifier_line_tbl => l_modifier_line_tbl
3914: );
3915: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3916: RAISE FND_API.G_EXC_ERROR;
3917: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3918: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3919: END IF;
3912: ,p_offerAdjNewLineId => p_offerAdjNewLineId
3913: , x_modifier_line_tbl => l_modifier_line_tbl
3914: );
3915: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3916: RAISE FND_API.G_EXC_ERROR;
3917: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3918: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3919: END IF;
3920: createAdjLines
3913: , x_modifier_line_tbl => l_modifier_line_tbl
3914: );
3915: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3916: RAISE FND_API.G_EXC_ERROR;
3917: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3918: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3919: END IF;
3920: createAdjLines
3921: (
3914: );
3915: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3916: RAISE FND_API.G_EXC_ERROR;
3917: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3918: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3919: END IF;
3920: createAdjLines
3921: (
3922: x_return_status => x_return_status
3924: ,x_msg_data => x_msg_data
3925: ,p_modifiers_tbl => l_modifier_line_tbl
3926: ,p_offerAdjustmentId => getAdjustmentId( p_offerAdjNewLineId => p_offerAdjNewLineId)
3927: );
3928: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3929: RAISE FND_API.G_EXC_ERROR;
3930: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3931: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3932: END IF;
3925: ,p_modifiers_tbl => l_modifier_line_tbl
3926: ,p_offerAdjustmentId => getAdjustmentId( p_offerAdjNewLineId => p_offerAdjNewLineId)
3927: );
3928: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3929: RAISE FND_API.G_EXC_ERROR;
3930: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3931: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3932: END IF;
3933: END processNewMtProduct;
3926: ,p_offerAdjustmentId => getAdjustmentId( p_offerAdjNewLineId => p_offerAdjNewLineId)
3927: );
3928: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3929: RAISE FND_API.G_EXC_ERROR;
3930: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3931: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3932: END IF;
3933: END processNewMtProduct;
3934:
3927: );
3928: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3929: RAISE FND_API.G_EXC_ERROR;
3930: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3931: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3932: END IF;
3933: END processNewMtProduct;
3934:
3935:
3947: WHERE tier_type = 'DIS'
3948: AND parent_adj_line_id IS NULL
3949: AND offer_adjustment_id = cp_offerAdjustmentId;
3950: BEGIN
3951: x_return_status := FND_API.G_RET_STS_SUCCESS;
3952: FOR l_adjustmentProducts IN c_adjustmentProducts(cp_offerAdjustmentId => p_offerAdjustmentId) LOOP
3953: processNewStProduct
3954: (
3955: x_return_status => x_return_status
3956: ,x_msg_count => x_msg_count
3957: ,x_msg_data => x_msg_data
3958: ,p_offerAdjNewLineId => l_adjustmentProducts.offer_adj_new_line_id
3959: );
3960: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3961: RAISE FND_API.G_EXC_ERROR;
3962: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3963: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3964: END IF;
3957: ,x_msg_data => x_msg_data
3958: ,p_offerAdjNewLineId => l_adjustmentProducts.offer_adj_new_line_id
3959: );
3960: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3961: RAISE FND_API.G_EXC_ERROR;
3962: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3963: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3964: END IF;
3965: END LOOP;
3958: ,p_offerAdjNewLineId => l_adjustmentProducts.offer_adj_new_line_id
3959: );
3960: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3961: RAISE FND_API.G_EXC_ERROR;
3962: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3963: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3964: END IF;
3965: END LOOP;
3966: END processStRegProducts;
3959: );
3960: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3961: RAISE FND_API.G_EXC_ERROR;
3962: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3963: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3964: END IF;
3965: END LOOP;
3966: END processStRegProducts;
3967:
3981: AND parent_adj_line_id IS NULL
3982: AND tier_type = 'PBH';
3983:
3984: BEGIN
3985: x_return_status := FND_API.G_RET_STS_SUCCESS;
3986: FOR l_adjustmentProducts IN c_adjustmentProducts(cp_offerAdjustmentId => p_offerAdjustmentId) LOOP
3987: processNewMtProduct
3988: (
3989: x_return_status => x_return_status
3990: ,x_msg_count => x_msg_count
3991: ,x_msg_data => x_msg_data
3992: ,p_offerAdjNewLineId => l_adjustmentProducts.offer_adj_new_line_id
3993: );
3994: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3995: RAISE FND_API.G_EXC_ERROR;
3996: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3997: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3998: END IF;
3991: ,x_msg_data => x_msg_data
3992: ,p_offerAdjNewLineId => l_adjustmentProducts.offer_adj_new_line_id
3993: );
3994: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3995: RAISE FND_API.G_EXC_ERROR;
3996: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3997: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3998: END IF;
3999: END LOOP;
3992: ,p_offerAdjNewLineId => l_adjustmentProducts.offer_adj_new_line_id
3993: );
3994: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3995: RAISE FND_API.G_EXC_ERROR;
3996: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3997: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3998: END IF;
3999: END LOOP;
4000: END processMtRegProducts;
3993: );
3994: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3995: RAISE FND_API.G_EXC_ERROR;
3996: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3997: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3998: END IF;
3999: END LOOP;
4000: END processMtRegProducts;
4001:
4010: BEGIN
4011: -- initialize
4012: -- process single tier lines
4013: -- process multi-tier lines
4014: x_return_status := FND_API.G_RET_STS_SUCCESS;
4015: processStRegProducts
4016: (
4017: x_return_status => x_return_status
4018: ,x_msg_count => x_msg_count
4018: ,x_msg_count => x_msg_count
4019: ,x_msg_data => x_msg_data
4020: ,p_offerAdjustmentId => p_offerAdjustmentId
4021: );
4022: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4023: RAISE FND_API.G_EXC_ERROR;
4024: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4025: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4026: END IF;
4019: ,x_msg_data => x_msg_data
4020: ,p_offerAdjustmentId => p_offerAdjustmentId
4021: );
4022: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4023: RAISE FND_API.G_EXC_ERROR;
4024: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4025: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4026: END IF;
4027: processMtRegProducts
4020: ,p_offerAdjustmentId => p_offerAdjustmentId
4021: );
4022: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4023: RAISE FND_API.G_EXC_ERROR;
4024: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4025: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4026: END IF;
4027: processMtRegProducts
4028: (
4021: );
4022: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4023: RAISE FND_API.G_EXC_ERROR;
4024: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4025: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4026: END IF;
4027: processMtRegProducts
4028: (
4029: x_return_status => x_return_status
4030: ,x_msg_count => x_msg_count
4031: ,x_msg_data => x_msg_data
4032: ,p_offerAdjustmentId => p_offerAdjustmentId
4033: );
4034: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4035: RAISE FND_API.G_EXC_ERROR;
4036: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4037: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4038: END IF;
4031: ,x_msg_data => x_msg_data
4032: ,p_offerAdjustmentId => p_offerAdjustmentId
4033: );
4034: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4035: RAISE FND_API.G_EXC_ERROR;
4036: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4037: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4038: END IF;
4039: END processNewRegProducts;
4032: ,p_offerAdjustmentId => p_offerAdjustmentId
4033: );
4034: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4035: RAISE FND_API.G_EXC_ERROR;
4036: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4037: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4038: END IF;
4039: END processNewRegProducts;
4040:
4033: );
4034: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4035: RAISE FND_API.G_EXC_ERROR;
4036: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4037: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4038: END IF;
4039: END processNewRegProducts;
4040:
4041: PROCEDURE process_new_products
4053: WHERE a.qp_list_header_id = b.list_header_id
4054: AND b.offer_adjustment_id = cp_offerAdjustmentId;
4055: l_offerType c_offerType%ROWTYPE;
4056: BEGIN
4057: x_return_status := FND_API.G_RET_STS_SUCCESS;
4058: OPEN c_offerType(cp_offerAdjustmentId => p_offerAdjustmentId);
4059: FETCH c_offerType INTO l_offerType;
4060: CLOSE c_offerType;
4061: IF l_offerType.offer_type = 'DEAL' THEN
4067: ,x_msg_count => x_msg_count
4068: ,x_msg_data => x_msg_data
4069: ,p_offerAdjustmentId => p_offerAdjustmentId
4070: );
4071: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4072: RAISE FND_API.G_EXC_ERROR;
4073: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4074: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4075: END IF;
4068: ,x_msg_data => x_msg_data
4069: ,p_offerAdjustmentId => p_offerAdjustmentId
4070: );
4071: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4072: RAISE FND_API.G_EXC_ERROR;
4073: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4074: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4075: END IF;
4076: ELSIF l_offerType.offer_type = 'OID' THEN
4069: ,p_offerAdjustmentId => p_offerAdjustmentId
4070: );
4071: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4072: RAISE FND_API.G_EXC_ERROR;
4073: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4074: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4075: END IF;
4076: ELSIF l_offerType.offer_type = 'OID' THEN
4077: processNewPgProducts
4070: );
4071: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4072: RAISE FND_API.G_EXC_ERROR;
4073: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4074: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4075: END IF;
4076: ELSIF l_offerType.offer_type = 'OID' THEN
4077: processNewPgProducts
4078: (
4080: , x_msg_count => x_msg_count
4081: , x_msg_data => x_msg_data
4082: , p_offerAdjustmentId => p_offerAdjustmentId
4083: );
4084: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4085: RAISE FND_API.G_EXC_ERROR;
4086: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4087: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4088: END IF;
4081: , x_msg_data => x_msg_data
4082: , p_offerAdjustmentId => p_offerAdjustmentId
4083: );
4084: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4085: RAISE FND_API.G_EXC_ERROR;
4086: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4087: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4088: END IF;
4089: ELSIF l_offerType.offer_type IN ( 'ORDER','ACCRUAL','OFF_INVOICE') THEN
4082: , p_offerAdjustmentId => p_offerAdjustmentId
4083: );
4084: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4085: RAISE FND_API.G_EXC_ERROR;
4086: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4087: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4088: END IF;
4089: ELSIF l_offerType.offer_type IN ( 'ORDER','ACCRUAL','OFF_INVOICE') THEN
4090: processNewRegProducts
4083: );
4084: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4085: RAISE FND_API.G_EXC_ERROR;
4086: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4087: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4088: END IF;
4089: ELSIF l_offerType.offer_type IN ( 'ORDER','ACCRUAL','OFF_INVOICE') THEN
4090: processNewRegProducts
4091: (
4093: , x_msg_count => x_msg_count
4094: , x_msg_data => x_msg_data
4095: , p_offerAdjustmentId => p_offerAdjustmentId
4096: );
4097: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4098: RAISE FND_API.G_EXC_ERROR;
4099: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4100: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4101: END IF;
4094: , x_msg_data => x_msg_data
4095: , p_offerAdjustmentId => p_offerAdjustmentId
4096: );
4097: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4098: RAISE FND_API.G_EXC_ERROR;
4099: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4100: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4101: END IF;
4102: END IF;
4095: , p_offerAdjustmentId => p_offerAdjustmentId
4096: );
4097: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4098: RAISE FND_API.G_EXC_ERROR;
4099: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4100: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4101: END IF;
4102: END IF;
4103: END process_new_products;
4096: );
4097: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4098: RAISE FND_API.G_EXC_ERROR;
4099: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4100: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4101: END IF;
4102: END IF;
4103: END process_new_products;
4104:
4122: l_errorLocation NUMBER;
4123: l_modifier_rec ozf_offer_pvt.Modifier_LIST_Rec_Type;
4124: l_modifier_line_tbl ozf_offer_pvt.MODIFIER_LINE_TBL_TYPE;
4125: BEGIN
4126: x_return_status := FND_API.G_RET_STS_SUCCESS;
4127: FOR l_dates in c_dates(p_offerAdjustmentId) LOOP
4128:
4129: IF l_dates.start_date_active IS NOT NULL AND l_dates.start_date_active <> FND_API.G_MISS_DATE THEN
4130: -- if effective date is before start_date of the offer update the start_date of the offer
4125: BEGIN
4126: x_return_status := FND_API.G_RET_STS_SUCCESS;
4127: FOR l_dates in c_dates(p_offerAdjustmentId) LOOP
4128:
4129: IF l_dates.start_date_active IS NOT NULL AND l_dates.start_date_active <> FND_API.G_MISS_DATE THEN
4130: -- if effective date is before start_date of the offer update the start_date of the offer
4131: IF l_dates.effective_date < l_dates.start_date_active THEN
4132: l_modifier_rec.start_date_active := l_dates.effective_date;
4133: END IF;
4138: l_modifier_rec.object_version_number := l_dates.object_version_number;
4139: l_offerType := l_dates.offer_type;
4140: OZF_OFFER_PVT.process_modifiers
4141: (
4142: p_init_msg_list => FND_API.g_false
4143: ,p_api_version => 1.0
4144: ,p_commit => FND_API.g_false
4145: ,x_return_status => x_return_status
4146: ,x_msg_count => x_msg_count
4140: OZF_OFFER_PVT.process_modifiers
4141: (
4142: p_init_msg_list => FND_API.g_false
4143: ,p_api_version => 1.0
4144: ,p_commit => FND_API.g_false
4145: ,x_return_status => x_return_status
4146: ,x_msg_count => x_msg_count
4147: ,x_msg_data => x_msg_data
4148: ,p_offer_type => l_offerType
4150: ,p_modifier_line_tbl => l_modifier_line_tbl
4151: ,x_qp_list_header_id => l_qpListHeaderId
4152: ,x_error_location => l_errorLocation
4153: );
4154: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4155: RAISE FND_API.G_EXC_ERROR;
4156: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4157: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4158: END IF;
4151: ,x_qp_list_header_id => l_qpListHeaderId
4152: ,x_error_location => l_errorLocation
4153: );
4154: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4155: RAISE FND_API.G_EXC_ERROR;
4156: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4157: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4158: END IF;
4159: END LOOP;
4152: ,x_error_location => l_errorLocation
4153: );
4154: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4155: RAISE FND_API.G_EXC_ERROR;
4156: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4157: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4158: END IF;
4159: END LOOP;
4160:
4153: );
4154: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4155: RAISE FND_API.G_EXC_ERROR;
4156: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4157: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4158: END IF;
4159: END LOOP;
4160:
4161: END updateHeaderDate;
4167: Maps the old list_line_id to the new list_line_id
4168: */
4169: PROCEDURE process_adjustment
4170: (
4171: p_init_msg_list IN VARCHAR2 := FND_API.g_false
4172: ,p_api_version IN NUMBER
4173: ,p_commit IN VARCHAR2 := FND_API.g_false
4174: ,x_return_status OUT NOCOPY VARCHAR2
4175: ,x_msg_count OUT NOCOPY NUMBER
4169: PROCEDURE process_adjustment
4170: (
4171: p_init_msg_list IN VARCHAR2 := FND_API.g_false
4172: ,p_api_version IN NUMBER
4173: ,p_commit IN VARCHAR2 := FND_API.g_false
4174: ,x_return_status OUT NOCOPY VARCHAR2
4175: ,x_msg_count OUT NOCOPY NUMBER
4176: ,x_msg_data OUT NOCOPY VARCHAR2
4177: ,p_offerAdjustmentId IN NUMBER
4181: -- initialize
4182: -- update header date
4183: -- process old discounts
4184: -- process new products
4185: x_return_status := FND_API.G_RET_STS_SUCCESS;
4186: updateHeaderDate
4187: (
4188: x_return_status => x_return_status
4189: ,x_msg_count => x_msg_count
4190: ,x_msg_data => x_msg_data
4191: ,p_offerAdjustmentId => p_offerAdjustmentId
4192: );
4193: ozf_utility_pvt.debug_message('GR Updated header date:'||x_return_status);
4194: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4195: RAISE FND_API.G_EXC_ERROR;
4196: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4197: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4198: END IF;
4191: ,p_offerAdjustmentId => p_offerAdjustmentId
4192: );
4193: ozf_utility_pvt.debug_message('GR Updated header date:'||x_return_status);
4194: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4195: RAISE FND_API.G_EXC_ERROR;
4196: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4197: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4198: END IF;
4199: process_old_discounts
4192: );
4193: ozf_utility_pvt.debug_message('GR Updated header date:'||x_return_status);
4194: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4195: RAISE FND_API.G_EXC_ERROR;
4196: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4197: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4198: END IF;
4199: process_old_discounts
4200: (
4193: ozf_utility_pvt.debug_message('GR Updated header date:'||x_return_status);
4194: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4195: RAISE FND_API.G_EXC_ERROR;
4196: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4197: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4198: END IF;
4199: process_old_discounts
4200: (
4201: x_return_status => x_return_status
4203: ,x_msg_data => x_msg_data
4204: ,p_offerAdjustmentId => p_offerAdjustmentId
4205: );
4206: ozf_utility_pvt.debug_message('after process old discounts :'||x_return_status);
4207: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4208: RAISE FND_API.G_EXC_ERROR;
4209: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4210: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4211: END IF;
4204: ,p_offerAdjustmentId => p_offerAdjustmentId
4205: );
4206: ozf_utility_pvt.debug_message('after process old discounts :'||x_return_status);
4207: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4208: RAISE FND_API.G_EXC_ERROR;
4209: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4210: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4211: END IF;
4212: process_new_products
4205: );
4206: ozf_utility_pvt.debug_message('after process old discounts :'||x_return_status);
4207: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4208: RAISE FND_API.G_EXC_ERROR;
4209: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4210: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4211: END IF;
4212: process_new_products
4213: (
4206: ozf_utility_pvt.debug_message('after process old discounts :'||x_return_status);
4207: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4208: RAISE FND_API.G_EXC_ERROR;
4209: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4210: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4211: END IF;
4212: process_new_products
4213: (
4214: x_return_status => x_return_status
4216: ,x_msg_data => x_msg_data
4217: ,p_offerAdjustmentId => p_offerAdjustmentId
4218: );
4219: ozf_utility_pvt.debug_message('process new products :'||x_return_status);
4220: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4221: RAISE FND_API.G_EXC_ERROR;
4222: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4223: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4224: END IF;
4217: ,p_offerAdjustmentId => p_offerAdjustmentId
4218: );
4219: ozf_utility_pvt.debug_message('process new products :'||x_return_status);
4220: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4221: RAISE FND_API.G_EXC_ERROR;
4222: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4223: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4224: END IF;
4225: END process_adjustment;
4218: );
4219: ozf_utility_pvt.debug_message('process new products :'||x_return_status);
4220: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4221: RAISE FND_API.G_EXC_ERROR;
4222: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4223: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4224: END IF;
4225: END process_adjustment;
4226:
4219: ozf_utility_pvt.debug_message('process new products :'||x_return_status);
4220: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4221: RAISE FND_API.G_EXC_ERROR;
4222: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4223: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4224: END IF;
4225: END process_adjustment;
4226:
4227: