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: /*
516:
517: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_COUPON_NUMBER');
518: FND_MESSAGE.SET_TOKEN('COUPON_NUMBER', p_coupon_number);
519: x_return_status_txt := FND_MESSAGE.get;
520: x_return_status := FND_API.G_RET_STS_ERROR;
521:
522: WHEN QP_COUPON_QUALIFIER_NOT_FOUND THEN
523:
524: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_COUPON_QUALIFIER');
523:
524: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_COUPON_QUALIFIER');
525: FND_MESSAGE.SET_TOKEN('COUPON_NUMBER', p_coupon_number);
526: x_return_status_txt := FND_MESSAGE.get;
527: x_return_status := FND_API.G_RET_STS_ERROR;
528:
529: WHEN OTHERS THEN
530:
531: x_return_status_txt := 'QP_COUPON_PVT.Mark_Coupon_Redeemed: '||SQLERRM;
529: WHEN OTHERS THEN
530:
531: x_return_status_txt := 'QP_COUPON_PVT.Mark_Coupon_Redeemed: '||SQLERRM;
532:
533: x_return_status := FND_API.G_RET_STS_ERROR;
534:
535: END Mark_Coupon_Redeemed;
536:
537: -- This is going to be obsolete, should use the overloaded version
542: , x_return_status_txt OUT NOCOPY VARCHAR2
543: ) IS
544: BEGIN
545:
546: x_return_status := FND_API.G_RET_STS_SUCCESS;
547:
548: --dbms_output.put_line('unredeem coupon id: '||p_coupon_ID);
549:
550: /*
583:
584: WHEN OTHERS THEN
585:
586: x_return_status_txt := 'QP_COUPON_PVT.Mark_Coupon_Unredeemed: '||SQLERRM;
587: x_return_status := FND_API.G_RET_STS_ERROR;
588:
589: End Mark_Coupon_Unredeemed;
590:
591: PROCEDURE Mark_Coupon_Unredeemed(
595: )
596: IS
597: BEGIN
598:
599: x_return_status := FND_API.G_RET_STS_SUCCESS;
600:
601: /*
602: INDX,QP_COUPON_PVT.Mark_Coupon_Unredeemed.Mark_Coupon_Unredeemed_upd1,-No Index Used-,NA,NA
603: */
650:
651: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_COUPON_NUMBER');
652: FND_MESSAGE.SET_TOKEN('COUPON_NUMBER', p_coupon_number);
653: x_return_status_txt := FND_MESSAGE.get;
654: x_return_status := FND_API.G_RET_STS_ERROR;
655:
656: WHEN QP_COUPON_QUALIFIER_NOT_FOUND THEN
657:
658: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_COUPON_QUALIFIER');
657:
658: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_COUPON_QUALIFIER');
659: FND_MESSAGE.SET_TOKEN('COUPON_NUMBER', p_coupon_number);
660: x_return_status_txt := FND_MESSAGE.get;
661: x_return_status := FND_API.G_RET_STS_ERROR;
662:
663: WHEN OTHERS THEN
664:
665: x_return_status_txt := 'QP_COUPON_PVT.Mark_Coupon_Unredeemed: '||SQLERRM;
662:
663: WHEN OTHERS THEN
664:
665: x_return_status_txt := 'QP_COUPON_PVT.Mark_Coupon_Unredeemed: '||SQLERRM;
666: x_return_status := FND_API.G_RET_STS_ERROR;
667:
668: END Mark_Coupon_Unredeemed;
669:
670: -- Procedure Purge_Coupon purges all redeemed and expired coupons
674: )
675: IS
676: BEGIN
677:
678: x_return_status := FND_API.G_RET_STS_SUCCESS;
679:
680: /*
681: INDX,QP_COUPON_PVT.Purge_Coupon.Purge_Coupon_del1,-No Index Used-,NA,NA
682: */
689: WHEN OTHERS THEN
690:
691: x_return_status_txt := 'QP_COUPON_PVT.Purge_Coupon: '||SQLERRM;
692:
693: x_return_status := FND_API.G_RET_STS_ERROR;
694:
695: END Purge_Coupon;
696:
697: -- Procedure Delete_Coupon deletes the coupon
702: )
703: IS
704: BEGIN
705:
706: x_return_status := FND_API.G_RET_STS_SUCCESS;
707:
708: -- Delete Qualifier for the coupon
709: /*
710: INDX,QP_COUPON_PVT.Delete_Coupon.Delete_Coupon_del1,QP_QUALIFIERS_N4,QUALIFIER_CONTEXT,1
743:
744: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_COUPON_NUMBER');
745: FND_MESSAGE.SET_TOKEN('COUPON_NUMBER', p_coupon_number);
746: x_return_status_txt := FND_MESSAGE.get;
747: x_return_status := FND_API.G_RET_STS_ERROR;
748:
749: WHEN QP_COUPON_QUALIFIER_NOT_FOUND THEN
750:
751: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_COUPON_QUALIFIER');
750:
751: FND_MESSAGE.SET_NAME('QP', 'QP_INVALID_COUPON_QUALIFIER');
752: FND_MESSAGE.SET_TOKEN('COUPON_NUMBER', p_coupon_number);
753: x_return_status_txt := FND_MESSAGE.get;
754: x_return_status := FND_API.G_RET_STS_ERROR;
755:
756: WHEN OTHERS THEN
757:
758: x_return_status_txt := 'QP_COUPON_PVT.Delete_Coupon '||SQLERRM;
756: WHEN OTHERS THEN
757:
758: x_return_status_txt := 'QP_COUPON_PVT.Delete_Coupon '||SQLERRM;
759:
760: x_return_status := FND_API.G_RET_STS_ERROR;
761:
762: END Delete_Coupon;
763:
764: PROCEDURE Process_Coupon_Issue(
821: l_line_detail_index PLS_INTEGER;
822: l_return_status VARCHAR2(1);
823: BEGIN
824: l_debug :=QP_PREQ_GRP.G_DEBUG_ENGINE;
825: x_return_status := FND_API.G_RET_STS_SUCCESS;
826:
827: IF l_debug = FND_API.G_TRUE THEN
828: QP_PREQ_GRP.engine_debug ('Entering QP_COUPON_PVT.Process_Coupon_Issue...');
829: QP_PREQ_GRP.engine_debug ('p_line_quantity: '||p_line_quantity);
823: BEGIN
824: l_debug :=QP_PREQ_GRP.G_DEBUG_ENGINE;
825: x_return_status := FND_API.G_RET_STS_SUCCESS;
826:
827: IF l_debug = FND_API.G_TRUE THEN
828: QP_PREQ_GRP.engine_debug ('Entering QP_COUPON_PVT.Process_Coupon_Issue...');
829: QP_PREQ_GRP.engine_debug ('p_line_quantity: '||p_line_quantity);
830: END IF; -- END IF l_debug
831:
833: LOOP
834:
835: IF (i.price_break_type_code = QP_PREQ_GRP.G_RECURRING_BREAK) THEN
836:
837: IF l_debug = FND_API.G_TRUE THEN
838: QP_PREQ_GRP.engine_debug ('RECURRING BREAK ...');
839: QP_PREQ_GRP.engine_debug ('i.list_line_id: '||i.list_line_id);
840: END IF; -- END IF l_debug
841:
848: l_return_status,
849: x_return_status_txt
850: );
851:
852: IF l_debug = FND_API.G_TRUE THEN
853: QP_PREQ_GRP.engine_debug ('l_number_of_coupons: '||l_number_of_coupons);
854: END IF; -- END IF l_debug
855:
856: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
852: IF l_debug = FND_API.G_TRUE THEN
853: QP_PREQ_GRP.engine_debug ('l_number_of_coupons: '||l_number_of_coupons);
854: END IF; -- END IF l_debug
855:
856: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
857: RAISE FND_API.G_EXC_ERROR;
858: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
859: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
860: END IF;
853: QP_PREQ_GRP.engine_debug ('l_number_of_coupons: '||l_number_of_coupons);
854: END IF; -- END IF l_debug
855:
856: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
857: RAISE FND_API.G_EXC_ERROR;
858: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
859: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
860: END IF;
861:
854: END IF; -- END IF l_debug
855:
856: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
857: RAISE FND_API.G_EXC_ERROR;
858: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
859: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
860: END IF;
861:
862: END IF;
855:
856: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
857: RAISE FND_API.G_EXC_ERROR;
858: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
859: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
860: END IF;
861:
862: END IF;
863:
860: END IF;
861:
862: END IF;
863:
864: IF l_debug = FND_API.G_TRUE THEN
865: QP_PREQ_GRP.engine_debug ('p_simulation_flag: '||p_simulation_flag);
866: END IF; -- END IF l_debug
867:
868: FOR j IN 1..l_number_of_coupons
882: l_return_status,
883: x_return_status_txt
884: );
885:
886: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
887: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
888: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
889: RAISE FND_API.G_EXC_ERROR;
890: END IF;
883: x_return_status_txt
884: );
885:
886: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
887: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
888: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
889: RAISE FND_API.G_EXC_ERROR;
890: END IF;
891:
884: );
885:
886: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
887: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
888: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
889: RAISE FND_API.G_EXC_ERROR;
890: END IF;
891:
892: --DBMS_OUTPUT.PUT_LINE('Inserted Coupon ID: '||l_coupon_id);
885:
886: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
887: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
888: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
889: RAISE FND_API.G_EXC_ERROR;
890: END IF;
891:
892: --DBMS_OUTPUT.PUT_LINE('Inserted Coupon ID: '||l_coupon_id);
893:
897: l_return_status,
898: x_return_status_txt
899: );
900:
901: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
902: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
903: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
904: RAISE FND_API.G_EXC_ERROR;
905: END IF;
898: x_return_status_txt
899: );
900:
901: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
902: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
903: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
904: RAISE FND_API.G_EXC_ERROR;
905: END IF;
906:
899: );
900:
901: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
902: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
903: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
904: RAISE FND_API.G_EXC_ERROR;
905: END IF;
906:
907: --DBMS_OUTPUT.PUT_LINE('Created Qualifier');
900:
901: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
902: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
903: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
904: RAISE FND_API.G_EXC_ERROR;
905: END IF;
906:
907: --DBMS_OUTPUT.PUT_LINE('Created Qualifier');
908: ELSE
990: END LOOP; /* coupon issue lines */
991:
992: EXCEPTION
993:
994: WHEN FND_API.G_EXC_ERROR THEN
995:
996: x_return_status := FND_API.G_RET_STS_ERROR;
997:
998: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
992: EXCEPTION
993:
994: WHEN FND_API.G_EXC_ERROR THEN
995:
996: x_return_status := FND_API.G_RET_STS_ERROR;
997:
998: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
999:
1000: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
994: WHEN FND_API.G_EXC_ERROR THEN
995:
996: x_return_status := FND_API.G_RET_STS_ERROR;
997:
998: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
999:
1000: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1001:
1002: WHEN OTHERS THEN
996: x_return_status := FND_API.G_RET_STS_ERROR;
997:
998: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
999:
1000: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1001:
1002: WHEN OTHERS THEN
1003:
1004: x_return_status_txt := 'QP_COUPON_PVT.Process_Coupon_Issue: '||SQLERRM;
1002: WHEN OTHERS THEN
1003:
1004: x_return_status_txt := 'QP_COUPON_PVT.Process_Coupon_Issue: '||SQLERRM;
1005:
1006: x_return_status := FND_API.G_RET_STS_ERROR;
1007:
1008: END Process_Coupon_Issue;
1009:
1010: PROCEDURE Redeem_Coupons(
1072:
1073: BEGIN
1074:
1075: l_debug :=QP_PREQ_GRP.G_DEBUG_ENGINE;
1076: x_return_status := FND_API.G_RET_STS_SUCCESS;
1077:
1078: IF l_debug = FND_API.G_TRUE THEN
1079: QP_PREQ_GRP.engine_debug ('Entering QP_COUPON_PVT.Redeem_Coupons');
1080: END IF;
1074:
1075: l_debug :=QP_PREQ_GRP.G_DEBUG_ENGINE;
1076: x_return_status := FND_API.G_RET_STS_SUCCESS;
1077:
1078: IF l_debug = FND_API.G_TRUE THEN
1079: QP_PREQ_GRP.engine_debug ('Entering QP_COUPON_PVT.Redeem_Coupons');
1080: END IF;
1081:
1082: --dbms_output.put_line('inside redeem coupon');
1082: --dbms_output.put_line('inside redeem coupon');
1083: IF (p_simulation_flag = 'N') THEN
1084:
1085: l_satis_quals_opt := nvl(fnd_profile.VALUE('QP_SATIS_QUALS_OPT'), 'Y');
1086: IF l_debug = FND_API.G_TRUE THEN
1087: QP_PREQ_GRP.engine_debug('QP_SATIS_QUALS_OPT: ' || l_satis_quals_opt);
1088: END IF;
1089:
1090: -- [julin/4136528] drive off ldet attr if available (more performant),
1091: -- otherwise, use line attr and verify that coupon benefit (ldet) is applied.
1092: IF l_satis_quals_opt <> 'N' THEN
1093: FOR i IN get_coupons_ldet
1094: LOOP
1095: IF l_debug = FND_API.G_TRUE THEN
1096: QP_PREQ_GRP.engine_debug ('found coupon'||i.coupon_number);
1097: END IF;
1098:
1099: Mark_Coupon_Redeemed(i.Coupon_Number
1100: , i.pricing_effective_date
1101: , l_return_status
1102: , x_return_status_txt);
1103:
1104: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1105: RAISE FND_API.G_EXC_ERROR;
1106: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1107: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1108: END IF;
1101: , l_return_status
1102: , x_return_status_txt);
1103:
1104: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1105: RAISE FND_API.G_EXC_ERROR;
1106: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1107: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1108: END IF;
1109:
1102: , x_return_status_txt);
1103:
1104: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1105: RAISE FND_API.G_EXC_ERROR;
1106: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1107: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1108: END IF;
1109:
1110: END LOOP;
1103:
1104: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1105: RAISE FND_API.G_EXC_ERROR;
1106: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1107: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1108: END IF;
1109:
1110: END LOOP;
1111: ELSE
1110: END LOOP;
1111: ELSE
1112: FOR i IN get_coupons_line
1113: LOOP
1114: IF l_debug = FND_API.G_TRUE THEN
1115: QP_PREQ_GRP.engine_debug ('found coupon'||i.coupon_number);
1116: END IF;
1117:
1118: Mark_Coupon_Redeemed(i.Coupon_Number
1119: , i.pricing_effective_date
1120: , l_return_status
1121: , x_return_status_txt);
1122:
1123: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1124: RAISE FND_API.G_EXC_ERROR;
1125: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1126: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1127: END IF;
1120: , l_return_status
1121: , x_return_status_txt);
1122:
1123: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1124: RAISE FND_API.G_EXC_ERROR;
1125: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1126: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1127: END IF;
1128:
1121: , x_return_status_txt);
1122:
1123: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1124: RAISE FND_API.G_EXC_ERROR;
1125: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1126: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1127: END IF;
1128:
1129: END LOOP;
1122:
1123: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1124: RAISE FND_API.G_EXC_ERROR;
1125: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1126: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1127: END IF;
1128:
1129: END LOOP;
1130: END IF; -- l_satis_quals_opt
1132: END IF;
1133:
1134: EXCEPTION
1135:
1136: WHEN FND_API.G_EXC_ERROR THEN
1137:
1138: x_return_status := FND_API.G_RET_STS_ERROR;
1139:
1140: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1134: EXCEPTION
1135:
1136: WHEN FND_API.G_EXC_ERROR THEN
1137:
1138: x_return_status := FND_API.G_RET_STS_ERROR;
1139:
1140: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1141:
1142: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1136: WHEN FND_API.G_EXC_ERROR THEN
1137:
1138: x_return_status := FND_API.G_RET_STS_ERROR;
1139:
1140: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1141:
1142: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1143:
1144: WHEN OTHERS THEN
1138: x_return_status := FND_API.G_RET_STS_ERROR;
1139:
1140: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1141:
1142: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1143:
1144: WHEN OTHERS THEN
1145:
1146: x_return_status_txt := 'QP_COUPON_PVT.Redeem_Coupons: '||SQLERRM;
1144: WHEN OTHERS THEN
1145:
1146: x_return_status_txt := 'QP_COUPON_PVT.Redeem_Coupons: '||SQLERRM;
1147:
1148: x_return_status := FND_API.G_RET_STS_ERROR;
1149:
1150: END Redeem_Coupons;
1151:
1152: PROCEDURE Set_Expiration_Dates(
1160: ) IS
1161: l_pricing_effective_date DATE := p_pricing_effective_date;
1162: BEGIN
1163:
1164: x_return_status := FND_API.G_RET_STS_SUCCESS;
1165:
1166: IF (p_expiration_period_end_date IS NULL) THEN
1167:
1168: IF (l_pricing_effective_date IS NULL) THEN
1195: WHEN OTHERS THEN
1196:
1197: x_return_status_txt := 'QP_COUPON_PVT.Set_Expiration_Dates: '||SQLERRM;
1198:
1199: x_return_status := FND_API.G_RET_STS_ERROR;
1200:
1201: END Set_Expiration_Dates;
1202:
1203: END QP_COUPON_PVT;