42: where list_header_id=p_header_id;
43:
44:
45:
46: l_qual_exists VARCHAR2(1) := FND_API.G_MISS_CHAR;
47:
48: BEGIN
49: OPEN l_qual_exists_cur(p_list_header_id);
50: FETCH l_qual_exists_cur INTO l_qual_exists;
59: OPEN l_list_hdr_dtls_cur(p_list_header_id);
60: FETCH l_list_hdr_dtls_cur INTO x_active_flag, x_list_type_code;
61: CLOSE l_list_hdr_dtls_cur;
62:
63: x_return_status := FND_API.G_RET_STS_SUCCESS;
64: x_return_text := 'QP_COUPON_PVT.GET_DENORMALIZED_COLS SUCCESS';
65:
66:
67: EXCEPTION
65:
66:
67: EXCEPTION
68: When OTHERS THEN
69: x_return_status := FND_API.G_RET_STS_ERROR;
70: x_return_text := 'QP_COUPON_PVT.GET_DENORMALIZED_COLS: '||SQLERRM;
71:
72:
73: END Get_denormalized_qual_cols;
89: where q.list_header_id=p_header_id
90: and q.list_line_id=p_line_id;
91:
92:
93: l_qual_ind NUMBER := FND_API.G_MISS_NUM;
94: l_line_qual_exists VARCHAR2(1) := QP_PREQ_GRP.G_NO;
95: BEGIN
96:
97:
116: update qp_pricing_attributes pra
117: set pra.qualification_ind = l_qual_ind
118: where pra.list_line_id = p_list_line_id;
119: END IF;
120: x_return_status := FND_API.G_RET_STS_SUCCESS;
121:
122: EXCEPTION
123: WHEN OTHERS THEN
124: x_return_status := FND_API.G_RET_STS_ERROR;
120: x_return_status := FND_API.G_RET_STS_SUCCESS;
121:
122: EXCEPTION
123: WHEN OTHERS THEN
124: x_return_status := FND_API.G_RET_STS_ERROR;
125: x_return_text := 'QP_COUPON_PVT.update_qual_ind : '||SQLERRM;
126:
127: END update_qual_ind;
128:
152:
153: BEGIN
154:
155: l_debug :=QP_PREQ_GRP.G_DEBUG_ENGINE;
156: x_return_status := FND_API.G_RET_STS_SUCCESS;
157:
158: IF l_debug = FND_API.G_TRUE THEN
159: QP_PREQ_GRP.engine_debug ('Entering QP_COUPON_PVT.Insertr_Coupon ...');
160: QP_PREQ_GRP.engine_debug ('p_issued_by_modifier_id: '||p_issued_by_modifier_id);
154:
155: l_debug :=QP_PREQ_GRP.G_DEBUG_ENGINE;
156: x_return_status := FND_API.G_RET_STS_SUCCESS;
157:
158: IF l_debug = FND_API.G_TRUE THEN
159: QP_PREQ_GRP.engine_debug ('Entering QP_COUPON_PVT.Insertr_Coupon ...');
160: QP_PREQ_GRP.engine_debug ('p_issued_by_modifier_id: '||p_issued_by_modifier_id);
161: END IF; -- END IF l_debug
162:
173: FND_MESSAGE.SET_NAME('QP', 'QP_EXPIRATION_DATE_NOT_SET');
174:
175: x_return_status_txt := FND_MESSAGE.GET;
176:
177: RAISE FND_API.G_EXC_ERROR;
178:
179: END IF;
180: */
181:
189: , l_return_status
190: , x_return_status_txt
191: );
192:
193: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
194: RAISE FND_API.G_EXC_ERROR;
195: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
196: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
197: END IF;
190: , x_return_status_txt
191: );
192:
193: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
194: RAISE FND_API.G_EXC_ERROR;
195: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
196: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
197: END IF;
198:
191: );
192:
193: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
194: RAISE FND_API.G_EXC_ERROR;
195: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
196: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
197: END IF;
198:
199: SELECT QP_GENERATED_COUPON_NO_S.nextval,
192:
193: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
194: RAISE FND_API.G_EXC_ERROR;
195: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
196: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
197: END IF;
198:
199: SELECT QP_GENERATED_COUPON_NO_S.nextval,
200: QP_COUPONS_S.nextval
201: INTO l_generated_coupon_number,
202: x_coupon_id
203: FROM dual;
204:
205: IF l_debug = FND_API.G_TRUE THEN
206: QP_PREQ_GRP.engine_debug ('coupon_id going to QP_COUPONS table (QP_COUPONS_S.nextval): '||x_coupon_id);
207: QP_PREQ_GRP.engine_debug ('l_generated_coupon_number(QP_GENERATED_COUPON_NO_S.nextval): '||l_generated_coupon_number);
208: QP_PREQ_GRP.engine_debug ('p_user_def_coupon_number: '||p_user_def_coupon_number);
209: END IF; -- END IF l_debug
209: END IF; -- END IF l_debug
210:
211: x_coupon_number := p_user_def_coupon_number||l_generated_coupon_number;
212:
213: IF l_debug = FND_API.G_TRUE THEN
214: QP_PREQ_GRP.engine_debug ('coupon_number going to QP_COUPONS table: '||x_coupon_number);
215: END IF; -- END IF l_debug
216:
217: INSERT INTO QP_COUPONS(
247: );
248:
249: EXCEPTION
250:
251: WHEN FND_API.G_EXC_ERROR THEN
252:
253: x_return_status := FND_API.G_RET_STS_ERROR;
254:
255: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
249: EXCEPTION
250:
251: WHEN FND_API.G_EXC_ERROR THEN
252:
253: x_return_status := FND_API.G_RET_STS_ERROR;
254:
255: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
256:
257: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
251: WHEN FND_API.G_EXC_ERROR THEN
252:
253: x_return_status := FND_API.G_RET_STS_ERROR;
254:
255: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
256:
257: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
258:
259: WHEN OTHERS THEN
253: x_return_status := FND_API.G_RET_STS_ERROR;
254:
255: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
256:
257: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
258:
259: WHEN OTHERS THEN
260:
261: x_return_status_txt := 'QP_COUPON_PVT.Insert_Coupon: '||SQLERRM;
259: WHEN OTHERS THEN
260:
261: x_return_status_txt := 'QP_COUPON_PVT.Insert_Coupon: '||SQLERRM;
262:
263: x_return_status := FND_API.G_RET_STS_ERROR;
264:
265: END Insert_Coupon;
266:
267: -- Procedure Create_Coupon_Qualifier creates a record in QP_QUALIFIERS table to say that
274: ) IS
275: l_list_header_id NUMBER;
276: l_list_line_id NUMBER;
277: l_qualification_ind NUMBER;
278: l_qual_attr_value_from_number NUMBER := FND_API.G_MISS_NUM;
279: l_qual_attr_value_to_number NUMBER := FND_API.G_MISS_NUM;
280: l_list_type_code QP_LIST_HEADERS_B.LIST_TYPE_CODE%TYPE;
281: l_active_flag VARCHAR2(1);
282: l_header_qual_exists_flag VARCHAR2(1);
275: l_list_header_id NUMBER;
276: l_list_line_id NUMBER;
277: l_qualification_ind NUMBER;
278: l_qual_attr_value_from_number NUMBER := FND_API.G_MISS_NUM;
279: l_qual_attr_value_to_number NUMBER := FND_API.G_MISS_NUM;
280: l_list_type_code QP_LIST_HEADERS_B.LIST_TYPE_CODE%TYPE;
281: l_active_flag VARCHAR2(1);
282: l_header_qual_exists_flag VARCHAR2(1);
283: l_return_status VARCHAR2(1);
286: COUP_DENORMALIZED_COL_EXP EXCEPTION;
287: BEGIN
288:
289: l_debug :=QP_PREQ_GRP.G_DEBUG_ENGINE;
290: x_return_status := FND_API.G_RET_STS_SUCCESS;
291:
292: IF l_debug = FND_API.G_TRUE THEN
293: QP_PREQ_GRP.engine_debug ('Entering QP_COUPON_PVT.Create_Coupon_Qualifier ...');
294: QP_PREQ_GRP.engine_debug ('p_list_line_id: '||p_list_line_id);
288:
289: l_debug :=QP_PREQ_GRP.G_DEBUG_ENGINE;
290: x_return_status := FND_API.G_RET_STS_SUCCESS;
291:
292: IF l_debug = FND_API.G_TRUE THEN
293: QP_PREQ_GRP.engine_debug ('Entering QP_COUPON_PVT.Create_Coupon_Qualifier ...');
294: QP_PREQ_GRP.engine_debug ('p_list_line_id: '||p_list_line_id);
295: QP_PREQ_GRP.engine_debug ('p_coupon_id: '||p_coupon_id);
296: END IF; -- END IF l_debug
315: WHEN NO_DATA_FOUND THEN
316: RAISE QP_COUPON_MODIFIER_NOT_FOUND;
317: END;
318:
319: IF l_debug = FND_API.G_TRUE THEN
320: QP_PREQ_GRP.engine_debug ('before calling Get_denormalized_qual_cols ...');
321: END IF; -- END IF l_debug
322:
323: Get_denormalized_qual_cols(l_list_header_id,
327: l_header_qual_exists_flag,
328: l_return_status,
329: l_return_text);
330:
331: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
332: RAISE COUP_DENORMALIZED_COL_EXP;
333: END IF;
334:
335: l_qual_attr_value_from_number :=
407: l_list_line_id,
408: l_return_status,
409: l_return_text);
410:
411: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
412: RAISE COUP_DENORMALIZED_COL_EXP;
413: END IF;
414:
415: /* In the rare case that there was no qualifier for the coupon benefit line,
433:
434: WHEN COUP_DENORMALIZED_COL_EXP THEN
435: x_return_status_txt := 'QP_COUPON_PVT.Create_Coupon_Qualifier: '||l_return_text;
436:
437: x_return_status := FND_API.G_RET_STS_ERROR;
438:
439: WHEN QP_COUPON_MODIFIER_NOT_FOUND THEN
440:
441: fnd_message.set_name('QP', 'QP_COUPON_MODIFIER_NOT_FOUND');
442: fnd_message.set_token('ID_COLUMN', 'LIST_LINE_ID');
443: fnd_message.set_token('LIST_LINE_ID', p_list_line_id);
444: x_return_status_txt := fnd_message.get;
445:
446: x_return_status := FND_API.G_RET_STS_ERROR;
447:
448: WHEN OTHERS THEN
449:
450: x_return_status_txt := 'QP_COUPON_PVT.Create_Coupon_Qualifier: '||SQLERRM;
448: WHEN OTHERS THEN
449:
450: x_return_status_txt := 'QP_COUPON_PVT.Create_Coupon_Qualifier: '||SQLERRM;
451:
452: x_return_status := FND_API.G_RET_STS_ERROR;
453:
454: END Create_Coupon_Qualifier;
455:
456: PROCEDURE Mark_Coupon_Redeemed(
461: )
462: IS
463: BEGIN
464:
465: x_return_status := FND_API.G_RET_STS_SUCCESS;
466:
467: --dbms_output.put_line('passed in coupon number '||p_coupon_number);
468:
469: /*
506:
507: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_COUPON_NUMBER');
508: FND_MESSAGE.SET_TOKEN('COUPON_NUMBER', p_coupon_number);
509: x_return_status_txt := FND_MESSAGE.get;
510: x_return_status := FND_API.G_RET_STS_ERROR;
511:
512: WHEN QP_COUPON_QUALIFIER_NOT_FOUND THEN
513:
514: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_COUPON_QUALIFIER');
513:
514: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_COUPON_QUALIFIER');
515: FND_MESSAGE.SET_TOKEN('COUPON_NUMBER', p_coupon_number);
516: x_return_status_txt := FND_MESSAGE.get;
517: x_return_status := FND_API.G_RET_STS_ERROR;
518:
519: WHEN OTHERS THEN
520:
521: x_return_status_txt := 'QP_COUPON_PVT.Mark_Coupon_Redeemed: '||SQLERRM;
519: WHEN OTHERS THEN
520:
521: x_return_status_txt := 'QP_COUPON_PVT.Mark_Coupon_Redeemed: '||SQLERRM;
522:
523: x_return_status := FND_API.G_RET_STS_ERROR;
524:
525: END Mark_Coupon_Redeemed;
526:
527: -- This is going to be obsolete, should use the overloaded version
532: , x_return_status_txt OUT NOCOPY VARCHAR2
533: ) IS
534: BEGIN
535:
536: x_return_status := FND_API.G_RET_STS_SUCCESS;
537:
538: --dbms_output.put_line('unredeem coupon id: '||p_coupon_ID);
539:
540: /*
562:
563: WHEN OTHERS THEN
564:
565: x_return_status_txt := 'QP_COUPON_PVT.Mark_Coupon_Unredeemed: '||SQLERRM;
566: x_return_status := FND_API.G_RET_STS_ERROR;
567:
568: End Mark_Coupon_Unredeemed;
569:
570: PROCEDURE Mark_Coupon_Unredeemed(
574: )
575: IS
576: BEGIN
577:
578: x_return_status := FND_API.G_RET_STS_SUCCESS;
579:
580: /*
581: INDX,QP_COUPON_PVT.Mark_Coupon_Unredeemed.Mark_Coupon_Unredeemed_upd1,-No Index Used-,NA,NA
582: */
617:
618: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_COUPON_NUMBER');
619: FND_MESSAGE.SET_TOKEN('COUPON_NUMBER', p_coupon_number);
620: x_return_status_txt := FND_MESSAGE.get;
621: x_return_status := FND_API.G_RET_STS_ERROR;
622:
623: WHEN QP_COUPON_QUALIFIER_NOT_FOUND THEN
624:
625: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_COUPON_QUALIFIER');
624:
625: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_COUPON_QUALIFIER');
626: FND_MESSAGE.SET_TOKEN('COUPON_NUMBER', p_coupon_number);
627: x_return_status_txt := FND_MESSAGE.get;
628: x_return_status := FND_API.G_RET_STS_ERROR;
629:
630: WHEN OTHERS THEN
631:
632: x_return_status_txt := 'QP_COUPON_PVT.Mark_Coupon_Unredeemed: '||SQLERRM;
629:
630: WHEN OTHERS THEN
631:
632: x_return_status_txt := 'QP_COUPON_PVT.Mark_Coupon_Unredeemed: '||SQLERRM;
633: x_return_status := FND_API.G_RET_STS_ERROR;
634:
635: END Mark_Coupon_Unredeemed;
636:
637: -- Procedure Purge_Coupon purges all redeemed and expired coupons
641: )
642: IS
643: BEGIN
644:
645: x_return_status := FND_API.G_RET_STS_SUCCESS;
646:
647: /*
648: INDX,QP_COUPON_PVT.Purge_Coupon.Purge_Coupon_del1,-No Index Used-,NA,NA
649: */
656: WHEN OTHERS THEN
657:
658: x_return_status_txt := 'QP_COUPON_PVT.Purge_Coupon: '||SQLERRM;
659:
660: x_return_status := FND_API.G_RET_STS_ERROR;
661:
662: END Purge_Coupon;
663:
664: -- Procedure Delete_Coupon deletes the coupon
669: )
670: IS
671: BEGIN
672:
673: x_return_status := FND_API.G_RET_STS_SUCCESS;
674:
675: -- Delete Qualifier for the coupon
676: /*
677: INDX,QP_COUPON_PVT.Delete_Coupon.Delete_Coupon_del1,QP_QUALIFIERS_N4,QUALIFIER_CONTEXT,1
710:
711: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_COUPON_NUMBER');
712: FND_MESSAGE.SET_TOKEN('COUPON_NUMBER', p_coupon_number);
713: x_return_status_txt := FND_MESSAGE.get;
714: x_return_status := FND_API.G_RET_STS_ERROR;
715:
716: WHEN QP_COUPON_QUALIFIER_NOT_FOUND THEN
717:
718: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_COUPON_QUALIFIER');
717:
718: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_COUPON_QUALIFIER');
719: FND_MESSAGE.SET_TOKEN('COUPON_NUMBER', p_coupon_number);
720: x_return_status_txt := FND_MESSAGE.get;
721: x_return_status := FND_API.G_RET_STS_ERROR;
722:
723: WHEN OTHERS THEN
724:
725: x_return_status_txt := 'QP_COUPON_PVT.Delete_Coupon '||SQLERRM;
723: WHEN OTHERS THEN
724:
725: x_return_status_txt := 'QP_COUPON_PVT.Delete_Coupon '||SQLERRM;
726:
727: x_return_status := FND_API.G_RET_STS_ERROR;
728:
729: END Delete_Coupon;
730:
731: PROCEDURE Process_Coupon_Issue(
788: l_line_detail_index PLS_INTEGER;
789: l_return_status VARCHAR2(1);
790: BEGIN
791: l_debug :=QP_PREQ_GRP.G_DEBUG_ENGINE;
792: x_return_status := FND_API.G_RET_STS_SUCCESS;
793:
794: IF l_debug = FND_API.G_TRUE THEN
795: QP_PREQ_GRP.engine_debug ('Entering QP_COUPON_PVT.Process_Coupon_Issue...');
796: QP_PREQ_GRP.engine_debug ('p_line_quantity: '||p_line_quantity);
790: BEGIN
791: l_debug :=QP_PREQ_GRP.G_DEBUG_ENGINE;
792: x_return_status := FND_API.G_RET_STS_SUCCESS;
793:
794: IF l_debug = FND_API.G_TRUE THEN
795: QP_PREQ_GRP.engine_debug ('Entering QP_COUPON_PVT.Process_Coupon_Issue...');
796: QP_PREQ_GRP.engine_debug ('p_line_quantity: '||p_line_quantity);
797: END IF; -- END IF l_debug
798:
800: LOOP
801:
802: IF (i.price_break_type_code = QP_PREQ_GRP.G_RECURRING_BREAK) THEN
803:
804: IF l_debug = FND_API.G_TRUE THEN
805: QP_PREQ_GRP.engine_debug ('RECURRING BREAK ...');
806: QP_PREQ_GRP.engine_debug ('i.list_line_id: '||i.list_line_id);
807: END IF; -- END IF l_debug
808:
815: l_return_status,
816: x_return_status_txt
817: );
818:
819: IF l_debug = FND_API.G_TRUE THEN
820: QP_PREQ_GRP.engine_debug ('l_number_of_coupons: '||l_number_of_coupons);
821: END IF; -- END IF l_debug
822:
823: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
819: IF l_debug = FND_API.G_TRUE THEN
820: QP_PREQ_GRP.engine_debug ('l_number_of_coupons: '||l_number_of_coupons);
821: END IF; -- END IF l_debug
822:
823: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
824: RAISE FND_API.G_EXC_ERROR;
825: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
826: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
827: END IF;
820: QP_PREQ_GRP.engine_debug ('l_number_of_coupons: '||l_number_of_coupons);
821: END IF; -- END IF l_debug
822:
823: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
824: RAISE FND_API.G_EXC_ERROR;
825: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
826: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
827: END IF;
828:
821: END IF; -- END IF l_debug
822:
823: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
824: RAISE FND_API.G_EXC_ERROR;
825: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
826: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
827: END IF;
828:
829: END IF;
822:
823: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
824: RAISE FND_API.G_EXC_ERROR;
825: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
826: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
827: END IF;
828:
829: END IF;
830:
827: END IF;
828:
829: END IF;
830:
831: IF l_debug = FND_API.G_TRUE THEN
832: QP_PREQ_GRP.engine_debug ('p_simulation_flag: '||p_simulation_flag);
833: END IF; -- END IF l_debug
834:
835: FOR j IN 1..l_number_of_coupons
849: l_return_status,
850: x_return_status_txt
851: );
852:
853: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
854: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
855: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
856: RAISE FND_API.G_EXC_ERROR;
857: END IF;
850: x_return_status_txt
851: );
852:
853: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
854: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
855: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
856: RAISE FND_API.G_EXC_ERROR;
857: END IF;
858:
851: );
852:
853: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
854: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
855: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
856: RAISE FND_API.G_EXC_ERROR;
857: END IF;
858:
859: --DBMS_OUTPUT.PUT_LINE('Inserted Coupon ID: '||l_coupon_id);
852:
853: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
854: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
855: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
856: RAISE FND_API.G_EXC_ERROR;
857: END IF;
858:
859: --DBMS_OUTPUT.PUT_LINE('Inserted Coupon ID: '||l_coupon_id);
860:
864: l_return_status,
865: x_return_status_txt
866: );
867:
868: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
869: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
870: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
871: RAISE FND_API.G_EXC_ERROR;
872: END IF;
865: x_return_status_txt
866: );
867:
868: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
869: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
870: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
871: RAISE FND_API.G_EXC_ERROR;
872: END IF;
873:
866: );
867:
868: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
869: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
870: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
871: RAISE FND_API.G_EXC_ERROR;
872: END IF;
873:
874: --DBMS_OUTPUT.PUT_LINE('Created Qualifier');
867:
868: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
869: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
870: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
871: RAISE FND_API.G_EXC_ERROR;
872: END IF;
873:
874: --DBMS_OUTPUT.PUT_LINE('Created Qualifier');
875: ELSE
957: END LOOP; /* coupon issue lines */
958:
959: EXCEPTION
960:
961: WHEN FND_API.G_EXC_ERROR THEN
962:
963: x_return_status := FND_API.G_RET_STS_ERROR;
964:
965: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
959: EXCEPTION
960:
961: WHEN FND_API.G_EXC_ERROR THEN
962:
963: x_return_status := FND_API.G_RET_STS_ERROR;
964:
965: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
966:
967: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
961: WHEN FND_API.G_EXC_ERROR THEN
962:
963: x_return_status := FND_API.G_RET_STS_ERROR;
964:
965: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
966:
967: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
968:
969: WHEN OTHERS THEN
963: x_return_status := FND_API.G_RET_STS_ERROR;
964:
965: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
966:
967: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
968:
969: WHEN OTHERS THEN
970:
971: x_return_status_txt := 'QP_COUPON_PVT.Process_Coupon_Issue: '||SQLERRM;
969: WHEN OTHERS THEN
970:
971: x_return_status_txt := 'QP_COUPON_PVT.Process_Coupon_Issue: '||SQLERRM;
972:
973: x_return_status := FND_API.G_RET_STS_ERROR;
974:
975: END Process_Coupon_Issue;
976:
977: PROCEDURE Redeem_Coupons(
1039:
1040: BEGIN
1041:
1042: l_debug :=QP_PREQ_GRP.G_DEBUG_ENGINE;
1043: x_return_status := FND_API.G_RET_STS_SUCCESS;
1044:
1045: IF l_debug = FND_API.G_TRUE THEN
1046: QP_PREQ_GRP.engine_debug ('Entering QP_COUPON_PVT.Redeem_Coupons');
1047: END IF;
1041:
1042: l_debug :=QP_PREQ_GRP.G_DEBUG_ENGINE;
1043: x_return_status := FND_API.G_RET_STS_SUCCESS;
1044:
1045: IF l_debug = FND_API.G_TRUE THEN
1046: QP_PREQ_GRP.engine_debug ('Entering QP_COUPON_PVT.Redeem_Coupons');
1047: END IF;
1048:
1049: --dbms_output.put_line('inside redeem coupon');
1049: --dbms_output.put_line('inside redeem coupon');
1050: IF (p_simulation_flag = 'N') THEN
1051:
1052: l_satis_quals_opt := nvl(fnd_profile.VALUE('QP_SATIS_QUALS_OPT'), 'Y');
1053: IF l_debug = FND_API.G_TRUE THEN
1054: QP_PREQ_GRP.engine_debug('QP_SATIS_QUALS_OPT: ' || l_satis_quals_opt);
1055: END IF;
1056:
1057: -- [julin/4136528] drive off ldet attr if available (more performant),
1058: -- otherwise, use line attr and verify that coupon benefit (ldet) is applied.
1059: IF l_satis_quals_opt <> 'N' THEN
1060: FOR i IN get_coupons_ldet
1061: LOOP
1062: IF l_debug = FND_API.G_TRUE THEN
1063: QP_PREQ_GRP.engine_debug ('found coupon'||i.coupon_number);
1064: END IF;
1065:
1066: Mark_Coupon_Redeemed(i.Coupon_Number
1067: , i.pricing_effective_date
1068: , l_return_status
1069: , x_return_status_txt);
1070:
1071: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1072: RAISE FND_API.G_EXC_ERROR;
1073: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1074: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1075: END IF;
1068: , l_return_status
1069: , x_return_status_txt);
1070:
1071: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1072: RAISE FND_API.G_EXC_ERROR;
1073: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1074: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1075: END IF;
1076:
1069: , x_return_status_txt);
1070:
1071: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1072: RAISE FND_API.G_EXC_ERROR;
1073: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1074: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1075: END IF;
1076:
1077: END LOOP;
1070:
1071: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1072: RAISE FND_API.G_EXC_ERROR;
1073: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1074: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1075: END IF;
1076:
1077: END LOOP;
1078: ELSE
1077: END LOOP;
1078: ELSE
1079: FOR i IN get_coupons_line
1080: LOOP
1081: IF l_debug = FND_API.G_TRUE THEN
1082: QP_PREQ_GRP.engine_debug ('found coupon'||i.coupon_number);
1083: END IF;
1084:
1085: Mark_Coupon_Redeemed(i.Coupon_Number
1086: , i.pricing_effective_date
1087: , l_return_status
1088: , x_return_status_txt);
1089:
1090: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1091: RAISE FND_API.G_EXC_ERROR;
1092: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1093: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1094: END IF;
1087: , l_return_status
1088: , x_return_status_txt);
1089:
1090: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1091: RAISE FND_API.G_EXC_ERROR;
1092: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1093: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1094: END IF;
1095:
1088: , x_return_status_txt);
1089:
1090: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1091: RAISE FND_API.G_EXC_ERROR;
1092: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1093: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1094: END IF;
1095:
1096: END LOOP;
1089:
1090: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1091: RAISE FND_API.G_EXC_ERROR;
1092: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1093: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1094: END IF;
1095:
1096: END LOOP;
1097: END IF; -- l_satis_quals_opt
1099: END IF;
1100:
1101: EXCEPTION
1102:
1103: WHEN FND_API.G_EXC_ERROR THEN
1104:
1105: x_return_status := FND_API.G_RET_STS_ERROR;
1106:
1107: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1101: EXCEPTION
1102:
1103: WHEN FND_API.G_EXC_ERROR THEN
1104:
1105: x_return_status := FND_API.G_RET_STS_ERROR;
1106:
1107: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1108:
1109: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1103: WHEN FND_API.G_EXC_ERROR THEN
1104:
1105: x_return_status := FND_API.G_RET_STS_ERROR;
1106:
1107: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1108:
1109: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1110:
1111: WHEN OTHERS THEN
1105: x_return_status := FND_API.G_RET_STS_ERROR;
1106:
1107: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1108:
1109: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1110:
1111: WHEN OTHERS THEN
1112:
1113: x_return_status_txt := 'QP_COUPON_PVT.Redeem_Coupons: '||SQLERRM;
1111: WHEN OTHERS THEN
1112:
1113: x_return_status_txt := 'QP_COUPON_PVT.Redeem_Coupons: '||SQLERRM;
1114:
1115: x_return_status := FND_API.G_RET_STS_ERROR;
1116:
1117: END Redeem_Coupons;
1118:
1119: PROCEDURE Set_Expiration_Dates(
1127: ) IS
1128: l_pricing_effective_date DATE := p_pricing_effective_date;
1129: BEGIN
1130:
1131: x_return_status := FND_API.G_RET_STS_SUCCESS;
1132:
1133: IF (p_expiration_period_end_date IS NULL) THEN
1134:
1135: IF (l_pricing_effective_date IS NULL) THEN
1162: WHEN OTHERS THEN
1163:
1164: x_return_status_txt := 'QP_COUPON_PVT.Set_Expiration_Dates: '||SQLERRM;
1165:
1166: x_return_status := FND_API.G_RET_STS_ERROR;
1167:
1168: END Set_Expiration_Dates;
1169:
1170: END QP_COUPON_PVT;