173: IS
174: l_adj_line_rec OZF_Offer_Adj_Line_PVT.offadj_line_rec_type;
175: l_offer_adjustment_line_id NUMBER;
176: BEGIN
177: x_return_status := FND_API.G_RET_STS_SUCCESS;
178: -- loop thru the lines
179: -- for lines with operation = create , eleminate the dis lines for multi-tier
180: -- for these lines create adjustment_lines with created_from_adjustment= y
181:
185:
186: IF p_modifiers_tbl(k).operation <> 'CREATE' THEN
187: null;
188: ELSIF p_modifiers_tbl(k).list_line_type_code = 'DIS'
189: AND p_modifiers_tbl(k).modifier_parent_index <> FND_API.G_MISS_NUM
190: AND p_modifiers_tbl(k).modifier_parent_index IS NOT NULL
191: THEN
192: null;
193: ELSE
204: l_adj_line_rec.original_discount := -1;
205: END IF;
206: OZF_Offer_Adj_Line_PVT.Create_Offer_Adj_Line(
207: p_api_version_number => 1.0
208: , p_init_msg_list => FND_API.G_FALSE
209: , p_commit => FND_API.G_FALSE
210: , p_validation_level => FND_API.G_VALID_LEVEL_FULL
211: , x_return_status => x_return_status
212: , x_msg_count => x_msg_count
205: END IF;
206: OZF_Offer_Adj_Line_PVT.Create_Offer_Adj_Line(
207: p_api_version_number => 1.0
208: , p_init_msg_list => FND_API.G_FALSE
209: , p_commit => FND_API.G_FALSE
210: , p_validation_level => FND_API.G_VALID_LEVEL_FULL
211: , x_return_status => x_return_status
212: , x_msg_count => x_msg_count
213: , x_msg_data => x_msg_data
206: OZF_Offer_Adj_Line_PVT.Create_Offer_Adj_Line(
207: p_api_version_number => 1.0
208: , p_init_msg_list => FND_API.G_FALSE
209: , p_commit => FND_API.G_FALSE
210: , p_validation_level => FND_API.G_VALID_LEVEL_FULL
211: , x_return_status => x_return_status
212: , x_msg_count => x_msg_count
213: , x_msg_data => x_msg_data
214: -- p_offadj_line_rec IN offadj_line_rec_type := g_miss_offadj_line_rec,
215: , p_offadj_line_rec => l_adj_line_rec
216: , x_offer_adjustment_line_id => l_offer_adjustment_line_id
217: );
218:
219: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
220: return;
221: END IF;
222: END IF;
223: END IF;
250: -- loop thru. dis lines
251: -- populate discounts
252: -- populate pricing_attributes
253: -- merge pricing_attributes
254: x_return_status := FND_API.G_RET_STS_SUCCESS;
255: x_modifier_line_tbl.delete;
256: x_pricing_attr_tbl.delete;
257: l_pricing_attr_tbl.delete;
258: i := 2;
297: IS
298: l_modifier_line_tbl qp_modifiers_pub.modifiers_tbl_type;
299: l_pricing_attr_tbl QP_MODIFIERS_PUB.Pricing_Attr_Tbl_Type;
300: BEGIN
301: x_return_status := FND_API.G_RET_STS_SUCCESS;
302: OZF_VOLUME_OFFER_ADJ.populate_pbh_line
303: (
304: x_return_status => x_return_status
305: , x_msg_count => x_msg_count
307: , p_listLineId => p_pbhListLineId
308: , x_modifier_line_tbl => x_modifier_line_tbl
309: , x_pricing_attr_tbl => x_pricing_attr_tbl
310: );
311: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
312: RAISE FND_API.G_EXC_ERROR;
313: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
314: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
315: END IF;
308: , x_modifier_line_tbl => x_modifier_line_tbl
309: , x_pricing_attr_tbl => x_pricing_attr_tbl
310: );
311: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
312: RAISE FND_API.G_EXC_ERROR;
313: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
314: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
315: END IF;
316: populateDisLines
309: , x_pricing_attr_tbl => x_pricing_attr_tbl
310: );
311: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
312: RAISE FND_API.G_EXC_ERROR;
313: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
314: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
315: END IF;
316: populateDisLines
317: (
310: );
311: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
312: RAISE FND_API.G_EXC_ERROR;
313: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
314: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
315: END IF;
316: populateDisLines
317: (
318: x_return_status => x_return_status
321: , p_pbhListLineId => p_pbhListLineId
322: , x_modifier_line_tbl => l_modifier_line_tbl
323: , x_pricing_attr_tbl => l_pricing_attr_tbl
324: );
325: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
326: RAISE FND_API.G_EXC_ERROR;
327: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
328: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
329: END IF;
322: , x_modifier_line_tbl => l_modifier_line_tbl
323: , x_pricing_attr_tbl => l_pricing_attr_tbl
324: );
325: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
326: RAISE FND_API.G_EXC_ERROR;
327: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
328: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
329: END IF;
330:
323: , x_pricing_attr_tbl => l_pricing_attr_tbl
324: );
325: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
326: RAISE FND_API.G_EXC_ERROR;
327: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
328: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
329: END IF;
330:
331: OZF_VOLUME_OFFER_ADJ.merge_pricing_attributes
324: );
325: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
326: RAISE FND_API.G_EXC_ERROR;
327: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
328: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
329: END IF;
330:
331: OZF_VOLUME_OFFER_ADJ.merge_pricing_attributes
332: (
370: AND a.offer_adjustment_id (+) = cp_offerAdjustmentId
371: ORDER BY b.to_rltd_modifier_id asc;
372: i NUMBER;
373: BEGIN
374: x_return_status := FND_API.G_RET_STS_SUCCESS;
375: i := 2;
376: FOR l_discounts IN c_discounts(cp_offerAdjustmentId => p_offerAdjustmentId, cp_pbhListLineId => p_pbhListLineId) LOOP
377: px_modifier_line_tbl(i).operand := l_discounts.discount;
378: i := i + 1;
396: SELECT *
397: FROM qp_limits
398: WHERE limit_id = cp_limitId;
399: BEGIN
400: x_return_status := FND_API.G_RET_STS_SUCCESS;
401: x_limits_rec := null;
402: FOR l_limits IN c_limits(cp_limitId => p_limitId) LOOP
403: x_limits_rec.attribute1 := l_limits.attribute1 ;
404: x_limits_rec.attribute10 := l_limits.attribute10 ;
415: x_limits_rec.attribute7 := l_limits.attribute7 ;
416: x_limits_rec.attribute8 := l_limits.attribute8 ;
417: x_limits_rec.attribute9 := l_limits.attribute9 ;
418: x_limits_rec.context := l_limits.context ;
419: x_limits_rec.limit_id := FND_API.G_MISS_NUM;
420: x_limits_rec.multival_attr1_type := l_limits.multival_attr1_type ;
421: x_limits_rec.multival_attr1_context := l_limits.multival_attr1_context ;
422: x_limits_rec.multival_attribute1 := l_limits.multival_attribute1 ;
423: x_limits_rec.multival_attr1_datatype := l_limits.multival_attr1_datatype ;
455: FROM qp_list_lines
456: WHERE list_line_id = cp_listLineId;
457: l_listHeaderId NUMBER;
458: BEGIN
459: x_return_status := FND_API.G_RET_STS_SUCCESS;
460: OPEN c_listHeaderId(cp_listLineId => p_toListLineId);
461: FETCH c_listHeaderId INTO l_listHeaderId;
462: CLOSE c_listHeaderId;
463: IF px_limitsRec.OPERATION IS NOT NULL OR px_limitsRec.OPERATION <> FND_API.G_MISS_CHAR THEN
459: x_return_status := FND_API.G_RET_STS_SUCCESS;
460: OPEN c_listHeaderId(cp_listLineId => p_toListLineId);
461: FETCH c_listHeaderId INTO l_listHeaderId;
462: CLOSE c_listHeaderId;
463: IF px_limitsRec.OPERATION IS NOT NULL OR px_limitsRec.OPERATION <> FND_API.G_MISS_CHAR THEN
464: px_limitsRec.list_line_id := p_toListLineId;
465: px_limitsRec.list_header_id := l_listHeaderId;
466: END IF;
467: END processLimitsRec;
489: -- initialize
490: -- populate limits records
491: -- process the limits records
492: -- create limits
493: x_return_status := FND_API.G_RET_STS_SUCCESS;
494:
495: FOR l_limits in (SELECT limit_id, list_line_id FROM qp_limits WHERE list_line_id = p_fromListLineId) LOOP
496: populate_limits_rec
497: (
498: x_limits_rec => l_limitsRec
499: , x_return_status => x_return_status
500: , p_limitId => l_limits.limit_id
501: );
502: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
503: RAISE FND_API.G_EXC_ERROR;
504: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
505: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
506: END IF;
499: , x_return_status => x_return_status
500: , p_limitId => l_limits.limit_id
501: );
502: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
503: RAISE FND_API.G_EXC_ERROR;
504: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
505: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
506: END IF;
507: processLimitsRec
500: , p_limitId => l_limits.limit_id
501: );
502: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
503: RAISE FND_API.G_EXC_ERROR;
504: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
505: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
506: END IF;
507: processLimitsRec
508: (
501: );
502: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
503: RAISE FND_API.G_EXC_ERROR;
504: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
505: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
506: END IF;
507: processLimitsRec
508: (
509: x_return_status => x_return_status
511: , x_msg_data => x_msg_data
512: , px_limitsRec => l_limitsRec
513: , p_toListLineId => p_toListLineId
514: );
515: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
516: RAISE FND_API.G_EXC_ERROR;
517: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
518: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
519: END IF;
512: , px_limitsRec => l_limitsRec
513: , p_toListLineId => p_toListLineId
514: );
515: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
516: RAISE FND_API.G_EXC_ERROR;
517: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
518: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
519: END IF;
520: QP_Limits_PUB.Process_Limits
513: , p_toListLineId => p_toListLineId
514: );
515: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
516: RAISE FND_API.G_EXC_ERROR;
517: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
518: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
519: END IF;
520: QP_Limits_PUB.Process_Limits
521: ( p_init_msg_list => FND_API.g_true,
514: );
515: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
516: RAISE FND_API.G_EXC_ERROR;
517: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
518: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
519: END IF;
520: QP_Limits_PUB.Process_Limits
521: ( p_init_msg_list => FND_API.g_true,
522: p_api_version_number => 1.0,
517: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
518: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
519: END IF;
520: QP_Limits_PUB.Process_Limits
521: ( p_init_msg_list => FND_API.g_true,
522: p_api_version_number => 1.0,
523: p_commit => FND_API.g_false,
524: x_return_status => x_return_status,
525: x_msg_count => x_msg_count,
519: END IF;
520: QP_Limits_PUB.Process_Limits
521: ( p_init_msg_list => FND_API.g_true,
522: p_api_version_number => 1.0,
523: p_commit => FND_API.g_false,
524: x_return_status => x_return_status,
525: x_msg_count => x_msg_count,
526: x_msg_data => x_msg_data,
527: p_LIMITS_rec => l_limitsRec,
531: x_LIMIT_ATTRS_val_tbl => v_LIMIT_ATTRS_val_tbl,
532: x_LIMIT_BALANCES_tbl => v_LIMIT_BALANCES_tbl,
533: x_LIMIT_BALANCES_val_tbl => v_LIMIT_BALANCES_val_tbl
534: );
535: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
536: return;
537: END IF;
538: END LOOP;
539:
584: FROM qp_qualifiers
585: WHERE list_line_id = cp_listLineId;
586: i NUMBER;
587: BEGIN
588: --x_return_status := FND_API.G_RET_STS_SUCCESS;
589: x_qualifiers_tbl.delete;
590: i := 1;
591: FOR l_qualifiers in c_qualifiers(cp_listLineId => p_listLineId) LOOP
592: x_qualifiers_tbl(i).qualifier_grouping_no := l_qualifiers.qualifier_grouping_no;
626: , p_listLineId IN NUMBER
627: )
628: IS
629: BEGIN
630: --x_return_status := FND_API.G_RET_STS_SUCCESS;
631: IF nvl(px_qualifiers_tbl.count,0) > 0 THEN
632: FOR i in px_qualifiers_tbl.first .. px_qualifiers_tbl.last LOOP
633: IF px_qualifiers_tbl.exists(i) THEN
634: px_qualifiers_tbl(i).operation := QP_GLOBALS.G_OPR_CREATE;
666: --initialize
667: -- populate qualifiers
668: -- populate the new list line into the qualifiers
669: -- create qualifiers
670: x_return_status := FND_API.G_RET_STS_SUCCESS;
671: l_qualifiers_tbl.delete;
672: populateQualifiers
673: (
674: x_qualifiers_tbl => l_qualifiers_tbl
673: (
674: x_qualifiers_tbl => l_qualifiers_tbl
675: , p_listLineId => p_fromListLineId
676: );
677: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
678: RAISE FND_API.G_EXC_ERROR;
679: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
680: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
681: END IF;
674: x_qualifiers_tbl => l_qualifiers_tbl
675: , p_listLineId => p_fromListLineId
676: );
677: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
678: RAISE FND_API.G_EXC_ERROR;
679: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
680: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
681: END IF;
682: processQualifierTable
675: , p_listLineId => p_fromListLineId
676: );
677: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
678: RAISE FND_API.G_EXC_ERROR;
679: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
680: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
681: END IF;
682: processQualifierTable
683: (
676: );
677: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
678: RAISE FND_API.G_EXC_ERROR;
679: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
680: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
681: END IF;
682: processQualifierTable
683: (
684: px_qualifiers_tbl => l_qualifiers_tbl
683: (
684: px_qualifiers_tbl => l_qualifiers_tbl
685: , p_listLineId => p_toListLineId
686: );
687: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
688: RAISE FND_API.G_EXC_ERROR;
689: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
690: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
691: END IF;
684: px_qualifiers_tbl => l_qualifiers_tbl
685: , p_listLineId => p_toListLineId
686: );
687: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
688: RAISE FND_API.G_EXC_ERROR;
689: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
690: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
691: END IF;
692: QP_Modifiers_PUB.process_modifiers(
685: , p_listLineId => p_toListLineId
686: );
687: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
688: RAISE FND_API.G_EXC_ERROR;
689: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
690: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
691: END IF;
692: QP_Modifiers_PUB.process_modifiers(
693: p_api_version_number => 1.0,
686: );
687: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
688: RAISE FND_API.G_EXC_ERROR;
689: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
690: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
691: END IF;
692: QP_Modifiers_PUB.process_modifiers(
693: p_api_version_number => 1.0,
694: p_init_msg_list => FND_API.G_FALSE,
690: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
691: END IF;
692: QP_Modifiers_PUB.process_modifiers(
693: p_api_version_number => 1.0,
694: p_init_msg_list => FND_API.G_FALSE,
695: p_return_values => FND_API.G_FALSE,
696: x_return_status => x_return_status,
697: x_msg_count => x_msg_count,
698: x_msg_data => x_msg_data,
691: END IF;
692: QP_Modifiers_PUB.process_modifiers(
693: p_api_version_number => 1.0,
694: p_init_msg_list => FND_API.G_FALSE,
695: p_return_values => FND_API.G_FALSE,
696: x_return_status => x_return_status,
697: x_msg_count => x_msg_count,
698: x_msg_data => x_msg_data,
699: p_qualifiers_tbl => l_qualifiers_tbl,
705: x_qualifiers_val_tbl => v_qualifiers_val_tbl,
706: x_pricing_attr_tbl => v_pricing_attr_tbl,
707: x_pricing_attr_val_tbl => v_pricing_attr_val_tbl
708: );
709: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
710: RAISE FND_API.G_EXC_ERROR;
711: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
712: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
713: END IF;
706: x_pricing_attr_tbl => v_pricing_attr_tbl,
707: x_pricing_attr_val_tbl => v_pricing_attr_val_tbl
708: );
709: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
710: RAISE FND_API.G_EXC_ERROR;
711: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
712: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
713: END IF;
714: END copyQualifiers;
707: x_pricing_attr_val_tbl => v_pricing_attr_val_tbl
708: );
709: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
710: RAISE FND_API.G_EXC_ERROR;
711: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
712: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
713: END IF;
714: END copyQualifiers;
715:
708: );
709: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
710: RAISE FND_API.G_EXC_ERROR;
711: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
712: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
713: END IF;
714: END copyQualifiers;
715:
716: /**
726: ,p_modifier_line_tbl IN qp_modifiers_pub.modifiers_tbl_type
727: )
728: IS
729: BEGIN
730: x_return_status := FND_API.G_RET_STS_SUCCESS;
731: IF nvl(p_modifier_line_tbl.count,0) > 0 THEN
732: FOR i in p_modifier_line_tbl.first .. p_modifier_line_tbl.last LOOP
733: IF p_modifier_line_tbl.exists(i) THEN
734: copyQualifiers
738: , x_msg_data => x_msg_data
739: , p_fromListLineId => to_number( p_modifier_line_tbl(i).comments)
740: , p_toListLineId => p_modifier_line_tbl(i).list_line_id
741: );
742: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
743: return;
744: END IF;
745: END IF;
746: END LOOP;
760: ,p_modifier_line_tbl IN qp_modifiers_pub.modifiers_tbl_type
761: )
762: IS
763: BEGIN
764: x_return_status := FND_API.G_RET_STS_SUCCESS;
765: IF nvl(p_modifier_line_tbl.count,0) > 0 THEN
766: FOR i in p_modifier_line_tbl.first .. p_modifier_line_tbl.last LOOP
767: IF p_modifier_line_tbl.exists(i) THEN
768: copyLimits
772: , x_msg_data => x_msg_data
773: , p_fromListLineId => to_number( p_modifier_line_tbl(i).comments)
774: , p_toListLineId => p_modifier_line_tbl(i).list_line_id
775: );
776: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
777: return;
778: END IF;
779: END IF;
780: END LOOP;
814: -- copy list line
815: -- copy qualifiers
816: -- copy limits
817: -- return created lines
818: x_return_status := FND_API.G_RET_STS_SUCCESS;
819: x_modifier_line_tbl.delete;
820: populatePbhStructure
821: (
822: x_return_status => x_return_status
825: ,p_pbhListLineId => p_pbhListLineId
826: ,x_modifier_line_tbl => l_modifier_line_tbl
827: , x_pricing_attr_tbl => l_pricing_attr_tbl
828: );
829: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
830: RAISE FND_API.G_EXC_ERROR;
831: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
832: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
833: END IF;
826: ,x_modifier_line_tbl => l_modifier_line_tbl
827: , x_pricing_attr_tbl => l_pricing_attr_tbl
828: );
829: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
830: RAISE FND_API.G_EXC_ERROR;
831: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
832: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
833: END IF;
834: processPbhStructure
827: , x_pricing_attr_tbl => l_pricing_attr_tbl
828: );
829: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
830: RAISE FND_API.G_EXC_ERROR;
831: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
832: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
833: END IF;
834: processPbhStructure
835: (
828: );
829: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
830: RAISE FND_API.G_EXC_ERROR;
831: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
832: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
833: END IF;
834: processPbhStructure
835: (
836: x_return_status => x_return_status
840: ,p_offerAdjustmentId => p_offerAdjustmentId
841: ,px_modifier_line_tbl => l_modifier_line_tbl
842: , px_pricing_attr_tbl => l_pricing_attr_tbl
843: );
844: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
845: RAISE FND_API.G_EXC_ERROR;
846: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
847: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
848: END IF;
841: ,px_modifier_line_tbl => l_modifier_line_tbl
842: , px_pricing_attr_tbl => l_pricing_attr_tbl
843: );
844: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
845: RAISE FND_API.G_EXC_ERROR;
846: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
847: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
848: END IF;
849: QP_Modifiers_PUB.process_modifiers(
842: , px_pricing_attr_tbl => l_pricing_attr_tbl
843: );
844: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
845: RAISE FND_API.G_EXC_ERROR;
846: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
847: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
848: END IF;
849: QP_Modifiers_PUB.process_modifiers(
850: p_api_version_number => 1.0,
843: );
844: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
845: RAISE FND_API.G_EXC_ERROR;
846: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
847: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
848: END IF;
849: QP_Modifiers_PUB.process_modifiers(
850: p_api_version_number => 1.0,
851: p_init_msg_list => FND_API.G_FALSE,
847: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
848: END IF;
849: QP_Modifiers_PUB.process_modifiers(
850: p_api_version_number => 1.0,
851: p_init_msg_list => FND_API.G_FALSE,
852: p_return_values => FND_API.G_FALSE,
853: x_return_status => x_return_status,
854: x_msg_count => x_msg_count,
855: x_msg_data => x_msg_data,
848: END IF;
849: QP_Modifiers_PUB.process_modifiers(
850: p_api_version_number => 1.0,
851: p_init_msg_list => FND_API.G_FALSE,
852: p_return_values => FND_API.G_FALSE,
853: x_return_status => x_return_status,
854: x_msg_count => x_msg_count,
855: x_msg_data => x_msg_data,
856: p_modifiers_tbl => l_modifier_line_tbl,
863: x_qualifiers_val_tbl => v_qualifiers_val_tbl,
864: x_pricing_attr_tbl => v_pricing_attr_tbl,
865: x_pricing_attr_val_tbl => v_pricing_attr_val_tbl
866: );
867: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
868: RAISE FND_API.G_EXC_ERROR;
869: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
870: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
871: END IF;
864: x_pricing_attr_tbl => v_pricing_attr_tbl,
865: x_pricing_attr_val_tbl => v_pricing_attr_val_tbl
866: );
867: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
868: RAISE FND_API.G_EXC_ERROR;
869: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
870: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
871: END IF;
872: copyQualifier
865: x_pricing_attr_val_tbl => v_pricing_attr_val_tbl
866: );
867: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
868: RAISE FND_API.G_EXC_ERROR;
869: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
870: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
871: END IF;
872: copyQualifier
873: (
866: );
867: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
868: RAISE FND_API.G_EXC_ERROR;
869: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
870: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
871: END IF;
872: copyQualifier
873: (
874: x_return_status => x_return_status
875: ,x_msg_count => x_msg_count
876: ,x_msg_data => x_msg_data
877: ,p_modifier_line_tbl => v_modifiers_tbl
878: );
879: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
880: RAISE FND_API.G_EXC_ERROR;
881: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
882: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
883: END IF;
876: ,x_msg_data => x_msg_data
877: ,p_modifier_line_tbl => v_modifiers_tbl
878: );
879: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
880: RAISE FND_API.G_EXC_ERROR;
881: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
882: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
883: END IF;
884: copyLimit
877: ,p_modifier_line_tbl => v_modifiers_tbl
878: );
879: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
880: RAISE FND_API.G_EXC_ERROR;
881: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
882: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
883: END IF;
884: copyLimit
885: (
878: );
879: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
880: RAISE FND_API.G_EXC_ERROR;
881: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
882: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
883: END IF;
884: copyLimit
885: (
886: x_return_status => x_return_status
887: ,x_msg_count => x_msg_count
888: ,x_msg_data => x_msg_data
889: ,p_modifier_line_tbl => v_modifiers_tbl
890: );
891: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
892: RAISE FND_API.G_EXC_ERROR;
893: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
894: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
895: END IF;
888: ,x_msg_data => x_msg_data
889: ,p_modifier_line_tbl => v_modifiers_tbl
890: );
891: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
892: RAISE FND_API.G_EXC_ERROR;
893: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
894: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
895: END IF;
896: x_modifier_line_tbl := v_modifiers_tbl;
889: ,p_modifier_line_tbl => v_modifiers_tbl
890: );
891: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
892: RAISE FND_API.G_EXC_ERROR;
893: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
894: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
895: END IF;
896: x_modifier_line_tbl := v_modifiers_tbl;
897: END copyPbhLine;
890: );
891: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
892: RAISE FND_API.G_EXC_ERROR;
893: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
894: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
895: END IF;
896: x_modifier_line_tbl := v_modifiers_tbl;
897: END copyPbhLine;
898:
915: -- initialize
916: -- end date line
917: -- copy line
918: -- relate lines
919: x_return_status := FND_API.G_RET_STS_SUCCESS;
920: FOR l_pbhLines IN c_pbhLines(cp_offerAdjustmentId => p_offerAdjustmentId) LOOP
921: OZF_VOLUME_OFFER_ADJ.end_qp_line
922: (
923: x_return_status => x_return_status
925: , x_msg_data => x_msg_data
926: , p_listLineId => l_pbhLines.from_rltd_modifier_id
927: ,p_offerAdjustmentId => p_offerAdjustmentId
928: );
929: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
930: RAISE FND_API.G_EXC_ERROR;
931: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
932: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
933: END IF;
926: , p_listLineId => l_pbhLines.from_rltd_modifier_id
927: ,p_offerAdjustmentId => p_offerAdjustmentId
928: );
929: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
930: RAISE FND_API.G_EXC_ERROR;
931: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
932: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
933: END IF;
934: copyPbhLine
927: ,p_offerAdjustmentId => p_offerAdjustmentId
928: );
929: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
930: RAISE FND_API.G_EXC_ERROR;
931: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
932: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
933: END IF;
934: copyPbhLine
935: (
928: );
929: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
930: RAISE FND_API.G_EXC_ERROR;
931: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
932: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
933: END IF;
934: copyPbhLine
935: (
936: x_return_status => x_return_status
939: ,p_offerAdjustmentId => p_offerAdjustmentId
940: , p_pbhListLineId => l_pbhLines.from_rltd_modifier_id
941: ,x_modifier_line_tbl => l_modifier_line_tbl
942: );
943: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
944: RAISE FND_API.G_EXC_ERROR;
945: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
946: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
947: END IF;
940: , p_pbhListLineId => l_pbhLines.from_rltd_modifier_id
941: ,x_modifier_line_tbl => l_modifier_line_tbl
942: );
943: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
944: RAISE FND_API.G_EXC_ERROR;
945: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
946: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
947: END IF;
948:
941: ,x_modifier_line_tbl => l_modifier_line_tbl
942: );
943: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
944: RAISE FND_API.G_EXC_ERROR;
945: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
946: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
947: END IF;
948:
949: OZF_VOLUME_OFFER_ADJ.relate_lines
942: );
943: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
944: RAISE FND_API.G_EXC_ERROR;
945: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
946: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
947: END IF;
948:
949: OZF_VOLUME_OFFER_ADJ.relate_lines
950: (
953: , x_return_status => x_return_status
954: , x_msg_count => x_msg_count
955: , x_msg_data => x_msg_data
956: );
957: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
958: RAISE FND_API.G_EXC_ERROR;
959: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
960: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
961: END IF;
954: , x_msg_count => x_msg_count
955: , x_msg_data => x_msg_data
956: );
957: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
958: RAISE FND_API.G_EXC_ERROR;
959: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
960: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
961: END IF;
962: END LOOP;
955: , x_msg_data => x_msg_data
956: );
957: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
958: RAISE FND_API.G_EXC_ERROR;
959: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
960: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
961: END IF;
962: END LOOP;
963: EXCEPTION
956: );
957: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
958: RAISE FND_API.G_EXC_ERROR;
959: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
960: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
961: END IF;
962: END LOOP;
963: EXCEPTION
964: WHEN OTHERS THEN
962: END LOOP;
963: EXCEPTION
964: WHEN OTHERS THEN
965: FND_MSG_PUB.count_and_get(
966: p_encoded => FND_API.g_false
967: , p_count => x_msg_count
968: , p_data => x_msg_data
969: );
970: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
966: p_encoded => FND_API.g_false
967: , p_count => x_msg_count
968: , p_data => x_msg_data
969: );
970: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
971:
972: END processOldPbhLines;
973:
974:
1003: -- populate pricing_attributes
1004: -- merge pricing attributes -> required, since each pricing_attribute can have multiple pricing attributes
1005: -- so the API returning pricing attributes returns a table, each time you get a table it has to be merged with
1006: -- existing table
1007: x_return_status := FND_API.G_RET_STS_SUCCESS;
1008: x_modifier_line_tbl.delete;
1009: x_pricing_attr_tbl.delete;
1010: l_pricing_attr_tbl.delete;
1011: i := 1;
1017: (
1018: x_modifiers_rec => x_modifier_line_tbl(i)
1019: , p_list_line_id => l_listLineDetails.list_line_id
1020: );
1021: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1022: RAISE FND_API.G_EXC_ERROR;
1023: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1024: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1025: END IF;
1018: x_modifiers_rec => x_modifier_line_tbl(i)
1019: , p_list_line_id => l_listLineDetails.list_line_id
1020: );
1021: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1022: RAISE FND_API.G_EXC_ERROR;
1023: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1024: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1025: END IF;
1026: OZF_VOLUME_OFFER_ADJ.populate_pricing_attributes
1019: , p_list_line_id => l_listLineDetails.list_line_id
1020: );
1021: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1022: RAISE FND_API.G_EXC_ERROR;
1023: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1024: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1025: END IF;
1026: OZF_VOLUME_OFFER_ADJ.populate_pricing_attributes
1027: (
1020: );
1021: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1022: RAISE FND_API.G_EXC_ERROR;
1023: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1024: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1025: END IF;
1026: OZF_VOLUME_OFFER_ADJ.populate_pricing_attributes
1027: (
1028: x_pricing_attr_tbl => l_pricing_attr_tbl
1028: x_pricing_attr_tbl => l_pricing_attr_tbl
1029: , p_list_line_id => p_listLineId
1030: , p_index => i
1031: );
1032: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1033: RAISE FND_API.G_EXC_ERROR;
1034: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1035: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1036: END IF;
1029: , p_list_line_id => p_listLineId
1030: , p_index => i
1031: );
1032: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1033: RAISE FND_API.G_EXC_ERROR;
1034: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1035: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1036: END IF;
1037: OZF_VOLUME_OFFER_ADJ.merge_pricing_attributes
1030: , p_index => i
1031: );
1032: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1033: RAISE FND_API.G_EXC_ERROR;
1034: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1035: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1036: END IF;
1037: OZF_VOLUME_OFFER_ADJ.merge_pricing_attributes
1038: (
1031: );
1032: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1033: RAISE FND_API.G_EXC_ERROR;
1034: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1035: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1036: END IF;
1037: OZF_VOLUME_OFFER_ADJ.merge_pricing_attributes
1038: (
1039: px_to_pricing_attr_tbl => x_pricing_attr_tbl
1038: (
1039: px_to_pricing_attr_tbl => x_pricing_attr_tbl
1040: , p_from_pricing_attr_tbl => l_pricing_attr_tbl
1041: );
1042: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1043: RAISE FND_API.G_EXC_ERROR;
1044: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1045: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1046: END IF;
1039: px_to_pricing_attr_tbl => x_pricing_attr_tbl
1040: , p_from_pricing_attr_tbl => l_pricing_attr_tbl
1041: );
1042: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1043: RAISE FND_API.G_EXC_ERROR;
1044: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1045: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1046: END IF;
1047: i := i + 1;
1040: , p_from_pricing_attr_tbl => l_pricing_attr_tbl
1041: );
1042: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1043: RAISE FND_API.G_EXC_ERROR;
1044: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1045: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1046: END IF;
1047: i := i + 1;
1048: END LOOP;
1041: );
1042: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1043: RAISE FND_API.G_EXC_ERROR;
1044: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1045: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1046: END IF;
1047: i := i + 1;
1048: END LOOP;
1049: END populate_dis_qp_data;
1065: FROM ozf_offer_adjustment_lines l
1066: WHERE l.offer_adjustment_line_id = p_offerAdjustmentLineId;
1067:
1068: BEGIN
1069: x_return_status := FND_API.G_RET_STS_SUCCESS;
1070:
1071: OPEN c_endDate;
1072: FETCH c_endDate INTO l_endDate;
1073: CLOSE c_endDate;
1203: -- populate data from qp_list_line
1204: -- populate adjustments data
1205: -- create qp data
1206: -- return created tables and pricing attributes
1207: x_return_status := FND_API.G_RET_STS_SUCCESS;
1208: l_modifier_line_tbl.delete;
1209: l_pricing_attr_tbl.delete;
1210: l_SDR_lines_tbl.delete;
1211: l_SDR_cust_tbl.delete;
1218: , p_listLineId => p_listLineId
1219: , x_modifier_line_tbl => x_modifier_line_tbl
1220: , x_pricing_attr_tbl => x_pricing_attr_tbl
1221: );
1222: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1223: RAISE FND_API.G_EXC_ERROR;
1224: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1225: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1226: END IF;
1219: , x_modifier_line_tbl => x_modifier_line_tbl
1220: , x_pricing_attr_tbl => x_pricing_attr_tbl
1221: );
1222: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1223: RAISE FND_API.G_EXC_ERROR;
1224: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1225: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1226: END IF;
1227: populate_adjustments_data
1220: , x_pricing_attr_tbl => x_pricing_attr_tbl
1221: );
1222: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1223: RAISE FND_API.G_EXC_ERROR;
1224: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1225: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1226: END IF;
1227: populate_adjustments_data
1228: (
1221: );
1222: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1223: RAISE FND_API.G_EXC_ERROR;
1224: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1225: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1226: END IF;
1227: populate_adjustments_data
1228: (
1229: x_return_status => x_return_status
1232: ,x_modifier_line_tbl => x_modifier_line_tbl
1233: ,p_offerAdjustmentId => p_offerAdjustmentId
1234: ,p_offerAdjustmentLineId => p_offerAdjustmentLineId
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_offerAdjustmentId => p_offerAdjustmentId
1234: ,p_offerAdjustmentLineId => p_offerAdjustmentLineId
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:
1234: ,p_offerAdjustmentLineId => p_offerAdjustmentLineId
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:
1242: --Sync up the lines to SDR
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:
1242: --Sync up the lines to SDR
1243: -- Populate SDR new adjusted line with old values except the dicount, that should be new
1342: END LOOP;
1343:
1344: OZF_SD_REQUEST_PUB.update_sd_Request(
1345: p_api_version_number => 1.0,
1346: p_init_msg_list => FND_API.G_TRUE,
1347: p_commit => FND_API.G_FALSE,
1348: p_validation_level => FND_API.g_valid_level_full,
1349: x_return_status => x_return_status,
1350: x_msg_count => x_msg_count,
1343:
1344: OZF_SD_REQUEST_PUB.update_sd_Request(
1345: p_api_version_number => 1.0,
1346: p_init_msg_list => FND_API.G_TRUE,
1347: p_commit => FND_API.G_FALSE,
1348: p_validation_level => FND_API.g_valid_level_full,
1349: x_return_status => x_return_status,
1350: x_msg_count => x_msg_count,
1351: x_msg_data => x_msg_data,
1344: OZF_SD_REQUEST_PUB.update_sd_Request(
1345: p_api_version_number => 1.0,
1346: p_init_msg_list => FND_API.G_TRUE,
1347: p_commit => FND_API.G_FALSE,
1348: p_validation_level => FND_API.g_valid_level_full,
1349: x_return_status => x_return_status,
1350: x_msg_count => x_msg_count,
1351: x_msg_data => x_msg_data,
1352: p_SDR_hdr_rec => l_SDR_hdr_pub_rec,
1354: p_SDR_cust_tbl => l_SDR_cust_tbl
1355: );
1356:
1357: OZF_UTILITY_PVT.debug_message('update_sd_Request x_return_status ' || x_return_status);
1358: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1359: RAISE FND_API.G_EXC_ERROR;
1360: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1361: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1362: END IF;
1355: );
1356:
1357: OZF_UTILITY_PVT.debug_message('update_sd_Request x_return_status ' || x_return_status);
1358: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1359: RAISE FND_API.G_EXC_ERROR;
1360: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1361: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1362: END IF;
1363: END IF;
1356:
1357: OZF_UTILITY_PVT.debug_message('update_sd_Request x_return_status ' || x_return_status);
1358: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1359: RAISE FND_API.G_EXC_ERROR;
1360: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1361: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1362: END IF;
1363: END IF;
1364: END IF;
1357: OZF_UTILITY_PVT.debug_message('update_sd_Request x_return_status ' || x_return_status);
1358: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1359: RAISE FND_API.G_EXC_ERROR;
1360: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1361: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1362: END IF;
1363: END IF;
1364: END IF;
1365:
1364: END IF;
1365:
1366: QP_Modifiers_PUB.process_modifiers(
1367: p_api_version_number => 1.0,
1368: p_init_msg_list => FND_API.G_FALSE,
1369: p_return_values => FND_API.G_FALSE,
1370: x_return_status => x_return_status,
1371: x_msg_count => x_msg_count,
1372: x_msg_data => x_msg_data,
1365:
1366: QP_Modifiers_PUB.process_modifiers(
1367: p_api_version_number => 1.0,
1368: p_init_msg_list => FND_API.G_FALSE,
1369: p_return_values => FND_API.G_FALSE,
1370: x_return_status => x_return_status,
1371: x_msg_count => x_msg_count,
1372: x_msg_data => x_msg_data,
1373: p_modifiers_tbl => x_modifier_line_tbl,
1382: x_pricing_attr_val_tbl => v_pricing_attr_val_tbl
1383: );
1384:
1385: OZF_UTILITY_PVT.debug_message('process_modifiers x_return_status ' || x_return_status);
1386: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1387: RAISE FND_API.G_EXC_ERROR;
1388: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1389: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1390: END IF;
1383: );
1384:
1385: OZF_UTILITY_PVT.debug_message('process_modifiers x_return_status ' || x_return_status);
1386: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1387: RAISE FND_API.G_EXC_ERROR;
1388: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1389: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1390: END IF;
1391:
1384:
1385: OZF_UTILITY_PVT.debug_message('process_modifiers x_return_status ' || x_return_status);
1386: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1387: RAISE FND_API.G_EXC_ERROR;
1388: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1389: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1390: END IF;
1391:
1392:
1385: OZF_UTILITY_PVT.debug_message('process_modifiers x_return_status ' || x_return_status);
1386: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1387: RAISE FND_API.G_EXC_ERROR;
1388: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1389: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1390: END IF;
1391:
1392:
1393: x_modifier_line_tbl := v_modifiers_tbl;
1438: -- initialise
1439: -- create Discount lines and pricing attributes(including exclusions)
1440: -- create qualifiers
1441: -- create limits
1442: x_return_status := FND_API.G_RET_STS_SUCCESS;
1443: l_modifier_line_tbl.delete;
1444: l_pricing_attr_tbl.delete;
1445: create_dis_line
1446: (
1453: , x_listLineId => x_listLineId
1454: , p_offerAdjustmentLineId => p_offerAdjustmentLineId
1455: , p_offerAdjustmentId => p_offerAdjustmentId
1456: );
1457: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1458: RAISE FND_API.G_EXC_ERROR;
1459: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1460: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1461: END IF;
1454: , p_offerAdjustmentLineId => p_offerAdjustmentLineId
1455: , p_offerAdjustmentId => p_offerAdjustmentId
1456: );
1457: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1458: RAISE FND_API.G_EXC_ERROR;
1459: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1460: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1461: END IF;
1462: copyQualifiers
1455: , p_offerAdjustmentId => p_offerAdjustmentId
1456: );
1457: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1458: RAISE FND_API.G_EXC_ERROR;
1459: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1460: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1461: END IF;
1462: copyQualifiers
1463: (
1456: );
1457: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1458: RAISE FND_API.G_EXC_ERROR;
1459: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1460: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1461: END IF;
1462: copyQualifiers
1463: (
1464: x_return_status => x_return_status
1466: ,x_msg_data => x_msg_data
1467: ,p_fromListLineId => p_listLineId
1468: , p_toListLineId => x_listLineId
1469: );
1470: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1471: RAISE FND_API.G_EXC_ERROR;
1472: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1473: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1474: END IF;
1467: ,p_fromListLineId => p_listLineId
1468: , p_toListLineId => x_listLineId
1469: );
1470: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1471: RAISE FND_API.G_EXC_ERROR;
1472: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1473: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1474: END IF;
1475: copyLimits
1468: , p_toListLineId => x_listLineId
1469: );
1470: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1471: RAISE FND_API.G_EXC_ERROR;
1472: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1473: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1474: END IF;
1475: copyLimits
1476: (
1469: );
1470: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1471: RAISE FND_API.G_EXC_ERROR;
1472: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1473: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1474: END IF;
1475: copyLimits
1476: (
1477: x_return_status => x_return_status
1479: ,x_msg_data => x_msg_data
1480: ,p_fromListLineId => p_listLineId
1481: , p_toListLineId => x_listLineId
1482: );
1483: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1484: RAISE FND_API.G_EXC_ERROR;
1485: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1486: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1487: END IF;
1480: ,p_fromListLineId => p_listLineId
1481: , p_toListLineId => x_listLineId
1482: );
1483: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1484: RAISE FND_API.G_EXC_ERROR;
1485: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1486: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1487: END IF;
1488: EXCEPTION
1481: , p_toListLineId => x_listLineId
1482: );
1483: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1484: RAISE FND_API.G_EXC_ERROR;
1485: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1486: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1487: END IF;
1488: EXCEPTION
1489: WHEN OTHERS THEN
1482: );
1483: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1484: RAISE FND_API.G_EXC_ERROR;
1485: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1486: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1487: END IF;
1488: EXCEPTION
1489: WHEN OTHERS THEN
1490: FND_MSG_PUB.count_and_get(
1487: END IF;
1488: EXCEPTION
1489: WHEN OTHERS THEN
1490: FND_MSG_PUB.count_and_get(
1491: p_encoded => FND_API.g_false
1492: , p_count => x_msg_count
1493: , p_data => x_msg_data
1494: );
1495: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1491: p_encoded => FND_API.g_false
1492: , p_count => x_msg_count
1493: , p_data => x_msg_data
1494: );
1495: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1496: END copyListLine;
1497:
1498:
1499: /**
1521: -- initialize
1522: -- end date existing line
1523: -- create new qp_list_line/s
1524: -- create new to old mapping
1525: x_return_status := FND_API.G_RET_STS_SUCCESS;
1526: -- 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
1527: -- raise error
1528:
1529: IF p_offerAdjustmentLineId IS NULL OR p_offerAdjustmentLineId = FND_API.G_MISS_NUM THEN
1525: x_return_status := FND_API.G_RET_STS_SUCCESS;
1526: -- 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
1527: -- raise error
1528:
1529: IF p_offerAdjustmentLineId IS NULL OR p_offerAdjustmentLineId = FND_API.G_MISS_NUM THEN
1530: OZF_Utility_PVT.Error_Message(p_message_name => 'INVALID_ADJUSTMENT_LINE');
1531: x_return_status := FND_API.g_ret_sts_error;
1532: RETURN;
1533: END IF;
1527: -- raise error
1528:
1529: IF p_offerAdjustmentLineId IS NULL OR p_offerAdjustmentLineId = FND_API.G_MISS_NUM THEN
1530: OZF_Utility_PVT.Error_Message(p_message_name => 'INVALID_ADJUSTMENT_LINE');
1531: x_return_status := FND_API.g_ret_sts_error;
1532: RETURN;
1533: END IF;
1534: /*
1535: IF (p_listLineId IS NULL OR p_listLineId = FND_API.G_MISS_NUM) THEN
1531: x_return_status := FND_API.g_ret_sts_error;
1532: RETURN;
1533: END IF;
1534: /*
1535: IF (p_listLineId IS NULL OR p_listLineId = FND_API.G_MISS_NUM) THEN
1536: OPEN c_listLineId(cp_offerAdjustmentLineId => p_offerAdjustmentLineId);
1537: FETCH c_listLineId INTO l_listLineId;
1538: IF c_listLineId%NOTFOUND THEN
1539: OZF_Utility_PVT.Error_Message(p_message_name => 'INVALID_LIST_LINE');
1536: OPEN c_listLineId(cp_offerAdjustmentLineId => p_offerAdjustmentLineId);
1537: FETCH c_listLineId INTO l_listLineId;
1538: IF c_listLineId%NOTFOUND THEN
1539: OZF_Utility_PVT.Error_Message(p_message_name => 'INVALID_LIST_LINE');
1540: x_return_status := FND_API.g_ret_sts_error;
1541: CLOSE c_listLineId;
1542: RETURN;
1543: END IF;
1544: CLOSE c_listLineId;
1553: -- , x_msg_data => x_msg_data
1554: -- , p_listLineId => p_listLineId
1555: -- ,p_offerAdjustmentId => p_offerAdjustmentId
1556: --);
1557: --IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1558: -- RAISE FND_API.G_EXC_ERROR;
1559: --ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1560: -- RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1561: --END IF;
1554: -- , p_listLineId => p_listLineId
1555: -- ,p_offerAdjustmentId => p_offerAdjustmentId
1556: --);
1557: --IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1558: -- RAISE FND_API.G_EXC_ERROR;
1559: --ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1560: -- RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1561: --END IF;
1562:
1555: -- ,p_offerAdjustmentId => p_offerAdjustmentId
1556: --);
1557: --IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1558: -- RAISE FND_API.G_EXC_ERROR;
1559: --ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1560: -- RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1561: --END IF;
1562:
1563: copyListLine
1556: --);
1557: --IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1558: -- RAISE FND_API.G_EXC_ERROR;
1559: --ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1560: -- RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1561: --END IF;
1562:
1563: copyListLine
1564: (
1569: , x_listLineId => l_listLineId
1570: , p_offerAdjustmentLineId => p_offerAdjustmentLineId
1571: ,p_offerAdjustmentId => p_offerAdjustmentId
1572: );
1573: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1574: RAISE FND_API.G_EXC_ERROR;
1575: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1576: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1577: END IF;
1570: , p_offerAdjustmentLineId => p_offerAdjustmentLineId
1571: ,p_offerAdjustmentId => p_offerAdjustmentId
1572: );
1573: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1574: RAISE FND_API.G_EXC_ERROR;
1575: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1576: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1577: END IF;
1578:
1571: ,p_offerAdjustmentId => p_offerAdjustmentId
1572: );
1573: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1574: RAISE FND_API.G_EXC_ERROR;
1575: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1576: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1577: END IF;
1578:
1579: -- Fix for bug 12660466 - calling end_qp_line after copyListLine now.
1572: );
1573: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1574: RAISE FND_API.G_EXC_ERROR;
1575: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1576: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1577: END IF;
1578:
1579: -- Fix for bug 12660466 - calling end_qp_line after copyListLine now.
1580: OZF_VOLUME_OFFER_ADJ.end_qp_line
1584: , x_msg_data => x_msg_data
1585: , p_listLineId => p_listLineId
1586: ,p_offerAdjustmentId => p_offerAdjustmentId
1587: );
1588: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1589: RAISE FND_API.G_EXC_ERROR;
1590: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1591: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1592: END IF;
1585: , p_listLineId => p_listLineId
1586: ,p_offerAdjustmentId => p_offerAdjustmentId
1587: );
1588: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1589: RAISE FND_API.G_EXC_ERROR;
1590: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1591: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1592: END IF;
1593: OZF_VOLUME_OFFER_ADJ.relate_lines
1586: ,p_offerAdjustmentId => p_offerAdjustmentId
1587: );
1588: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1589: RAISE FND_API.G_EXC_ERROR;
1590: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1591: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1592: END IF;
1593: OZF_VOLUME_OFFER_ADJ.relate_lines
1594: (
1587: );
1588: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1589: RAISE FND_API.G_EXC_ERROR;
1590: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1591: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1592: END IF;
1593: OZF_VOLUME_OFFER_ADJ.relate_lines
1594: (
1595: p_from_list_line_id => p_listLineId
1598: , x_return_status => x_return_status
1599: , x_msg_count => x_msg_count
1600: , x_msg_data => x_msg_data
1601: );
1602: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1603: RAISE FND_API.G_EXC_ERROR;
1604: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1605: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1606: END IF;
1599: , x_msg_count => x_msg_count
1600: , x_msg_data => x_msg_data
1601: );
1602: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1603: RAISE FND_API.G_EXC_ERROR;
1604: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1605: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1606: END IF;
1607: END process_old_dis_discount;
1600: , x_msg_data => x_msg_data
1601: );
1602: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1603: RAISE FND_API.G_EXC_ERROR;
1604: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1605: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1606: END IF;
1607: END process_old_dis_discount;
1608:
1601: );
1602: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1603: RAISE FND_API.G_EXC_ERROR;
1604: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1605: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1606: END IF;
1607: END process_old_dis_discount;
1608:
1609:
1625: a.list_line_id = b.list_line_id
1626: AND b.qualification_ind in (0,2,4,6,8,10,12,14,16,18,20,22,24,26, 28, 30, 32)
1627: AND offer_adjustment_id = cp_offerAdjustmentId;
1628: BEGIN
1629: x_return_status := FND_API.G_RET_STS_SUCCESS;
1630: FOR l_adjustmentLines IN c_adjustmentLines(cp_offerAdjustmentId => p_offerAdjustmentId) LOOP
1631: process_old_dis_discount
1632: (
1633: x_return_status => x_return_status
1654: BEGIN
1655: -- initialize
1656: -- loop thru. adjustment lines
1657: -- for each adjustment line end date the existing qp_list_line and create new qp_list_line
1658: x_return_status := FND_API.G_RET_STS_SUCCESS;
1659: processOldDisLines
1660: (
1661: x_return_status => x_return_status
1662: , x_msg_count => x_msg_count
1662: , x_msg_count => x_msg_count
1663: , x_msg_data => x_msg_data
1664: , p_offerAdjustmentId => p_offerAdjustmentId
1665: );
1666: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1667: RAISE FND_API.G_EXC_ERROR;
1668: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1669: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1670: END IF;
1663: , x_msg_data => x_msg_data
1664: , p_offerAdjustmentId => p_offerAdjustmentId
1665: );
1666: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1667: RAISE FND_API.G_EXC_ERROR;
1668: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1669: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1670: END IF;
1671: processOldPbhLines
1664: , p_offerAdjustmentId => p_offerAdjustmentId
1665: );
1666: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1667: RAISE FND_API.G_EXC_ERROR;
1668: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1669: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1670: END IF;
1671: processOldPbhLines
1672: (
1665: );
1666: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1667: RAISE FND_API.G_EXC_ERROR;
1668: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1669: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1670: END IF;
1671: processOldPbhLines
1672: (
1673: x_return_status => x_return_status
1738: , x_modifier_line_tbl IN OUT NOCOPY qp_modifiers_pub.modifiers_tbl_type
1739: )
1740: IS
1741: BEGIN
1742: x_return_status := FND_API.G_RET_STS_SUCCESS;
1743: FOR i in x_modifier_line_tbl.first .. x_modifier_line_tbl.last LOOP
1744: IF x_modifier_line_tbl.exists(i) THEN
1745: x_modifier_line_tbl(i).operand := getModifiedDiscount(p_offerAdjustmentLineId => p_offerAdjustmentLineId);
1746: x_modifier_line_tbl(i).start_date_active := getEffectiveDate(p_offerAdjustmentId => p_offerAdjustmentId);
1774: -- populate modifiers table and pricing attribute table
1775: -- process modifiers table and pricing attribute table
1776: -- create qp data
1777: -- return list_line_id
1778: x_return_status := FND_API.G_RET_STS_SUCCESS;
1779: x_pricing_attr_tbl.delete;
1780: x_modifier_line_tbl.delete;
1781: populatePgDiscounts
1782: (
1786: , p_listLineId => p_listLineId
1787: , x_pricing_attr_tbl => x_pricing_attr_tbl
1788: , x_modifier_line_tbl => x_modifier_line_tbl
1789: );
1790: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1791: RAISE FND_API.G_EXC_ERROR;
1792: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1793: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1794: END IF;
1787: , x_pricing_attr_tbl => x_pricing_attr_tbl
1788: , x_modifier_line_tbl => x_modifier_line_tbl
1789: );
1790: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1791: RAISE FND_API.G_EXC_ERROR;
1792: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1793: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1794: END IF;
1795: processPgDiscounts
1788: , x_modifier_line_tbl => x_modifier_line_tbl
1789: );
1790: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1791: RAISE FND_API.G_EXC_ERROR;
1792: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1793: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1794: END IF;
1795: processPgDiscounts
1796: (
1789: );
1790: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1791: RAISE FND_API.G_EXC_ERROR;
1792: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1793: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1794: END IF;
1795: processPgDiscounts
1796: (
1797: x_return_status => x_return_status
1801: , x_modifier_line_tbl => x_modifier_line_tbl
1802: , p_offerAdjustmentLineId => p_offerAdjustmentLineId
1803: , p_offerAdjustmentId => p_offerAdjustmentId
1804: );
1805: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1806: RAISE FND_API.G_EXC_ERROR;
1807: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1808: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1809: END IF;
1802: , p_offerAdjustmentLineId => p_offerAdjustmentLineId
1803: , p_offerAdjustmentId => p_offerAdjustmentId
1804: );
1805: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1806: RAISE FND_API.G_EXC_ERROR;
1807: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1808: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1809: END IF;
1810:
1803: , p_offerAdjustmentId => p_offerAdjustmentId
1804: );
1805: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1806: RAISE FND_API.G_EXC_ERROR;
1807: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1808: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1809: END IF;
1810:
1811: QP_Modifiers_PUB.process_modifiers(
1804: );
1805: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1806: RAISE FND_API.G_EXC_ERROR;
1807: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1808: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1809: END IF;
1810:
1811: QP_Modifiers_PUB.process_modifiers(
1812: p_api_version_number => 1.0,
1809: END IF;
1810:
1811: QP_Modifiers_PUB.process_modifiers(
1812: p_api_version_number => 1.0,
1813: p_init_msg_list => FND_API.G_TRUE,
1814: p_return_values => FND_API.G_FALSE,
1815: x_return_status => x_return_status,
1816: x_msg_count => x_msg_count,
1817: x_msg_data => x_msg_data,
1810:
1811: QP_Modifiers_PUB.process_modifiers(
1812: p_api_version_number => 1.0,
1813: p_init_msg_list => FND_API.G_TRUE,
1814: p_return_values => FND_API.G_FALSE,
1815: x_return_status => x_return_status,
1816: x_msg_count => x_msg_count,
1817: x_msg_data => x_msg_data,
1818: p_modifiers_tbl => x_modifier_line_tbl,
1825: x_qualifiers_val_tbl => v_qualifiers_val_tbl,
1826: x_pricing_attr_tbl => v_pricing_attr_tbl,
1827: x_pricing_attr_val_tbl => v_pricing_attr_val_tbl
1828: );
1829: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1830: RAISE FND_API.G_EXC_ERROR;
1831: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1832: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1833: END IF;
1826: x_pricing_attr_tbl => v_pricing_attr_tbl,
1827: x_pricing_attr_val_tbl => v_pricing_attr_val_tbl
1828: );
1829: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1830: RAISE FND_API.G_EXC_ERROR;
1831: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1832: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1833: END IF;
1834:
1827: x_pricing_attr_val_tbl => v_pricing_attr_val_tbl
1828: );
1829: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1830: RAISE FND_API.G_EXC_ERROR;
1831: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1832: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1833: END IF;
1834:
1835: x_pricing_attr_tbl := v_pricing_attr_tbl;
1828: );
1829: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1830: RAISE FND_API.G_EXC_ERROR;
1831: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1832: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1833: END IF;
1834:
1835: x_pricing_attr_tbl := v_pricing_attr_tbl;
1836: x_modifier_line_tbl := v_modifiers_tbl;
1860: -- initialise
1861: -- create Discount lines and pricing attributes(including exclusions)
1862: -- create qualifiers
1863: -- create limits
1864: x_return_status := FND_API.G_RET_STS_SUCCESS;
1865: l_modifier_line_tbl.delete;
1866: l_pricing_attr_tbl.delete;
1867: createPgLine
1868: (
1875: , x_listLineId => x_listLineId
1876: , p_offerAdjustmentLineId => p_offerAdjustmentLineId
1877: , p_offerAdjustmentId => p_offerAdjustmentId
1878: );
1879: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1880: RAISE FND_API.G_EXC_ERROR;
1881: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1882: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1883: END IF;
1876: , p_offerAdjustmentLineId => p_offerAdjustmentLineId
1877: , p_offerAdjustmentId => p_offerAdjustmentId
1878: );
1879: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1880: RAISE FND_API.G_EXC_ERROR;
1881: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1882: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1883: END IF;
1884: copyQualifiers
1877: , p_offerAdjustmentId => p_offerAdjustmentId
1878: );
1879: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1880: RAISE FND_API.G_EXC_ERROR;
1881: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1882: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1883: END IF;
1884: copyQualifiers
1885: (
1878: );
1879: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1880: RAISE FND_API.G_EXC_ERROR;
1881: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1882: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1883: END IF;
1884: copyQualifiers
1885: (
1886: x_return_status => x_return_status
1888: ,x_msg_data => x_msg_data
1889: ,p_fromListLineId => p_listLineId
1890: , p_toListLineId => x_listLineId
1891: );
1892: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1893: RAISE FND_API.G_EXC_ERROR;
1894: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1895: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1896: END IF;
1889: ,p_fromListLineId => p_listLineId
1890: , p_toListLineId => x_listLineId
1891: );
1892: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1893: RAISE FND_API.G_EXC_ERROR;
1894: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1895: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1896: END IF;
1897: copyLimits
1890: , p_toListLineId => x_listLineId
1891: );
1892: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1893: RAISE FND_API.G_EXC_ERROR;
1894: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1895: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1896: END IF;
1897: copyLimits
1898: (
1891: );
1892: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1893: RAISE FND_API.G_EXC_ERROR;
1894: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1895: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1896: END IF;
1897: copyLimits
1898: (
1899: x_return_status => x_return_status
1901: ,x_msg_data => x_msg_data
1902: ,p_fromListLineId => p_listLineId
1903: , p_toListLineId => x_listLineId
1904: );
1905: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1906: RAISE FND_API.G_EXC_ERROR;
1907: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1908: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1909: END IF;
1902: ,p_fromListLineId => p_listLineId
1903: , p_toListLineId => x_listLineId
1904: );
1905: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1906: RAISE FND_API.G_EXC_ERROR;
1907: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1908: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1909: END IF;
1910:
1903: , p_toListLineId => x_listLineId
1904: );
1905: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1906: RAISE FND_API.G_EXC_ERROR;
1907: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1908: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1909: END IF;
1910:
1911: END copyPGListLine;
1904: );
1905: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1906: RAISE FND_API.G_EXC_ERROR;
1907: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1908: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1909: END IF;
1910:
1911: END copyPGListLine;
1912:
1925: -- initialize
1926: -- end date existing line
1927: -- create new qp_list_line/s
1928: -- create new to old mapping
1929: x_return_status := FND_API.G_RET_STS_SUCCESS;
1930: -- 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
1931: -- raise error
1932: /*IF p_offerAdjustmentLineId IS NULL OR p_offerAdjustmentLineId = FND_API.G_MISS_NUM THEN
1933: OZF_Utility_PVT.Error_Message(p_message_name => 'INVALID_ADJUSTMENT_LINE');
1928: -- create new to old mapping
1929: x_return_status := FND_API.G_RET_STS_SUCCESS;
1930: -- 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
1931: -- raise error
1932: /*IF p_offerAdjustmentLineId IS NULL OR p_offerAdjustmentLineId = FND_API.G_MISS_NUM THEN
1933: OZF_Utility_PVT.Error_Message(p_message_name => 'INVALID_ADJUSTMENT_LINE');
1934: x_return_status := FND_API.g_ret_sts_error;
1935: RETURN;
1936: END IF;
1930: -- 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
1931: -- raise error
1932: /*IF p_offerAdjustmentLineId IS NULL OR p_offerAdjustmentLineId = FND_API.G_MISS_NUM THEN
1933: OZF_Utility_PVT.Error_Message(p_message_name => 'INVALID_ADJUSTMENT_LINE');
1934: x_return_status := FND_API.g_ret_sts_error;
1935: RETURN;
1936: END IF;
1937: */
1938: OZF_VOLUME_OFFER_ADJ.end_qp_line
1942: , x_msg_data => x_msg_data
1943: , p_listLineId => p_listLineId
1944: ,p_offerAdjustmentId => p_offerAdjustmentId
1945: );
1946: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1947: RAISE FND_API.G_EXC_ERROR;
1948: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1949: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1950: END IF;
1943: , p_listLineId => p_listLineId
1944: ,p_offerAdjustmentId => p_offerAdjustmentId
1945: );
1946: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1947: RAISE FND_API.G_EXC_ERROR;
1948: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1949: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1950: END IF;
1951: copyPGListLine
1944: ,p_offerAdjustmentId => p_offerAdjustmentId
1945: );
1946: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1947: RAISE FND_API.G_EXC_ERROR;
1948: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1949: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1950: END IF;
1951: copyPGListLine
1952: (
1945: );
1946: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1947: RAISE FND_API.G_EXC_ERROR;
1948: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1949: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1950: END IF;
1951: copyPGListLine
1952: (
1953: x_return_status => x_return_status
1957: , x_listLineId => l_listLineId
1958: , p_offerAdjustmentLineId => p_offerAdjustmentLineId
1959: ,p_offerAdjustmentId => p_offerAdjustmentId
1960: );
1961: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1962: RAISE FND_API.G_EXC_ERROR;
1963: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1964: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1965: END IF;
1958: , p_offerAdjustmentLineId => p_offerAdjustmentLineId
1959: ,p_offerAdjustmentId => p_offerAdjustmentId
1960: );
1961: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1962: RAISE FND_API.G_EXC_ERROR;
1963: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1964: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1965: END IF;
1966: OZF_VOLUME_OFFER_ADJ.relate_lines
1959: ,p_offerAdjustmentId => p_offerAdjustmentId
1960: );
1961: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1962: RAISE FND_API.G_EXC_ERROR;
1963: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1964: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1965: END IF;
1966: OZF_VOLUME_OFFER_ADJ.relate_lines
1967: (
1960: );
1961: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1962: RAISE FND_API.G_EXC_ERROR;
1963: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1964: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1965: END IF;
1966: OZF_VOLUME_OFFER_ADJ.relate_lines
1967: (
1968: p_from_list_line_id => p_listLineId
1971: , x_return_status => x_return_status
1972: , x_msg_count => x_msg_count
1973: , x_msg_data => x_msg_data
1974: );
1975: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1976: RAISE FND_API.G_EXC_ERROR;
1977: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1978: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1979: END IF;
1972: , x_msg_count => x_msg_count
1973: , x_msg_data => x_msg_data
1974: );
1975: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1976: RAISE FND_API.G_EXC_ERROR;
1977: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1978: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1979: END IF;
1980: END processOldPgDiscount;
1973: , x_msg_data => x_msg_data
1974: );
1975: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1976: RAISE FND_API.G_EXC_ERROR;
1977: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1978: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1979: END IF;
1980: END processOldPgDiscount;
1981:
1974: );
1975: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1976: RAISE FND_API.G_EXC_ERROR;
1977: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1978: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1979: END IF;
1980: END processOldPgDiscount;
1981:
1982: PROCEDURE process_old_pg_discount
1991: SELECT list_line_id, offer_adjustment_line_id
1992: FROM ozf_offer_adjustment_lines
1993: WHERE offer_adjustment_id = cp_offerAdjustmentId;
1994: BEGIN
1995: x_return_status := FND_API.G_RET_STS_SUCCESS;
1996: FOR l_listLine in c_listLine(cp_offerAdjustmentId => p_offerAdjustmentId ) LOOP
1997: processOldPgDiscount
1998: (
1999: x_return_status => x_return_status
2002: , p_offerAdjustmentId => p_offerAdjustmentId
2003: , p_offerAdjustmentLineId => l_listLine.offer_adjustment_line_id
2004: , p_listLineId => l_listLine.list_line_id
2005: );
2006: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2007: RAISE FND_API.G_EXC_ERROR;
2008: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2009: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2010: END IF;
2003: , p_offerAdjustmentLineId => l_listLine.offer_adjustment_line_id
2004: , p_listLineId => l_listLine.list_line_id
2005: );
2006: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2007: RAISE FND_API.G_EXC_ERROR;
2008: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2009: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2010: END IF;
2011: END LOOP;
2004: , p_listLineId => l_listLine.list_line_id
2005: );
2006: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2007: RAISE FND_API.G_EXC_ERROR;
2008: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2009: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2010: END IF;
2011: END LOOP;
2012: END process_old_pg_discount;
2005: );
2006: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2007: RAISE FND_API.G_EXC_ERROR;
2008: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2009: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2010: END IF;
2011: END LOOP;
2012: END process_old_pg_discount;
2013:
2021: ,x_msg_data OUT NOCOPY VARCHAR2
2022: )
2023: IS
2024: BEGIN
2025: x_return_status := FND_API.G_RET_STS_SUCCESS;
2026: FOR l_pricingAttr IN (SELECT product_attribute, product_attr_value, product_uom_code,pricing_attribute, pricing_attr_value_from
2027: FROM qp_pricing_attributes
2028: WHERE list_line_id = p_listLineId
2029: AND excluder_flag = 'N')
2061: AND a.list_line_id =cp_listLineId;
2062:
2063: l_modifier_line_rec ozf_offer_pvt.MODIFIER_LINE_REC_TYPE;
2064: BEGIN
2065: x_return_status := FND_API.G_RET_STS_SUCCESS;
2066: FOR l_tdAdjustmentLines IN c_tdAdjustmentLines(cp_listLineId => p_listLineId )
2067: LOOP
2068: l_modifier_line_rec.operation := 'CREATE';
2069: l_modifier_line_rec.list_line_type_code := 'DIS';
2080: ,x_return_status => x_return_status
2081: ,x_msg_count => x_msg_count
2082: ,x_msg_data => x_msg_data
2083: );
2084: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2085: return;
2086: END IF;
2087: END LOOP;
2088: x_modifier_line_rec := l_modifier_line_rec;
2116: AND a.list_header_id = a.list_header_id
2117: AND a.offer_adjustment_id = cp_offerAdjustmentId
2118: AND a.list_line_id = cp_listLineId;
2119: BEGIN
2120: x_return_status := FND_API.G_RET_STS_SUCCESS;
2121: FOR l_tdCrtLineDetails in c_tdCrtLineDetails(cp_offerAdjustmentId => p_offerAdjustmentId, cp_listLineId => p_listLineId) LOOP
2122: px_modifier_line_rec.start_date_active := getEffectiveDate(p_offerAdjustmentId => p_offerAdjustmentId);
2123: px_modifier_line_rec.operand := l_tdCrtLineDetails.discount;
2124: px_modifier_line_rec.qd_operand := l_tdCrtLineDetails.discount_td;
2125:
2126: l_endDate := TRUNC(l_tdCrtLineDetails.discount_end_date);
2127: l_offEndDate := TRUNC(l_tdCrtLineDetails.start_date_active);
2128:
2129: IF l_endDate IS NOT NULL AND l_endDate <> FND_API.G_MISS_DATE THEN
2130: CASE
2131: WHEN l_endDate < TRUNC(sysdate) THEN
2132: OZF_Utility_PVT.Error_Message(p_message_name => 'OZF_ADJLINE_ENDDATE_LT_SYSDATE');
2133: x_return_status := FND_API.g_ret_sts_error;
2129: IF l_endDate IS NOT NULL AND l_endDate <> FND_API.G_MISS_DATE THEN
2130: CASE
2131: WHEN l_endDate < TRUNC(sysdate) THEN
2132: OZF_Utility_PVT.Error_Message(p_message_name => 'OZF_ADJLINE_ENDDATE_LT_SYSDATE');
2133: x_return_status := FND_API.g_ret_sts_error;
2134: RETURN;
2135: WHEN l_endDate < TRUNC(px_modifier_line_rec.start_date_active) THEN
2136: OZF_Utility_PVT.Error_Message(p_message_name => 'OZF_ADJLINE_ENDDATE_LT_EFFDATE');
2137: x_return_status := FND_API.g_ret_sts_error;
2133: x_return_status := FND_API.g_ret_sts_error;
2134: RETURN;
2135: WHEN l_endDate < TRUNC(px_modifier_line_rec.start_date_active) THEN
2136: OZF_Utility_PVT.Error_Message(p_message_name => 'OZF_ADJLINE_ENDDATE_LT_EFFDATE');
2137: x_return_status := FND_API.g_ret_sts_error;
2138: RETURN;
2139: WHEN l_offEndDate IS NOT NULL AND l_offEndDate <> FND_API.G_MISS_DATE
2140: AND l_endDate > l_offEndDate THEN
2141: OZF_Utility_PVT.Error_Message(p_message_name => 'OZF_ADJLINE_ENDDATE_MT_OFFDATE');
2135: WHEN l_endDate < TRUNC(px_modifier_line_rec.start_date_active) THEN
2136: OZF_Utility_PVT.Error_Message(p_message_name => 'OZF_ADJLINE_ENDDATE_LT_EFFDATE');
2137: x_return_status := FND_API.g_ret_sts_error;
2138: RETURN;
2139: WHEN l_offEndDate IS NOT NULL AND l_offEndDate <> FND_API.G_MISS_DATE
2140: AND l_endDate > l_offEndDate THEN
2141: OZF_Utility_PVT.Error_Message(p_message_name => 'OZF_ADJLINE_ENDDATE_MT_OFFDATE');
2142: x_return_status := FND_API.g_ret_sts_error;
2143: RETURN;
2138: RETURN;
2139: WHEN l_offEndDate IS NOT NULL AND l_offEndDate <> FND_API.G_MISS_DATE
2140: AND l_endDate > l_offEndDate THEN
2141: OZF_Utility_PVT.Error_Message(p_message_name => 'OZF_ADJLINE_ENDDATE_MT_OFFDATE');
2142: x_return_status := FND_API.g_ret_sts_error;
2143: RETURN;
2144: ELSE
2145: px_modifier_line_rec.end_date_active := l_endDate;
2146: END CASE;
2183: AND a.list_line_id = cp_listLineId;
2184:
2185: l_modifier_line_rec ozf_offer_pvt.MODIFIER_LINE_REC_TYPE;
2186: BEGIN
2187: x_return_status := FND_API.G_RET_STS_SUCCESS;
2188: FOR l_tdUpdAdjustmentLines IN c_tdUpdAdjustmentLines(cp_listLineId => p_listLineId)
2189: LOOP
2190: l_modifier_line_rec.operation := 'UPDATE';
2191: l_modifier_line_rec.list_line_id := l_tdUpdAdjustmentLines.list_line_id;
2213: ,x_msg_data OUT NOCOPY VARCHAR2
2214: )
2215: IS
2216: BEGIN
2217: x_return_status := FND_API.G_RET_STS_SUCCESS;
2218: px_modifier_line_rec.end_date_active := getEndDate( p_offerAdjustmentId => p_offerAdjustmentId , p_listLineId => p_listLineId);
2219: END processTdUpdLines;
2220:
2221:
2238: -- populate td lines
2239: -- process td lines
2240: -- create discount rules
2241: -- return table created
2242: x_return_status := FND_API.G_RET_STS_SUCCESS;
2243: l_modifier_line_tbl.delete;
2244: populateTdCrtLines
2245: (
2246: x_modifier_line_rec => l_modifier_line_tbl(1)
2249: , x_msg_count => x_msg_count
2250: , x_msg_data => x_msg_data
2251: );
2252: ----dbms_output.put_line('Populated creat lines');
2253: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2254: RAISE FND_API.G_EXC_ERROR;
2255: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2256: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2257: END IF;
2250: , x_msg_data => x_msg_data
2251: );
2252: ----dbms_output.put_line('Populated creat lines');
2253: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2254: RAISE FND_API.G_EXC_ERROR;
2255: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2256: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2257: END IF;
2258: processTdCrtLines
2251: );
2252: ----dbms_output.put_line('Populated creat lines');
2253: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2254: RAISE FND_API.G_EXC_ERROR;
2255: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2256: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2257: END IF;
2258: processTdCrtLines
2259: (
2252: ----dbms_output.put_line('Populated creat lines');
2253: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2254: RAISE FND_API.G_EXC_ERROR;
2255: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2256: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2257: END IF;
2258: processTdCrtLines
2259: (
2260: px_modifier_line_rec => l_modifier_line_tbl(1)
2267: ----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);
2268: --dbms_output.put_line('operand:'|| l_modifier_line_tbl(1).operand||':'||l_modifier_line_tbl(1).qd_operand);
2269: --dbms_output.put_line('Arithmetic operator:'|| l_modifier_line_tbl(1).arithmetic_operator||':'||l_modifier_line_tbl(1).qd_arithmetic_operator);
2270:
2271: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2272: RAISE FND_API.G_EXC_ERROR;
2273: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2274: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2275: END IF;
2268: --dbms_output.put_line('operand:'|| l_modifier_line_tbl(1).operand||':'||l_modifier_line_tbl(1).qd_operand);
2269: --dbms_output.put_line('Arithmetic operator:'|| l_modifier_line_tbl(1).arithmetic_operator||':'||l_modifier_line_tbl(1).qd_arithmetic_operator);
2270:
2271: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2272: RAISE FND_API.G_EXC_ERROR;
2273: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2274: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2275: END IF;
2276: ozf_offer_pvt.process_qp_list_lines
2269: --dbms_output.put_line('Arithmetic operator:'|| l_modifier_line_tbl(1).arithmetic_operator||':'||l_modifier_line_tbl(1).qd_arithmetic_operator);
2270:
2271: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2272: RAISE FND_API.G_EXC_ERROR;
2273: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2274: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2275: END IF;
2276: ozf_offer_pvt.process_qp_list_lines
2277: (
2270:
2271: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2272: RAISE FND_API.G_EXC_ERROR;
2273: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2274: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2275: END IF;
2276: ozf_offer_pvt.process_qp_list_lines
2277: (
2278: x_return_status => x_return_status
2283: ,p_list_header_id => l_modifier_line_tbl(1).list_header_id
2284: ,x_modifier_line_tbl => lx_modifier_tbl --QP_MODIFIERS_PUB.modifiers_tbl_type
2285: ,x_error_location => l_errorLocation
2286: );
2287: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2288: RAISE FND_API.G_EXC_ERROR;
2289: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2290: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2291: END IF;
2284: ,x_modifier_line_tbl => lx_modifier_tbl --QP_MODIFIERS_PUB.modifiers_tbl_type
2285: ,x_error_location => l_errorLocation
2286: );
2287: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2288: RAISE FND_API.G_EXC_ERROR;
2289: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2290: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2291: END IF;
2292:
2285: ,x_error_location => l_errorLocation
2286: );
2287: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2288: RAISE FND_API.G_EXC_ERROR;
2289: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2290: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2291: END IF;
2292:
2293: x_modifier_tbl := lx_modifier_tbl;
2286: );
2287: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2288: RAISE FND_API.G_EXC_ERROR;
2289: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2290: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2291: END IF;
2292:
2293: x_modifier_tbl := lx_modifier_tbl;
2294:
2294:
2295: EXCEPTION
2296: WHEN OTHERS THEN
2297: FND_MSG_PUB.count_and_get(
2298: p_encoded => FND_API.g_false
2299: , p_count => x_msg_count
2300: , p_data => x_msg_data
2301: );
2302: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2298: p_encoded => FND_API.g_false
2299: , p_count => x_msg_count
2300: , p_data => x_msg_data
2301: );
2302: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2303:
2304: END createTdLine;
2305:
2306: PROCEDURE populateTdExclusion
2319: FROM qp_pricing_attributes
2320: WHERE list_line_id = cp_listLineId
2321: and excluder_flag = 'Y';
2322: BEGIN
2323: x_return_status := FND_API.G_RET_STS_SUCCESS;
2324: x_pricing_attr_tbl.delete;
2325: i := 0;
2326: --dbms_output.put_line('inside loop1'||p_fromListLineId);
2327: FOR l_productAttributes IN c_productAttributes(cp_listLineId => p_fromListLineId)
2346: ,px_pricing_attr_tbl IN OUT NOCOPY OZF_OFFER_PVT.PRICING_ATTR_TBL_TYPE
2347: )
2348: IS
2349: BEGIN
2350: x_return_status := FND_API.G_RET_STS_SUCCESS;
2351: IF nvl(px_pricing_attr_tbl.count,0) > 0 THEN
2352: FOR i in px_pricing_attr_tbl.first .. px_pricing_attr_tbl.last LOOP
2353: IF px_pricing_attr_tbl.exists(i) THEN
2354: px_pricing_attr_tbl(i).list_line_id := p_toListLineId;
2373: BEGIN
2374: -- initialize
2375: -- populate records
2376: --create exclusions
2377: x_return_status := FND_API.G_RET_STS_SUCCESS;
2378: l_pricing_attr_tbl.delete;
2379: populateTdExclusion
2380: (
2381: p_fromListLineId => p_fromListLineId
2383: ,x_return_status => x_return_status
2384: ,x_msg_count => x_msg_count
2385: ,x_msg_data => x_msg_data
2386: );
2387: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2388: RAISE FND_API.G_EXC_ERROR;
2389: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2390: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2391: END IF;
2384: ,x_msg_count => x_msg_count
2385: ,x_msg_data => x_msg_data
2386: );
2387: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2388: RAISE FND_API.G_EXC_ERROR;
2389: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2390: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2391: END IF;
2392: processTdExclusion
2385: ,x_msg_data => x_msg_data
2386: );
2387: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2388: RAISE FND_API.G_EXC_ERROR;
2389: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2390: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2391: END IF;
2392: processTdExclusion
2393: (
2386: );
2387: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2388: RAISE FND_API.G_EXC_ERROR;
2389: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2390: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2391: END IF;
2392: processTdExclusion
2393: (
2394: p_toListLineId => p_toListLineId
2396: ,x_return_status => x_return_status
2397: ,x_msg_count => x_msg_count
2398: ,x_msg_data => x_msg_data
2399: );
2400: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2401: RAISE FND_API.G_EXC_ERROR;
2402: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2403: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2404: END IF;
2397: ,x_msg_count => x_msg_count
2398: ,x_msg_data => x_msg_data
2399: );
2400: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2401: RAISE FND_API.G_EXC_ERROR;
2402: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2403: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2404: END IF;
2405: --dbms_output.put_line('Table cnt is :'||nvl(l_pricing_attr_tbl.count,0));
2398: ,x_msg_data => x_msg_data
2399: );
2400: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2401: RAISE FND_API.G_EXC_ERROR;
2402: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2403: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2404: END IF;
2405: --dbms_output.put_line('Table cnt is :'||nvl(l_pricing_attr_tbl.count,0));
2406: OZF_OFFER_PVT.process_exclusions
2399: );
2400: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2401: RAISE FND_API.G_EXC_ERROR;
2402: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2403: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2404: END IF;
2405: --dbms_output.put_line('Table cnt is :'||nvl(l_pricing_attr_tbl.count,0));
2406: OZF_OFFER_PVT.process_exclusions
2407: (
2404: END IF;
2405: --dbms_output.put_line('Table cnt is :'||nvl(l_pricing_attr_tbl.count,0));
2406: OZF_OFFER_PVT.process_exclusions
2407: (
2408: p_init_msg_list => FND_API.G_FALSE
2409: ,p_api_version => 1.0
2410: ,p_commit => FND_API.G_FALSE
2411: ,x_return_status => x_return_status
2412: ,x_msg_count => x_msg_count
2406: OZF_OFFER_PVT.process_exclusions
2407: (
2408: p_init_msg_list => FND_API.G_FALSE
2409: ,p_api_version => 1.0
2410: ,p_commit => FND_API.G_FALSE
2411: ,x_return_status => x_return_status
2412: ,x_msg_count => x_msg_count
2413: ,x_msg_data => x_msg_data
2414: ,p_pricing_attr_tbl => l_pricing_attr_tbl
2413: ,x_msg_data => x_msg_data
2414: ,p_pricing_attr_tbl => l_pricing_attr_tbl
2415: ,x_error_location => l_errorLocation
2416: );
2417: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2418: RAISE FND_API.G_EXC_ERROR;
2419: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2420: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2421: END IF;
2414: ,p_pricing_attr_tbl => l_pricing_attr_tbl
2415: ,x_error_location => l_errorLocation
2416: );
2417: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2418: RAISE FND_API.G_EXC_ERROR;
2419: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2420: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2421: END IF;
2422: EXCEPTION
2415: ,x_error_location => l_errorLocation
2416: );
2417: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2418: RAISE FND_API.G_EXC_ERROR;
2419: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2420: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2421: END IF;
2422: EXCEPTION
2423: WHEN OTHERS THEN
2416: );
2417: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2418: RAISE FND_API.G_EXC_ERROR;
2419: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2420: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2421: END IF;
2422: EXCEPTION
2423: WHEN OTHERS THEN
2424: --dbms_output.put_line(sqlerrm);
2421: END IF;
2422: EXCEPTION
2423: WHEN OTHERS THEN
2424: --dbms_output.put_line(sqlerrm);
2425: x_return_status := FND_API.G_RET_STS_ERROR;
2426: OE_MSG_PUB.count_and_get(
2427: p_count => x_msg_count
2428: , p_data => x_msg_data
2429: );
2443: , p_modifier_tbl IN QP_MODIFIERS_PUB.modifiers_tbl_type
2444: )
2445: IS
2446: BEGIN
2447: x_return_status := FND_API.G_RET_STS_SUCCESS;
2448: IF nvl(p_modifier_tbl.count,0) > 0 THEN
2449: FOR i in p_modifier_tbl.first .. p_modifier_tbl.last LOOP
2450: IF p_modifier_tbl.exists(i) THEN
2451: copyLimits
2455: , x_msg_data => x_msg_data
2456: , p_fromListLineId => p_listLineId
2457: , p_toListLineId => p_modifier_tbl(i).list_line_id
2458: );
2459: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2460: RAISE FND_API.G_EXC_ERROR;
2461: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2462: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2463: END IF;
2456: , p_fromListLineId => p_listLineId
2457: , p_toListLineId => p_modifier_tbl(i).list_line_id
2458: );
2459: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2460: RAISE FND_API.G_EXC_ERROR;
2461: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2462: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2463: END IF;
2464: END IF;
2457: , p_toListLineId => p_modifier_tbl(i).list_line_id
2458: );
2459: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2460: RAISE FND_API.G_EXC_ERROR;
2461: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2462: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2463: END IF;
2464: END IF;
2465: END LOOP;
2458: );
2459: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2460: RAISE FND_API.G_EXC_ERROR;
2461: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2462: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2463: END IF;
2464: END IF;
2465: END LOOP;
2466: END IF;
2480: , x_modifier_tbl IN QP_MODIFIERS_PUB.modifiers_tbl_type
2481: )
2482: IS
2483: BEGIN
2484: x_return_status := FND_API.G_RET_STS_SUCCESS;
2485: -- loop thru. modifiers tbl
2486: -- for each list_line_id in the table copy exclusion
2487: IF nvl(x_modifier_tbl.count,0) > 0 THEN
2488: FOR i in x_modifier_tbl.first .. x_modifier_tbl.last LOOP
2495: ,p_fromListLineId => p_listLineId
2496: , p_toListLineId => x_modifier_tbl(i).list_line_id
2497: );
2498: --dbms_output.PUT_LINE('List line id passed in is:'||p_listLineId||':'||x_modifier_tbl(i).list_line_id);
2499: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2500: RAISE FND_API.G_EXC_ERROR;
2501: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2502: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2503: END IF;
2496: , p_toListLineId => x_modifier_tbl(i).list_line_id
2497: );
2498: --dbms_output.PUT_LINE('List line id passed in is:'||p_listLineId||':'||x_modifier_tbl(i).list_line_id);
2499: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2500: RAISE FND_API.G_EXC_ERROR;
2501: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2502: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2503: END IF;
2504: END IF;
2497: );
2498: --dbms_output.PUT_LINE('List line id passed in is:'||p_listLineId||':'||x_modifier_tbl(i).list_line_id);
2499: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2500: RAISE FND_API.G_EXC_ERROR;
2501: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2502: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2503: END IF;
2504: END IF;
2505: END LOOP;
2498: --dbms_output.PUT_LINE('List line id passed in is:'||p_listLineId||':'||x_modifier_tbl(i).list_line_id);
2499: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2500: RAISE FND_API.G_EXC_ERROR;
2501: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2502: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2503: END IF;
2504: END IF;
2505: END LOOP;
2506: END IF;
2520: , x_modifier_tbl IN QP_MODIFIERS_PUB.modifiers_tbl_type
2521: )
2522: IS
2523: BEGIN
2524: x_return_status := FND_API.G_RET_STS_SUCCESS;
2525: IF nvl(x_modifier_tbl.count,0) > 0 THEN
2526: FOR i in x_modifier_tbl.first .. x_modifier_tbl.last LOOP
2527: IF x_modifier_tbl.exists(i) THEN
2528: copyQualifiers
2532: , x_msg_data => x_msg_data
2533: , p_fromListLineId => p_listLineId
2534: , p_toListLineId => x_modifier_tbl(i).list_line_id
2535: );
2536: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2537: return;
2538: END IF;
2539: END IF;
2540: END LOOP;
2584: SELECT accrual_flag
2585: FROM qp_list_lines
2586: WHERE list_line_id = cp_listLineId;
2587: BEGIN
2588: x_return_status := FND_API.G_RET_STS_SUCCESS;
2589: -- get accrual flag for given list line
2590: -- loop thru. the passed in table
2591: -- if the accrual flag for the list_line_id is the same as
2592: FOR l_accrualFlag IN c_accrualFlag(cp_listLineId => p_listLineId) LOOP
2602: , x_return_status => x_return_status
2603: , x_msg_count => x_msg_count
2604: , x_msg_data => x_msg_data
2605: );
2606: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2607: RAISE FND_API.G_EXC_ERROR;
2608: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2609: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2610: END IF;
2603: , x_msg_count => x_msg_count
2604: , x_msg_data => x_msg_data
2605: );
2606: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2607: RAISE FND_API.G_EXC_ERROR;
2608: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2609: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2610: END IF;
2611: IF getTdLine(p_listLineId) IS NOT NULL AND getTdLine(p_modifier_tbl(j).list_line_id) IS NOT NULL THEN
2604: , x_msg_data => x_msg_data
2605: );
2606: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2607: RAISE FND_API.G_EXC_ERROR;
2608: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2609: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2610: END IF;
2611: IF getTdLine(p_listLineId) IS NOT NULL AND getTdLine(p_modifier_tbl(j).list_line_id) IS NOT NULL THEN
2612: OZF_VOLUME_OFFER_ADJ.relate_lines
2605: );
2606: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2607: RAISE FND_API.G_EXC_ERROR;
2608: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2609: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2610: END IF;
2611: IF getTdLine(p_listLineId) IS NOT NULL AND getTdLine(p_modifier_tbl(j).list_line_id) IS NOT NULL THEN
2612: OZF_VOLUME_OFFER_ADJ.relate_lines
2613: (
2617: , x_return_status => x_return_status
2618: , x_msg_count => x_msg_count
2619: , x_msg_data => x_msg_data
2620: );
2621: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2622: RAISE FND_API.G_EXC_ERROR;
2623: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2624: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2625: END IF;
2618: , x_msg_count => x_msg_count
2619: , x_msg_data => x_msg_data
2620: );
2621: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2622: RAISE FND_API.G_EXC_ERROR;
2623: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2624: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2625: END IF;
2626: END IF;
2619: , x_msg_data => x_msg_data
2620: );
2621: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2622: RAISE FND_API.G_EXC_ERROR;
2623: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2624: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2625: END IF;
2626: END IF;
2627: END IF;
2620: );
2621: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2622: RAISE FND_API.G_EXC_ERROR;
2623: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2624: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2625: END IF;
2626: END IF;
2627: END IF;
2628: END IF;
2651: -- copy exclusions
2652: -- copy qualifiers
2653: -- return list_line_id created
2654: -- return record created
2655: x_return_status := FND_API.G_RET_STS_SUCCESS;
2656: createTdLine
2657: (
2658: x_return_status => x_return_status
2659: ,x_msg_count => x_msg_count
2661: ,p_offerAdjustmentId => p_offerAdjustmentId
2662: , p_listLineId => p_listLineId
2663: , x_modifier_tbl => x_modifier_tbl
2664: );
2665: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2666: RAISE FND_API.G_EXC_ERROR;
2667: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2668: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2669: END IF;
2662: , p_listLineId => p_listLineId
2663: , x_modifier_tbl => x_modifier_tbl
2664: );
2665: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2666: RAISE FND_API.G_EXC_ERROR;
2667: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2668: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2669: END IF;
2670: copyTdExclusions
2663: , x_modifier_tbl => x_modifier_tbl
2664: );
2665: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2666: RAISE FND_API.G_EXC_ERROR;
2667: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2668: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2669: END IF;
2670: copyTdExclusions
2671: (
2664: );
2665: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2666: RAISE FND_API.G_EXC_ERROR;
2667: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2668: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2669: END IF;
2670: copyTdExclusions
2671: (
2672: x_return_status => x_return_status
2674: ,x_msg_data => x_msg_data
2675: , p_listLineId => p_listLineId
2676: , x_modifier_tbl => x_modifier_tbl
2677: );
2678: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2679: RAISE FND_API.G_EXC_ERROR;
2680: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2681: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2682: END IF;
2675: , p_listLineId => p_listLineId
2676: , x_modifier_tbl => x_modifier_tbl
2677: );
2678: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2679: RAISE FND_API.G_EXC_ERROR;
2680: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2681: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2682: END IF;
2683: copyTdQualifiers
2676: , x_modifier_tbl => x_modifier_tbl
2677: );
2678: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2679: RAISE FND_API.G_EXC_ERROR;
2680: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2681: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2682: END IF;
2683: copyTdQualifiers
2684: (
2677: );
2678: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2679: RAISE FND_API.G_EXC_ERROR;
2680: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2681: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2682: END IF;
2683: copyTdQualifiers
2684: (
2685: x_return_status => x_return_status
2687: ,x_msg_data => x_msg_data
2688: , p_listLineId => p_listLineId
2689: , x_modifier_tbl => x_modifier_tbl
2690: );
2691: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2692: RAISE FND_API.G_EXC_ERROR;
2693: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2694: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2695: END IF;
2688: , p_listLineId => p_listLineId
2689: , x_modifier_tbl => x_modifier_tbl
2690: );
2691: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2692: RAISE FND_API.G_EXC_ERROR;
2693: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2694: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2695: END IF;
2696: copyTdLimits
2689: , x_modifier_tbl => x_modifier_tbl
2690: );
2691: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2692: RAISE FND_API.G_EXC_ERROR;
2693: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2694: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2695: END IF;
2696: copyTdLimits
2697: (
2690: );
2691: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2692: RAISE FND_API.G_EXC_ERROR;
2693: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2694: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2695: END IF;
2696: copyTdLimits
2697: (
2698: x_return_status => x_return_status
2700: ,x_msg_data => x_msg_data
2701: , p_listLineId => p_listLineId
2702: , p_modifier_tbl => x_modifier_tbl
2703: );
2704: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2705: RAISE FND_API.G_EXC_ERROR;
2706: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2707: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2708: END IF;
2701: , p_listLineId => p_listLineId
2702: , p_modifier_tbl => x_modifier_tbl
2703: );
2704: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2705: RAISE FND_API.G_EXC_ERROR;
2706: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2707: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2708: END IF;
2709: END copyTdLine;
2702: , p_modifier_tbl => x_modifier_tbl
2703: );
2704: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2705: RAISE FND_API.G_EXC_ERROR;
2706: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2707: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2708: END IF;
2709: END copyTdLine;
2710: /**
2703: );
2704: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2705: RAISE FND_API.G_EXC_ERROR;
2706: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2707: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2708: END IF;
2709: END copyTdLine;
2710: /**
2711: End Dates a Trade Deal Discount Rule with the effective date of the Adjustment id passed in
2726: -- initialize
2727: -- populate end date lines
2728: -- process end date lines
2729: -- end date line
2730: x_return_status := FND_API.G_RET_STS_SUCCESS;
2731: ozf_utility_pvt.debug_message('before populateTdUpdLines :'||x_return_status);
2732: populateTdUpdLines
2733: (
2734: x_modifier_line_rec => l_modifier_line_tbl(1)
2737: ,x_msg_count => x_msg_count
2738: ,x_msg_data => x_msg_data
2739: );
2740: ozf_utility_pvt.debug_message('after populateTdUpdLines :'||x_return_status);
2741: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2742: RAISE FND_API.G_EXC_ERROR;
2743: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2744: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2745: END IF;
2738: ,x_msg_data => x_msg_data
2739: );
2740: ozf_utility_pvt.debug_message('after populateTdUpdLines :'||x_return_status);
2741: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2742: RAISE FND_API.G_EXC_ERROR;
2743: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2744: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2745: END IF;
2746: ozf_utility_pvt.debug_message('before processTdUpdLines :'||x_return_status);
2739: );
2740: ozf_utility_pvt.debug_message('after populateTdUpdLines :'||x_return_status);
2741: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2742: RAISE FND_API.G_EXC_ERROR;
2743: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2744: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2745: END IF;
2746: ozf_utility_pvt.debug_message('before processTdUpdLines :'||x_return_status);
2747:
2740: ozf_utility_pvt.debug_message('after populateTdUpdLines :'||x_return_status);
2741: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2742: RAISE FND_API.G_EXC_ERROR;
2743: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2744: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2745: END IF;
2746: ozf_utility_pvt.debug_message('before processTdUpdLines :'||x_return_status);
2747:
2748: processTdUpdLines
2754: ,x_msg_count => x_msg_count
2755: ,x_msg_data => x_msg_data
2756: );
2757: ozf_utility_pvt.debug_message('after processTdUpdLines :'||x_return_status);
2758: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2759: RAISE FND_API.G_EXC_ERROR;
2760: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2761: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2762: END IF;
2755: ,x_msg_data => x_msg_data
2756: );
2757: ozf_utility_pvt.debug_message('after processTdUpdLines :'||x_return_status);
2758: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2759: RAISE FND_API.G_EXC_ERROR;
2760: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2761: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2762: END IF;
2763: ozf_utility_pvt.debug_message('before process_qp_list_lines :'||x_return_status);
2756: );
2757: ozf_utility_pvt.debug_message('after processTdUpdLines :'||x_return_status);
2758: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2759: RAISE FND_API.G_EXC_ERROR;
2760: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2761: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2762: END IF;
2763: ozf_utility_pvt.debug_message('before process_qp_list_lines :'||x_return_status);
2764: ozf_offer_pvt.process_qp_list_lines
2757: ozf_utility_pvt.debug_message('after processTdUpdLines :'||x_return_status);
2758: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2759: RAISE FND_API.G_EXC_ERROR;
2760: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2761: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2762: END IF;
2763: ozf_utility_pvt.debug_message('before process_qp_list_lines :'||x_return_status);
2764: ozf_offer_pvt.process_qp_list_lines
2765: (
2772: ,x_modifier_line_tbl => lx_modifier_tbl --QP_MODIFIERS_PUB.modifiers_tbl_type
2773: ,x_error_location => l_errorLocation
2774: );
2775: ozf_utility_pvt.debug_message('after process_qp_list_lines :'||x_return_status);
2776: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2777: RAISE FND_API.G_EXC_ERROR;
2778: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2779: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2780: END IF;
2773: ,x_error_location => l_errorLocation
2774: );
2775: ozf_utility_pvt.debug_message('after process_qp_list_lines :'||x_return_status);
2776: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2777: RAISE FND_API.G_EXC_ERROR;
2778: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2779: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2780: END IF;
2781: EXCEPTION
2774: );
2775: ozf_utility_pvt.debug_message('after process_qp_list_lines :'||x_return_status);
2776: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2777: RAISE FND_API.G_EXC_ERROR;
2778: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2779: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2780: END IF;
2781: EXCEPTION
2782: WHEN OTHERS THEN
2775: ozf_utility_pvt.debug_message('after process_qp_list_lines :'||x_return_status);
2776: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2777: RAISE FND_API.G_EXC_ERROR;
2778: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2779: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2780: END IF;
2781: EXCEPTION
2782: WHEN OTHERS THEN
2783: FND_MSG_PUB.count_and_get(
2780: END IF;
2781: EXCEPTION
2782: WHEN OTHERS THEN
2783: FND_MSG_PUB.count_and_get(
2784: p_encoded => FND_API.g_false
2785: , p_count => x_msg_count
2786: , p_data => x_msg_data
2787: );
2788: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2784: p_encoded => FND_API.g_false
2785: , p_count => x_msg_count
2786: , p_data => x_msg_data
2787: );
2788: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2789: END endDateTdLine;
2790:
2791:
2792: PROCEDURE processOldTdLine
2800: IS
2801: l_modifier_tbl QP_MODIFIERS_PUB.modifiers_tbl_type;
2802: l_listLineId number;
2803: BEGIN
2804: x_return_status := FND_API.G_RET_STS_SUCCESS;
2805: ozf_utility_pvt.debug_message('before endDateTdLine :'||x_return_status);
2806: endDateTdLine
2807: (
2808: x_return_status => x_return_status
2811: ,p_offerAdjustmentId => p_offerAdjustmentId
2812: , p_listLineId => p_listLineId
2813: );
2814: ozf_utility_pvt.debug_message('after endDateTdLine :'||x_return_status);
2815: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2816: RAISE FND_API.G_EXC_ERROR;
2817: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2818: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2819: END IF;
2812: , p_listLineId => p_listLineId
2813: );
2814: ozf_utility_pvt.debug_message('after endDateTdLine :'||x_return_status);
2815: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2816: RAISE FND_API.G_EXC_ERROR;
2817: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2818: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2819: END IF;
2820: ozf_utility_pvt.debug_message('before copyTdLine :'||x_return_status);
2813: );
2814: ozf_utility_pvt.debug_message('after endDateTdLine :'||x_return_status);
2815: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2816: RAISE FND_API.G_EXC_ERROR;
2817: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2818: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2819: END IF;
2820: ozf_utility_pvt.debug_message('before copyTdLine :'||x_return_status);
2821: copyTdLine
2814: ozf_utility_pvt.debug_message('after endDateTdLine :'||x_return_status);
2815: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2816: RAISE FND_API.G_EXC_ERROR;
2817: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2818: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2819: END IF;
2820: ozf_utility_pvt.debug_message('before copyTdLine :'||x_return_status);
2821: copyTdLine
2822: (
2829: , x_modifier_tbl => l_modifier_tbl
2830: );
2831: ozf_utility_pvt.debug_message('after copyTdLine :'||x_return_status);
2832:
2833: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2834: RAISE FND_API.G_EXC_ERROR;
2835: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2836: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2837: END IF;
2830: );
2831: ozf_utility_pvt.debug_message('after copyTdLine :'||x_return_status);
2832:
2833: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2834: RAISE FND_API.G_EXC_ERROR;
2835: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2836: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2837: END IF;
2838: ozf_utility_pvt.debug_message('before relateTdLine :'||x_return_status);
2831: ozf_utility_pvt.debug_message('after copyTdLine :'||x_return_status);
2832:
2833: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2834: RAISE FND_API.G_EXC_ERROR;
2835: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2836: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2837: END IF;
2838: ozf_utility_pvt.debug_message('before relateTdLine :'||x_return_status);
2839: relateTdLines
2832:
2833: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2834: RAISE FND_API.G_EXC_ERROR;
2835: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2836: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2837: END IF;
2838: ozf_utility_pvt.debug_message('before relateTdLine :'||x_return_status);
2839: relateTdLines
2840: (
2845: , p_listLineId => p_listLineId
2846: , p_modifier_tbl => l_modifier_tbl
2847: );
2848: ozf_utility_pvt.debug_message('after relateTdLine :'||x_return_status);
2849: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2850: RAISE FND_API.G_EXC_ERROR;
2851: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2852: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2853: END IF;
2846: , p_modifier_tbl => l_modifier_tbl
2847: );
2848: ozf_utility_pvt.debug_message('after relateTdLine :'||x_return_status);
2849: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2850: RAISE FND_API.G_EXC_ERROR;
2851: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2852: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2853: END IF;
2854:
2847: );
2848: ozf_utility_pvt.debug_message('after relateTdLine :'||x_return_status);
2849: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2850: RAISE FND_API.G_EXC_ERROR;
2851: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2852: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2853: END IF;
2854:
2855: END ;
2848: ozf_utility_pvt.debug_message('after relateTdLine :'||x_return_status);
2849: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2850: RAISE FND_API.G_EXC_ERROR;
2851: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2852: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2853: END IF;
2854:
2855: END ;
2856: /**
2875: -- loop thru. all adjustment lines
2876: -- end date list_line
2877: -- copy list_line
2878: -- relate list_lines
2879: x_return_status := FND_API.G_RET_STS_SUCCESS;
2880: FOR l_adjLines in c_adjLines(cp_offerAdjustmentId => p_offerAdjustmentId) LOOP
2881: --dbms_output.put_line('Processiung :'||l_adjLines.list_line_id);
2882: ozf_utility_pvt.debug_message('before process old td line discounts :'||x_return_status);
2883:
2889: ,p_offerAdjustmentId => p_offerAdjustmentId
2890: , p_listLineId => l_adjLines.list_line_id
2891: );
2892: ozf_utility_pvt.debug_message('after process old td line discounts :'||x_return_status);
2893: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2894: RAISE FND_API.G_EXC_ERROR;
2895: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2896: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2897: END IF;
2890: , p_listLineId => l_adjLines.list_line_id
2891: );
2892: ozf_utility_pvt.debug_message('after process old td line discounts :'||x_return_status);
2893: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2894: RAISE FND_API.G_EXC_ERROR;
2895: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2896: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2897: END IF;
2898: END LOOP;
2891: );
2892: ozf_utility_pvt.debug_message('after process old td line discounts :'||x_return_status);
2893: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2894: RAISE FND_API.G_EXC_ERROR;
2895: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2896: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2897: END IF;
2898: END LOOP;
2899: END process_old_td_discount;
2892: ozf_utility_pvt.debug_message('after process old td line discounts :'||x_return_status);
2893: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2894: RAISE FND_API.G_EXC_ERROR;
2895: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2896: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2897: END IF;
2898: END LOOP;
2899: END process_old_td_discount;
2900:
2913: WHERE a.qp_list_header_id = b.list_header_id
2914: AND b.offer_adjustment_id = cp_offerAdjustmentId;
2915: l_offerType c_offerType%ROWTYPE;
2916: BEGIN
2917: x_return_status := FND_API.G_RET_STS_SUCCESS;
2918: OPEN c_offerType(cp_offerAdjustmentId => p_offerAdjustmentId);
2919: FETCH c_offerType INTO l_offerType;
2920: CLOSE c_offerType;
2921: IF l_offerType.offer_type = 'DEAL' THEN
2927: , x_msg_data => x_msg_data
2928: , p_offerAdjustmentId => p_offerAdjustmentId
2929: );
2930: ozf_utility_pvt.debug_message('after process old td discounts :'||x_return_status);
2931: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2932: RAISE FND_API.G_EXC_ERROR;
2933: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2934: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2935: END IF;
2928: , p_offerAdjustmentId => p_offerAdjustmentId
2929: );
2930: ozf_utility_pvt.debug_message('after process old td discounts :'||x_return_status);
2931: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2932: RAISE FND_API.G_EXC_ERROR;
2933: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2934: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2935: END IF;
2936: ELSIF l_offerType.offer_type = 'OID' THEN
2929: );
2930: ozf_utility_pvt.debug_message('after process old td discounts :'||x_return_status);
2931: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2932: RAISE FND_API.G_EXC_ERROR;
2933: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2934: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2935: END IF;
2936: ELSIF l_offerType.offer_type = 'OID' THEN
2937: process_old_pg_discount
2930: ozf_utility_pvt.debug_message('after process old td discounts :'||x_return_status);
2931: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2932: RAISE FND_API.G_EXC_ERROR;
2933: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2934: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2935: END IF;
2936: ELSIF l_offerType.offer_type = 'OID' THEN
2937: process_old_pg_discount
2938: (
2940: , x_msg_count => x_msg_count
2941: , x_msg_data => x_msg_data
2942: , p_offerAdjustmentId => p_offerAdjustmentId
2943: );
2944: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2945: RAISE FND_API.G_EXC_ERROR;
2946: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2947: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2948: END IF;
2941: , x_msg_data => x_msg_data
2942: , p_offerAdjustmentId => p_offerAdjustmentId
2943: );
2944: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2945: RAISE FND_API.G_EXC_ERROR;
2946: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2947: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2948: END IF;
2949: ELSIF l_offerType.offer_type = 'VOLUME_OFFER' THEN
2942: , p_offerAdjustmentId => p_offerAdjustmentId
2943: );
2944: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2945: RAISE FND_API.G_EXC_ERROR;
2946: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2947: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2948: END IF;
2949: ELSIF l_offerType.offer_type = 'VOLUME_OFFER' THEN
2950: OZF_VOLUME_OFFER_ADJ.adjust_old_discounts
2943: );
2944: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2945: RAISE FND_API.G_EXC_ERROR;
2946: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2947: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2948: END IF;
2949: ELSIF l_offerType.offer_type = 'VOLUME_OFFER' THEN
2950: OZF_VOLUME_OFFER_ADJ.adjust_old_discounts
2951: (
2953: ,x_msg_count => x_msg_count
2954: ,x_msg_data => x_msg_data
2955: ,p_offerAdjustmentId => p_offerAdjustmentId
2956: );
2957: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2958: RAISE FND_API.G_EXC_ERROR;
2959: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2960: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2961: END IF;
2954: ,x_msg_data => x_msg_data
2955: ,p_offerAdjustmentId => p_offerAdjustmentId
2956: );
2957: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2958: RAISE FND_API.G_EXC_ERROR;
2959: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2960: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2961: END IF;
2962:
2955: ,p_offerAdjustmentId => p_offerAdjustmentId
2956: );
2957: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2958: RAISE FND_API.G_EXC_ERROR;
2959: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2960: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2961: END IF;
2962:
2963: ELSIF l_offerType.offer_type IN ( 'ORDER','ACCRUAL','OFF_INVOICE') THEN
2956: );
2957: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2958: RAISE FND_API.G_EXC_ERROR;
2959: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2960: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2961: END IF;
2962:
2963: ELSIF l_offerType.offer_type IN ( 'ORDER','ACCRUAL','OFF_INVOICE') THEN
2964: process_old_reg_discount
2967: , x_msg_count => x_msg_count
2968: , x_msg_data => x_msg_data
2969: , p_offerAdjustmentId => p_offerAdjustmentId
2970: );
2971: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2972: RAISE FND_API.G_EXC_ERROR;
2973: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2974: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2975: END IF;
2968: , x_msg_data => x_msg_data
2969: , p_offerAdjustmentId => p_offerAdjustmentId
2970: );
2971: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2972: RAISE FND_API.G_EXC_ERROR;
2973: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2974: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2975: END IF;
2976: END IF;
2969: , p_offerAdjustmentId => p_offerAdjustmentId
2970: );
2971: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2972: RAISE FND_API.G_EXC_ERROR;
2973: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2974: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2975: END IF;
2976: END IF;
2977: END process_old_discounts;
2970: );
2971: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2972: RAISE FND_API.G_EXC_ERROR;
2973: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2974: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2975: END IF;
2976: END IF;
2977: END process_old_discounts;
2978: ---------------------------------------Process pg products--------------------
3003: AND b.offer_adjustment_id = c.offer_adjustment_id
3004: AND b.offer_adj_new_line_id = cp_offerAdjNewLineId;
3005: i NUMBER;
3006: BEGIN
3007: x_return_status := FND_API.G_RET_STS_SUCCESS;
3008: x_modifier_line_tbl.delete;
3009: i := 1;
3010: FOR l_newBuy in c_newBuy(cp_offerAdjNewLineId => p_offerAdjNewLineId) LOOP
3011: x_modifier_line_tbl(i).product_attr := l_newBuy.product_attribute;
3030: ,px_modifier_line_tbl IN OUT NOCOPY ozf_offer_pvt.MODIFIER_LINE_Tbl_TYPE
3031: )
3032: IS
3033: BEGIN
3034: x_return_status := FND_API.G_RET_STS_SUCCESS;
3035: IF nvl(px_modifier_line_tbl.count,0) > 0 THEN
3036: FOR i in px_modifier_line_tbl.first .. px_modifier_line_tbl.last LOOP
3037: IF px_modifier_line_tbl.exists(i) THEN
3038: px_modifier_line_tbl(i).operation := QP_GLOBALS.G_OPR_CREATE;
3065: -- populate data
3066: -- process data
3067: -- create
3068: -- return created table
3069: x_return_status := FND_API.G_RET_STS_SUCCESS;
3070: l_modifier_line_tbl.delete;
3071: lx_modifier_tbl.delete;
3072:
3073: populateNewBuyProduct
3077: , x_msg_data => x_msg_data
3078: , p_offerAdjNewLineId => p_offerAdjNewLineId
3079: , x_modifier_line_tbl => l_modifier_line_tbl
3080: );
3081: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3082: RAISE FND_API.G_EXC_ERROR;
3083: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3084: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3085: END IF;
3078: , p_offerAdjNewLineId => p_offerAdjNewLineId
3079: , x_modifier_line_tbl => l_modifier_line_tbl
3080: );
3081: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3082: RAISE FND_API.G_EXC_ERROR;
3083: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3084: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3085: END IF;
3086: processNewBuyProduct
3079: , x_modifier_line_tbl => l_modifier_line_tbl
3080: );
3081: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3082: RAISE FND_API.G_EXC_ERROR;
3083: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3084: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3085: END IF;
3086: processNewBuyProduct
3087: (
3080: );
3081: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3082: RAISE FND_API.G_EXC_ERROR;
3083: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3084: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3085: END IF;
3086: processNewBuyProduct
3087: (
3088: x_return_status => x_return_status
3090: , x_msg_data => x_msg_data
3091: , p_offerAdjNewLineId => p_offerAdjNewLineId
3092: , px_modifier_line_tbl => l_modifier_line_tbl
3093: );
3094: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3095: RAISE FND_API.G_EXC_ERROR;
3096: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3097: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3098: END IF;
3091: , p_offerAdjNewLineId => p_offerAdjNewLineId
3092: , px_modifier_line_tbl => l_modifier_line_tbl
3093: );
3094: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3095: RAISE FND_API.G_EXC_ERROR;
3096: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3097: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3098: END IF;
3099: OZF_OFFER_PVT.process_qp_list_lines
3092: , px_modifier_line_tbl => l_modifier_line_tbl
3093: );
3094: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3095: RAISE FND_API.G_EXC_ERROR;
3096: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3097: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3098: END IF;
3099: OZF_OFFER_PVT.process_qp_list_lines
3100: (
3093: );
3094: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3095: RAISE FND_API.G_EXC_ERROR;
3096: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3097: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3098: END IF;
3099: OZF_OFFER_PVT.process_qp_list_lines
3100: (
3101: x_return_status => x_return_status
3106: ,p_list_header_id => l_modifier_line_tbl(1).list_header_id
3107: ,x_modifier_line_tbl => lx_modifier_tbl
3108: ,x_error_location => l_errorLocation
3109: );
3110: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3111: RAISE FND_API.G_EXC_ERROR;
3112: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3113: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3114: END IF;
3107: ,x_modifier_line_tbl => lx_modifier_tbl
3108: ,x_error_location => l_errorLocation
3109: );
3110: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3111: RAISE FND_API.G_EXC_ERROR;
3112: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3113: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3114: END IF;
3115: x_modifier_tbl := lx_modifier_tbl;
3108: ,x_error_location => l_errorLocation
3109: );
3110: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3111: RAISE FND_API.G_EXC_ERROR;
3112: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3113: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3114: END IF;
3115: x_modifier_tbl := lx_modifier_tbl;
3116: EXCEPTION
3109: );
3110: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3111: RAISE FND_API.G_EXC_ERROR;
3112: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3113: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3114: END IF;
3115: x_modifier_tbl := lx_modifier_tbl;
3116: EXCEPTION
3117: WHEN OTHERS THEN
3114: END IF;
3115: x_modifier_tbl := lx_modifier_tbl;
3116: EXCEPTION
3117: WHEN OTHERS THEN
3118: x_return_status := FND_API.G_RET_STS_ERROR;
3119: FND_MSG_PUB.count_and_get(
3120: p_encoded => FND_API.g_false
3121: , p_count => x_msg_count
3122: , p_data => x_msg_data
3116: EXCEPTION
3117: WHEN OTHERS THEN
3118: x_return_status := FND_API.G_RET_STS_ERROR;
3119: FND_MSG_PUB.count_and_get(
3120: p_encoded => FND_API.g_false
3121: , p_count => x_msg_count
3122: , p_data => x_msg_data
3123: );
3124: END createNewBuyProduct;
3135: BEGIN
3136: -- initialize
3137: -- create new line
3138: -- create line in ozf_offer_adjustment_lines
3139: x_return_status := FND_API.G_RET_STS_SUCCESS;
3140: createNewBuyProduct
3141: (
3142: x_return_status => x_return_status
3143: ,x_msg_count => x_msg_count
3144: ,x_msg_data => x_msg_data
3145: ,p_offerAdjNewLineId => p_offerAdjNewLineId
3146: , x_modifier_tbl => l_modifiers_tbl
3147: );
3148: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3149: RAISE FND_API.G_EXC_ERROR;
3150: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3151: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3152: END IF;
3145: ,p_offerAdjNewLineId => p_offerAdjNewLineId
3146: , x_modifier_tbl => l_modifiers_tbl
3147: );
3148: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3149: RAISE FND_API.G_EXC_ERROR;
3150: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3151: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3152: END IF;
3153: createAdjLines
3146: , x_modifier_tbl => l_modifiers_tbl
3147: );
3148: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3149: RAISE FND_API.G_EXC_ERROR;
3150: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3151: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3152: END IF;
3153: createAdjLines
3154: (
3147: );
3148: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3149: RAISE FND_API.G_EXC_ERROR;
3150: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3151: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3152: END IF;
3153: createAdjLines
3154: (
3155: x_return_status => x_return_status
3157: ,x_msg_data => x_msg_data
3158: ,p_modifiers_tbl => l_modifiers_tbl
3159: ,p_offerAdjustmentId => getAdjustmentId( p_offerAdjNewLineId => p_offerAdjNewLineId)
3160: );
3161: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3162: RAISE FND_API.G_EXC_ERROR;
3163: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3164: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3165: END IF;
3158: ,p_modifiers_tbl => l_modifiers_tbl
3159: ,p_offerAdjustmentId => getAdjustmentId( p_offerAdjNewLineId => p_offerAdjNewLineId)
3160: );
3161: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3162: RAISE FND_API.G_EXC_ERROR;
3163: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3164: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3165: END IF;
3166: EXCEPTION
3159: ,p_offerAdjustmentId => getAdjustmentId( p_offerAdjNewLineId => p_offerAdjNewLineId)
3160: );
3161: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3162: RAISE FND_API.G_EXC_ERROR;
3163: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3164: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3165: END IF;
3166: EXCEPTION
3167: WHEN OTHERS THEN
3160: );
3161: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3162: RAISE FND_API.G_EXC_ERROR;
3163: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3164: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3165: END IF;
3166: EXCEPTION
3167: WHEN OTHERS THEN
3168: FND_MSG_PUB.count_and_get(
3165: END IF;
3166: EXCEPTION
3167: WHEN OTHERS THEN
3168: FND_MSG_PUB.count_and_get(
3169: p_encoded => FND_API.g_false
3170: , p_count => x_msg_count
3171: , p_data => x_msg_data
3172: );
3173: END processNewBuyProduct;
3187: AND offer_adjustment_id = cp_offerAdjustmentId;
3188: BEGIN
3189: -- initialize
3190: -- loop thru. individual lines and process each line
3191: x_return_status := FND_API.G_RET_STS_SUCCESS;
3192: FOR l_adjLines IN c_adjLines(cp_offerAdjustmentId => p_offerAdjustmentId) LOOP
3193: processNewBuyProduct
3194: (
3195: x_return_status => x_return_status
3196: ,x_msg_count => x_msg_count
3197: ,x_msg_data => x_msg_data
3198: ,p_offerAdjNewLineId => l_adjLines.offer_adj_new_line_id
3199: );
3200: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3201: RAISE FND_API.G_EXC_ERROR;
3202: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3203: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3204: END IF;
3197: ,x_msg_data => x_msg_data
3198: ,p_offerAdjNewLineId => l_adjLines.offer_adj_new_line_id
3199: );
3200: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3201: RAISE FND_API.G_EXC_ERROR;
3202: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3203: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3204: END IF;
3205: END LOOP;
3198: ,p_offerAdjNewLineId => l_adjLines.offer_adj_new_line_id
3199: );
3200: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3201: RAISE FND_API.G_EXC_ERROR;
3202: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3203: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3204: END IF;
3205: END LOOP;
3206: END processNewBuyProducts;
3199: );
3200: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3201: RAISE FND_API.G_EXC_ERROR;
3202: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3203: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3204: END IF;
3205: END LOOP;
3206: END processNewBuyProducts;
3207: ----------------------------End PG Buy products------------------------------
3232: AND a.offer_adj_new_line_id = cp_offerAdjNewLineId;
3233:
3234: i NUMBER;
3235: BEGIN
3236: x_return_status := FND_API.G_RET_STS_SUCCESS;
3237: x_modifier_line_tbl.delete;
3238: i := 1;
3239: FOR l_newGet IN c_newGet(cp_offerAdjNewLineId => p_offerAdjNewLineId) LOOP
3240: x_modifier_line_tbl(i).start_date_active := l_newGet.effective_date;
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;
3294: -- populate data in qp structures
3295: -- process data in qp structures
3296: -- create
3297: -- return the created table
3298: x_return_status := FND_API.G_RET_STS_SUCCESS;
3299: l_modifier_line_tbl.delete;
3300:
3301: populateNewGetProduct
3302: (
3305: ,x_msg_data => x_msg_data
3306: ,p_offerAdjNewLineId => p_offerAdjNewLineId
3307: ,x_modifier_line_tbl => l_modifier_line_tbl
3308: );
3309: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3310: RAISE FND_API.G_EXC_ERROR;
3311: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3312: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3313: END IF;
3306: ,p_offerAdjNewLineId => p_offerAdjNewLineId
3307: ,x_modifier_line_tbl => l_modifier_line_tbl
3308: );
3309: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3310: RAISE FND_API.G_EXC_ERROR;
3311: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3312: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3313: END IF;
3314: processNewGetProduct
3307: ,x_modifier_line_tbl => l_modifier_line_tbl
3308: );
3309: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3310: RAISE FND_API.G_EXC_ERROR;
3311: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3312: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3313: END IF;
3314: processNewGetProduct
3315: (
3308: );
3309: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3310: RAISE FND_API.G_EXC_ERROR;
3311: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3312: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3313: END IF;
3314: processNewGetProduct
3315: (
3316: x_return_status => x_return_status
3318: ,x_msg_data => x_msg_data
3319: ,p_offerAdjNewLineId => p_offerAdjNewLineId
3320: ,px_modifier_line_tbl => l_modifier_line_tbl
3321: );
3322: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3323: RAISE FND_API.G_EXC_ERROR;
3324: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3325: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3326: END IF;
3319: ,p_offerAdjNewLineId => p_offerAdjNewLineId
3320: ,px_modifier_line_tbl => l_modifier_line_tbl
3321: );
3322: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3323: RAISE FND_API.G_EXC_ERROR;
3324: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3325: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3326: END IF;
3327: OZF_OFFER_PVT.process_qp_list_lines
3320: ,px_modifier_line_tbl => l_modifier_line_tbl
3321: );
3322: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3323: RAISE FND_API.G_EXC_ERROR;
3324: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3325: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3326: END IF;
3327: OZF_OFFER_PVT.process_qp_list_lines
3328: (
3321: );
3322: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3323: RAISE FND_API.G_EXC_ERROR;
3324: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3325: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3326: END IF;
3327: OZF_OFFER_PVT.process_qp_list_lines
3328: (
3329: x_return_status => x_return_status
3334: ,p_list_header_id => l_modifier_line_tbl(1).list_header_id
3335: ,x_modifier_line_tbl => lx_modifier_tbl
3336: ,x_error_location => l_errorLocation
3337: );
3338: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3339: RAISE FND_API.G_EXC_ERROR;
3340: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3341: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3342: END IF;
3335: ,x_modifier_line_tbl => lx_modifier_tbl
3336: ,x_error_location => l_errorLocation
3337: );
3338: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3339: RAISE FND_API.G_EXC_ERROR;
3340: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3341: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3342: END IF;
3343: x_modifier_tbl := lx_modifier_tbl;
3336: ,x_error_location => l_errorLocation
3337: );
3338: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3339: RAISE FND_API.G_EXC_ERROR;
3340: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3341: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3342: END IF;
3343: x_modifier_tbl := lx_modifier_tbl;
3344: END createNewGetProduct;
3337: );
3338: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3339: RAISE FND_API.G_EXC_ERROR;
3340: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3341: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3342: END IF;
3343: x_modifier_tbl := lx_modifier_tbl;
3344: END createNewGetProduct;
3345:
3355: BEGIN
3356: -- initialize
3357: -- create new get product
3358: -- create offer_adjustment_line
3359: x_return_status := FND_API.G_RET_STS_SUCCESS;
3360: l_modifiers_tbl.delete;
3361: createNewGetProduct
3362: (
3363: x_return_status => x_return_status
3365: ,x_msg_data => x_msg_data
3366: ,p_offerAdjNewLineId => p_offerAdjNewLineId
3367: ,x_modifier_tbl => l_modifiers_tbl
3368: );
3369: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3370: RAISE FND_API.G_EXC_ERROR;
3371: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3372: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3373: END IF;
3366: ,p_offerAdjNewLineId => p_offerAdjNewLineId
3367: ,x_modifier_tbl => l_modifiers_tbl
3368: );
3369: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3370: RAISE FND_API.G_EXC_ERROR;
3371: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3372: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3373: END IF;
3374: createAdjLines
3367: ,x_modifier_tbl => l_modifiers_tbl
3368: );
3369: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3370: RAISE FND_API.G_EXC_ERROR;
3371: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3372: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3373: END IF;
3374: createAdjLines
3375: (
3368: );
3369: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3370: RAISE FND_API.G_EXC_ERROR;
3371: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3372: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3373: END IF;
3374: createAdjLines
3375: (
3376: x_return_status => x_return_status
3378: ,x_msg_data => x_msg_data
3379: ,p_modifiers_tbl => l_modifiers_tbl
3380: ,p_offerAdjustmentId => getAdjustmentId( p_offerAdjNewLineId => p_offerAdjNewLineId)
3381: );
3382: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3383: RAISE FND_API.G_EXC_ERROR;
3384: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3385: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3386: END IF;
3379: ,p_modifiers_tbl => l_modifiers_tbl
3380: ,p_offerAdjustmentId => getAdjustmentId( p_offerAdjNewLineId => p_offerAdjNewLineId)
3381: );
3382: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3383: RAISE FND_API.G_EXC_ERROR;
3384: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3385: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3386: END IF;
3387: EXCEPTION
3380: ,p_offerAdjustmentId => getAdjustmentId( p_offerAdjNewLineId => p_offerAdjNewLineId)
3381: );
3382: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3383: RAISE FND_API.G_EXC_ERROR;
3384: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3385: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3386: END IF;
3387: EXCEPTION
3388: WHEN OTHERS THEN
3381: );
3382: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3383: RAISE FND_API.G_EXC_ERROR;
3384: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3385: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3386: END IF;
3387: EXCEPTION
3388: WHEN OTHERS THEN
3389: FND_MSG_PUB.count_and_get(
3386: END IF;
3387: EXCEPTION
3388: WHEN OTHERS THEN
3389: FND_MSG_PUB.count_and_get(
3390: p_encoded => FND_API.g_false
3391: , p_count => x_msg_count
3392: , p_data => x_msg_data
3393: );
3394: END processNewGetProduct;
3408: AND offer_adjustment_id = cp_offerAdjustmentId;
3409: BEGIN
3410: -- initialize
3411: -- loop thru. individual lines and process each line
3412: x_return_status := FND_API.G_RET_STS_SUCCESS;
3413: FOR l_adjLines IN c_adjLines(cp_offerAdjustmentId => p_offerAdjustmentId) LOOP
3414: processNewGetProduct
3415: (
3416: x_return_status => x_return_status
3417: ,x_msg_count => x_msg_count
3418: ,x_msg_data => x_msg_data
3419: ,p_offerAdjNewLineId => l_adjLines.offer_adj_new_line_id
3420: );
3421: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3422: RAISE FND_API.G_EXC_ERROR;
3423: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3424: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3425: END IF;
3418: ,x_msg_data => x_msg_data
3419: ,p_offerAdjNewLineId => l_adjLines.offer_adj_new_line_id
3420: );
3421: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3422: RAISE FND_API.G_EXC_ERROR;
3423: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3424: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3425: END IF;
3426: END LOOP;
3419: ,p_offerAdjNewLineId => l_adjLines.offer_adj_new_line_id
3420: );
3421: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3422: RAISE FND_API.G_EXC_ERROR;
3423: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3424: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3425: END IF;
3426: END LOOP;
3427: END processNewGetProducts;
3420: );
3421: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3422: RAISE FND_API.G_EXC_ERROR;
3423: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3424: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3425: END IF;
3426: END LOOP;
3427: END processNewGetProducts;
3428:
3434: ,p_offerAdjustmentId IN NUMBER
3435: )
3436: IS
3437: BEGIN
3438: x_return_status := FND_API.G_RET_STS_SUCCESS;
3439: -- initialize
3440: -- process new buy products
3441: -- process new get products
3442: processNewBuyProducts
3445: ,x_msg_count => x_msg_count
3446: ,x_msg_data => x_msg_data
3447: ,p_offerAdjustmentId => p_offerAdjustmentId
3448: );
3449: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3450: RAISE FND_API.G_EXC_ERROR;
3451: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3452: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3453: END IF;
3446: ,x_msg_data => x_msg_data
3447: ,p_offerAdjustmentId => p_offerAdjustmentId
3448: );
3449: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3450: RAISE FND_API.G_EXC_ERROR;
3451: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3452: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3453: END IF;
3454: processNewGetProducts
3447: ,p_offerAdjustmentId => p_offerAdjustmentId
3448: );
3449: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3450: RAISE FND_API.G_EXC_ERROR;
3451: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3452: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3453: END IF;
3454: processNewGetProducts
3455: (
3448: );
3449: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3450: RAISE FND_API.G_EXC_ERROR;
3451: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3452: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3453: END IF;
3454: processNewGetProducts
3455: (
3456: x_return_status => x_return_status
3457: ,x_msg_count => x_msg_count
3458: ,x_msg_data => x_msg_data
3459: ,p_offerAdjustmentId => p_offerAdjustmentId
3460: );
3461: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3462: RAISE FND_API.G_EXC_ERROR;
3463: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3464: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3465: END IF;
3458: ,x_msg_data => x_msg_data
3459: ,p_offerAdjustmentId => p_offerAdjustmentId
3460: );
3461: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3462: RAISE FND_API.G_EXC_ERROR;
3463: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3464: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3465: END IF;
3466: EXCEPTION
3459: ,p_offerAdjustmentId => p_offerAdjustmentId
3460: );
3461: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3462: RAISE FND_API.G_EXC_ERROR;
3463: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3464: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3465: END IF;
3466: EXCEPTION
3467: WHEN OTHERS THEN
3460: );
3461: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3462: RAISE FND_API.G_EXC_ERROR;
3463: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3464: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3465: END IF;
3466: EXCEPTION
3467: WHEN OTHERS THEN
3468: x_return_status := FND_API.G_RET_STS_ERROR;
3464: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3465: END IF;
3466: EXCEPTION
3467: WHEN OTHERS THEN
3468: x_return_status := FND_API.G_RET_STS_ERROR;
3469: FND_MSG_PUB.count_and_get(
3470: p_encoded => FND_API.g_false
3471: , p_count => x_msg_count
3472: , p_data => x_msg_data
3466: EXCEPTION
3467: WHEN OTHERS THEN
3468: x_return_status := FND_API.G_RET_STS_ERROR;
3469: FND_MSG_PUB.count_and_get(
3470: p_encoded => FND_API.g_false
3471: , p_count => x_msg_count
3472: , p_data => x_msg_data
3473: );
3474: END processNewPgProducts;
3516:
3517: BEGIN
3518: -- initialize
3519: -- loop thru. the records and populate
3520: x_return_status := FND_API.G_RET_STS_SUCCESS;
3521: x_modifier_line_tbl.delete;
3522: i := 1;
3523: FOR l_offerAdjustmentLines IN c_offerAdjustmentLines(cp_offerAdjNewLineId => p_offerAdjNewLineId)
3524: LOOP
3522: i := 1;
3523: FOR l_offerAdjustmentLines IN c_offerAdjustmentLines(cp_offerAdjNewLineId => p_offerAdjNewLineId)
3524: LOOP
3525: x_modifier_line_tbl(i).list_header_id := l_offerAdjustmentLines.list_header_id;
3526: x_modifier_line_tbl(i).list_line_id := FND_API.G_MISS_NUM;
3527: x_modifier_line_tbl(i).list_line_type_code := l_offerAdjustmentLines.tier_type;
3528: x_modifier_line_tbl(i).operand := l_offerAdjustmentLines.discount;
3529: x_modifier_line_tbl(i).arithmetic_operator := l_offerAdjustmentLines.discount_type;
3530: x_modifier_line_tbl(i).product_attr := l_offerAdjustmentLines.product_attribute;
3532: x_modifier_line_tbl(i).product_uom_code := l_offerAdjustmentLines.uom_code;
3533: x_modifier_line_tbl(i).pricing_attr := l_offerAdjustmentLines.volume_type;
3534: x_modifier_line_tbl(i).pricing_attr_value_from := l_offerAdjustmentLines.volume_from;
3535: x_modifier_line_tbl(i).inactive_flag := 'Y';
3536: x_modifier_line_tbl(i).pricing_attribute_id := FND_API.G_MISS_NUM;
3537:
3538: END LOOP;
3539: END populateDisDiscounts;
3540:
3554: FROM ozf_offer_adj_new_lines l
3555: WHERE l.offer_adj_new_line_id = p_offerAdjNewLineId;
3556:
3557: BEGIN
3558: x_return_status := FND_API.G_RET_STS_SUCCESS;
3559: IF nvl(px_modifier_line_tbl.count,0) > 0 THEN
3560: FOR i IN px_modifier_line_tbl.first .. px_modifier_line_tbl.last LOOP
3561: IF px_modifier_line_tbl.exists(i) THEN
3562: OPEN c_endDate;
3781: -- populate discounts
3782: -- create qp_list_lines
3783: -- create ozf_offer_adjustment_lines with created from adjustments = y -- required only for processing with bugets
3784: -- 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.
3785: x_return_status := FND_API.G_RET_STS_SUCCESS;
3786: l_modifier_line_tbl.delete;
3787: l_SDR_lines_tbl.delete;
3788: l_SDR_cust_tbl.delete;
3789:
3794: ,x_msg_data => x_msg_data
3795: ,p_offerAdjNewLineId => p_offerAdjNewLineId
3796: ,x_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: ,p_offerAdjNewLineId => p_offerAdjNewLineId
3796: ,x_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: processDisDiscounts
3796: ,x_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: processDisDiscounts
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: processDisDiscounts
3804: (
3805: x_return_status => x_return_status
3807: ,x_msg_data => x_msg_data
3808: ,p_offerAdjNewLineId => p_offerAdjNewLineId
3809: ,px_modifier_line_tbl => l_modifier_line_tbl
3810: );
3811: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3812: RAISE FND_API.G_EXC_ERROR;
3813: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3814: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3815: END IF;
3808: ,p_offerAdjNewLineId => p_offerAdjNewLineId
3809: ,px_modifier_line_tbl => l_modifier_line_tbl
3810: );
3811: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3812: RAISE FND_API.G_EXC_ERROR;
3813: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3814: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3815: END IF;
3816:
3809: ,px_modifier_line_tbl => l_modifier_line_tbl
3810: );
3811: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3812: RAISE FND_API.G_EXC_ERROR;
3813: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3814: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3815: END IF;
3816:
3817: open c_offer_type(l_modifier_line_tbl(1).list_header_id);
3810: );
3811: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3812: RAISE FND_API.G_EXC_ERROR;
3813: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3814: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3815: END IF;
3816:
3817: open c_offer_type(l_modifier_line_tbl(1).list_header_id);
3818: fetch c_offer_type into l_custom_setup_id;
3849: ,p_list_header_id => l_modifier_line_tbl(1).list_header_id
3850: ,x_modifier_line_tbl => l_modifiers_tbl
3851: ,x_error_location => l_errorLocation
3852: );
3853: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3854: RAISE FND_API.G_EXC_ERROR;
3855: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3856: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3857: END IF;
3850: ,x_modifier_line_tbl => l_modifiers_tbl
3851: ,x_error_location => l_errorLocation
3852: );
3853: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3854: RAISE FND_API.G_EXC_ERROR;
3855: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3856: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3857: END IF;
3858:
3851: ,x_error_location => l_errorLocation
3852: );
3853: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3854: RAISE FND_API.G_EXC_ERROR;
3855: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3856: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3857: END IF;
3858:
3859: --===============================================================
3852: );
3853: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3854: RAISE FND_API.G_EXC_ERROR;
3855: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3856: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3857: END IF;
3858:
3859: --===============================================================
3860: -- create SDR header and line
3862:
3863: IF l_custom_setup_id = 118 THEN
3864: OZF_SD_REQUEST_PUB.update_sd_Request(
3865: p_api_version_number => 1.0,
3866: p_init_msg_list => FND_API.G_TRUE,
3867: p_commit => FND_API.G_FALSE,
3868: p_validation_level => FND_API.g_valid_level_full,
3869: x_return_status => x_return_status,
3870: x_msg_count => x_msg_count,
3863: IF l_custom_setup_id = 118 THEN
3864: OZF_SD_REQUEST_PUB.update_sd_Request(
3865: p_api_version_number => 1.0,
3866: p_init_msg_list => FND_API.G_TRUE,
3867: p_commit => FND_API.G_FALSE,
3868: p_validation_level => FND_API.g_valid_level_full,
3869: x_return_status => x_return_status,
3870: x_msg_count => x_msg_count,
3871: x_msg_data => x_msg_data,
3864: OZF_SD_REQUEST_PUB.update_sd_Request(
3865: p_api_version_number => 1.0,
3866: p_init_msg_list => FND_API.G_TRUE,
3867: p_commit => FND_API.G_FALSE,
3868: p_validation_level => FND_API.g_valid_level_full,
3869: x_return_status => x_return_status,
3870: x_msg_count => x_msg_count,
3871: x_msg_data => x_msg_data,
3872: p_SDR_hdr_rec => l_SDR_hdr_pub_rec,
3874: p_SDR_cust_tbl => l_SDR_cust_tbl
3875: );
3876:
3877: OZF_UTILITY_PVT.debug_message('update_sd_Request x_return_status ' || x_return_status);
3878: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3879: RAISE FND_API.G_EXC_ERROR;
3880: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3881: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3882: END IF;
3875: );
3876:
3877: OZF_UTILITY_PVT.debug_message('update_sd_Request x_return_status ' || x_return_status);
3878: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3879: RAISE FND_API.G_EXC_ERROR;
3880: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3881: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3882: END IF;
3883: END IF;
3876:
3877: OZF_UTILITY_PVT.debug_message('update_sd_Request x_return_status ' || x_return_status);
3878: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3879: RAISE FND_API.G_EXC_ERROR;
3880: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3881: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3882: END IF;
3883: END IF;
3884:
3877: OZF_UTILITY_PVT.debug_message('update_sd_Request x_return_status ' || x_return_status);
3878: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3879: RAISE FND_API.G_EXC_ERROR;
3880: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3881: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3882: END IF;
3883: END IF;
3884:
3885: createAdjLines
3889: ,x_msg_data => x_msg_data
3890: ,p_modifiers_tbl => l_modifiers_tbl
3891: ,p_offerAdjustmentId => getAdjustmentId( p_offerAdjNewLineId => p_offerAdjNewLineId)
3892: );
3893: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3894: RAISE FND_API.G_EXC_ERROR;
3895: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3896: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3897: END IF;
3890: ,p_modifiers_tbl => l_modifiers_tbl
3891: ,p_offerAdjustmentId => getAdjustmentId( p_offerAdjNewLineId => p_offerAdjNewLineId)
3892: );
3893: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3894: RAISE FND_API.G_EXC_ERROR;
3895: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3896: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3897: END IF;
3898: END processNewStProduct;
3891: ,p_offerAdjustmentId => getAdjustmentId( p_offerAdjNewLineId => p_offerAdjNewLineId)
3892: );
3893: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3894: RAISE FND_API.G_EXC_ERROR;
3895: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3896: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3897: END IF;
3898: END processNewStProduct;
3899:
3892: );
3893: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3894: RAISE FND_API.G_EXC_ERROR;
3895: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3896: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3897: END IF;
3898: END processNewStProduct;
3899:
3900:
3918: FROM qp_list_lines
3919: WHERE list_header_id = cp_listHeaderId
3920: AND rownum < 2;
3921: BEGIN
3922: x_return_status := FND_API.G_RET_STS_SUCCESS;
3923: FOR l_advOpt IN c_advOpt(cp_listHeaderId => p_listHeaderId ) LOOP
3924: px_modifier_line_rec.proration_type_code := l_advOpt.proration_type_code;
3925: px_modifier_line_rec.product_precedence := l_advOpt.product_precedence;
3926: px_modifier_line_rec.pricing_group_sequence := l_advOpt.pricing_group_sequence;
3951: AND b.list_header_id = c.qp_list_header_id
3952: AND a.offer_adj_new_line_id = cp_offerAdjNewLineId;
3953: i NUMBER;
3954: BEGIN
3955: x_return_status := FND_API.G_RET_STS_SUCCESS;
3956: i := 1;
3957: FOR l_offerDetails IN c_offerDetails(cp_offerAdjNewLineId => p_offerAdjNewLineId) LOOP
3958: px_modifier_line_rec.operation := QP_GLOBALS.G_OPR_CREATE;
3959: px_modifier_line_rec.start_date_active := l_offerDetails.effective_date;
4003: a.offer_adj_new_line_id = b.offer_adj_new_line_id
4004: AND a.offer_adj_new_line_id = cp_offerAdjNewLineId;
4005: i NUMBER;
4006: BEGIN
4007: x_return_status := FND_API.G_RET_STS_SUCCESS;
4008: i := 1;
4009: FOR l_productAttributes IN c_productAttributes(cp_offerAdjNewLineId => p_offerAdjNewLineId) LOOP
4010: x_pricing_attr_tbl(i).product_attribute_context := l_productAttributes.product_context;
4011: x_pricing_attr_tbl(i).product_attribute := l_productAttributes.product_attribute;
4016: x_pricing_attr_tbl(i).pricing_attribute := l_productAttributes.volume_type;
4017: x_pricing_attr_tbl(i).comparison_operator_code := 'BETWEEN';
4018: x_pricing_attr_tbl(i).modifiers_index := p_index;
4019: x_pricing_attr_tbl(i).operation := QP_GLOBALS.G_OPR_CREATE;
4020: x_pricing_attr_tbl(i).pricing_attribute_id := FND_API.G_MISS_NUM;
4021: x_pricing_attr_tbl(i).attribute_grouping_no := FND_API.G_MISS_NUM;
4022: i := i + 1;
4023: END LOOP;
4024: END populatePbhPricingAttr;
4017: x_pricing_attr_tbl(i).comparison_operator_code := 'BETWEEN';
4018: x_pricing_attr_tbl(i).modifiers_index := p_index;
4019: x_pricing_attr_tbl(i).operation := QP_GLOBALS.G_OPR_CREATE;
4020: x_pricing_attr_tbl(i).pricing_attribute_id := FND_API.G_MISS_NUM;
4021: x_pricing_attr_tbl(i).attribute_grouping_no := FND_API.G_MISS_NUM;
4022: i := i + 1;
4023: END LOOP;
4024: END populatePbhPricingAttr;
4025:
4043: FROM ozf_offer_adj_new_lines a
4044: WHERE a.offer_adj_new_line_id = cp_offerAdjNewLineId;
4045:
4046: BEGIN
4047: x_return_status := FND_API.G_RET_STS_SUCCESS;
4048: FOR l_pbhData IN c_pbhData(cp_offerAdjNewLineId => p_offerAdjNewLineId) LOOP
4049: x_modifier_line_rec.operation := QP_GLOBALS.G_OPR_CREATE;
4050: x_modifier_line_rec.list_line_type_code := 'PBH';
4051: x_modifier_line_rec.automatic_flag := 'Y';
4068: ,x_msg_data => x_msg_data
4069: ,p_offerAdjNewLineId => p_offerAdjNewLineId
4070: , px_modifier_line_rec => x_modifier_line_rec
4071: );
4072: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4073: RAISE FND_API.G_EXC_ERROR;
4074: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4075: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4076: END IF;
4069: ,p_offerAdjNewLineId => p_offerAdjNewLineId
4070: , px_modifier_line_rec => x_modifier_line_rec
4071: );
4072: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4073: RAISE FND_API.G_EXC_ERROR;
4074: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4075: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4076: END IF;
4077: END LOOP;
4070: , px_modifier_line_rec => x_modifier_line_rec
4071: );
4072: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4073: RAISE FND_API.G_EXC_ERROR;
4074: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4075: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4076: END IF;
4077: END LOOP;
4078: END populatePbhDiscounts;
4071: );
4072: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4073: RAISE FND_API.G_EXC_ERROR;
4074: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4075: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4076: END IF;
4077: END LOOP;
4078: END populatePbhDiscounts;
4079: /*
4086: , x_modifier_line_rec OUT NOCOPY qp_modifiers_pub.modifiers_rec_type
4087: )
4088: IS
4089: BEGIN
4090: x_return_status := FND_API.G_RET_STS_SUCCESS;
4091: -- initialize
4092: -- loop thru. discount lines and populate discounts for each line
4093:
4094: END populateDisDiscounts;*/
4110: FROM ozf_offer_adj_new_lines
4111: WHERE offer_adj_new_line_id = cp_offerAdjNewLineId;
4112:
4113: BEGIN
4114: x_return_status := FND_API.G_RET_STS_SUCCESS;
4115: FOR l_discounts IN c_discounts(cp_offerAdjNewLineId => p_offerAdjNewLineId) LOOP
4116:
4117: x_modifier_line_rec.operation := QP_GLOBALS.G_OPR_CREATE;
4118: x_modifier_line_rec.list_line_type_code := l_discounts.tier_type;
4130: ,x_msg_data => x_msg_data
4131: ,p_offerAdjNewLineId => p_offerAdjNewLineId
4132: , px_modifier_line_rec => x_modifier_line_rec
4133: );
4134: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4135: RAISE FND_API.G_EXC_ERROR;
4136: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4137: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4138: END IF;
4131: ,p_offerAdjNewLineId => p_offerAdjNewLineId
4132: , px_modifier_line_rec => x_modifier_line_rec
4133: );
4134: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4135: RAISE FND_API.G_EXC_ERROR;
4136: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4137: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4138: END IF;
4139:
4132: , px_modifier_line_rec => x_modifier_line_rec
4133: );
4134: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4135: RAISE FND_API.G_EXC_ERROR;
4136: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4137: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4138: END IF;
4139:
4140: END LOOP;
4133: );
4134: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4135: RAISE FND_API.G_EXC_ERROR;
4136: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4137: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4138: END IF;
4139:
4140: END LOOP;
4141: END populateDisDiscounts;
4164: a.offer_adj_new_line_id = b.parent_adj_line_id
4165: AND a.excluder_flag = 'N'
4166: AND b.offer_adj_new_line_id = cp_offerAdjNewLineId;
4167: BEGIN
4168: x_return_status := FND_API.G_RET_STS_SUCCESS;
4169: x_pricing_attr_rec := null;
4170: FOR l_pricingAttributes in c_pricingAttributes(cp_offerAdjNewLineId => p_offerAdjNewLineId) LOOP
4171: x_pricing_attr_rec.pricing_attribute_id := FND_API.G_MISS_NUM;
4172: x_pricing_attr_rec.attribute_grouping_no := FND_API.G_MISS_NUM;
4167: BEGIN
4168: x_return_status := FND_API.G_RET_STS_SUCCESS;
4169: x_pricing_attr_rec := null;
4170: FOR l_pricingAttributes in c_pricingAttributes(cp_offerAdjNewLineId => p_offerAdjNewLineId) LOOP
4171: x_pricing_attr_rec.pricing_attribute_id := FND_API.G_MISS_NUM;
4172: x_pricing_attr_rec.attribute_grouping_no := FND_API.G_MISS_NUM;
4173: x_pricing_attr_rec.product_attribute_context := l_pricingAttributes.product_context;
4174: x_pricing_attr_rec.product_attribute := l_pricingAttributes.product_attribute;
4175: x_pricing_attr_rec.product_attr_value := l_pricingAttributes.product_attr_value;
4168: x_return_status := FND_API.G_RET_STS_SUCCESS;
4169: x_pricing_attr_rec := null;
4170: FOR l_pricingAttributes in c_pricingAttributes(cp_offerAdjNewLineId => p_offerAdjNewLineId) LOOP
4171: x_pricing_attr_rec.pricing_attribute_id := FND_API.G_MISS_NUM;
4172: x_pricing_attr_rec.attribute_grouping_no := FND_API.G_MISS_NUM;
4173: x_pricing_attr_rec.product_attribute_context := l_pricingAttributes.product_context;
4174: x_pricing_attr_rec.product_attribute := l_pricingAttributes.product_attribute;
4175: x_pricing_attr_rec.product_attr_value := l_pricingAttributes.product_attr_value;
4176: x_pricing_attr_rec.product_uom_code := l_pricingAttributes.uom_code;
4201: FROM ozf_offer_adj_new_lines
4202: WHERE parent_adj_line_id = cp_offerAdjNewLineId;
4203: i NUMBER;
4204: BEGIN
4205: x_return_status := FND_API.G_RET_STS_SUCCESS;
4206: i := 2; -- hardcode since dis lines will always start at 2
4207: FOR l_adjNewLines IN c_adjNewLines(cp_offerAdjNewLineId => p_offerAdjNewLineId) LOOP
4208: populateDisDiscounts
4209: (
4213: ,p_offerAdjNewLineId => l_adjNewLines.offer_adj_new_line_id
4214: , x_modifier_line_rec => x_modifier_line_tbl(i)
4215: );
4216: x_modifier_line_tbl(i).start_date_active := null;
4217: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4218: RAISE FND_API.G_EXC_ERROR;
4219: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4220: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4221: END IF;
4214: , x_modifier_line_rec => x_modifier_line_tbl(i)
4215: );
4216: x_modifier_line_tbl(i).start_date_active := null;
4217: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4218: RAISE FND_API.G_EXC_ERROR;
4219: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4220: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4221: END IF;
4222: populateDisPricingAttributes
4215: );
4216: x_modifier_line_tbl(i).start_date_active := null;
4217: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4218: RAISE FND_API.G_EXC_ERROR;
4219: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4220: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4221: END IF;
4222: populateDisPricingAttributes
4223: (
4216: x_modifier_line_tbl(i).start_date_active := null;
4217: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4218: RAISE FND_API.G_EXC_ERROR;
4219: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4220: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4221: END IF;
4222: populateDisPricingAttributes
4223: (
4224: x_return_status => x_return_status
4227: ,p_offerAdjNewLineId => l_adjNewLines.offer_adj_new_line_id
4228: , x_pricing_attr_rec => x_pricing_attr_tbl(i)
4229: , p_index => i
4230: );
4231: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4232: RAISE FND_API.G_EXC_ERROR;
4233: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4234: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4235: END IF;
4228: , x_pricing_attr_rec => x_pricing_attr_tbl(i)
4229: , p_index => i
4230: );
4231: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4232: RAISE FND_API.G_EXC_ERROR;
4233: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4234: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4235: END IF;
4236: i := i + 1;
4229: , p_index => i
4230: );
4231: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4232: RAISE FND_API.G_EXC_ERROR;
4233: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4234: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4235: END IF;
4236: i := i + 1;
4237: END LOOP;
4230: );
4231: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4232: RAISE FND_API.G_EXC_ERROR;
4233: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4234: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4235: END IF;
4236: i := i + 1;
4237: END LOOP;
4238: -- populate discounts
4252: )
4253: IS
4254: i NUMBER;
4255: BEGIN
4256: x_return_status := FND_API.G_RET_STS_SUCCESS;
4257: x_modifier_line_rec := null;
4258: x_pricing_attr_tbl.delete;
4259: i := 1;
4260: -- populate pbh discounts
4266: ,x_msg_data => x_msg_data
4267: ,p_offerAdjNewLineId => p_offerAdjNewLineId
4268: , x_modifier_line_rec => x_modifier_line_rec
4269: );
4270: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4271: RAISE FND_API.G_EXC_ERROR;
4272: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4273: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4274: END IF;
4267: ,p_offerAdjNewLineId => p_offerAdjNewLineId
4268: , x_modifier_line_rec => x_modifier_line_rec
4269: );
4270: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4271: RAISE FND_API.G_EXC_ERROR;
4272: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4273: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4274: END IF;
4275: populatePbhPricingAttr
4268: , x_modifier_line_rec => x_modifier_line_rec
4269: );
4270: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4271: RAISE FND_API.G_EXC_ERROR;
4272: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4273: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4274: END IF;
4275: populatePbhPricingAttr
4276: (
4269: );
4270: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4271: RAISE FND_API.G_EXC_ERROR;
4272: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4273: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4274: END IF;
4275: populatePbhPricingAttr
4276: (
4277: x_return_status => x_return_status
4295: IS
4296: l_modifier_line_tbl qp_modifiers_pub.modifiers_tbl_type;
4297: l_pricing_attr_tbl QP_MODIFIERS_PUB.Pricing_Attr_Tbl_Type;
4298: BEGIN
4299: x_return_status := FND_API.G_RET_STS_SUCCESS;
4300: x_modifier_line_tbl.delete;
4301: x_pricing_attr_tbl.delete;
4302: l_modifier_line_tbl.delete;
4303: l_pricing_attr_tbl.delete;
4311: ,p_offerAdjNewLineId => p_offerAdjNewLineId
4312: , x_modifier_line_rec => x_modifier_line_tbl(1)
4313: , x_pricing_attr_tbl => x_pricing_attr_tbl
4314: );
4315: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4316: RAISE FND_API.G_EXC_ERROR;
4317: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4318: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4319: END IF;
4312: , x_modifier_line_rec => x_modifier_line_tbl(1)
4313: , x_pricing_attr_tbl => x_pricing_attr_tbl
4314: );
4315: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4316: RAISE FND_API.G_EXC_ERROR;
4317: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4318: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4319: END IF;
4320: populateDisData
4313: , x_pricing_attr_tbl => x_pricing_attr_tbl
4314: );
4315: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4316: RAISE FND_API.G_EXC_ERROR;
4317: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4318: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4319: END IF;
4320: populateDisData
4321: (
4314: );
4315: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4316: RAISE FND_API.G_EXC_ERROR;
4317: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4318: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4319: END IF;
4320: populateDisData
4321: (
4322: x_return_status => x_return_status
4325: ,p_offerAdjNewLineId => p_offerAdjNewLineId
4326: , x_modifier_line_tbl => l_modifier_line_tbl
4327: , x_pricing_attr_tbl => l_pricing_attr_tbl
4328: );
4329: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4330: RAISE FND_API.G_EXC_ERROR;
4331: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4332: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4333: END IF;
4326: , x_modifier_line_tbl => l_modifier_line_tbl
4327: , x_pricing_attr_tbl => l_pricing_attr_tbl
4328: );
4329: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4330: RAISE FND_API.G_EXC_ERROR;
4331: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4332: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4333: END IF;
4334: OZF_VOLUME_OFFER_ADJ.merge_pricing_attributes
4327: , x_pricing_attr_tbl => l_pricing_attr_tbl
4328: );
4329: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4330: RAISE FND_API.G_EXC_ERROR;
4331: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4332: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4333: END IF;
4334: OZF_VOLUME_OFFER_ADJ.merge_pricing_attributes
4335: (
4328: );
4329: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4330: RAISE FND_API.G_EXC_ERROR;
4331: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4332: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4333: END IF;
4334: OZF_VOLUME_OFFER_ADJ.merge_pricing_attributes
4335: (
4336: px_to_pricing_attr_tbl => x_pricing_attr_tbl
4340: (
4341: px_to_modifier_line_tbl => x_modifier_line_tbl
4342: , p_from_modifier_line_tbl => l_modifier_line_tbl
4343: );
4344: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4345: RAISE FND_API.G_EXC_ERROR;
4346: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4347: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4348: END IF;
4341: px_to_modifier_line_tbl => x_modifier_line_tbl
4342: , p_from_modifier_line_tbl => l_modifier_line_tbl
4343: );
4344: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4345: RAISE FND_API.G_EXC_ERROR;
4346: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4347: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4348: END IF;
4349: END populateNewMtProducts;
4342: , p_from_modifier_line_tbl => l_modifier_line_tbl
4343: );
4344: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4345: RAISE FND_API.G_EXC_ERROR;
4346: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4347: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4348: END IF;
4349: END populateNewMtProducts;
4350:
4343: );
4344: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4345: RAISE FND_API.G_EXC_ERROR;
4346: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4347: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4348: END IF;
4349: END populateNewMtProducts;
4350:
4351: /**
4377: -- populate records
4378: -- process data
4379: -- create qp data
4380: -- return created table
4381: x_return_status := FND_API.G_RET_STS_SUCCESS;
4382: l_modifier_line_tbl.delete;
4383: l_pricing_attr_tbl.delete;
4384:
4385: populateNewMtProducts
4391: , x_modifier_line_tbl => l_modifier_line_tbl
4392: , x_pricing_attr_tbl => l_pricing_attr_tbl
4393: );
4394:
4395: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4396: RAISE FND_API.G_EXC_ERROR;
4397: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4398: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4399: END IF;
4392: , x_pricing_attr_tbl => l_pricing_attr_tbl
4393: );
4394:
4395: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4396: RAISE FND_API.G_EXC_ERROR;
4397: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4398: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4399: END IF;
4400: QP_Modifiers_PUB.process_modifiers(
4393: );
4394:
4395: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4396: RAISE FND_API.G_EXC_ERROR;
4397: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4398: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4399: END IF;
4400: QP_Modifiers_PUB.process_modifiers(
4401: p_api_version_number => 1.0,
4394:
4395: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4396: RAISE FND_API.G_EXC_ERROR;
4397: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4398: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4399: END IF;
4400: QP_Modifiers_PUB.process_modifiers(
4401: p_api_version_number => 1.0,
4402: p_init_msg_list => FND_API.G_FALSE,
4398: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4399: END IF;
4400: QP_Modifiers_PUB.process_modifiers(
4401: p_api_version_number => 1.0,
4402: p_init_msg_list => FND_API.G_FALSE,
4403: p_return_values => FND_API.G_FALSE,
4404: x_return_status => x_return_status,
4405: x_msg_count => x_msg_count,
4406: x_msg_data => x_msg_data,
4399: END IF;
4400: QP_Modifiers_PUB.process_modifiers(
4401: p_api_version_number => 1.0,
4402: p_init_msg_list => FND_API.G_FALSE,
4403: p_return_values => FND_API.G_FALSE,
4404: x_return_status => x_return_status,
4405: x_msg_count => x_msg_count,
4406: x_msg_data => x_msg_data,
4407: p_modifiers_tbl => l_modifier_line_tbl,
4414: x_qualifiers_val_tbl => v_qualifiers_val_tbl,
4415: x_pricing_attr_tbl => v_pricing_attr_tbl,
4416: x_pricing_attr_val_tbl => v_pricing_attr_val_tbl
4417: );
4418: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4419: RAISE FND_API.G_EXC_ERROR;
4420: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4421: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4422: END IF;
4415: x_pricing_attr_tbl => v_pricing_attr_tbl,
4416: x_pricing_attr_val_tbl => v_pricing_attr_val_tbl
4417: );
4418: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4419: RAISE FND_API.G_EXC_ERROR;
4420: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4421: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4422: END IF;
4423: x_modifier_line_tbl := v_modifiers_tbl;
4416: x_pricing_attr_val_tbl => v_pricing_attr_val_tbl
4417: );
4418: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4419: RAISE FND_API.G_EXC_ERROR;
4420: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4421: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4422: END IF;
4423: x_modifier_line_tbl := v_modifiers_tbl;
4424: EXCEPTION
4417: );
4418: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4419: RAISE FND_API.G_EXC_ERROR;
4420: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4421: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4422: END IF;
4423: x_modifier_line_tbl := v_modifiers_tbl;
4424: EXCEPTION
4425: WHEN OTHERS THEN
4423: x_modifier_line_tbl := v_modifiers_tbl;
4424: EXCEPTION
4425: WHEN OTHERS THEN
4426: FND_MSG_PUB.count_and_get(
4427: p_encoded => FND_API.g_false
4428: , p_count => x_msg_count
4429: , p_data => x_msg_data
4430: );
4431: x_return_status := FND_API.G_RET_STS_ERROR;
4427: p_encoded => FND_API.g_false
4428: , p_count => x_msg_count
4429: , p_data => x_msg_data
4430: );
4431: x_return_status := FND_API.G_RET_STS_ERROR;
4432: END createNewMtProduct;
4433:
4434: /**
4435: Processes a Multi-tier offer_adjustment_line
4446: BEGIN
4447: -- initialize
4448: -- create a product qp data
4449: -- back create ozf_offer_adjustment_lines
4450: x_return_status := FND_API.G_RET_STS_SUCCESS;
4451: l_modifier_line_tbl.delete;
4452:
4453: createNewMtProduct
4454: (
4457: ,x_msg_data => x_msg_data
4458: ,p_offerAdjNewLineId => p_offerAdjNewLineId
4459: , x_modifier_line_tbl => l_modifier_line_tbl
4460: );
4461: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4462: RAISE FND_API.G_EXC_ERROR;
4463: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4464: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4465: END IF;
4458: ,p_offerAdjNewLineId => p_offerAdjNewLineId
4459: , x_modifier_line_tbl => l_modifier_line_tbl
4460: );
4461: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4462: RAISE FND_API.G_EXC_ERROR;
4463: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4464: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4465: END IF;
4466: createAdjLines
4459: , x_modifier_line_tbl => l_modifier_line_tbl
4460: );
4461: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4462: RAISE FND_API.G_EXC_ERROR;
4463: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4464: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4465: END IF;
4466: createAdjLines
4467: (
4460: );
4461: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4462: RAISE FND_API.G_EXC_ERROR;
4463: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4464: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4465: END IF;
4466: createAdjLines
4467: (
4468: x_return_status => x_return_status
4470: ,x_msg_data => x_msg_data
4471: ,p_modifiers_tbl => l_modifier_line_tbl
4472: ,p_offerAdjustmentId => getAdjustmentId( p_offerAdjNewLineId => p_offerAdjNewLineId)
4473: );
4474: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4475: RAISE FND_API.G_EXC_ERROR;
4476: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4477: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4478: END IF;
4471: ,p_modifiers_tbl => l_modifier_line_tbl
4472: ,p_offerAdjustmentId => getAdjustmentId( p_offerAdjNewLineId => p_offerAdjNewLineId)
4473: );
4474: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4475: RAISE FND_API.G_EXC_ERROR;
4476: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4477: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4478: END IF;
4479: END processNewMtProduct;
4472: ,p_offerAdjustmentId => getAdjustmentId( p_offerAdjNewLineId => p_offerAdjNewLineId)
4473: );
4474: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4475: RAISE FND_API.G_EXC_ERROR;
4476: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4477: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4478: END IF;
4479: END processNewMtProduct;
4480:
4473: );
4474: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4475: RAISE FND_API.G_EXC_ERROR;
4476: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4477: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4478: END IF;
4479: END processNewMtProduct;
4480:
4481:
4493: WHERE tier_type = 'DIS'
4494: AND parent_adj_line_id IS NULL
4495: AND offer_adjustment_id = cp_offerAdjustmentId;
4496: BEGIN
4497: x_return_status := FND_API.G_RET_STS_SUCCESS;
4498: FOR l_adjustmentProducts IN c_adjustmentProducts(cp_offerAdjustmentId => p_offerAdjustmentId) LOOP
4499: processNewStProduct
4500: (
4501: x_return_status => x_return_status
4502: ,x_msg_count => x_msg_count
4503: ,x_msg_data => x_msg_data
4504: ,p_offerAdjNewLineId => l_adjustmentProducts.offer_adj_new_line_id
4505: );
4506: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4507: RAISE FND_API.G_EXC_ERROR;
4508: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4509: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4510: END IF;
4503: ,x_msg_data => x_msg_data
4504: ,p_offerAdjNewLineId => l_adjustmentProducts.offer_adj_new_line_id
4505: );
4506: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4507: RAISE FND_API.G_EXC_ERROR;
4508: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4509: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4510: END IF;
4511: END LOOP;
4504: ,p_offerAdjNewLineId => l_adjustmentProducts.offer_adj_new_line_id
4505: );
4506: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4507: RAISE FND_API.G_EXC_ERROR;
4508: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4509: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4510: END IF;
4511: END LOOP;
4512: END processStRegProducts;
4505: );
4506: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4507: RAISE FND_API.G_EXC_ERROR;
4508: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4509: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4510: END IF;
4511: END LOOP;
4512: END processStRegProducts;
4513:
4527: AND parent_adj_line_id IS NULL
4528: AND tier_type = 'PBH';
4529:
4530: BEGIN
4531: x_return_status := FND_API.G_RET_STS_SUCCESS;
4532: FOR l_adjustmentProducts IN c_adjustmentProducts(cp_offerAdjustmentId => p_offerAdjustmentId) LOOP
4533: processNewMtProduct
4534: (
4535: x_return_status => x_return_status
4536: ,x_msg_count => x_msg_count
4537: ,x_msg_data => x_msg_data
4538: ,p_offerAdjNewLineId => l_adjustmentProducts.offer_adj_new_line_id
4539: );
4540: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4541: RAISE FND_API.G_EXC_ERROR;
4542: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4543: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4544: END IF;
4537: ,x_msg_data => x_msg_data
4538: ,p_offerAdjNewLineId => l_adjustmentProducts.offer_adj_new_line_id
4539: );
4540: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4541: RAISE FND_API.G_EXC_ERROR;
4542: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4543: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4544: END IF;
4545: END LOOP;
4538: ,p_offerAdjNewLineId => l_adjustmentProducts.offer_adj_new_line_id
4539: );
4540: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4541: RAISE FND_API.G_EXC_ERROR;
4542: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4543: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4544: END IF;
4545: END LOOP;
4546: END processMtRegProducts;
4539: );
4540: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4541: RAISE FND_API.G_EXC_ERROR;
4542: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4543: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4544: END IF;
4545: END LOOP;
4546: END processMtRegProducts;
4547:
4556: BEGIN
4557: -- initialize
4558: -- process single tier lines
4559: -- process multi-tier lines
4560: x_return_status := FND_API.G_RET_STS_SUCCESS;
4561: processStRegProducts
4562: (
4563: x_return_status => x_return_status
4564: ,x_msg_count => x_msg_count
4564: ,x_msg_count => x_msg_count
4565: ,x_msg_data => x_msg_data
4566: ,p_offerAdjustmentId => p_offerAdjustmentId
4567: );
4568: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4569: RAISE FND_API.G_EXC_ERROR;
4570: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4571: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4572: END IF;
4565: ,x_msg_data => x_msg_data
4566: ,p_offerAdjustmentId => p_offerAdjustmentId
4567: );
4568: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4569: RAISE FND_API.G_EXC_ERROR;
4570: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4571: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4572: END IF;
4573: processMtRegProducts
4566: ,p_offerAdjustmentId => p_offerAdjustmentId
4567: );
4568: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4569: RAISE FND_API.G_EXC_ERROR;
4570: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4571: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4572: END IF;
4573: processMtRegProducts
4574: (
4567: );
4568: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4569: RAISE FND_API.G_EXC_ERROR;
4570: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4571: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4572: END IF;
4573: processMtRegProducts
4574: (
4575: x_return_status => x_return_status
4576: ,x_msg_count => x_msg_count
4577: ,x_msg_data => x_msg_data
4578: ,p_offerAdjustmentId => p_offerAdjustmentId
4579: );
4580: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4581: RAISE FND_API.G_EXC_ERROR;
4582: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4583: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4584: END IF;
4577: ,x_msg_data => x_msg_data
4578: ,p_offerAdjustmentId => p_offerAdjustmentId
4579: );
4580: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4581: RAISE FND_API.G_EXC_ERROR;
4582: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4583: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4584: END IF;
4585: END processNewRegProducts;
4578: ,p_offerAdjustmentId => p_offerAdjustmentId
4579: );
4580: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4581: RAISE FND_API.G_EXC_ERROR;
4582: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4583: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4584: END IF;
4585: END processNewRegProducts;
4586:
4579: );
4580: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4581: RAISE FND_API.G_EXC_ERROR;
4582: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4583: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4584: END IF;
4585: END processNewRegProducts;
4586:
4587: PROCEDURE process_new_products
4599: WHERE a.qp_list_header_id = b.list_header_id
4600: AND b.offer_adjustment_id = cp_offerAdjustmentId;
4601: l_offerType c_offerType%ROWTYPE;
4602: BEGIN
4603: x_return_status := FND_API.G_RET_STS_SUCCESS;
4604: OPEN c_offerType(cp_offerAdjustmentId => p_offerAdjustmentId);
4605: FETCH c_offerType INTO l_offerType;
4606: CLOSE c_offerType;
4607: IF l_offerType.offer_type = 'DEAL' THEN
4613: ,x_msg_count => x_msg_count
4614: ,x_msg_data => x_msg_data
4615: ,p_offerAdjustmentId => p_offerAdjustmentId
4616: );
4617: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4618: RAISE FND_API.G_EXC_ERROR;
4619: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4620: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4621: END IF;
4614: ,x_msg_data => x_msg_data
4615: ,p_offerAdjustmentId => p_offerAdjustmentId
4616: );
4617: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4618: RAISE FND_API.G_EXC_ERROR;
4619: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4620: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4621: END IF;
4622: ELSIF l_offerType.offer_type = 'OID' THEN
4615: ,p_offerAdjustmentId => p_offerAdjustmentId
4616: );
4617: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4618: RAISE FND_API.G_EXC_ERROR;
4619: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4620: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4621: END IF;
4622: ELSIF l_offerType.offer_type = 'OID' THEN
4623: processNewPgProducts
4616: );
4617: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4618: RAISE FND_API.G_EXC_ERROR;
4619: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4620: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4621: END IF;
4622: ELSIF l_offerType.offer_type = 'OID' THEN
4623: processNewPgProducts
4624: (
4626: , x_msg_count => x_msg_count
4627: , x_msg_data => x_msg_data
4628: , p_offerAdjustmentId => p_offerAdjustmentId
4629: );
4630: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4631: RAISE FND_API.G_EXC_ERROR;
4632: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4633: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4634: END IF;
4627: , x_msg_data => x_msg_data
4628: , p_offerAdjustmentId => p_offerAdjustmentId
4629: );
4630: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4631: RAISE FND_API.G_EXC_ERROR;
4632: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4633: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4634: END IF;
4635: ELSIF l_offerType.offer_type IN ( 'ORDER','ACCRUAL','OFF_INVOICE') THEN
4628: , p_offerAdjustmentId => p_offerAdjustmentId
4629: );
4630: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4631: RAISE FND_API.G_EXC_ERROR;
4632: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4633: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4634: END IF;
4635: ELSIF l_offerType.offer_type IN ( 'ORDER','ACCRUAL','OFF_INVOICE') THEN
4636: processNewRegProducts
4629: );
4630: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4631: RAISE FND_API.G_EXC_ERROR;
4632: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4633: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4634: END IF;
4635: ELSIF l_offerType.offer_type IN ( 'ORDER','ACCRUAL','OFF_INVOICE') THEN
4636: processNewRegProducts
4637: (
4639: , x_msg_count => x_msg_count
4640: , x_msg_data => x_msg_data
4641: , p_offerAdjustmentId => p_offerAdjustmentId
4642: );
4643: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4644: RAISE FND_API.G_EXC_ERROR;
4645: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4646: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4647: END IF;
4640: , x_msg_data => x_msg_data
4641: , p_offerAdjustmentId => p_offerAdjustmentId
4642: );
4643: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4644: RAISE FND_API.G_EXC_ERROR;
4645: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4646: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4647: END IF;
4648: END IF;
4641: , p_offerAdjustmentId => p_offerAdjustmentId
4642: );
4643: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4644: RAISE FND_API.G_EXC_ERROR;
4645: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4646: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4647: END IF;
4648: END IF;
4649: END process_new_products;
4642: );
4643: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4644: RAISE FND_API.G_EXC_ERROR;
4645: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4646: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4647: END IF;
4648: END IF;
4649: END process_new_products;
4650:
4670: l_errorLocation NUMBER;
4671: l_modifier_rec ozf_offer_pvt.Modifier_LIST_Rec_Type;
4672: l_modifier_line_tbl ozf_offer_pvt.MODIFIER_LINE_TBL_TYPE;
4673: BEGIN
4674: x_return_status := FND_API.G_RET_STS_SUCCESS;
4675: FOR l_dates in c_dates(p_offerAdjustmentId) LOOP
4676:
4677: IF l_dates.start_date_active IS NOT NULL AND l_dates.start_date_active <> FND_API.G_MISS_DATE THEN
4678: -- if effective date is before start_date of the offer update the start_date of the offer
4673: BEGIN
4674: x_return_status := FND_API.G_RET_STS_SUCCESS;
4675: FOR l_dates in c_dates(p_offerAdjustmentId) LOOP
4676:
4677: IF l_dates.start_date_active IS NOT NULL AND l_dates.start_date_active <> FND_API.G_MISS_DATE THEN
4678: -- if effective date is before start_date of the offer update the start_date of the offer
4679: IF l_dates.effective_date < l_dates.start_date_active THEN
4680: l_modifier_rec.start_date_active := l_dates.effective_date;
4681: END IF;
4686: l_modifier_rec.object_version_number := l_dates.object_version_number;
4687: l_offerType := l_dates.offer_type;
4688: OZF_OFFER_PVT.process_modifiers
4689: (
4690: p_init_msg_list => FND_API.g_false
4691: ,p_api_version => 1.0
4692: ,p_commit => FND_API.g_false
4693: ,x_return_status => x_return_status
4694: ,x_msg_count => x_msg_count
4688: OZF_OFFER_PVT.process_modifiers
4689: (
4690: p_init_msg_list => FND_API.g_false
4691: ,p_api_version => 1.0
4692: ,p_commit => FND_API.g_false
4693: ,x_return_status => x_return_status
4694: ,x_msg_count => x_msg_count
4695: ,x_msg_data => x_msg_data
4696: ,p_offer_type => l_offerType
4698: ,p_modifier_line_tbl => l_modifier_line_tbl
4699: ,x_qp_list_header_id => l_qpListHeaderId
4700: ,x_error_location => l_errorLocation
4701: );
4702: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4703: RAISE FND_API.G_EXC_ERROR;
4704: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4705: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4706: END IF;
4699: ,x_qp_list_header_id => l_qpListHeaderId
4700: ,x_error_location => l_errorLocation
4701: );
4702: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4703: RAISE FND_API.G_EXC_ERROR;
4704: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4705: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4706: END IF;
4707:
4700: ,x_error_location => l_errorLocation
4701: );
4702: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4703: RAISE FND_API.G_EXC_ERROR;
4704: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4705: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4706: END IF;
4707:
4708: IF l_dates.custom_setup_id = 118 THEN
4701: );
4702: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4703: RAISE FND_API.G_EXC_ERROR;
4704: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4705: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4706: END IF;
4707:
4708: IF l_dates.custom_setup_id = 118 THEN
4709: ozf_utility_pvt.debug_message('l_dates.list_header_id'|| l_dates.list_header_id);
4706: END IF;
4707:
4708: IF l_dates.custom_setup_id = 118 THEN
4709: ozf_utility_pvt.debug_message('l_dates.list_header_id'|| l_dates.list_header_id);
4710: IF l_dates.start_date_active IS NOT NULL AND l_dates.start_date_active <> FND_API.G_MISS_DATE THEN
4711: -- if effective date is before start_date of the offer update the start_date of the offer
4712: IF l_dates.effective_date < l_dates.start_date_active THEN
4713: UPDATE ozf_sd_request_headers_all_b
4714: SET request_start_date = l_dates.effective_date,
4728: Maps the old list_line_id to the new list_line_id
4729: */
4730: PROCEDURE process_adjustment
4731: (
4732: p_init_msg_list IN VARCHAR2 := FND_API.g_false
4733: ,p_api_version IN NUMBER
4734: ,p_commit IN VARCHAR2 := FND_API.g_false
4735: ,x_return_status OUT NOCOPY VARCHAR2
4736: ,x_msg_count OUT NOCOPY NUMBER
4730: PROCEDURE process_adjustment
4731: (
4732: p_init_msg_list IN VARCHAR2 := FND_API.g_false
4733: ,p_api_version IN NUMBER
4734: ,p_commit IN VARCHAR2 := FND_API.g_false
4735: ,x_return_status OUT NOCOPY VARCHAR2
4736: ,x_msg_count OUT NOCOPY NUMBER
4737: ,x_msg_data OUT NOCOPY VARCHAR2
4738: ,p_offerAdjustmentId IN NUMBER
4742: -- initialize
4743: -- update header date
4744: -- process old discounts
4745: -- process new products
4746: x_return_status := FND_API.G_RET_STS_SUCCESS;
4747: updateHeaderDate
4748: (
4749: x_return_status => x_return_status
4750: ,x_msg_count => x_msg_count
4751: ,x_msg_data => x_msg_data
4752: ,p_offerAdjustmentId => p_offerAdjustmentId
4753: );
4754: ozf_utility_pvt.debug_message('GR Updated header date:'||x_return_status);
4755: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4756: RAISE FND_API.G_EXC_ERROR;
4757: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4758: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4759: END IF;
4752: ,p_offerAdjustmentId => p_offerAdjustmentId
4753: );
4754: ozf_utility_pvt.debug_message('GR Updated header date:'||x_return_status);
4755: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4756: RAISE FND_API.G_EXC_ERROR;
4757: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4758: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4759: END IF;
4760: process_old_discounts
4753: );
4754: ozf_utility_pvt.debug_message('GR Updated header date:'||x_return_status);
4755: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4756: RAISE FND_API.G_EXC_ERROR;
4757: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4758: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4759: END IF;
4760: process_old_discounts
4761: (
4754: ozf_utility_pvt.debug_message('GR Updated header date:'||x_return_status);
4755: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4756: RAISE FND_API.G_EXC_ERROR;
4757: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4758: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4759: END IF;
4760: process_old_discounts
4761: (
4762: x_return_status => x_return_status
4764: ,x_msg_data => x_msg_data
4765: ,p_offerAdjustmentId => p_offerAdjustmentId
4766: );
4767: ozf_utility_pvt.debug_message('after process old discounts :'||x_return_status);
4768: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4769: RAISE FND_API.G_EXC_ERROR;
4770: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4771: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4772: END IF;
4765: ,p_offerAdjustmentId => p_offerAdjustmentId
4766: );
4767: ozf_utility_pvt.debug_message('after process old discounts :'||x_return_status);
4768: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4769: RAISE FND_API.G_EXC_ERROR;
4770: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4771: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4772: END IF;
4773: process_new_products
4766: );
4767: ozf_utility_pvt.debug_message('after process old discounts :'||x_return_status);
4768: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4769: RAISE FND_API.G_EXC_ERROR;
4770: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4771: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4772: END IF;
4773: process_new_products
4774: (
4767: ozf_utility_pvt.debug_message('after process old discounts :'||x_return_status);
4768: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4769: RAISE FND_API.G_EXC_ERROR;
4770: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4771: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4772: END IF;
4773: process_new_products
4774: (
4775: x_return_status => x_return_status
4777: ,x_msg_data => x_msg_data
4778: ,p_offerAdjustmentId => p_offerAdjustmentId
4779: );
4780: ozf_utility_pvt.debug_message('process new products :'||x_return_status);
4781: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4782: RAISE FND_API.G_EXC_ERROR;
4783: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4784: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4785: END IF;
4778: ,p_offerAdjustmentId => p_offerAdjustmentId
4779: );
4780: ozf_utility_pvt.debug_message('process new products :'||x_return_status);
4781: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4782: RAISE FND_API.G_EXC_ERROR;
4783: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4784: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4785: END IF;
4786: END process_adjustment;
4779: );
4780: ozf_utility_pvt.debug_message('process new products :'||x_return_status);
4781: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4782: RAISE FND_API.G_EXC_ERROR;
4783: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4784: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4785: END IF;
4786: END process_adjustment;
4787:
4780: ozf_utility_pvt.debug_message('process new products :'||x_return_status);
4781: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4782: RAISE FND_API.G_EXC_ERROR;
4783: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4784: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4785: END IF;
4786: END process_adjustment;
4787:
4788: