5: -- Purpose :--DBMS_PUT.PUT_line(' ');
6: -- NOTE :
7: -- End of Comments
8:
9: l_true VARCHAR2(1) := FND_API.G_TRUE;
10: G_PKG_NAME CONSTANT VARCHAR2(30) := 'IBE_Quote_Save_pvt';
11: G_FILE_NAME CONSTANT VARCHAR2(12) := 'IBEVQCUB.pls';
12:
13: FUNCTION Compare(
354: + l_qte_line_rec.quantity;
355: l_qte_line_rec.operation_code := 'UPDATE';
356:
357: l_qte_line_dtl_rec.service_ref_qte_line_index
358: := FND_API.G_MISS_NUM;
359: l_qte_line_dtl_rec.qte_line_index
360: := FND_API.G_MISS_NUM;
361: l_qte_line_dtl_rec.operation_code
362: := 'UPDATE';
356:
357: l_qte_line_dtl_rec.service_ref_qte_line_index
358: := FND_API.G_MISS_NUM;
359: l_qte_line_dtl_rec.qte_line_index
360: := FND_API.G_MISS_NUM;
361: l_qte_line_dtl_rec.operation_code
362: := 'UPDATE';
363: l_qte_line_dtl_rec.quote_line_id
364: := l_qte_line_rec.quote_line_id;
380: END updateserviceline;
381:
382: PROCEDURE header_agreements(
383: p_api_version IN NUMBER := 1 ,
384: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE ,
385: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
386: x_return_status OUT NOCOPY VARCHAR2 ,
387: x_msg_count OUT NOCOPY NUMBER ,
388: x_msg_data OUT NOCOPY VARCHAR2 ,
381:
382: PROCEDURE header_agreements(
383: p_api_version IN NUMBER := 1 ,
384: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE ,
385: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
386: x_return_status OUT NOCOPY VARCHAR2 ,
387: x_msg_count OUT NOCOPY NUMBER ,
388: x_msg_data OUT NOCOPY VARCHAR2 ,
389: p_qte_header_rec IN aso_quote_pub.Qte_Header_Rec_Type ,
403:
404: L_API_NAME CONSTANT VARCHAR2(30) := 'handle_header_agreements';
405: L_API_VERSION CONSTANT NUMBER := 1.0;
406: l_payment_id number := null;
407: l_payment_term_id number := fnd_api.g_miss_num;
408: l_hdr_payment_tbl aso_quote_pub.Payment_Tbl_Type;
409: counter number;
410: rec_term_id c_term_id%rowtype;
411: rec_payment_id c_payment_id%rowtype;
413: begin
414: -- Standard Start of API savepoint
415: SAVEPOINT handle_header_agreements_pvt;
416: -- Standard call to check for call compatibility.
417: IF NOT FND_API.Compatible_API_Call(L_API_VERSION,
418: p_api_version,
419: L_API_NAME ,
420: G_PKG_NAME )
421: THEN
418: p_api_version,
419: L_API_NAME ,
420: G_PKG_NAME )
421: THEN
422: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
423: END IF;
424: -- Initialize message list if p_init_msg_list is set to TRUE.
425: IF FND_API.To_Boolean(p_init_msg_list) THEN
426: FND_Msg_Pub.initialize;
421: THEN
422: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
423: END IF;
424: -- Initialize message list if p_init_msg_list is set to TRUE.
425: IF FND_API.To_Boolean(p_init_msg_list) THEN
426: FND_Msg_Pub.initialize;
427: END IF;
428: -- Initialize API return status to success
429: x_return_status := FND_API.G_RET_STS_SUCCESS;
425: IF FND_API.To_Boolean(p_init_msg_list) THEN
426: FND_Msg_Pub.initialize;
427: END IF;
428: -- Initialize API return status to success
429: x_return_status := FND_API.G_RET_STS_SUCCESS;
430: -- API body
431:
432: l_hdr_payment_tbl := p_hdr_payment_tbl;
433: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
434: ibe_util.debug('Incoming header payment rec has '||p_hdr_payment_tbl.count||' records');
435: ibe_util.debug('Incoming agreementId is '||p_qte_header_rec.contract_id );
436: END IF;
437:
438: if(p_qte_header_rec.contract_id is null or p_qte_header_rec.contract_id <> fnd_api.g_miss_num) then
439: if(p_qte_header_rec.contract_id is not null
440: and p_qte_header_rec.contract_id <> fnd_api.g_miss_num) then
441: for rec_term_id in c_term_id(p_qte_header_rec.contract_id) loop
442: l_payment_term_id := rec_term_id.term_id;
436: END IF;
437:
438: if(p_qte_header_rec.contract_id is null or p_qte_header_rec.contract_id <> fnd_api.g_miss_num) then
439: if(p_qte_header_rec.contract_id is not null
440: and p_qte_header_rec.contract_id <> fnd_api.g_miss_num) then
441: for rec_term_id in c_term_id(p_qte_header_rec.contract_id) loop
442: l_payment_term_id := rec_term_id.term_id;
443: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
444: ibe_util.debug('payment term id when contract id is not null and not g_miss '||l_payment_term_id);
457: if(p_hdr_payment_tbl.count>0) then
458: for counter in 1..p_hdr_payment_tbl.count loop
459: if (p_hdr_payment_tbl(counter).quote_header_id = p_qte_header_rec.quote_header_id
460: and (p_hdr_payment_tbl(counter).quote_line_id is null or
461: p_hdr_payment_tbl(counter).quote_line_id = fnd_api.g_miss_num) ) then
462: if(p_hdr_payment_tbl(counter).operation_code <> 'DELETE') then
463: l_hdr_payment_tbl(counter).payment_term_id := l_payment_term_id;
464: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
465: ibe_util.debug('header_payment_tbl.payment_term_id '||l_payment_term_id);
509:
510: -- End of API body.
511:
512: -- Standard check of p_commit.
513: IF FND_API.To_Boolean(p_commit) THEN
514: COMMIT WORK;
515: END IF;
516: -- Standard call to get message count and if count is 1, get message info.
517: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
513: IF FND_API.To_Boolean(p_commit) THEN
514: COMMIT WORK;
515: END IF;
516: -- Standard call to get message count and if count is 1, get message info.
517: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
518: p_count => x_msg_count ,
519: p_data => x_msg_data);
520:
521: EXCEPTION
518: p_count => x_msg_count ,
519: p_data => x_msg_data);
520:
521: EXCEPTION
522: WHEN FND_API.G_EXC_ERROR THEN
523: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
524: ibe_util.debug('Expected error in IBE_QUOTE_SAVE_PVT.header_agreements');
525: END IF;
526: ROLLBACK TO handle_header_agreements_pvt;
523: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
524: ibe_util.debug('Expected error in IBE_QUOTE_SAVE_PVT.header_agreements');
525: END IF;
526: ROLLBACK TO handle_header_agreements_pvt;
527: x_return_status := FND_API.G_RET_STS_ERROR;
528: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
529: p_count => x_msg_count ,
530: p_data => x_msg_data);
531: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
524: ibe_util.debug('Expected error in IBE_QUOTE_SAVE_PVT.header_agreements');
525: END IF;
526: ROLLBACK TO handle_header_agreements_pvt;
527: x_return_status := FND_API.G_RET_STS_ERROR;
528: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
529: p_count => x_msg_count ,
530: p_data => x_msg_data);
531: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
532: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
527: x_return_status := FND_API.G_RET_STS_ERROR;
528: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
529: p_count => x_msg_count ,
530: p_data => x_msg_data);
531: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
532: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
533: ibe_util.debug('Unexpected error in IBE_QUOTE_SAVE_PVT.header_agreements');
534: END IF;
535: ROLLBACK TO handle_header_agreements_pvt;
532: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
533: ibe_util.debug('Unexpected error in IBE_QUOTE_SAVE_PVT.header_agreements');
534: END IF;
535: ROLLBACK TO handle_header_agreements_pvt;
536: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
537: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
538: p_count => x_msg_count ,
539: p_data => x_msg_data);
540: WHEN OTHERS THEN
533: ibe_util.debug('Unexpected error in IBE_QUOTE_SAVE_PVT.header_agreements');
534: END IF;
535: ROLLBACK TO handle_header_agreements_pvt;
536: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
537: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
538: p_count => x_msg_count ,
539: p_data => x_msg_data);
540: WHEN OTHERS THEN
541: ROLLBACK TO handle_header_agreements_pvt;
538: p_count => x_msg_count ,
539: p_data => x_msg_data);
540: WHEN OTHERS THEN
541: ROLLBACK TO handle_header_agreements_pvt;
542: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
543: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
544: ibe_util.debug('Unknown error in IBE_QUOTE_SAVE_PVT.header_agreements');
545: END IF;
546: IF FND_Msg_Pub.Check_Msg_Level( FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR ) THEN
547: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
548: L_API_NAME);
549: END IF;
550:
551: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
552: p_count => x_msg_count ,
553: p_data => x_msg_data);
554:
555: end header_agreements;
555: end header_agreements;
556:
557: PROCEDURE Default_Header_Record(
558: p_qte_header_rec IN ASO_Quote_Pub.Qte_Header_Rec_Type ,
559: p_auto_update_active_quote IN VARCHAR2 := FND_API.G_TRUE ,
560: p_hdr_payment_tbl IN aso_quote_pub.Payment_Tbl_Type ,
561: x_hdr_payment_tbl OUT NOCOPY aso_quote_pub.Payment_Tbl_Type ,
562: x_qte_header_rec OUT NOCOPY ASO_Quote_Pub.Qte_Header_Rec_Type,
563: x_return_status OUT NOCOPY VARCHAR2 ,
573: l_quote_source_code VARCHAR2(240);
574: l_resource_id NUMBER := NULL;
575: l_publish_flag VARCHAR2(1);
576: l_price_list_id NUMBER;
577: l_agmt_associated VARCHAR2(1):= FND_API.G_FALSE;
578: l_org_payment_id NUMBER := NULL;
579: l_installment_options VARCHAR2(30) := NULL;
580:
581:
586: --DBMS_OUTPUT.PUT_line('p_qte_header_rec.quote_header_id '||p_qte_header_rec.quote_header_id);
587: x_qte_header_rec := p_qte_header_rec;
588: x_hdr_payment_tbl := p_hdr_payment_tbl;
589: -- need get active cart for account user (ignore passed in value)
590: IF p_qte_header_rec.quote_header_id = FND_API.G_MISS_NUM
591:
592: AND p_qte_header_rec.quote_source_code = 'IStore Account'
593: AND (p_qte_header_rec.quote_name = 'IBE_PRMT_SC_UNNAMED' --MANNAMRA: Changed default quote name value from IBEACTIVECART to IBE_PRMT_SC_UNNAMED
594: --09/16/02
591:
592: AND p_qte_header_rec.quote_source_code = 'IStore Account'
593: AND (p_qte_header_rec.quote_name = 'IBE_PRMT_SC_UNNAMED' --MANNAMRA: Changed default quote name value from IBEACTIVECART to IBE_PRMT_SC_UNNAMED
594: --09/16/02
595: OR p_qte_header_rec.quote_name = FND_API.G_MISS_CHAR) THEN
596: --DBMS_OUTPUT.PUT_line('passed in qte_header_id is g_miss ');
597: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
598: IBE_Util.Debug(' need to get active cart');
599: END IF;
602: p_party_id => p_qte_header_rec.party_id,
603: p_cust_account_id => p_qte_header_rec.cust_account_id);
604: -- create quote
605: IF x_qte_header_rec.quote_header_id = 0 THEN
606: x_qte_header_rec.quote_header_id := FND_API.G_MISS_NUM;
607: -- if create quote and contract_id(agreement_id) is not set
608: -- then check if there is user default agreement
609: IF x_qte_header_rec.contract_id = FND_API.G_MISS_NUM THEN
610: x_qte_header_rec.contract_id := NVL(FND_Profile.Value('IBE_USER_DEFAULT_AGREEMENT'),
605: IF x_qte_header_rec.quote_header_id = 0 THEN
606: x_qte_header_rec.quote_header_id := FND_API.G_MISS_NUM;
607: -- if create quote and contract_id(agreement_id) is not set
608: -- then check if there is user default agreement
609: IF x_qte_header_rec.contract_id = FND_API.G_MISS_NUM THEN
610: x_qte_header_rec.contract_id := NVL(FND_Profile.Value('IBE_USER_DEFAULT_AGREEMENT'),
611: FND_API.G_MISS_NUM);
612: END IF;
613: -- update quote
607: -- if create quote and contract_id(agreement_id) is not set
608: -- then check if there is user default agreement
609: IF x_qte_header_rec.contract_id = FND_API.G_MISS_NUM THEN
610: x_qte_header_rec.contract_id := NVL(FND_Profile.Value('IBE_USER_DEFAULT_AGREEMENT'),
611: FND_API.G_MISS_NUM);
612: END IF;
613: -- update quote
614: /*A quote header_id is passed in during every update quote operation*/
615: ELSE
612: END IF;
613: -- update quote
614: /*A quote header_id is passed in during every update quote operation*/
615: ELSE
616: IF NOT FND_API.To_Boolean(p_auto_update_active_quote) THEN
617: IF FND_Msg_Pub.Check_Msg_Level(FND_Msg_Pub.G_MSG_LVL_ERROR) THEN
618: FND_Message.Set_Name('IBE', 'IBE_SC_QUOTE_NEED_REFRESH');
619: FND_Msg_Pub.Add;
620: END IF;
618: FND_Message.Set_Name('IBE', 'IBE_SC_QUOTE_NEED_REFRESH');
619: FND_Msg_Pub.Add;
620: END IF;
621:
622: RAISE FND_API.G_EXC_ERROR; -- need error message
623: END IF;
624: END IF;
625: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
626: IBE_Util.Debug('after get active cart id = '|| x_qte_header_rec.quote_header_id);
627: END IF;
628: END IF;
629:
630: -- if contract_id is set, then overwrite price_list_id field
631: IF x_qte_header_rec.contract_id <> FND_API.G_MISS_NUM THEN
632: -- if contract_id is null it is because the user wants to set to null.
633: -- just use price_list_id that is set.
634: IF x_qte_header_rec.contract_id IS NULL THEN
635: NULL;
639: INTO x_qte_header_rec.price_list_id
640: FROM OE_Agreements_B
641: WHERE agreement_id = x_qte_header_rec.contract_id;
642:
643: l_agmt_associated := FND_API.G_TRUE;
644: END IF;
645: END IF;
646:
647: -- only set expiration date, default order_type_id, quote_category_code and quote_name
646:
647: -- only set expiration date, default order_type_id, quote_category_code and quote_name
648: -- when quote_header_id is null
649:
650: IF (x_qte_header_rec.quote_header_id = FND_API.G_MISS_NUM or x_qte_header_rec.quote_header_id is null) THEN
651:
652: IF x_qte_header_rec.quote_name = FND_API.G_MISS_CHAR
653: AND (x_qte_header_rec.quote_source_code = 'IStore Walkin'
654: OR x_qte_header_rec.quote_source_code = 'IStore Account'
648: -- when quote_header_id is null
649:
650: IF (x_qte_header_rec.quote_header_id = FND_API.G_MISS_NUM or x_qte_header_rec.quote_header_id is null) THEN
651:
652: IF x_qte_header_rec.quote_name = FND_API.G_MISS_CHAR
653: AND (x_qte_header_rec.quote_source_code = 'IStore Walkin'
654: OR x_qte_header_rec.quote_source_code = 'IStore Account'
655: OR x_qte_header_rec.quote_source_code = 'IStore InstallBase'
656: OR x_qte_header_rec.quote_source_code = 'IStore ProcPunchout') THEN
681: WHERE quote_header_id = x_qte_header_rec.quote_header_id;
682: --DBMS_OUTPUT.PUT_line('after select statement ');
683: -- set last_update_date
684: --Removing this check because this is already being done in validate_user_update
685: --IF x_qte_header_rec.last_update_date = FND_API.G_MISS_DATE THEN
686: x_qte_header_rec.last_update_date := l_last_update_date;
687: --END IF;
688:
689: IF x_qte_header_rec.party_id = FND_API.G_MISS_NUM THEN
685: --IF x_qte_header_rec.last_update_date = FND_API.G_MISS_DATE THEN
686: x_qte_header_rec.last_update_date := l_last_update_date;
687: --END IF;
688:
689: IF x_qte_header_rec.party_id = FND_API.G_MISS_NUM THEN
690: x_qte_header_rec.party_id := l_party_id;
691: END IF;
692:
693: IF x_qte_header_rec.cust_account_id = FND_API.G_MISS_NUM THEN
689: IF x_qte_header_rec.party_id = FND_API.G_MISS_NUM THEN
690: x_qte_header_rec.party_id := l_party_id;
691: END IF;
692:
693: IF x_qte_header_rec.cust_account_id = FND_API.G_MISS_NUM THEN
694: x_qte_header_rec.cust_account_id := l_cust_account_id;
695: END IF;
696:
697: /* Check if the quote_header_id is for a published quote then keep the price_list_id as whatever in the DB.
697: /* Check if the quote_header_id is for a published quote then keep the price_list_id as whatever in the DB.
698: Ideally we do not want to change the price list id put in by the Sales Rep for Update of published Quotes.
699: This is true only when the agreement is not associated to the quote.*/
700: IF (l_resource_id is not null AND nvl(l_publish_flag,'N')='Y'
701: AND l_agmt_associated = FND_API.G_FALSE AND l_price_list_id is not null) THEN
702: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
703: IBE_UTIL.debug('Please revert back the price list id as in the DB,as this is a Published quote, price_list_id='||l_price_list_id);
704: END IF;
705: x_qte_header_rec.price_list_id := l_price_list_id;
706: END IF;
707:
708: /* if agreement_id in DB is not null and the current record
709: does not have it set, use the value from DB.*/
710: IF x_qte_header_rec.contract_id = FND_API.G_MISS_NUM
711: AND l_contract_id IS NOT NULL THEN
712: x_qte_header_rec.contract_id := l_contract_id;
713:
714: SELECT price_list_id
718: END IF;
719: --DBMS_OUTPUT.PUT_line('BEFORE header agreements ');
720: header_agreements(
721: p_api_version => 1.0 ,
722: p_init_msg_list => FND_API.G_TRUE ,
723: p_commit => FND_API.G_FALSE ,
724: x_return_status => x_return_status ,
725: x_msg_count => x_msg_count ,
726: x_msg_data => x_msg_data ,
719: --DBMS_OUTPUT.PUT_line('BEFORE header agreements ');
720: header_agreements(
721: p_api_version => 1.0 ,
722: p_init_msg_list => FND_API.G_TRUE ,
723: p_commit => FND_API.G_FALSE ,
724: x_return_status => x_return_status ,
725: x_msg_count => x_msg_count ,
726: x_msg_data => x_msg_data ,
727: p_qte_header_rec => x_qte_header_rec ,
728: p_hdr_payment_tbl => p_hdr_payment_tbl,
729: x_hdr_payment_tbl => x_hdr_payment_tbl);
730: --DBMS_OUTPUT.PUT_line('AFTER header agreements ');
731:
732: IF x_qte_header_rec.quote_source_code = FND_API.G_MISS_CHAR THEN
733: x_qte_header_rec.quote_source_code := l_quote_source_code;
734: END IF;
735:
736: -- expiration date doesn't change from 1st one set for sales rep
735:
736: -- expiration date doesn't change from 1st one set for sales rep
737: -- for self service, we want to avoid expiring the quote
738: /*
739: IF (x_qte_header_rec.resource_id = FND_API.G_MISS_NUM) AND
740: (l_resource_id is null) THEN
741: -- temporary way to have non-expiring self service quotes
742: x_qte_header_rec.quote_expiration_date := SYSDATE + 10000;
743: END IF;
751: -- default payment term id if pay now is enabled
752: IF x_hdr_payment_tbl.count=0 THEN
753: IBE_Util.Debug('no header payment record passed down so far.');
754: IBE_Util.Debug('checking if PAY NOW is turned on...');
755: IF x_qte_header_rec.org_id is NULL OR x_qte_header_rec.org_id=FND_API.G_MISS_NUM THEN
756: IBE_Util.Debug('x_qte_header_rec.org_id is null or GMISS');
757: l_installment_options := oe_sys_parameters.value(
758: param_name => 'INSTALLMENT_OPTIONS');
759: ELSE
765: IBE_Util.Debug('OM parameter INSTALLMENT_OPTIONS='||l_installment_options);
766:
767: IF NVL(l_installment_options,'NONE')='ENABLE_PAY_NOW' THEN
768: IBE_Util.Debug('Pay Now is enabled.');
769: IF x_qte_header_rec.quote_header_id is null OR x_qte_header_rec.quote_header_id=FND_API.G_MISS_NUM THEN
770: IBE_Util.Debug('it is a new cart.');
771: ELSE
772: IBE_Util.Debug('existing cart,x_qte_header_rec.quote_header_id='|| x_qte_header_rec.quote_header_id);
773: IBE_Util.Debug('checking if a header payment record is already present...');
779: WHEN NO_DATA_FOUND THEN
780: l_org_payment_id := NULL;
781: IBE_Util.Debug('no header payment record found');
782: WHEN TOO_MANY_ROWS THEN
783: l_org_payment_id := FND_API.G_MISS_NUM;
784: IBE_Util.Debug('too many header payment records found');
785: END;
786: END IF;
787:
811: procedure setLineDefaultVal(
812: p_quote_header_id in number
813: ,p_qte_line_tbl in ASO_Quote_Pub.QTE_LINE_TBL_TYPE
814: ,p_qte_line_dtl_tbl IN ASO_Quote_Pub.Qte_Line_Dtl_Tbl_Type
815: ,p_combinesameitem in VARCHAR2 := FND_API.G_MISS_CHAR
816: ,x_qte_line_tbl out nocopy ASO_Quote_Pub.QTE_LINE_TBL_TYPE
817: ,x_qte_line_dtl_tbl OUT NOCOPY ASO_Quote_Pub.QTE_LINE_DTL_TBL_TYPE
818: )
819: is
818: )
819: is
820: l_length NUMBER :=0;
821:
822: l_combinesameitem VARCHAR2(2) := FND_API.G_MISS_CHAR;
823: l_quantity NUMBER;
824: l_marketing_source_code_id NUMBER;
825: l_quote_line_id NUMBER;
826: l_item_type_code VARCHAR2(30);
889: end if;
890: end loop;
891: close c_checkForPRG;
892:
893: IF (p_combinesameitem = FND_API.G_MISS_CHAR) THEN
894: l_combinesameitem := FND_Profile.Value('IBE_SC_MERGE_SHOPCART_LINES');
895: Else
896: l_combinesameitem := p_combinesameitem;
897: END IF;
917: FOR i in 1..p_qte_line_tbl.count LOOP
918:
919: -- set quote_header_id
920: if ((x_qte_line_tbl(i).quote_header_id is null
921: or x_qte_line_tbl(i).quote_header_id = FND_API.G_MISS_NUM)
922: and (p_quote_header_id is not null
923: and p_quote_header_id <> FND_API.G_MISS_NUM)) then
924: x_qte_line_tbl(i).quote_header_id := p_quote_header_id;
925:
919: -- set quote_header_id
920: if ((x_qte_line_tbl(i).quote_header_id is null
921: or x_qte_line_tbl(i).quote_header_id = FND_API.G_MISS_NUM)
922: and (p_quote_header_id is not null
923: and p_quote_header_id <> FND_API.G_MISS_NUM)) then
924: x_qte_line_tbl(i).quote_header_id := p_quote_header_id;
925:
926: if ((x_qte_line_tbl(i).quote_line_id is null
927: or x_qte_line_tbl(i).quote_line_id = FND_API.G_MISS_NUM)
923: and p_quote_header_id <> FND_API.G_MISS_NUM)) then
924: x_qte_line_tbl(i).quote_header_id := p_quote_header_id;
925:
926: if ((x_qte_line_tbl(i).quote_line_id is null
927: or x_qte_line_tbl(i).quote_line_id = FND_API.G_MISS_NUM)
928: and (x_qte_line_tbl(i).operation_code is null
929: or x_qte_line_tbl(i).operation_code = FND_API.G_MISS_CHAR)) then
930:
931: x_qte_line_tbl(i).operation_code := 'CREATE';
925:
926: if ((x_qte_line_tbl(i).quote_line_id is null
927: or x_qte_line_tbl(i).quote_line_id = FND_API.G_MISS_NUM)
928: and (x_qte_line_tbl(i).operation_code is null
929: or x_qte_line_tbl(i).operation_code = FND_API.G_MISS_CHAR)) then
930:
931: x_qte_line_tbl(i).operation_code := 'CREATE';
932: END IF;
933: END IF;
947:
948: -- combine same item
949: IF l_combinesameitem = 'Y'
950: and p_quote_header_id is not null
951: and p_quote_header_id <> FND_API.G_MISS_NUM
952: and x_qte_line_tbl(i).operation_code = 'CREATE'
953: and l_found_PRG = 'N' THEN
954:
955: /*
995: ,x_qte_line_dtl_tbl_service_db => l_qte_line_dtl_tbl_service_db);
996:
997: --- doing merge
998: IF l_qte_line_rec_db.quote_line_id is not null
999: and l_qte_line_rec_db.quote_line_id <> FND_API.G_MISS_NUM THEN
1000: --- setup servicable item
1001: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1002: IBE_Util.Debug('merge serviceable line_id'
1003: || l_qte_line_rec_db.quote_line_id);
1050: -- 9/2/03: For Merging, SVA Case, don't compare SRV's
1051: -- so, handle SVA case just like STD case
1052: ELSE
1053: */
1054: l_quote_line_id := FND_API.G_MISS_NUM;
1055: l_item_type_code := FND_API.G_MISS_CHAR;
1056: l_quantity := FND_API.G_MISS_NUM;
1057: l_marketing_source_code_id := FND_API.G_MISS_NUM;
1058: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1051: -- so, handle SVA case just like STD case
1052: ELSE
1053: */
1054: l_quote_line_id := FND_API.G_MISS_NUM;
1055: l_item_type_code := FND_API.G_MISS_CHAR;
1056: l_quantity := FND_API.G_MISS_NUM;
1057: l_marketing_source_code_id := FND_API.G_MISS_NUM;
1058: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1059: IBE_Util.Debug('Calling the item cursor in MergeLines with uom_code'||x_qte_line_tbl(i).uom_code);
1052: ELSE
1053: */
1054: l_quote_line_id := FND_API.G_MISS_NUM;
1055: l_item_type_code := FND_API.G_MISS_CHAR;
1056: l_quantity := FND_API.G_MISS_NUM;
1057: l_marketing_source_code_id := FND_API.G_MISS_NUM;
1058: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1059: IBE_Util.Debug('Calling the item cursor in MergeLines with uom_code'||x_qte_line_tbl(i).uom_code);
1060: END IF;
1053: */
1054: l_quote_line_id := FND_API.G_MISS_NUM;
1055: l_item_type_code := FND_API.G_MISS_CHAR;
1056: l_quantity := FND_API.G_MISS_NUM;
1057: l_marketing_source_code_id := FND_API.G_MISS_NUM;
1058: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1059: IBE_Util.Debug('Calling the item cursor in MergeLines with uom_code'||x_qte_line_tbl(i).uom_code);
1060: END IF;
1061: open c_getlineinfo(p_quote_header_id
1080: x_qte_line_tbl(i).quote_line_id := l_quote_line_id;
1081:
1082: -- Fix for Bug#6015035, scnagara
1083: -- Added setting of dff attributes to G_MISS_CHAR when merge profile is on
1084: x_qte_line_tbl(i).ATTRIBUTE_CATEGORY := FND_API.G_MISS_CHAR;
1085: x_qte_line_tbl(i).ATTRIBUTE1 := FND_API.G_MISS_CHAR;
1086: x_qte_line_tbl(i).ATTRIBUTE2 := FND_API.G_MISS_CHAR;
1087: x_qte_line_tbl(i).ATTRIBUTE3 := FND_API.G_MISS_CHAR;
1088: x_qte_line_tbl(i).ATTRIBUTE4 := FND_API.G_MISS_CHAR;
1081:
1082: -- Fix for Bug#6015035, scnagara
1083: -- Added setting of dff attributes to G_MISS_CHAR when merge profile is on
1084: x_qte_line_tbl(i).ATTRIBUTE_CATEGORY := FND_API.G_MISS_CHAR;
1085: x_qte_line_tbl(i).ATTRIBUTE1 := FND_API.G_MISS_CHAR;
1086: x_qte_line_tbl(i).ATTRIBUTE2 := FND_API.G_MISS_CHAR;
1087: x_qte_line_tbl(i).ATTRIBUTE3 := FND_API.G_MISS_CHAR;
1088: x_qte_line_tbl(i).ATTRIBUTE4 := FND_API.G_MISS_CHAR;
1089: x_qte_line_tbl(i).ATTRIBUTE5 := FND_API.G_MISS_CHAR;
1082: -- Fix for Bug#6015035, scnagara
1083: -- Added setting of dff attributes to G_MISS_CHAR when merge profile is on
1084: x_qte_line_tbl(i).ATTRIBUTE_CATEGORY := FND_API.G_MISS_CHAR;
1085: x_qte_line_tbl(i).ATTRIBUTE1 := FND_API.G_MISS_CHAR;
1086: x_qte_line_tbl(i).ATTRIBUTE2 := FND_API.G_MISS_CHAR;
1087: x_qte_line_tbl(i).ATTRIBUTE3 := FND_API.G_MISS_CHAR;
1088: x_qte_line_tbl(i).ATTRIBUTE4 := FND_API.G_MISS_CHAR;
1089: x_qte_line_tbl(i).ATTRIBUTE5 := FND_API.G_MISS_CHAR;
1090: x_qte_line_tbl(i).ATTRIBUTE6 := FND_API.G_MISS_CHAR;
1083: -- Added setting of dff attributes to G_MISS_CHAR when merge profile is on
1084: x_qte_line_tbl(i).ATTRIBUTE_CATEGORY := FND_API.G_MISS_CHAR;
1085: x_qte_line_tbl(i).ATTRIBUTE1 := FND_API.G_MISS_CHAR;
1086: x_qte_line_tbl(i).ATTRIBUTE2 := FND_API.G_MISS_CHAR;
1087: x_qte_line_tbl(i).ATTRIBUTE3 := FND_API.G_MISS_CHAR;
1088: x_qte_line_tbl(i).ATTRIBUTE4 := FND_API.G_MISS_CHAR;
1089: x_qte_line_tbl(i).ATTRIBUTE5 := FND_API.G_MISS_CHAR;
1090: x_qte_line_tbl(i).ATTRIBUTE6 := FND_API.G_MISS_CHAR;
1091: x_qte_line_tbl(i).ATTRIBUTE7 := FND_API.G_MISS_CHAR;
1084: x_qte_line_tbl(i).ATTRIBUTE_CATEGORY := FND_API.G_MISS_CHAR;
1085: x_qte_line_tbl(i).ATTRIBUTE1 := FND_API.G_MISS_CHAR;
1086: x_qte_line_tbl(i).ATTRIBUTE2 := FND_API.G_MISS_CHAR;
1087: x_qte_line_tbl(i).ATTRIBUTE3 := FND_API.G_MISS_CHAR;
1088: x_qte_line_tbl(i).ATTRIBUTE4 := FND_API.G_MISS_CHAR;
1089: x_qte_line_tbl(i).ATTRIBUTE5 := FND_API.G_MISS_CHAR;
1090: x_qte_line_tbl(i).ATTRIBUTE6 := FND_API.G_MISS_CHAR;
1091: x_qte_line_tbl(i).ATTRIBUTE7 := FND_API.G_MISS_CHAR;
1092: x_qte_line_tbl(i).ATTRIBUTE8 := FND_API.G_MISS_CHAR;
1085: x_qte_line_tbl(i).ATTRIBUTE1 := FND_API.G_MISS_CHAR;
1086: x_qte_line_tbl(i).ATTRIBUTE2 := FND_API.G_MISS_CHAR;
1087: x_qte_line_tbl(i).ATTRIBUTE3 := FND_API.G_MISS_CHAR;
1088: x_qte_line_tbl(i).ATTRIBUTE4 := FND_API.G_MISS_CHAR;
1089: x_qte_line_tbl(i).ATTRIBUTE5 := FND_API.G_MISS_CHAR;
1090: x_qte_line_tbl(i).ATTRIBUTE6 := FND_API.G_MISS_CHAR;
1091: x_qte_line_tbl(i).ATTRIBUTE7 := FND_API.G_MISS_CHAR;
1092: x_qte_line_tbl(i).ATTRIBUTE8 := FND_API.G_MISS_CHAR;
1093: x_qte_line_tbl(i).ATTRIBUTE9 := FND_API.G_MISS_CHAR;
1086: x_qte_line_tbl(i).ATTRIBUTE2 := FND_API.G_MISS_CHAR;
1087: x_qte_line_tbl(i).ATTRIBUTE3 := FND_API.G_MISS_CHAR;
1088: x_qte_line_tbl(i).ATTRIBUTE4 := FND_API.G_MISS_CHAR;
1089: x_qte_line_tbl(i).ATTRIBUTE5 := FND_API.G_MISS_CHAR;
1090: x_qte_line_tbl(i).ATTRIBUTE6 := FND_API.G_MISS_CHAR;
1091: x_qte_line_tbl(i).ATTRIBUTE7 := FND_API.G_MISS_CHAR;
1092: x_qte_line_tbl(i).ATTRIBUTE8 := FND_API.G_MISS_CHAR;
1093: x_qte_line_tbl(i).ATTRIBUTE9 := FND_API.G_MISS_CHAR;
1094: x_qte_line_tbl(i).ATTRIBUTE10 := FND_API.G_MISS_CHAR;
1087: x_qte_line_tbl(i).ATTRIBUTE3 := FND_API.G_MISS_CHAR;
1088: x_qte_line_tbl(i).ATTRIBUTE4 := FND_API.G_MISS_CHAR;
1089: x_qte_line_tbl(i).ATTRIBUTE5 := FND_API.G_MISS_CHAR;
1090: x_qte_line_tbl(i).ATTRIBUTE6 := FND_API.G_MISS_CHAR;
1091: x_qte_line_tbl(i).ATTRIBUTE7 := FND_API.G_MISS_CHAR;
1092: x_qte_line_tbl(i).ATTRIBUTE8 := FND_API.G_MISS_CHAR;
1093: x_qte_line_tbl(i).ATTRIBUTE9 := FND_API.G_MISS_CHAR;
1094: x_qte_line_tbl(i).ATTRIBUTE10 := FND_API.G_MISS_CHAR;
1095: x_qte_line_tbl(i).ATTRIBUTE11 := FND_API.G_MISS_CHAR;
1088: x_qte_line_tbl(i).ATTRIBUTE4 := FND_API.G_MISS_CHAR;
1089: x_qte_line_tbl(i).ATTRIBUTE5 := FND_API.G_MISS_CHAR;
1090: x_qte_line_tbl(i).ATTRIBUTE6 := FND_API.G_MISS_CHAR;
1091: x_qte_line_tbl(i).ATTRIBUTE7 := FND_API.G_MISS_CHAR;
1092: x_qte_line_tbl(i).ATTRIBUTE8 := FND_API.G_MISS_CHAR;
1093: x_qte_line_tbl(i).ATTRIBUTE9 := FND_API.G_MISS_CHAR;
1094: x_qte_line_tbl(i).ATTRIBUTE10 := FND_API.G_MISS_CHAR;
1095: x_qte_line_tbl(i).ATTRIBUTE11 := FND_API.G_MISS_CHAR;
1096: x_qte_line_tbl(i).ATTRIBUTE12 := FND_API.G_MISS_CHAR;
1089: x_qte_line_tbl(i).ATTRIBUTE5 := FND_API.G_MISS_CHAR;
1090: x_qte_line_tbl(i).ATTRIBUTE6 := FND_API.G_MISS_CHAR;
1091: x_qte_line_tbl(i).ATTRIBUTE7 := FND_API.G_MISS_CHAR;
1092: x_qte_line_tbl(i).ATTRIBUTE8 := FND_API.G_MISS_CHAR;
1093: x_qte_line_tbl(i).ATTRIBUTE9 := FND_API.G_MISS_CHAR;
1094: x_qte_line_tbl(i).ATTRIBUTE10 := FND_API.G_MISS_CHAR;
1095: x_qte_line_tbl(i).ATTRIBUTE11 := FND_API.G_MISS_CHAR;
1096: x_qte_line_tbl(i).ATTRIBUTE12 := FND_API.G_MISS_CHAR;
1097: x_qte_line_tbl(i).ATTRIBUTE13 := FND_API.G_MISS_CHAR;
1090: x_qte_line_tbl(i).ATTRIBUTE6 := FND_API.G_MISS_CHAR;
1091: x_qte_line_tbl(i).ATTRIBUTE7 := FND_API.G_MISS_CHAR;
1092: x_qte_line_tbl(i).ATTRIBUTE8 := FND_API.G_MISS_CHAR;
1093: x_qte_line_tbl(i).ATTRIBUTE9 := FND_API.G_MISS_CHAR;
1094: x_qte_line_tbl(i).ATTRIBUTE10 := FND_API.G_MISS_CHAR;
1095: x_qte_line_tbl(i).ATTRIBUTE11 := FND_API.G_MISS_CHAR;
1096: x_qte_line_tbl(i).ATTRIBUTE12 := FND_API.G_MISS_CHAR;
1097: x_qte_line_tbl(i).ATTRIBUTE13 := FND_API.G_MISS_CHAR;
1098: x_qte_line_tbl(i).ATTRIBUTE14 := FND_API.G_MISS_CHAR;
1091: x_qte_line_tbl(i).ATTRIBUTE7 := FND_API.G_MISS_CHAR;
1092: x_qte_line_tbl(i).ATTRIBUTE8 := FND_API.G_MISS_CHAR;
1093: x_qte_line_tbl(i).ATTRIBUTE9 := FND_API.G_MISS_CHAR;
1094: x_qte_line_tbl(i).ATTRIBUTE10 := FND_API.G_MISS_CHAR;
1095: x_qte_line_tbl(i).ATTRIBUTE11 := FND_API.G_MISS_CHAR;
1096: x_qte_line_tbl(i).ATTRIBUTE12 := FND_API.G_MISS_CHAR;
1097: x_qte_line_tbl(i).ATTRIBUTE13 := FND_API.G_MISS_CHAR;
1098: x_qte_line_tbl(i).ATTRIBUTE14 := FND_API.G_MISS_CHAR;
1099: x_qte_line_tbl(i).ATTRIBUTE15 := FND_API.G_MISS_CHAR;
1092: x_qte_line_tbl(i).ATTRIBUTE8 := FND_API.G_MISS_CHAR;
1093: x_qte_line_tbl(i).ATTRIBUTE9 := FND_API.G_MISS_CHAR;
1094: x_qte_line_tbl(i).ATTRIBUTE10 := FND_API.G_MISS_CHAR;
1095: x_qte_line_tbl(i).ATTRIBUTE11 := FND_API.G_MISS_CHAR;
1096: x_qte_line_tbl(i).ATTRIBUTE12 := FND_API.G_MISS_CHAR;
1097: x_qte_line_tbl(i).ATTRIBUTE13 := FND_API.G_MISS_CHAR;
1098: x_qte_line_tbl(i).ATTRIBUTE14 := FND_API.G_MISS_CHAR;
1099: x_qte_line_tbl(i).ATTRIBUTE15 := FND_API.G_MISS_CHAR;
1100: -- End Fix for Bug#6015035, scnagara
1093: x_qte_line_tbl(i).ATTRIBUTE9 := FND_API.G_MISS_CHAR;
1094: x_qte_line_tbl(i).ATTRIBUTE10 := FND_API.G_MISS_CHAR;
1095: x_qte_line_tbl(i).ATTRIBUTE11 := FND_API.G_MISS_CHAR;
1096: x_qte_line_tbl(i).ATTRIBUTE12 := FND_API.G_MISS_CHAR;
1097: x_qte_line_tbl(i).ATTRIBUTE13 := FND_API.G_MISS_CHAR;
1098: x_qte_line_tbl(i).ATTRIBUTE14 := FND_API.G_MISS_CHAR;
1099: x_qte_line_tbl(i).ATTRIBUTE15 := FND_API.G_MISS_CHAR;
1100: -- End Fix for Bug#6015035, scnagara
1101:
1094: x_qte_line_tbl(i).ATTRIBUTE10 := FND_API.G_MISS_CHAR;
1095: x_qte_line_tbl(i).ATTRIBUTE11 := FND_API.G_MISS_CHAR;
1096: x_qte_line_tbl(i).ATTRIBUTE12 := FND_API.G_MISS_CHAR;
1097: x_qte_line_tbl(i).ATTRIBUTE13 := FND_API.G_MISS_CHAR;
1098: x_qte_line_tbl(i).ATTRIBUTE14 := FND_API.G_MISS_CHAR;
1099: x_qte_line_tbl(i).ATTRIBUTE15 := FND_API.G_MISS_CHAR;
1100: -- End Fix for Bug#6015035, scnagara
1101:
1102: --Fix for bug 2727665
1095: x_qte_line_tbl(i).ATTRIBUTE11 := FND_API.G_MISS_CHAR;
1096: x_qte_line_tbl(i).ATTRIBUTE12 := FND_API.G_MISS_CHAR;
1097: x_qte_line_tbl(i).ATTRIBUTE13 := FND_API.G_MISS_CHAR;
1098: x_qte_line_tbl(i).ATTRIBUTE14 := FND_API.G_MISS_CHAR;
1099: x_qte_line_tbl(i).ATTRIBUTE15 := FND_API.G_MISS_CHAR;
1100: -- End Fix for Bug#6015035, scnagara
1101:
1102: --Fix for bug 2727665
1103: x_qte_line_tbl(i).item_type_code := l_item_type_code;
1119: -- set line_category_code
1120:
1121: IF ( (x_qte_line_tbl(i).operation_code = 'CREATE')
1122: or (x_qte_line_tbl(i).operation_code is null)
1123: or (x_qte_line_tbl(i).operation_code = FND_API.G_MISS_CHAR))
1124: and ((x_qte_line_tbl(i).line_category_code is null )
1125: or (x_qte_line_tbl(i).line_category_code = FND_API.G_MISS_CHAR)) then
1126: x_qte_line_tbl(i).line_category_code := 'ORDER';
1127: END IF;
1121: IF ( (x_qte_line_tbl(i).operation_code = 'CREATE')
1122: or (x_qte_line_tbl(i).operation_code is null)
1123: or (x_qte_line_tbl(i).operation_code = FND_API.G_MISS_CHAR))
1124: and ((x_qte_line_tbl(i).line_category_code is null )
1125: or (x_qte_line_tbl(i).line_category_code = FND_API.G_MISS_CHAR)) then
1126: x_qte_line_tbl(i).line_category_code := 'ORDER';
1127: END IF;
1128:
1129: IF (((x_qte_line_tbl(i).operation_code = 'CREATE')
1127: END IF;
1128:
1129: IF (((x_qte_line_tbl(i).operation_code = 'CREATE')
1130: or (x_qte_line_tbl(i).operation_code is null)
1131: or (x_qte_line_tbl(i).operation_code = FND_API.G_MISS_CHAR))
1132: and (x_qte_line_tbl(i).item_type_code = 'SRV' )
1133: and ((x_qte_line_tbl(i).start_date_active is null )
1134: or (x_qte_line_tbl(i).start_date_active = FND_API.G_MISS_DATE))) THEN
1135: x_qte_line_tbl(i).start_date_active := sysdate;
1130: or (x_qte_line_tbl(i).operation_code is null)
1131: or (x_qte_line_tbl(i).operation_code = FND_API.G_MISS_CHAR))
1132: and (x_qte_line_tbl(i).item_type_code = 'SRV' )
1133: and ((x_qte_line_tbl(i).start_date_active is null )
1134: or (x_qte_line_tbl(i).start_date_active = FND_API.G_MISS_DATE))) THEN
1135: x_qte_line_tbl(i).start_date_active := sysdate;
1136: END IF;
1137:
1138: END LOOP;
1143: END setLineDefaultVal;
1144:
1145: PROCEDURE DeleteSharees(
1146: p_api_version_number IN NUMBER
1147: ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
1148: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
1149: ,p_Quote_HEADER_ID IN NUMBER
1150: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
1151: ,X_Return_Status OUT NOCOPY VARCHAR2
1144:
1145: PROCEDURE DeleteSharees(
1146: p_api_version_number IN NUMBER
1147: ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
1148: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
1149: ,p_Quote_HEADER_ID IN NUMBER
1150: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
1151: ,X_Return_Status OUT NOCOPY VARCHAR2
1152: ,X_Msg_Count OUT NOCOPY NUMBER
1146: p_api_version_number IN NUMBER
1147: ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
1148: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
1149: ,p_Quote_HEADER_ID IN NUMBER
1150: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
1151: ,X_Return_Status OUT NOCOPY VARCHAR2
1152: ,X_Msg_Count OUT NOCOPY NUMBER
1153: ,X_Msg_Data OUT NOCOPY VARCHAR2
1154: )
1173: BEGIN
1174: -- Standard Start of API savepoint
1175: SAVEPOINT DELETESHAREES_pvt;
1176: -- Standard call to check for call compatibility.
1177: IF NOT FND_API.Compatible_API_Call (l_api_version,
1178: P_Api_Version_Number,
1179: l_api_name,
1180: G_PKG_NAME )
1181: THEN
1178: P_Api_Version_Number,
1179: l_api_name,
1180: G_PKG_NAME )
1181: THEN
1182: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1183: END IF;
1184: -- Initialize message list if p_init_msg_list is set to TRUE.
1185: IF FND_API.To_Boolean( p_init_msg_list ) THEN
1186: FND_Msg_Pub.initialize;
1181: THEN
1182: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1183: END IF;
1184: -- Initialize message list if p_init_msg_list is set to TRUE.
1185: IF FND_API.To_Boolean( p_init_msg_list ) THEN
1186: FND_Msg_Pub.initialize;
1187: END IF;
1188: -- Initialize API return status to success
1189: x_return_status := FND_API.G_RET_STS_SUCCESS;
1185: IF FND_API.To_Boolean( p_init_msg_list ) THEN
1186: FND_Msg_Pub.initialize;
1187: END IF;
1188: -- Initialize API return status to success
1189: x_return_status := FND_API.G_RET_STS_SUCCESS;
1190:
1191: IF FND_API.To_Boolean(p_init_msg_list) THEN
1192: FND_Msg_Pub.initialize;
1193: END IF;
1187: END IF;
1188: -- Initialize API return status to success
1189: x_return_status := FND_API.G_RET_STS_SUCCESS;
1190:
1191: IF FND_API.To_Boolean(p_init_msg_list) THEN
1192: FND_Msg_Pub.initialize;
1193: END IF;
1194:
1195: -- API body
1220: x_return_status => x_return_status ,
1221: x_msg_count => x_msg_count ,
1222: x_msg_data => x_msg_data );
1223:
1224: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1225: RAISE FND_API.G_EXC_ERROR;
1226: END IF;
1227: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1228: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1221: x_msg_count => x_msg_count ,
1222: x_msg_data => x_msg_data );
1223:
1224: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1225: RAISE FND_API.G_EXC_ERROR;
1226: END IF;
1227: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1228: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1229: END IF;
1223:
1224: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1225: RAISE FND_API.G_EXC_ERROR;
1226: END IF;
1227: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1228: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1229: END IF;
1230: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1231: IBE_UTIL.DEBUG('DeleteSharees:Done calling delete_recipient');
1224: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1225: RAISE FND_API.G_EXC_ERROR;
1226: END IF;
1227: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1228: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1229: END IF;
1230: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1231: IBE_UTIL.DEBUG('DeleteSharees:Done calling delete_recipient');
1232: END IF;
1234: END LOOP;
1235:
1236: -- End of API body.
1237: -- Standard check of p_commit.
1238: IF FND_API.To_Boolean( p_commit ) THEN
1239: COMMIT WORK;
1240: END IF;
1241:
1242: -- Standard call to get message count and if count is 1, get message info.
1239: COMMIT WORK;
1240: END IF;
1241:
1242: -- Standard call to get message count and if count is 1, get message info.
1243: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
1244: p_count => x_msg_count ,
1245: p_data => x_msg_data);
1246: EXCEPTION
1247: WHEN FND_API.G_EXC_ERROR THEN
1243: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
1244: p_count => x_msg_count ,
1245: p_data => x_msg_data);
1246: EXCEPTION
1247: WHEN FND_API.G_EXC_ERROR THEN
1248: ROLLBACK TO DELETESHAREES_pvt;
1249: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1250: IBE_UTIL.DEBUG('Expected error in IBE_QUOTE_SAVE_PVT.DeleteSharees');
1251: END IF;
1248: ROLLBACK TO DELETESHAREES_pvt;
1249: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1250: IBE_UTIL.DEBUG('Expected error in IBE_QUOTE_SAVE_PVT.DeleteSharees');
1251: END IF;
1252: x_return_status := FND_API.G_RET_STS_ERROR;
1253: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
1254: p_count => x_msg_count ,
1255: p_data => x_msg_data);
1256:
1249: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1250: IBE_UTIL.DEBUG('Expected error in IBE_QUOTE_SAVE_PVT.DeleteSharees');
1251: END IF;
1252: x_return_status := FND_API.G_RET_STS_ERROR;
1253: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
1254: p_count => x_msg_count ,
1255: p_data => x_msg_data);
1256:
1257: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1253: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
1254: p_count => x_msg_count ,
1255: p_data => x_msg_data);
1256:
1257: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1258: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1259: IBE_UTIL.DEBUG('Unexpected error in IBE_QUOTE_SAVE_PVT.DeleteSharees');
1260: END IF;
1261: ROLLBACK TO DELETESHAREES_pvt;
1258: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1259: IBE_UTIL.DEBUG('Unexpected error in IBE_QUOTE_SAVE_PVT.DeleteSharees');
1260: END IF;
1261: ROLLBACK TO DELETESHAREES_pvt;
1262: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1263: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
1264: p_count => x_msg_count ,
1265: p_data => x_msg_data);
1266: WHEN OTHERS THEN
1259: IBE_UTIL.DEBUG('Unexpected error in IBE_QUOTE_SAVE_PVT.DeleteSharees');
1260: END IF;
1261: ROLLBACK TO DELETESHAREES_pvt;
1262: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1263: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
1264: p_count => x_msg_count ,
1265: p_data => x_msg_data);
1266: WHEN OTHERS THEN
1267: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1267: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1268: IBE_UTIL.DEBUG('Unknown error in IBE_QUOTE_SAVE_PVT.DeleteSharees');
1269: END IF;
1270: ROLLBACK TO DELETESHAREES_pvt;
1271: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1272: IF FND_Msg_Pub.Check_Msg_Level(FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
1273: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
1274: l_api_name);
1275: END IF;
1272: IF FND_Msg_Pub.Check_Msg_Level(FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
1273: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
1274: l_api_name);
1275: END IF;
1276: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
1277: p_count => x_msg_count ,
1278: p_data => x_msg_data);
1279: END DeleteSharees;
1280:
1280:
1281:
1282: PROCEDURE Delete(
1283: p_api_version_number IN NUMBER := 1 ,
1284: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE ,
1285: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
1286: x_return_status OUT NOCOPY VARCHAR2 ,
1287: x_msg_count OUT NOCOPY NUMBER ,
1288: x_msg_data OUT NOCOPY VARCHAR2 ,
1281:
1282: PROCEDURE Delete(
1283: p_api_version_number IN NUMBER := 1 ,
1284: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE ,
1285: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
1286: x_return_status OUT NOCOPY VARCHAR2 ,
1287: x_msg_count OUT NOCOPY NUMBER ,
1288: x_msg_data OUT NOCOPY VARCHAR2 ,
1289: p_quote_header_id IN NUMBER ,
1286: x_return_status OUT NOCOPY VARCHAR2 ,
1287: x_msg_count OUT NOCOPY NUMBER ,
1288: x_msg_data OUT NOCOPY VARCHAR2 ,
1289: p_quote_header_id IN NUMBER ,
1290: p_expunge_flag IN VARCHAR2 := FND_API.G_TRUE ,
1291: p_minisite_id IN NUMBER :=FND_API.G_MISS_NUM ,
1292: p_last_update_date IN DATE := FND_API.G_MISS_DATE,
1293: p_Quote_access_tbl IN IBE_QUOTE_SAVESHARE_pvt.QUOTE_ACCESS_TBL_TYPE
1294: := IBE_QUOTE_SAVESHARE_pvt.G_miss_quote_access_Tbl ,
1287: x_msg_count OUT NOCOPY NUMBER ,
1288: x_msg_data OUT NOCOPY VARCHAR2 ,
1289: p_quote_header_id IN NUMBER ,
1290: p_expunge_flag IN VARCHAR2 := FND_API.G_TRUE ,
1291: p_minisite_id IN NUMBER :=FND_API.G_MISS_NUM ,
1292: p_last_update_date IN DATE := FND_API.G_MISS_DATE,
1293: p_Quote_access_tbl IN IBE_QUOTE_SAVESHARE_pvt.QUOTE_ACCESS_TBL_TYPE
1294: := IBE_QUOTE_SAVESHARE_pvt.G_miss_quote_access_Tbl ,
1295: p_notes IN VARCHAR2 := FND_API.G_MISS_CHAR,
1288: x_msg_data OUT NOCOPY VARCHAR2 ,
1289: p_quote_header_id IN NUMBER ,
1290: p_expunge_flag IN VARCHAR2 := FND_API.G_TRUE ,
1291: p_minisite_id IN NUMBER :=FND_API.G_MISS_NUM ,
1292: p_last_update_date IN DATE := FND_API.G_MISS_DATE,
1293: p_Quote_access_tbl IN IBE_QUOTE_SAVESHARE_pvt.QUOTE_ACCESS_TBL_TYPE
1294: := IBE_QUOTE_SAVESHARE_pvt.G_miss_quote_access_Tbl ,
1295: p_notes IN VARCHAR2 := FND_API.G_MISS_CHAR,
1296: -- in even that we are deleting a shared cart
1291: p_minisite_id IN NUMBER :=FND_API.G_MISS_NUM ,
1292: p_last_update_date IN DATE := FND_API.G_MISS_DATE,
1293: p_Quote_access_tbl IN IBE_QUOTE_SAVESHARE_pvt.QUOTE_ACCESS_TBL_TYPE
1294: := IBE_QUOTE_SAVESHARE_pvt.G_miss_quote_access_Tbl ,
1295: p_notes IN VARCHAR2 := FND_API.G_MISS_CHAR,
1296: -- in even that we are deleting a shared cart
1297: -- could be owner or admin recipient
1298: p_initiator_party_id IN NUMBER :=FND_API.G_MISS_NUM ,
1299: p_initiator_account_id IN NUMBER :=FND_API.G_MISS_NUM
1294: := IBE_QUOTE_SAVESHARE_pvt.G_miss_quote_access_Tbl ,
1295: p_notes IN VARCHAR2 := FND_API.G_MISS_CHAR,
1296: -- in even that we are deleting a shared cart
1297: -- could be owner or admin recipient
1298: p_initiator_party_id IN NUMBER :=FND_API.G_MISS_NUM ,
1299: p_initiator_account_id IN NUMBER :=FND_API.G_MISS_NUM
1300: )
1301: IS
1302: l_api_name CONSTANT VARCHAR2(30) := 'DELETE';
1295: p_notes IN VARCHAR2 := FND_API.G_MISS_CHAR,
1296: -- in even that we are deleting a shared cart
1297: -- could be owner or admin recipient
1298: p_initiator_party_id IN NUMBER :=FND_API.G_MISS_NUM ,
1299: p_initiator_account_id IN NUMBER :=FND_API.G_MISS_NUM
1300: )
1301: IS
1302: l_api_name CONSTANT VARCHAR2(30) := 'DELETE';
1303: l_api_version CONSTANT NUMBER := 1.0;
1309: l_last_update_date DATE;
1310: l_quote_recip_id NUMBER;
1311: l_party_id NUMBER;
1312: l_cust_account_id NUMBER;
1313: l_retrieval_number NUMBER := FND_API.G_MISS_NUM;
1314:
1315: cursor c_get_quote_status is
1316: select quote_status_id
1317: from aso_quote_statuses_vl
1340: --DBMS_OUTPUT.PUT_line('Begin IBE_Quote_Save_pvt.Delete()');
1341: -- Standard Start of API savepoint
1342: SAVEPOINT DELETE_pvt;
1343: -- Standard call to check for call compatibility.
1344: IF NOT FND_API.Compatible_API_Call (l_api_version,
1345: P_Api_Version_Number,
1346: l_api_name,
1347: G_PKG_NAME )
1348: THEN
1345: P_Api_Version_Number,
1346: l_api_name,
1347: G_PKG_NAME )
1348: THEN
1349: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1350: END IF;
1351: -- Initialize message list if p_init_msg_list is set to TRUE.
1352: IF FND_API.To_Boolean( p_init_msg_list ) THEN
1353: FND_Msg_Pub.initialize;
1348: THEN
1349: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1350: END IF;
1351: -- Initialize message list if p_init_msg_list is set to TRUE.
1352: IF FND_API.To_Boolean( p_init_msg_list ) THEN
1353: FND_Msg_Pub.initialize;
1354: END IF;
1355: -- Initialize API return status to success
1356: x_return_status := FND_API.G_RET_STS_SUCCESS;
1352: IF FND_API.To_Boolean( p_init_msg_list ) THEN
1353: FND_Msg_Pub.initialize;
1354: END IF;
1355: -- Initialize API return status to success
1356: x_return_status := FND_API.G_RET_STS_SUCCESS;
1357:
1358: -- API body
1359:
1360: -- get quote owner partyid
1364: exit when c_get_party_id%notfound;
1365: end loop;
1366: -- if initiator is specified, and owner is not initiator,
1367: -- send a retieval number here and to the save call (if expunge=F)
1368: if ((p_initiator_party_id <> FND_API.G_MISS_NUM) and l_party_id <> p_initiator_party_id) then
1369: select quote_sharee_number into l_retrieval_number
1370: from ibe_sh_quote_access
1371: where party_id = p_initiator_party_id
1372: and quote_header_id = p_quote_header_id
1380: -- if there is no qte access tbl, then we're in the owner only flow
1381: IF (nvl(p_Quote_access_tbl.count,0) = 0) THEN
1382: IBE_Quote_Misc_pvt.Validate_User_Update
1383: (
1384: p_init_msg_list => FND_API.G_TRUE
1385: ,p_quote_header_id => p_quote_header_id
1386: ,p_validate_user => FND_API.G_TRUE
1387: ,p_quote_retrieval_number => l_retrieval_number
1388: ,p_privilege_type_code => 'A'
1382: IBE_Quote_Misc_pvt.Validate_User_Update
1383: (
1384: p_init_msg_list => FND_API.G_TRUE
1385: ,p_quote_header_id => p_quote_header_id
1386: ,p_validate_user => FND_API.G_TRUE
1387: ,p_quote_retrieval_number => l_retrieval_number
1388: ,p_privilege_type_code => 'A'
1389: ,p_save_type => OP_DELETE_CART
1390: ,p_last_update_date => p_last_update_date
1392: ,x_msg_count => x_msg_count
1393: ,x_msg_data => x_msg_data
1394:
1395: );
1396: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1397: RAISE FND_API.G_EXC_ERROR;
1398: END IF;
1399: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1400: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1393: ,x_msg_data => x_msg_data
1394:
1395: );
1396: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1397: RAISE FND_API.G_EXC_ERROR;
1398: END IF;
1399: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1400: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1401: END IF;
1395: );
1396: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1397: RAISE FND_API.G_EXC_ERROR;
1398: END IF;
1399: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1400: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1401: END IF;
1402: --DBMS_OUTPUT.PUT_line('validate_user_update start end ');
1403: END IF;
1396: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1397: RAISE FND_API.G_EXC_ERROR;
1398: END IF;
1399: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1400: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1401: END IF;
1402: --DBMS_OUTPUT.PUT_line('validate_user_update start end ');
1403: END IF;
1404:
1416: IF FND_Msg_Pub.Check_Msg_Level (FND_Msg_Pub.G_MSG_LVL_ERROR) THEN
1417: FND_Message.Set_Name('IBE', 'IBE_SC_NO_QUOTE_EXIST');
1418: FND_Msg_Pub.Add;
1419: END IF;
1420: RAISE FND_API.G_EXC_ERROR;
1421: ELSIF (l_quote_status = 'ORDERED') THEN
1422: --DBMS_OUTPUT.PUT_line('Quote ordered ');
1423: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1424: IBE_UTIL.DEBUG('Quote ordered ');
1426: IF FND_Msg_Pub.Check_Msg_Level (FND_Msg_Pub.G_MSG_LVL_ERROR) THEN
1427: FND_Message.Set_Name('IBE', 'IBE_SC_QUOTE_IS_ORDERED');
1428: FND_Msg_Pub.Add;
1429: END IF;
1430: RAISE FND_API.G_EXC_ERROR;
1431: END IF;
1432: --Removing this validation because this is aleady being done in validate_user_update
1433: /* -- validate last_update_date
1434: IF (p_last_update_date is not null
1431: END IF;
1432: --Removing this validation because this is aleady being done in validate_user_update
1433: /* -- validate last_update_date
1434: IF (p_last_update_date is not null
1435: and p_last_update_date <> FND_API.G_MISS_DATE) THEN
1436: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1437: IBE_UTIL.DEBUG('validate last_update_date ');
1438: END IF;
1439: IBE_Quote_Misc_pvt.validateQuoteLastUpdateDate
1443: ,X_Return_Status => x_return_status
1444: ,X_Msg_Count => x_msg_count
1445: ,X_Msg_Data => x_msg_data
1446: );
1447: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1448: RAISE FND_API.G_EXC_ERROR;
1449: END IF;
1450: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1451: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1444: ,X_Msg_Count => x_msg_count
1445: ,X_Msg_Data => x_msg_data
1446: );
1447: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1448: RAISE FND_API.G_EXC_ERROR;
1449: END IF;
1450: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1451: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1452: END IF;
1446: );
1447: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1448: RAISE FND_API.G_EXC_ERROR;
1449: END IF;
1450: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1451: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1452: END IF;
1453: END IF;*/
1454:
1447: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1448: RAISE FND_API.G_EXC_ERROR;
1449: END IF;
1450: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1451: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1452: END IF;
1453: END IF;*/
1454:
1455: -- makulkar: Moving the deactivate quote code before expunge flag check. Bug 3715127.
1468: P_minisite_id => p_minisite_id ,
1469: p_notes => p_notes ,
1470: p_quote_access_tbl => p_quote_access_tbl ,
1471: p_api_version => p_api_version_number ,
1472: p_init_msg_list => fnd_api.g_false ,
1473: p_commit => fnd_api.g_false ,
1474: x_return_status => x_return_status ,
1475: x_msg_count => x_msg_count ,
1476: x_msg_data => x_msg_data );
1469: p_notes => p_notes ,
1470: p_quote_access_tbl => p_quote_access_tbl ,
1471: p_api_version => p_api_version_number ,
1472: p_init_msg_list => fnd_api.g_false ,
1473: p_commit => fnd_api.g_false ,
1474: x_return_status => x_return_status ,
1475: x_msg_count => x_msg_count ,
1476: x_msg_data => x_msg_data );
1477:
1475: x_msg_count => x_msg_count ,
1476: x_msg_data => x_msg_data );
1477:
1478:
1479: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1480: RAISE FND_API.G_EXC_ERROR;
1481: END IF;
1482:
1483: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1476: x_msg_data => x_msg_data );
1477:
1478:
1479: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1480: RAISE FND_API.G_EXC_ERROR;
1481: END IF;
1482:
1483: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1484: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1479: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1480: RAISE FND_API.G_EXC_ERROR;
1481: END IF;
1482:
1483: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1484: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1485: END IF;
1486:
1487: --DBMS_OUTPUT.PUT_line('Done calling IBE_QUOTE_SAVESHARE_V2_PVT.Stop_sharing ');
1480: RAISE FND_API.G_EXC_ERROR;
1481: END IF;
1482:
1483: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1484: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1485: END IF;
1486:
1487: --DBMS_OUTPUT.PUT_line('Done calling IBE_QUOTE_SAVESHARE_V2_PVT.Stop_sharing ');
1488: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1498: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1499: IBE_UTIL.DEBUG('expunge flag is: '||p_expunge_flag);
1500: END IF;
1501: --dbms_output.put_line('expunge flag is: '||p_expunge_flag);
1502: IF(p_expunge_flag = FND_API.G_TRUE ) THEN
1503: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1504: IBE_Util.Debug('Expunge flag is true') ;
1505: END IF;
1506: --DBMS_OUTPUT.PUT_line('Expunge flag is true');
1511:
1512:
1513: ASO_Quote_Pub.Delete_quote(
1514: P_Api_Version_Number => P_Api_Version_Number
1515: ,P_Init_Msg_List => FND_API.G_FALSE
1516: ,P_Commit => FND_API.G_FALSE
1517: ,P_qte_header_id => P_Quote_Header_Id
1518: ,x_Return_Status => x_return_status
1519: ,x_Msg_Count => x_msg_count
1512:
1513: ASO_Quote_Pub.Delete_quote(
1514: P_Api_Version_Number => P_Api_Version_Number
1515: ,P_Init_Msg_List => FND_API.G_FALSE
1516: ,P_Commit => FND_API.G_FALSE
1517: ,P_qte_header_id => P_Quote_Header_Id
1518: ,x_Return_Status => x_return_status
1519: ,x_Msg_Count => x_msg_count
1520: ,x_Msg_Data => x_msg_data );
1524: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1525: IBE_Util.Debug('ASO_Quote_Pub.Delete_Quote() finishes');
1526: END IF;
1527: --DBMS_OUTPUT.PUT_line('ASO_Quote_Pub.Delete_Quote() finishes');
1528: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1529: RAISE FND_API.G_EXC_ERROR;
1530: END IF;
1531:
1532: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1525: IBE_Util.Debug('ASO_Quote_Pub.Delete_Quote() finishes');
1526: END IF;
1527: --DBMS_OUTPUT.PUT_line('ASO_Quote_Pub.Delete_Quote() finishes');
1528: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1529: RAISE FND_API.G_EXC_ERROR;
1530: END IF;
1531:
1532: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1533: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1528: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1529: RAISE FND_API.G_EXC_ERROR;
1530: END IF;
1531:
1532: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1533: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1534: END IF;
1535:
1536: ELSE
1529: RAISE FND_API.G_EXC_ERROR;
1530: END IF;
1531:
1532: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1533: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1534: END IF;
1535:
1536: ELSE
1537: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1560: END IF;
1561: --DBMS_OUTPUT.PUT_line('calling save ');
1562: ibe_quote_save_pvt.save(
1563: p_api_version_number => p_api_version_number ,
1564: p_init_msg_list => fnd_api.g_false ,
1565: p_commit => fnd_api.g_false ,
1566: p_sharee_Number => l_retrieval_number ,
1567: p_save_type => OP_DELETE_CART ,
1568: p_qte_header_rec => l_Quote_header_rec ,
1561: --DBMS_OUTPUT.PUT_line('calling save ');
1562: ibe_quote_save_pvt.save(
1563: p_api_version_number => p_api_version_number ,
1564: p_init_msg_list => fnd_api.g_false ,
1565: p_commit => fnd_api.g_false ,
1566: p_sharee_Number => l_retrieval_number ,
1567: p_save_type => OP_DELETE_CART ,
1568: p_qte_header_rec => l_Quote_header_rec ,
1569: x_quote_header_id => l_quote_header_id ,
1572: x_return_status => x_return_status ,
1573: x_msg_count => x_msg_count ,
1574: x_msg_data => x_msg_data);
1575:
1576: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1577: RAISE FND_API.G_EXC_ERROR;
1578: END IF;
1579:
1580: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1573: x_msg_count => x_msg_count ,
1574: x_msg_data => x_msg_data);
1575:
1576: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1577: RAISE FND_API.G_EXC_ERROR;
1578: END IF;
1579:
1580: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1581: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1576: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1577: RAISE FND_API.G_EXC_ERROR;
1578: END IF;
1579:
1580: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1581: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1582: END IF;
1583: --DBMS_OUTPUT.PUT_line('Done calling save ');
1584: END IF; --expunge_flag check
1577: RAISE FND_API.G_EXC_ERROR;
1578: END IF;
1579:
1580: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1581: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1582: END IF;
1583: --DBMS_OUTPUT.PUT_line('Done calling save ');
1584: END IF; --expunge_flag check
1585:
1585:
1586: -- End of API body.
1587:
1588: -- Standard check of p_commit.
1589: IF FND_API.To_Boolean( p_commit ) THEN
1590: COMMIT WORK;
1591: END IF;
1592:
1593: -- Standard call to get message count and if count is 1, get message info.
1590: COMMIT WORK;
1591: END IF;
1592:
1593: -- Standard call to get message count and if count is 1, get message info.
1594: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
1595: p_count => x_msg_count ,
1596: p_data => x_msg_data);
1597: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1598: IBE_Util.Debug('End IBE_Quote_Save_pvt.Delete()');
1598: IBE_Util.Debug('End IBE_Quote_Save_pvt.Delete()');
1599: END IF;
1600: -- IBE_Util.Disable_Debug;
1601: EXCEPTION
1602: WHEN FND_API.G_EXC_ERROR THEN
1603: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1604: IBE_Util.Debug('Expected error: End IBE_Quote_Save_pvt.Delete()');
1605: END IF;
1606:
1604: IBE_Util.Debug('Expected error: End IBE_Quote_Save_pvt.Delete()');
1605: END IF;
1606:
1607: ROLLBACK TO DELETE_pvt;
1608: x_return_status := FND_API.G_RET_STS_ERROR;
1609: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
1610: p_count => x_msg_count ,
1611: p_data => x_msg_data);
1612: --IBE_Util.Disable_Debug;
1605: END IF;
1606:
1607: ROLLBACK TO DELETE_pvt;
1608: x_return_status := FND_API.G_RET_STS_ERROR;
1609: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
1610: p_count => x_msg_count ,
1611: p_data => x_msg_data);
1612: --IBE_Util.Disable_Debug;
1613: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1609: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
1610: p_count => x_msg_count ,
1611: p_data => x_msg_data);
1612: --IBE_Util.Disable_Debug;
1613: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1614: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1615: IBE_Util.Debug('Unexpected error: End IBE_Quote_Save_pvt.Delete()');
1616: END IF;
1617: ROLLBACK TO DELETE_pvt;
1614: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1615: IBE_Util.Debug('Unexpected error: End IBE_Quote_Save_pvt.Delete()');
1616: END IF;
1617: ROLLBACK TO DELETE_pvt;
1618: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1619: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
1620: p_count => x_msg_count ,
1621: p_data => x_msg_data);
1622: -- IBE_Util.Disable_Debug;
1615: IBE_Util.Debug('Unexpected error: End IBE_Quote_Save_pvt.Delete()');
1616: END IF;
1617: ROLLBACK TO DELETE_pvt;
1618: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1619: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
1620: p_count => x_msg_count ,
1621: p_data => x_msg_data);
1622: -- IBE_Util.Disable_Debug;
1623: WHEN OTHERS THEN
1624: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1625: IBE_Util.Debug('Unknown error: End IBE_Quote_Save_pvt.Delete()');
1626: END IF;
1627: ROLLBACK TO DELETE_pvt;
1628: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1629: IF FND_Msg_Pub.Check_Msg_Level(FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
1630: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
1631: l_api_name);
1632: END IF;
1629: IF FND_Msg_Pub.Check_Msg_Level(FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
1630: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
1631: l_api_name);
1632: END IF;
1633: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
1634: p_count => x_msg_count ,
1635: p_data => x_msg_data);
1636: --IBE_Util.Disable_Debug;
1637: END DELETE;
1638:
1639:
1640: PROCEDURE DeleteAllLines(
1641: p_api_version_number IN NUMBER := 1 ,
1642: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE ,
1643: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
1644: x_return_status OUT NOCOPY VARCHAR2 ,
1645: x_msg_count OUT NOCOPY NUMBER ,
1646: x_msg_data OUT NOCOPY VARCHAR2 ,
1639:
1640: PROCEDURE DeleteAllLines(
1641: p_api_version_number IN NUMBER := 1 ,
1642: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE ,
1643: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
1644: x_return_status OUT NOCOPY VARCHAR2 ,
1645: x_msg_count OUT NOCOPY NUMBER ,
1646: x_msg_data OUT NOCOPY VARCHAR2 ,
1647: p_quote_header_id IN NUMBER ,
1644: x_return_status OUT NOCOPY VARCHAR2 ,
1645: x_msg_count OUT NOCOPY NUMBER ,
1646: x_msg_data OUT NOCOPY VARCHAR2 ,
1647: p_quote_header_id IN NUMBER ,
1648: p_last_update_date IN DATE := FND_API.G_MISS_DATE,
1649: p_sharee_number IN NUMBER := FND_API.G_MISS_NUM ,
1650: x_quote_header_id OUT NOCOPY NUMBER ,
1651: x_last_update_date OUT NOCOPY DATE
1652: )
1645: x_msg_count OUT NOCOPY NUMBER ,
1646: x_msg_data OUT NOCOPY VARCHAR2 ,
1647: p_quote_header_id IN NUMBER ,
1648: p_last_update_date IN DATE := FND_API.G_MISS_DATE,
1649: p_sharee_number IN NUMBER := FND_API.G_MISS_NUM ,
1650: x_quote_header_id OUT NOCOPY NUMBER ,
1651: x_last_update_date OUT NOCOPY DATE
1652: )
1653: is
1671: BEGIN
1672: -- Standard Start of API savepoint
1673: SAVEPOINT DELETEALLLINES_pvt;
1674: -- Standard call to check for call compatibility.
1675: IF NOT FND_API.Compatible_API_Call (l_api_version,
1676: P_Api_Version_Number,
1677: l_api_name,
1678: G_PKG_NAME )
1679: THEN
1676: P_Api_Version_Number,
1677: l_api_name,
1678: G_PKG_NAME )
1679: THEN
1680: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1681: END IF;
1682: -- Initialize message list if p_init_msg_list is set to TRUE.
1683: IF FND_API.To_Boolean( p_init_msg_list ) THEN
1684: FND_Msg_Pub.initialize;
1679: THEN
1680: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1681: END IF;
1682: -- Initialize message list if p_init_msg_list is set to TRUE.
1683: IF FND_API.To_Boolean( p_init_msg_list ) THEN
1684: FND_Msg_Pub.initialize;
1685: END IF;
1686: -- Initialize API return status to success
1687: x_return_status := FND_API.G_RET_STS_SUCCESS;
1683: IF FND_API.To_Boolean( p_init_msg_list ) THEN
1684: FND_Msg_Pub.initialize;
1685: END IF;
1686: -- Initialize API return status to success
1687: x_return_status := FND_API.G_RET_STS_SUCCESS;
1688:
1689: -- API body
1690:
1691: -- User Authentication
1692: IBE_Quote_Misc_pvt.Validate_User_Update
1693: ( p_init_msg_list => p_init_msg_list
1694: ,p_quote_header_id => p_quote_header_id
1695: ,p_quote_retrieval_number => p_sharee_number
1696: ,p_validate_user => FND_API.G_TRUE
1697: ,x_return_status => x_return_status
1698: ,x_msg_count => x_msg_count
1699: ,x_msg_data => x_msg_data
1700: );
1697: ,x_return_status => x_return_status
1698: ,x_msg_count => x_msg_count
1699: ,x_msg_data => x_msg_data
1700: );
1701: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1702: RAISE FND_API.G_EXC_ERROR;
1703: END IF;
1704: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1705: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1698: ,x_msg_count => x_msg_count
1699: ,x_msg_data => x_msg_data
1700: );
1701: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1702: RAISE FND_API.G_EXC_ERROR;
1703: END IF;
1704: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1705: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1706: END IF;
1700: );
1701: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1702: RAISE FND_API.G_EXC_ERROR;
1703: END IF;
1704: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1705: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1706: END IF;
1707:
1708: -- 8/24/2002
1701: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1702: RAISE FND_API.G_EXC_ERROR;
1703: END IF;
1704: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1705: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1706: END IF;
1707:
1708: -- 8/24/2002
1709:
1721: close c_getlineids;
1722:
1723: l_control_rec.pricing_request_type := 'ASO';
1724: l_control_rec.header_pricing_event := FND_Profile.Value('IBE_INCART_PRICING_EVENT');
1725: l_control_rec.line_pricing_event := FND_API.G_MISS_CHAR;
1726: l_control_rec.calculate_freight_charge_flag := 'Y';
1727: l_control_rec.calculate_tax_flag := 'Y';
1728:
1729: ibe_quote_save_pvt.SAVE
1727: l_control_rec.calculate_tax_flag := 'Y';
1728:
1729: ibe_quote_save_pvt.SAVE
1730: ( p_api_version_number => p_api_version_number
1731: ,p_init_msg_list => FND_API.G_FALSE
1732: ,p_commit => FND_API.G_FALSE
1733: ,p_sharee_Number => p_sharee_Number
1734: ,p_qte_header_rec => l_qte_header_rec
1735: ,p_qte_line_tbl => l_qte_line_tbl
1728:
1729: ibe_quote_save_pvt.SAVE
1730: ( p_api_version_number => p_api_version_number
1731: ,p_init_msg_list => FND_API.G_FALSE
1732: ,p_commit => FND_API.G_FALSE
1733: ,p_sharee_Number => p_sharee_Number
1734: ,p_qte_header_rec => l_qte_header_rec
1735: ,p_qte_line_tbl => l_qte_line_tbl
1736: ,p_control_rec => l_control_rec
1739: ,x_return_status => x_return_status
1740: ,x_msg_count => x_msg_count
1741: ,x_msg_data => x_msg_data
1742: );
1743: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1744: RAISE FND_API.G_EXC_ERROR;
1745: END IF;
1746: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1747: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1740: ,x_msg_count => x_msg_count
1741: ,x_msg_data => x_msg_data
1742: );
1743: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1744: RAISE FND_API.G_EXC_ERROR;
1745: END IF;
1746: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1747: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1748: END IF;
1742: );
1743: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1744: RAISE FND_API.G_EXC_ERROR;
1745: END IF;
1746: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1747: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1748: END IF;
1749:
1750: -- End of API body.
1743: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1744: RAISE FND_API.G_EXC_ERROR;
1745: END IF;
1746: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1747: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1748: END IF;
1749:
1750: -- End of API body.
1751: -- Standard check of p_commit.
1748: END IF;
1749:
1750: -- End of API body.
1751: -- Standard check of p_commit.
1752: IF FND_API.To_Boolean( p_commit ) THEN
1753: COMMIT WORK;
1754: END IF;
1755:
1756: -- Standard call to get message count and if count is 1, get message info.
1754: END IF;
1755:
1756: -- Standard call to get message count and if count is 1, get message info.
1757:
1758: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
1759: p_count => x_msg_count ,
1760: p_data => x_msg_data);
1761:
1762: EXCEPTION
1759: p_count => x_msg_count ,
1760: p_data => x_msg_data);
1761:
1762: EXCEPTION
1763: WHEN FND_API.G_EXC_ERROR THEN
1764: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1765: IBE_Util.Debug('Expected error: IBE_Quote_Save_pvt.DeleteAllLines()');
1766: END IF;
1767: ROLLBACK TO DELETEALLLINES_pvt;
1764: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1765: IBE_Util.Debug('Expected error: IBE_Quote_Save_pvt.DeleteAllLines()');
1766: END IF;
1767: ROLLBACK TO DELETEALLLINES_pvt;
1768: x_return_status := FND_API.G_RET_STS_ERROR;
1769: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
1770: p_count => x_msg_count ,
1771: p_data => x_msg_data);
1772:
1765: IBE_Util.Debug('Expected error: IBE_Quote_Save_pvt.DeleteAllLines()');
1766: END IF;
1767: ROLLBACK TO DELETEALLLINES_pvt;
1768: x_return_status := FND_API.G_RET_STS_ERROR;
1769: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
1770: p_count => x_msg_count ,
1771: p_data => x_msg_data);
1772:
1773: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1769: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
1770: p_count => x_msg_count ,
1771: p_data => x_msg_data);
1772:
1773: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1774: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1775: IBE_Util.Debug('Unexpected error:IBE_Quote_Save_pvt.DeleteAllLines()');
1776: END IF;
1777:
1775: IBE_Util.Debug('Unexpected error:IBE_Quote_Save_pvt.DeleteAllLines()');
1776: END IF;
1777:
1778: ROLLBACK TO DELETEALLLINES_pvt;
1779: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1780: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
1781: p_count => x_msg_count,
1782: p_data => x_msg_data);
1783: WHEN OTHERS THEN
1776: END IF;
1777:
1778: ROLLBACK TO DELETEALLLINES_pvt;
1779: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1780: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
1781: p_count => x_msg_count,
1782: p_data => x_msg_data);
1783: WHEN OTHERS THEN
1784: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1785: IBE_Util.Debug('Unknown error: IBE_Quote_Save_pvt.DeleteAllLines()');
1786: END IF;
1787:
1788: ROLLBACK TO DELETEALLLINES_pvt;
1789: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1790:
1791: IF FND_Msg_Pub.Check_Msg_Level(FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
1792: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
1793: l_api_name);
1791: IF FND_Msg_Pub.Check_Msg_Level(FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
1792: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
1793: l_api_name);
1794: END IF;
1795: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
1796: p_count => x_msg_count ,
1797: p_data => x_msg_data);
1798: END DeleteAllLines;
1799:
1801: PROCEDURE Set_Last_Update_Date(p_qte_header_id IN NUMBER,
1802: px_last_update_date OUT NOCOPY DATE)
1803: IS
1804: BEGIN
1805: IF p_qte_header_id <> FND_API.G_MISS_NUM THEN
1806: px_last_update_date := IBE_Quote_Misc_pvt.getQuoteLastUpdateDate(p_qte_header_id);
1807: END IF;
1808: END Set_Last_Update_Date;
1809:
1810: -- formerly AddItemsToCart; the original addItemsToCart
1811: -- this is the one that handles adding of std, services, cartlevel services
1812: PROCEDURE AddItemsToCart_orig(
1813: P_Api_Version_Number IN NUMBER
1814: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
1815: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
1816: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
1817: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
1818: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
1811: -- this is the one that handles adding of std, services, cartlevel services
1812: PROCEDURE AddItemsToCart_orig(
1813: P_Api_Version_Number IN NUMBER
1814: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
1815: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
1816: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
1817: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
1818: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
1819: ,p_sharee_cust_account_id IN Number := FND_API.G_MISS_NUM
1812: PROCEDURE AddItemsToCart_orig(
1813: P_Api_Version_Number IN NUMBER
1814: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
1815: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
1816: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
1817: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
1818: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
1819: ,p_sharee_cust_account_id IN Number := FND_API.G_MISS_NUM
1820: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
1813: P_Api_Version_Number IN NUMBER
1814: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
1815: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
1816: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
1817: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
1818: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
1819: ,p_sharee_cust_account_id IN Number := FND_API.G_MISS_NUM
1820: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
1821: ,p_changeowner IN VARCHAR2 := FND_API.G_FALSE
1814: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
1815: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
1816: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
1817: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
1818: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
1819: ,p_sharee_cust_account_id IN Number := FND_API.G_MISS_NUM
1820: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
1821: ,p_changeowner IN VARCHAR2 := FND_API.G_FALSE
1822: ,p_Control_Rec IN ASO_Quote_Pub.Control_Rec_Type
1815: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
1816: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
1817: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
1818: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
1819: ,p_sharee_cust_account_id IN Number := FND_API.G_MISS_NUM
1820: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
1821: ,p_changeowner IN VARCHAR2 := FND_API.G_FALSE
1822: ,p_Control_Rec IN ASO_Quote_Pub.Control_Rec_Type
1823: := ASO_Quote_Pub.G_Miss_Control_Rec
1816: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
1817: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
1818: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
1819: ,p_sharee_cust_account_id IN Number := FND_API.G_MISS_NUM
1820: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
1821: ,p_changeowner IN VARCHAR2 := FND_API.G_FALSE
1822: ,p_Control_Rec IN ASO_Quote_Pub.Control_Rec_Type
1823: := ASO_Quote_Pub.G_Miss_Control_Rec
1824: ,p_ql_line_codes IN jtf_number_table := NULL
1817: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
1818: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
1819: ,p_sharee_cust_account_id IN Number := FND_API.G_MISS_NUM
1820: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
1821: ,p_changeowner IN VARCHAR2 := FND_API.G_FALSE
1822: ,p_Control_Rec IN ASO_Quote_Pub.Control_Rec_Type
1823: := ASO_Quote_Pub.G_Miss_Control_Rec
1824: ,p_ql_line_codes IN jtf_number_table := NULL
1825: ,p_Qte_Header_Rec IN ASO_Quote_Pub.Qte_Header_Rec_Type
1968: rec_service c_getServiceInvId%rowtype;
1969: rec_itemInfo c_getItemInfo%rowtype;
1970: rec_find_service c_find_service%rowtype;
1971:
1972: l_combinesameitem VARCHAR2(2) := FND_API.G_MISS_CHAR;
1973:
1974: --maithili added for R12
1975: Cursor c_get_Marketing_source(p_quote_header_id NUMBER) is
1976: select marketing_source_code_id
2004: -- Standard Start of API savepoint
2005: SAVEPOINT AddItemsToCartorig_pvt;
2006:
2007: -- Standard call to check for call compatibility.
2008: IF NOT FND_API.Compatible_API_Call(L_API_VERSION,
2009: P_Api_Version_Number,
2010: L_API_NAME ,
2011: G_PKG_NAME )
2012: THEN
2009: P_Api_Version_Number,
2010: L_API_NAME ,
2011: G_PKG_NAME )
2012: THEN
2013: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2014: END IF;
2015:
2016: -- Initialize message list if p_init_msg_list is set to TRUE.
2017: IF FND_API.To_Boolean(p_init_msg_list) THEN
2013: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2014: END IF;
2015:
2016: -- Initialize message list if p_init_msg_list is set to TRUE.
2017: IF FND_API.To_Boolean(p_init_msg_list) THEN
2018: FND_Msg_Pub.initialize;
2019: END IF;
2020:
2021: -- Initialize API return status to success
2018: FND_Msg_Pub.initialize;
2019: END IF;
2020:
2021: -- Initialize API return status to success
2022: x_return_status := FND_API.G_RET_STS_SUCCESS;
2023:
2024: -- API body
2025:
2026: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
2084: --Cart level support logic
2085: IF (l_isCartSupp = 'Y') THEN
2086:
2087: IF ((p_Qte_Header_Rec.quote_header_id is not null)
2088: and (p_Qte_Header_Rec.quote_header_id <> FND_API.G_MISS_NUM) ) THEN
2089: --Check the number of quote lines in the quote
2090: SELECT COUNT(*) INTO l_numLines
2091: FROM aso_quote_lines
2092: WHERE quote_header_id = p_Qte_Header_Rec.quote_header_id;
2106: IBE_Util.Debug('l_isCartEmpty='||l_isCartEmpty);
2107: END IF;
2108:
2109: IF ((p_Qte_Header_Rec.quote_header_id is not null)
2110: and (p_Qte_Header_Rec.quote_header_id <> FND_API.G_MISS_NUM) ) THEN
2111: --Get the number of serviceable items in the quote
2112: SELECT COUNT(*) INTO l_numLines
2113: FROM aso_quote_lines
2114: WHERE quote_header_id = p_Qte_Header_Rec.quote_header_id and
2124: IBE_Util.Debug('l_hasSVA='||l_hasSVA);
2125: END IF;
2126:
2127: -- added 8/4/03: if merge case, we might not want to pass SRV info down
2128: IF (p_combinesameitem = FND_API.G_MISS_CHAR) THEN
2129: l_combinesameitem := FND_Profile.Value('IBE_SC_MERGE_SHOPCART_LINES');
2130: Else
2131: l_combinesameitem := p_combinesameitem;
2132: END IF;
2141:
2142: -- added 8/4/03: if merge case, we might not want to pass SRV info down
2143: l_numLines := 0;
2144: IF ((p_Qte_Header_Rec.quote_header_id is not null)
2145: and (p_Qte_Header_Rec.quote_header_id <> FND_API.G_MISS_NUM) ) THEN
2146: SELECT COUNT(inventory_item_id) INTO l_numLines
2147: FROM aso_quote_lines
2148: WHERE quote_header_id = p_Qte_Header_Rec.quote_header_id and
2149: inventory_item_id = l_Qte_Line_Tbl(i).inventory_item_id;
2360: and (p_Qte_Line_Dtl_Tbl(i).operation_code = 'CREATE') THEN
2361:
2362:
2363: IF(p_Qte_Line_Dtl_Tbl(i).service_ref_line_id is not null and
2364: p_Qte_Line_Dtl_Tbl(i).service_ref_line_id <> FND_API.g_miss_num) THEN
2365:
2366: FOR rec_find_service in c_find_service(p_Qte_Line_Dtl_Tbl(i).service_ref_line_id) LOOP
2367: l_quote_line_id := rec_find_service.quote_line_id;
2368: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
2422: ,x_payment_tbl => lx_Hd_Payment_Tbl
2423: ,x_hd_shipment_tbl => lx_Hd_Shipment_Tbl
2424: ,x_hd_tax_dtl_tbl => lx_Hd_Tax_Detail_Tbl);
2425: lx_qte_header_rec.quote_source_code := 'IStore Oneclick';
2426: l_attach_contract := FND_API.G_TRUE;
2427:
2428: END IF; --(p_save_type = 'SAVE_EXPRESSORDER')
2429:
2430: -- added 8/11/02: for Default Feature: we have to detect the case where we're defaulting:
2430: -- added 8/11/02: for Default Feature: we have to detect the case where we're defaulting:
2431: -- 1) We're creating an Account Active Cart
2432: -- 2) There's no other Account Active Cart for this particular user
2433: -- *Note that these conditions are copied from default_header_rec procedure
2434: IF p_qte_header_rec.quote_header_id = FND_API.G_MISS_NUM
2435: AND p_qte_header_rec.quote_source_code = 'IStore Account'
2436: AND (p_qte_header_rec.quote_name = 'IBE_PRMT_SC_UNNAMED' --MANNAMRA: 16/09/02:Changed IBEACTIVECART to IBEUNNAMED
2437: OR p_qte_header_rec.quote_name = FND_API.G_MISS_CHAR)
2438: AND (p_save_flag <> SAVE_EXPRESSORDER) THEN --Defaulting not required for express check out carts
2433: -- *Note that these conditions are copied from default_header_rec procedure
2434: IF p_qte_header_rec.quote_header_id = FND_API.G_MISS_NUM
2435: AND p_qte_header_rec.quote_source_code = 'IStore Account'
2436: AND (p_qte_header_rec.quote_name = 'IBE_PRMT_SC_UNNAMED' --MANNAMRA: 16/09/02:Changed IBEACTIVECART to IBEUNNAMED
2437: OR p_qte_header_rec.quote_name = FND_API.G_MISS_CHAR)
2438: AND (p_save_flag <> SAVE_EXPRESSORDER) THEN --Defaulting not required for express check out carts
2439:
2440: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
2441: IBE_Util.Debug(' need to get active cart');
2477: ,X_Msg_Count => x_Msg_Count
2478: ,X_Msg_Data => x_Msg_Data
2479: );
2480:
2481: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2482: RAISE FND_API.G_EXC_ERROR;
2483: END IF;
2484: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2485: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2478: ,X_Msg_Data => x_Msg_Data
2479: );
2480:
2481: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2482: RAISE FND_API.G_EXC_ERROR;
2483: END IF;
2484: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2485: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2486: END IF;
2480:
2481: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2482: RAISE FND_API.G_EXC_ERROR;
2483: END IF;
2484: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2485: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2486: END IF;
2487:
2488: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
2481: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2482: RAISE FND_API.G_EXC_ERROR;
2483: END IF;
2484: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2485: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2486: END IF;
2487:
2488: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
2489: IBE_Util.Debug('Back from calling getHdrDefaultValues');
2497: IBE_Util.Debug('Mkt Source code check, lx_Qte_Header_Rec.marketing_source_code_id'||lx_Qte_Header_Rec.marketing_source_code_id);
2498: IBE_Util.Debug('Mkt Source code check, lx_Qte_Header_Rec.quote_header_id'||lx_Qte_Header_Rec.quote_header_id);
2499: END IF;
2500: IF lx_Qte_Header_Rec.marketing_source_code_id is not null and
2501: lx_Qte_Header_Rec.marketing_source_code_id <> fnd_api.g_miss_num and
2502: lx_Qte_Header_Rec.quote_header_id is not null and
2503: lx_Qte_Header_Rec.quote_header_id <> fnd_api.g_miss_num THEN
2504:
2505: OPEN c_get_marketing_source(lx_Qte_Header_Rec.quote_header_id);
2499: END IF;
2500: IF lx_Qte_Header_Rec.marketing_source_code_id is not null and
2501: lx_Qte_Header_Rec.marketing_source_code_id <> fnd_api.g_miss_num and
2502: lx_Qte_Header_Rec.quote_header_id is not null and
2503: lx_Qte_Header_Rec.quote_header_id <> fnd_api.g_miss_num THEN
2504:
2505: OPEN c_get_marketing_source(lx_Qte_Header_Rec.quote_header_id);
2506: FETCH c_get_marketing_source into l_marketing_source_code_id;
2507: CLOSE c_get_marketing_source;
2510: IBE_Util.Debug('l_marketing_source_code_id'||l_marketing_source_code_id);
2511: END IF;
2512:
2513: IF (l_marketing_source_code_id is not null) THEN
2514: lx_Qte_Header_Rec.marketing_source_code_id := FND_API.G_MISS_NUM;
2515: END IF;
2516: END IF;
2517: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
2518: IBE_Util.Debug('After Mkt Source code check, lx_Qte_Header_Rec.marketing_source_code_id'||lx_Qte_Header_Rec.marketing_source_code_id);
2540: END LOOP;
2541:
2542: FOR i IN 1..l_Hd_Price_Attributes_Tbl_temp.count LOOP
2543: If l_Hd_Price_Attributes_Tbl_temp(i).pricing_attribute1 IS NOT NULL
2544: AND l_Hd_Price_Attributes_Tbl_temp(i).pricing_attribute1 <> FND_API.G_MISS_CHAR THEN
2545: For j IN 1..l_Hd_Price_Attributes_Tbl_DB.count LOOP
2546: If l_Hd_Price_Attributes_Tbl_DB(j).pricing_attribute1 IS NOT NULL AND
2547: l_Hd_Price_Attributes_Tbl_temp(i).pricing_attribute1 = l_Hd_Price_Attributes_Tbl_DB(j).pricing_attribute1 THEN
2548: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
2547: l_Hd_Price_Attributes_Tbl_temp(i).pricing_attribute1 = l_Hd_Price_Attributes_Tbl_DB(j).pricing_attribute1 THEN
2548: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
2549: IBE_UTIL.debug('Duplicate Promo code = '|| l_Hd_Price_Attributes_Tbl_temp(i).pricing_attribute1||' found, setting pricing attribute rec to G_MISS_CHAR' );
2550: END IF;
2551: lx_Hd_Price_Attributes_Tbl(i).pricing_attribute1 := FND_API.G_MISS_CHAR;
2552: lx_Hd_Price_Attributes_Tbl(i).flex_title := FND_API.G_MISS_CHAR;
2553: lx_Hd_Price_Attributes_Tbl(i).pricing_context := FND_API.G_MISS_CHAR ;
2554: lx_Hd_Price_Attributes_Tbl(i).quote_header_id := FND_API.G_MISS_NUM;
2555: lx_Hd_Price_Attributes_Tbl(i).operation_code := FND_API.G_MISS_CHAR;
2548: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
2549: IBE_UTIL.debug('Duplicate Promo code = '|| l_Hd_Price_Attributes_Tbl_temp(i).pricing_attribute1||' found, setting pricing attribute rec to G_MISS_CHAR' );
2550: END IF;
2551: lx_Hd_Price_Attributes_Tbl(i).pricing_attribute1 := FND_API.G_MISS_CHAR;
2552: lx_Hd_Price_Attributes_Tbl(i).flex_title := FND_API.G_MISS_CHAR;
2553: lx_Hd_Price_Attributes_Tbl(i).pricing_context := FND_API.G_MISS_CHAR ;
2554: lx_Hd_Price_Attributes_Tbl(i).quote_header_id := FND_API.G_MISS_NUM;
2555: lx_Hd_Price_Attributes_Tbl(i).operation_code := FND_API.G_MISS_CHAR;
2556: END If;
2549: IBE_UTIL.debug('Duplicate Promo code = '|| l_Hd_Price_Attributes_Tbl_temp(i).pricing_attribute1||' found, setting pricing attribute rec to G_MISS_CHAR' );
2550: END IF;
2551: lx_Hd_Price_Attributes_Tbl(i).pricing_attribute1 := FND_API.G_MISS_CHAR;
2552: lx_Hd_Price_Attributes_Tbl(i).flex_title := FND_API.G_MISS_CHAR;
2553: lx_Hd_Price_Attributes_Tbl(i).pricing_context := FND_API.G_MISS_CHAR ;
2554: lx_Hd_Price_Attributes_Tbl(i).quote_header_id := FND_API.G_MISS_NUM;
2555: lx_Hd_Price_Attributes_Tbl(i).operation_code := FND_API.G_MISS_CHAR;
2556: END If;
2557: END LOOP; -- for j loop
2550: END IF;
2551: lx_Hd_Price_Attributes_Tbl(i).pricing_attribute1 := FND_API.G_MISS_CHAR;
2552: lx_Hd_Price_Attributes_Tbl(i).flex_title := FND_API.G_MISS_CHAR;
2553: lx_Hd_Price_Attributes_Tbl(i).pricing_context := FND_API.G_MISS_CHAR ;
2554: lx_Hd_Price_Attributes_Tbl(i).quote_header_id := FND_API.G_MISS_NUM;
2555: lx_Hd_Price_Attributes_Tbl(i).operation_code := FND_API.G_MISS_CHAR;
2556: END If;
2557: END LOOP; -- for j loop
2558: END IF; -- for checking not null check for temp array
2551: lx_Hd_Price_Attributes_Tbl(i).pricing_attribute1 := FND_API.G_MISS_CHAR;
2552: lx_Hd_Price_Attributes_Tbl(i).flex_title := FND_API.G_MISS_CHAR;
2553: lx_Hd_Price_Attributes_Tbl(i).pricing_context := FND_API.G_MISS_CHAR ;
2554: lx_Hd_Price_Attributes_Tbl(i).quote_header_id := FND_API.G_MISS_NUM;
2555: lx_Hd_Price_Attributes_Tbl(i).operation_code := FND_API.G_MISS_CHAR;
2556: END If;
2557: END LOOP; -- for j loop
2558: END IF; -- for checking not null check for temp array
2559: END LOOP;
2620: ,X_Msg_Count => x_Msg_Count
2621: ,X_Msg_Data => x_Msg_Data
2622: );
2623:
2624: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2625: RAISE FND_API.G_EXC_ERROR;
2626: END IF;
2627: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2628: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2621: ,X_Msg_Data => x_Msg_Data
2622: );
2623:
2624: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2625: RAISE FND_API.G_EXC_ERROR;
2626: END IF;
2627: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2628: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2629: END IF;
2623:
2624: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2625: RAISE FND_API.G_EXC_ERROR;
2626: END IF;
2627: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2628: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2629: END IF;
2630:
2631: lx_Qte_Header_Rec := lx_Qte_Header_Rec_tmp;
2624: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2625: RAISE FND_API.G_EXC_ERROR;
2626: END IF;
2627: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2628: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2629: END IF;
2630:
2631: lx_Qte_Header_Rec := lx_Qte_Header_Rec_tmp;
2632: lx_Hd_Price_Attributes_Tbl := lx_Hd_Price_Attributes_Tbl_tmp;
2637: lx_Price_Adjustment_Tbl := lx_Price_Adjustment_Tbl;
2638: lx_Price_Adj_Attr_Tbl := lx_Price_Adj_Attr_Tbl_tmp;
2639: lx_Price_Adj_Rltship_Tbl := lx_Price_Adj_Rltship_Tbl_tmp;
2640:
2641: IF(l_attach_contract = FND_API.G_TRUE) THEN
2642: IF (FND_Profile.Value('OKC_ENABLE_SALES_CONTRACTS') = 'Y' ) THEN --Only if contracts is enabled
2643:
2644: --instantiate a contract and associate to the quote
2645: /*mannamra: Chnages for MOAC : Bug 4682364*/
2661: END IF;
2662:
2663: OKC_TERMS_UTIL_GRP.get_translated_template(
2664: p_api_version => 1.0,
2665: p_init_msg_list => FND_API.g_false,
2666: p_template_id => l_contract_template_id, --this variable will have the translated template ID
2667: p_language => userenv('LANG'),
2668: p_document_type => 'QUOTE',
2669: x_template_id => l_trans_Contract_templ_id,
2670: x_return_status => x_return_status,
2671: x_msg_count => x_msg_count,
2672: x_msg_data => x_msg_data ) ;
2673:
2674: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2675: RAISE FND_API.G_EXC_ERROR;
2676: END IF;
2677: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2678: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2671: x_msg_count => x_msg_count,
2672: x_msg_data => x_msg_data ) ;
2673:
2674: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2675: RAISE FND_API.G_EXC_ERROR;
2676: END IF;
2677: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2678: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2679: END IF;
2673:
2674: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2675: RAISE FND_API.G_EXC_ERROR;
2676: END IF;
2677: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2678: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2679: END IF;
2680:
2681: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
2674: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2675: RAISE FND_API.G_EXC_ERROR;
2676: END IF;
2677: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2678: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2679: END IF;
2680:
2681: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
2682: IBE_UTIL.debug('l_trans_Contract_templ_id = '||l_trans_Contract_templ_id);
2696:
2697: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
2698: IBE_UTIL.debug('After copy_terms api, return status = '||x_return_status);
2699: END IF;
2700: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2701: RAISE FND_API.G_EXC_ERROR;
2702: END IF;
2703: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2704: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2697: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
2698: IBE_UTIL.debug('After copy_terms api, return status = '||x_return_status);
2699: END IF;
2700: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2701: RAISE FND_API.G_EXC_ERROR;
2702: END IF;
2703: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2704: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2705: END IF; --IF (l_contract_template_id is not null
2699: END IF;
2700: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2701: RAISE FND_API.G_EXC_ERROR;
2702: END IF;
2703: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2704: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2705: END IF; --IF (l_contract_template_id is not null
2706: END IF; --IF (FND_Profile.Value('OKC_ENABLE_SALES_CONTRACTS') = 'Y'
2707: END IF;
2700: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2701: RAISE FND_API.G_EXC_ERROR;
2702: END IF;
2703: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2704: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2705: END IF; --IF (l_contract_template_id is not null
2706: END IF; --IF (FND_Profile.Value('OKC_ENABLE_SALES_CONTRACTS') = 'Y'
2707: END IF;
2708: END IF; --if l_attach_contract is true;
2708: END IF; --if l_attach_contract is true;
2709:
2710: -- End of API body.
2711: -- Standard check of p_commit.
2712: IF FND_API.To_Boolean( p_commit ) THEN
2713: COMMIT WORK;
2714: END IF;
2715:
2716: -- Standard call to get message count and if count is 1, get message info.
2713: COMMIT WORK;
2714: END IF;
2715:
2716: -- Standard call to get message count and if count is 1, get message info.
2717: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
2718: p_count => x_msg_count ,
2719: p_data => x_msg_data);
2720:
2721: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
2723: END IF;
2724: -- IBE_Util.Disable_Debug;
2725:
2726: EXCEPTION
2727: WHEN FND_API.G_EXC_ERROR THEN
2728: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
2729: IBE_Util.Debug('Expected error: IBE_Quote_Save_pvt.AddItemsToCart_orig()');
2730: END IF;
2731:
2729: IBE_Util.Debug('Expected error: IBE_Quote_Save_pvt.AddItemsToCart_orig()');
2730: END IF;
2731:
2732: ROLLBACK TO AddItemsToCartorig_pvt;
2733: x_return_status := FND_API.G_RET_STS_ERROR;
2734: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
2735: p_count => x_msg_count ,
2736: p_data => x_msg_data);
2737: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2730: END IF;
2731:
2732: ROLLBACK TO AddItemsToCartorig_pvt;
2733: x_return_status := FND_API.G_RET_STS_ERROR;
2734: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
2735: p_count => x_msg_count ,
2736: p_data => x_msg_data);
2737: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2738: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
2733: x_return_status := FND_API.G_RET_STS_ERROR;
2734: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
2735: p_count => x_msg_count ,
2736: p_data => x_msg_data);
2737: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2738: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
2739: IBE_Util.Debug('Unexpected error: IBE_Quote_Save_pvt.AddItemsToCart_orig()');
2740: END IF;
2741:
2739: IBE_Util.Debug('Unexpected error: IBE_Quote_Save_pvt.AddItemsToCart_orig()');
2740: END IF;
2741:
2742: ROLLBACK TO AddItemsToCartorig_pvt;
2743: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2744: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
2745: p_count => x_msg_count ,
2746: p_data => x_msg_data);
2747: WHEN OTHERS THEN
2740: END IF;
2741:
2742: ROLLBACK TO AddItemsToCartorig_pvt;
2743: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2744: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
2745: p_count => x_msg_count ,
2746: p_data => x_msg_data);
2747: WHEN OTHERS THEN
2748: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
2749: IBE_Util.Debug('Unknown error: IBE_Quote_Save_pvt.AddItemsToCart_orig()');
2750: END IF;
2751:
2752: ROLLBACK TO AddItemsToCartorig_pvt;
2753: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2754: IF FND_Msg_Pub.Check_Msg_Level(FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
2755: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
2756: l_api_name);
2757: END IF;
2754: IF FND_Msg_Pub.Check_Msg_Level(FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
2755: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
2756: l_api_name);
2757: END IF;
2758: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
2759: p_count => x_msg_count ,
2760: p_data => x_msg_data);
2761:
2762: END AddItemsToCart_orig;
2832: -- same signature, but expanded to match the original addItemsToCart
2833: -- this should be the main entry point for all item types as it internally calls addItemsToCart_orig
2834: PROCEDURE AddItemsToCart(
2835: P_Api_Version_Number IN NUMBER
2836: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
2837: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
2838: -- this flag is no longer used or supported; rather items will come in with a line code indicating it is a bundle
2839: ,p_Bundle_Flag IN VARCHAR2 := FND_API.G_FALSE
2840: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
2833: -- this should be the main entry point for all item types as it internally calls addItemsToCart_orig
2834: PROCEDURE AddItemsToCart(
2835: P_Api_Version_Number IN NUMBER
2836: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
2837: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
2838: -- this flag is no longer used or supported; rather items will come in with a line code indicating it is a bundle
2839: ,p_Bundle_Flag IN VARCHAR2 := FND_API.G_FALSE
2840: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
2841: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
2835: P_Api_Version_Number IN NUMBER
2836: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
2837: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
2838: -- this flag is no longer used or supported; rather items will come in with a line code indicating it is a bundle
2839: ,p_Bundle_Flag IN VARCHAR2 := FND_API.G_FALSE
2840: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
2841: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
2842: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
2843: ,p_sharee_cust_account_id IN Number := FND_API.G_MISS_NUM
2836: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
2837: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
2838: -- this flag is no longer used or supported; rather items will come in with a line code indicating it is a bundle
2839: ,p_Bundle_Flag IN VARCHAR2 := FND_API.G_FALSE
2840: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
2841: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
2842: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
2843: ,p_sharee_cust_account_id IN Number := FND_API.G_MISS_NUM
2844: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
2837: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
2838: -- this flag is no longer used or supported; rather items will come in with a line code indicating it is a bundle
2839: ,p_Bundle_Flag IN VARCHAR2 := FND_API.G_FALSE
2840: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
2841: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
2842: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
2843: ,p_sharee_cust_account_id IN Number := FND_API.G_MISS_NUM
2844: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
2845: ,p_changeowner IN VARCHAR2 := FND_API.G_FALSE
2838: -- this flag is no longer used or supported; rather items will come in with a line code indicating it is a bundle
2839: ,p_Bundle_Flag IN VARCHAR2 := FND_API.G_FALSE
2840: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
2841: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
2842: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
2843: ,p_sharee_cust_account_id IN Number := FND_API.G_MISS_NUM
2844: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
2845: ,p_changeowner IN VARCHAR2 := FND_API.G_FALSE
2846: ,p_Control_Rec IN ASO_Quote_Pub.Control_Rec_Type
2839: ,p_Bundle_Flag IN VARCHAR2 := FND_API.G_FALSE
2840: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
2841: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
2842: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
2843: ,p_sharee_cust_account_id IN Number := FND_API.G_MISS_NUM
2844: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
2845: ,p_changeowner IN VARCHAR2 := FND_API.G_FALSE
2846: ,p_Control_Rec IN ASO_Quote_Pub.Control_Rec_Type
2847: := ASO_Quote_Pub.G_Miss_Control_Rec
2840: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
2841: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
2842: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
2843: ,p_sharee_cust_account_id IN Number := FND_API.G_MISS_NUM
2844: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
2845: ,p_changeowner IN VARCHAR2 := FND_API.G_FALSE
2846: ,p_Control_Rec IN ASO_Quote_Pub.Control_Rec_Type
2847: := ASO_Quote_Pub.G_Miss_Control_Rec
2848: ,p_ql_line_codes IN jtf_number_table := NULL
2841: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
2842: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
2843: ,p_sharee_cust_account_id IN Number := FND_API.G_MISS_NUM
2844: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
2845: ,p_changeowner IN VARCHAR2 := FND_API.G_FALSE
2846: ,p_Control_Rec IN ASO_Quote_Pub.Control_Rec_Type
2847: := ASO_Quote_Pub.G_Miss_Control_Rec
2848: ,p_ql_line_codes IN jtf_number_table := NULL
2849: ,p_Qte_Header_Rec IN ASO_Quote_Pub.Qte_Header_Rec_Type
2923: l_input_selection cz_cf_api.input_selection;
2924: l_cfg_input_list cz_cf_api.cfg_input_list;
2925: lx_cfg_output_pieces cz_cf_api.cfg_output_pieces;
2926: l_validation_status number;
2927: l_config_header_id number := fnd_api.g_miss_num;
2928: l_config_rev_num number;
2929: l_complete_config_flag varchar2(5);
2930: l_valid_config_flag varchar2(5);
2931: l_servlet_url varchar2(2000);
2947:
2948: -- Standard Start of API savepoint
2949: SAVEPOINT ADDITEMSTOCART_pvt;
2950: -- Standard call to check for call compatibility.
2951: IF NOT FND_API.Compatible_API_Call (l_api_version,
2952: P_Api_Version_Number,
2953: l_api_name,
2954: G_PKG_NAME )
2955: THEN
2952: P_Api_Version_Number,
2953: l_api_name,
2954: G_PKG_NAME )
2955: THEN
2956: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2957: END IF;
2958: -- Initialize message list if p_init_msg_list is set to TRUE.
2959: IF FND_API.To_Boolean( p_init_msg_list ) THEN
2960: FND_Msg_Pub.initialize;
2955: THEN
2956: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2957: END IF;
2958: -- Initialize message list if p_init_msg_list is set to TRUE.
2959: IF FND_API.To_Boolean( p_init_msg_list ) THEN
2960: FND_Msg_Pub.initialize;
2961: END IF;
2962:
2963: -- Initialize API return status to success
2960: FND_Msg_Pub.initialize;
2961: END IF;
2962:
2963: -- Initialize API return status to success
2964: x_return_status := FND_API.G_RET_STS_SUCCESS;
2965: -- API body
2966:
2967: -- User Authentication
2968: IBE_Quote_Misc_pvt.Validate_User_Update
2970: ,p_quote_header_id => p_Qte_Header_Rec.quote_header_id
2971: ,p_party_id => p_Qte_Header_Rec.party_id
2972: ,p_cust_account_id => p_Qte_Header_Rec.cust_account_id
2973: ,p_quote_retrieval_number => p_sharee_Number
2974: ,p_validate_user => FND_API.G_TRUE
2975: ,P_save_type => P_save_flag
2976: ,p_last_update_date => p_Qte_Header_Rec.last_update_date
2977: ,x_return_status => x_return_status
2978: ,x_msg_count => lx_msg_count
2978: ,x_msg_count => lx_msg_count
2979: ,x_msg_data => lx_msg_data
2980: );
2981:
2982: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2983: RAISE FND_API.G_EXC_ERROR;
2984: END IF;
2985:
2986: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2979: ,x_msg_data => lx_msg_data
2980: );
2981:
2982: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2983: RAISE FND_API.G_EXC_ERROR;
2984: END IF;
2985:
2986: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2987: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2982: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2983: RAISE FND_API.G_EXC_ERROR;
2984: END IF;
2985:
2986: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2987: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2988: END IF;
2989:
2990: /*Check whether we have any model bundles or not*/
2983: RAISE FND_API.G_EXC_ERROR;
2984: END IF;
2985:
2986: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2987: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2988: END IF;
2989:
2990: /*Check whether we have any model bundles or not*/
2991: if (p_ql_line_codes is not null) then
3009: -- as we will have no subsequent call to aso to price
3010: l_control_rec := p_control_rec;
3011: else
3012: /*Turn off the control record values here to avoid pricing until the last bundle loop*/
3013: l_control_rec.pricing_request_type := fnd_api.g_miss_char;
3014: l_control_rec.header_pricing_event := fnd_api.g_miss_char;
3015: l_control_rec.line_pricing_event := fnd_api.g_miss_char;
3016: l_control_rec.Calculate_tax_flag := 'N';
3017: l_control_rec.Calculate_freight_charge_flag := 'N';
3010: l_control_rec := p_control_rec;
3011: else
3012: /*Turn off the control record values here to avoid pricing until the last bundle loop*/
3013: l_control_rec.pricing_request_type := fnd_api.g_miss_char;
3014: l_control_rec.header_pricing_event := fnd_api.g_miss_char;
3015: l_control_rec.line_pricing_event := fnd_api.g_miss_char;
3016: l_control_rec.Calculate_tax_flag := 'N';
3017: l_control_rec.Calculate_freight_charge_flag := 'N';
3018: end if;
3011: else
3012: /*Turn off the control record values here to avoid pricing until the last bundle loop*/
3013: l_control_rec.pricing_request_type := fnd_api.g_miss_char;
3014: l_control_rec.header_pricing_event := fnd_api.g_miss_char;
3015: l_control_rec.line_pricing_event := fnd_api.g_miss_char;
3016: l_control_rec.Calculate_tax_flag := 'N';
3017: l_control_rec.Calculate_freight_charge_flag := 'N';
3018: end if;
3019: -- Compulsory call to AddItemsToCart_orig - this call will take care of all
3063: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3064: IBE_Util.Debug('End IBE_Quote_Save_pvt.AddItemsToCart_orig() : ' || x_return_status);
3065: END IF;
3066:
3067: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3068: RAISE FND_API.G_EXC_ERROR;
3069: END IF;
3070:
3071: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3064: IBE_Util.Debug('End IBE_Quote_Save_pvt.AddItemsToCart_orig() : ' || x_return_status);
3065: END IF;
3066:
3067: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3068: RAISE FND_API.G_EXC_ERROR;
3069: END IF;
3070:
3071: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3072: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3067: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3068: RAISE FND_API.G_EXC_ERROR;
3069: END IF;
3070:
3071: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3072: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3073: END IF;
3074:
3075: if (l_number_of_bundles > 0) then
3068: RAISE FND_API.G_EXC_ERROR;
3069: END IF;
3070:
3071: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3072: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3073: END IF;
3074:
3075: if (l_number_of_bundles > 0) then
3076: l_bundle_counter := 0;
3126: FND_Message.Set_Name('IBE','IBE_DSP_GENERIC_ERROR_TXT');
3127: FND_Message.Set_Token('IBE_DSP_GENERIC_ERROR_TXT',lx_xml_from_validate);
3128: FND_Msg_Pub.Add;
3129: END IF;
3130: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3131: END IF;
3132:
3133:
3134: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3171: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3172: IBE_Util.Debug('End ASO_CFG_PUB.get_config_details : ' || x_return_status);
3173: END IF;
3174:
3175: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3176: RAISE FND_API.G_EXC_ERROR;
3177: END IF;
3178:
3179: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3172: IBE_Util.Debug('End ASO_CFG_PUB.get_config_details : ' || x_return_status);
3173: END IF;
3174:
3175: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3176: RAISE FND_API.G_EXC_ERROR;
3177: END IF;
3178:
3179: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3180: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3175: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3176: RAISE FND_API.G_EXC_ERROR;
3177: END IF;
3178:
3179: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3180: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3181: END IF;
3182: end if; -- end if bundle
3183: end loop; -- end bundle loop over line records from the 1st call to add models
3176: RAISE FND_API.G_EXC_ERROR;
3177: END IF;
3178:
3179: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3180: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3181: END IF;
3182: end if; -- end if bundle
3183: end loop; -- end bundle loop over line records from the 1st call to add models
3184: end if; -- end if l_have_bundle_Flag = true
3186: IBE_Util.Debug('End IBE_Quote_Save_pvt.AddItemsToCart() (new one)');
3187: END IF;
3188:
3189: EXCEPTION
3190: WHEN FND_API.G_EXC_ERROR THEN
3191: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3192: IBE_Util.Debug('Expected error: IBE_Quote_Save_pvt.AddItemsToCart() (new one)');
3193: END IF;
3194:
3192: IBE_Util.Debug('Expected error: IBE_Quote_Save_pvt.AddItemsToCart() (new one)');
3193: END IF;
3194:
3195: ROLLBACK TO ADDITEMSTOCART_pvt;
3196: x_return_status := FND_API.G_RET_STS_ERROR;
3197: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
3198: p_count => x_msg_count ,
3199: p_data => x_msg_data);
3200:
3193: END IF;
3194:
3195: ROLLBACK TO ADDITEMSTOCART_pvt;
3196: x_return_status := FND_API.G_RET_STS_ERROR;
3197: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
3198: p_count => x_msg_count ,
3199: p_data => x_msg_data);
3200:
3201: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3197: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
3198: p_count => x_msg_count ,
3199: p_data => x_msg_data);
3200:
3201: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3202: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3203: IBE_Util.Debug('Unexpected error: IBE_Quote_Save_pvt.AddItemsToCart() (new one)');
3204: END IF;
3205: ROLLBACK TO ADDITEMSTOCART_pvt;
3202: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3203: IBE_Util.Debug('Unexpected error: IBE_Quote_Save_pvt.AddItemsToCart() (new one)');
3204: END IF;
3205: ROLLBACK TO ADDITEMSTOCART_pvt;
3206: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3207: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
3208: p_count => x_msg_count ,
3209: p_data => x_msg_data);
3210:
3203: IBE_Util.Debug('Unexpected error: IBE_Quote_Save_pvt.AddItemsToCart() (new one)');
3204: END IF;
3205: ROLLBACK TO ADDITEMSTOCART_pvt;
3206: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3207: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
3208: p_count => x_msg_count ,
3209: p_data => x_msg_data);
3210:
3211: WHEN OTHERS THEN
3212: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3213: IBE_Util.Debug('Unknown error: IBE_Quote_Save_pvt.AddItemsToCart) (new one)');
3214: END IF;
3215: ROLLBACK TO ADDITEMSTOCART_pvt;
3216: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3217: IF FND_Msg_Pub.Check_Msg_Level(FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
3218: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
3219: l_api_name);
3220: END IF;
3217: IF FND_Msg_Pub.Check_Msg_Level(FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
3218: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
3219: l_api_name);
3220: END IF;
3221: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
3222: p_count => x_msg_count ,
3223: p_data => x_msg_data);
3224: END AddItemsToCart;
3225:
3241: and quote_line_id = p_quote_line_id;
3242:
3243: rec_term_pricelist c_term_pricelist%rowtype;
3244: rec_payment_id c_payment_id%rowtype;
3245: l_price_list_id number := fnd_api.g_miss_num;
3246: l_term_id number := fnd_api.g_miss_num;
3247: l_payment_id number := fnd_api.g_miss_num;
3248:
3249: l_ql_loop_counter number := 1; /* Loop counter for Quote line table*/
3242:
3243: rec_term_pricelist c_term_pricelist%rowtype;
3244: rec_payment_id c_payment_id%rowtype;
3245: l_price_list_id number := fnd_api.g_miss_num;
3246: l_term_id number := fnd_api.g_miss_num;
3247: l_payment_id number := fnd_api.g_miss_num;
3248:
3249: l_ql_loop_counter number := 1; /* Loop counter for Quote line table*/
3250: l_pmt_loop_counter number := 1; /* Loop counter for input payment table*/
3243: rec_term_pricelist c_term_pricelist%rowtype;
3244: rec_payment_id c_payment_id%rowtype;
3245: l_price_list_id number := fnd_api.g_miss_num;
3246: l_term_id number := fnd_api.g_miss_num;
3247: l_payment_id number := fnd_api.g_miss_num;
3248:
3249: l_ql_loop_counter number := 1; /* Loop counter for Quote line table*/
3250: l_pmt_loop_counter number := 1; /* Loop counter for input payment table*/
3251: l_pmt_rec_counter number := 1; /* Loop counter for new payment table*/
3250: l_pmt_loop_counter number := 1; /* Loop counter for input payment table*/
3251: l_pmt_rec_counter number := 1; /* Loop counter for new payment table*/
3252: l_ln_payment_tbl ASO_Quote_Pub.Payment_Tbl_Type;
3253: l_qte_line_tbl ASO_Quote_Pub.Qte_Line_Tbl_Type;
3254: l_found_input_rec varchar2(5) := FND_API.G_FALSE;
3255:
3256: begin
3257:
3258: l_Qte_Line_Tbl := p_qte_line_tbl;
3276: ibe_util.debug('Agreement Id detected is : '||l_qte_line_tbl(l_ql_loop_counter).agreement_id);
3277: END IF;
3278:
3279: if ((l_qte_line_tbl(l_ql_loop_counter).agreement_id is not null)
3280: and (l_qte_line_tbl(l_ql_loop_counter).agreement_id <> fnd_api.g_miss_num)) then
3281: --if the agreement id has a value in the quote_line_tbl
3282: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3283: ibe_util.debug('Non Empty agreement value');
3284: END IF;
3302: END IF;
3303:
3304: -- this if goes to the end of the loop since we have no continue operator
3305: if ((l_qte_line_tbl(l_ql_loop_counter).agreement_id is null) or
3306: (l_qte_line_tbl(l_ql_loop_counter).agreement_id <> fnd_api.g_miss_num)) then
3307:
3308: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3309: ibe_util.debug('Processing agreement id info - either null or number');
3310: END IF;
3314: -- now deal with payment term id -
3315: /*Check for the presence of the payment record in the database(aso_payments),
3316: if the record is present then operation code in the l_ln_payment_tbl= 'UPDATE'
3317: else it is 'CREATE'*/
3318: l_payment_id := fnd_api.g_miss_num;
3319: for rec_payment_id in c_payment_id( l_qte_line_tbl(l_ql_loop_counter).quote_header_id,
3320: l_qte_line_tbl(l_ql_loop_counter).quote_line_id) loop
3321: l_payment_id := rec_payment_id.payment_id;
3322: exit when c_payment_id%notfound;
3325: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3326: ibe_util.debug('l_payment_id : '||l_payment_id );
3327: END IF;
3328: -- prep the current payment record
3329: l_found_input_rec := FND_API.G_FALSE;
3330: if (p_ln_payment_tbl.count > 0 ) then
3331: --loop through the payment table to identify the right qte_header_id and qte_line_id as in the line_record
3332: for l_pmt_loop_counter in 1..p_ln_payment_tbl.count loop
3333: if((p_ln_payment_tbl(l_pmt_loop_counter).quote_header_id = l_qte_line_tbl(l_ql_loop_counter).quote_header_id)
3334: and (p_ln_payment_tbl(l_pmt_loop_counter).quote_line_id = l_qte_line_tbl(l_ql_loop_counter).quote_line_id)) then
3335: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3336: ibe_util.debug('Found a passed in payment record.');
3337: END IF;
3338: l_found_input_rec := FND_API.G_TRUE;
3339: l_ln_payment_tbl(l_pmt_rec_counter) := p_ln_payment_tbl(l_pmt_loop_counter);
3340: l_ln_payment_tbl(l_pmt_rec_counter).payment_term_id := l_term_id;
3341: l_pmt_rec_counter := l_pmt_rec_counter + 1; --increment the payment table record counter
3342: end if;
3342: end if;
3343: end loop;
3344: end if;
3345:
3346: if ((l_found_input_rec = FND_API.G_FALSE) or
3347: (l_ln_payment_tbl(l_pmt_rec_counter).operation_code <> 'DELETE')) then
3348: if (l_payment_id <> fnd_api.g_miss_num ) then
3349: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3350: ibe_util.debug('Operation code is UPDATE');
3344: end if;
3345:
3346: if ((l_found_input_rec = FND_API.G_FALSE) or
3347: (l_ln_payment_tbl(l_pmt_rec_counter).operation_code <> 'DELETE')) then
3348: if (l_payment_id <> fnd_api.g_miss_num ) then
3349: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3350: ibe_util.debug('Operation code is UPDATE');
3351: END IF;
3352: l_ln_payment_tbl(l_pmt_rec_counter).operation_code := 'UPDATE';
3355: l_ln_payment_tbl(l_pmt_rec_counter).quote_line_id := l_qte_line_tbl(l_ql_loop_counter).quote_line_id;
3356: l_ln_payment_tbl(l_pmt_rec_counter).payment_term_id := l_term_id;
3357: l_pmt_rec_counter := l_pmt_rec_counter + 1; --increment the payment table record counter
3358: else
3359: if ((l_term_id is not null) and (l_term_id <> fnd_api.g_miss_num)) then
3360: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3361: ibe_util.debug('Operation code is CREATE');
3362: END IF;
3363: l_ln_payment_tbl(l_pmt_rec_counter).operation_code := 'CREATE';
3402: active carts and saved carts respectively.*/
3403:
3404: procedure GET_QUOTE_EXPIRATION_DATE(
3405: p_api_version IN NUMBER := 1.0 ,
3406: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE ,
3407: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
3408: x_return_status OUT NOCOPY VARCHAR2 ,
3409: x_msg_count OUT NOCOPY NUMBER ,
3410: x_msg_data OUT NOCOPY VARCHAR2 ,
3403:
3404: procedure GET_QUOTE_EXPIRATION_DATE(
3405: p_api_version IN NUMBER := 1.0 ,
3406: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE ,
3407: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
3408: x_return_status OUT NOCOPY VARCHAR2 ,
3409: x_msg_count OUT NOCOPY NUMBER ,
3410: x_msg_data OUT NOCOPY VARCHAR2 ,
3411: p_quote_header_rec IN aso_quote_pub.qte_header_rec_type ,
3421: l_api_version NUMBER := 1.0;
3422: Rec_check_resource_name c_check_resource_name%rowtype;
3423: L_db_resource_id number:= null;
3424: L_cart_name varchar2(2000);
3425: L_profile_value number:= fnd_api.g_miss_num;
3426: L_expiration_date date:= fnd_api.g_miss_date;
3427:
3428: Begin
3429:
3422: Rec_check_resource_name c_check_resource_name%rowtype;
3423: L_db_resource_id number:= null;
3424: L_cart_name varchar2(2000);
3425: L_profile_value number:= fnd_api.g_miss_num;
3426: L_expiration_date date:= fnd_api.g_miss_date;
3427:
3428: Begin
3429:
3430: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3434: -- Standard Start of API savepoint
3435: SAVEPOINT Get_quote_exp_date_pvt;
3436:
3437: -- Standard call to check for call compatibility.
3438: IF NOT FND_API.Compatible_API_Call(L_API_VERSION,
3439: p_api_version,
3440: L_API_NAME ,
3441: G_PKG_NAME )
3442: THEN
3439: p_api_version,
3440: L_API_NAME ,
3441: G_PKG_NAME )
3442: THEN
3443: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3444: END IF;
3445:
3446: -- Initialize message list if p_init_msg_list is set to TRUE.
3447: IF FND_API.To_Boolean(p_init_msg_list) THEN
3443: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3444: END IF;
3445:
3446: -- Initialize message list if p_init_msg_list is set to TRUE.
3447: IF FND_API.To_Boolean(p_init_msg_list) THEN
3448: FND_Msg_Pub.initialize;
3449: END IF;
3450:
3451: -- Initialize API return status to success
3448: FND_Msg_Pub.initialize;
3449: END IF;
3450:
3451: -- Initialize API return status to success
3452: x_return_status := FND_API.G_RET_STS_SUCCESS;
3453:
3454: --API Body
3455: x_expiration_date := fnd_api.g_miss_date;
3456: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3451: -- Initialize API return status to success
3452: x_return_status := FND_API.G_RET_STS_SUCCESS;
3453:
3454: --API Body
3455: x_expiration_date := fnd_api.g_miss_date;
3456: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3457: IBE_UTIL.debug('Incoming quote name into get_quote_exp_date is '||p_quote_header_rec.quote_name);
3458: END IF;
3459: --If no resource id in the quote header rec then check for one in the database
3456: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3457: IBE_UTIL.debug('Incoming quote name into get_quote_exp_date is '||p_quote_header_rec.quote_name);
3458: END IF;
3459: --If no resource id in the quote header rec then check for one in the database
3460: If p_quote_header_rec.resource_id = fnd_api.g_miss_num then
3461: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3462: IBE_UTIL.debug('No resource id in the incoming quote_header_rec');
3463: END IF;
3464:
3470: If (l_db_resource_id is null) then
3471: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3472: IBE_UTIL.debug('No resource id in the database for the given qte_hdr_id');
3473: END IF;
3474: If (((p_quote_header_rec.quote_name <> fnd_api.g_miss_char)
3475: and(p_quote_header_rec.quote_name is not null)
3476: and (p_quote_header_rec.quote_name<>'IBE_PRMT_SC_UNNAMED') --MANNAMRA: 16/09/02:Changed IBEACTIVECART to IBE_PRMT_SC_UNNAMED
3477: /* and(l_cart_name<> 'IBEACTIVECART') */
3478: )
3475: and(p_quote_header_rec.quote_name is not null)
3476: and (p_quote_header_rec.quote_name<>'IBE_PRMT_SC_UNNAMED') --MANNAMRA: 16/09/02:Changed IBEACTIVECART to IBE_PRMT_SC_UNNAMED
3477: /* and(l_cart_name<> 'IBEACTIVECART') */
3478: )
3479: or((p_quote_header_rec.quote_name = fnd_api.g_miss_char)
3480: and (l_cart_name is not null)
3481: and (l_cart_name <>'IBE_PRMT_SC_UNNAMED'))) then --MANNAMRA: 16/09/02:Changed IBEACTIVECART to IBE_PRMT_SC_UNNAMED
3482: L_profile_value := FND_Profile.Value('IBE_EXP_SAVE_CART');
3483: Else
3483: Else
3484: L_profile_value := FND_Profile.Value('IBE_EXP_ACTIVE_CART');
3485: End If;
3486:
3487: /*If((p_quote_header_rec.quote_name <> fnd_api.g_miss_char
3488: and p_quote_header_rec.quote_name <> 'IBEACTIVECART' )) then
3489: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3490: IBE_UTIL.debug('Using the IBE_EXP_SAVE_CART profile value');
3491: END IF;
3505: End if;
3506: End if;
3507:
3508: -- Standard check of p_commit.
3509: IF FND_API.To_Boolean(p_commit) THEN
3510: COMMIT WORK;
3511: END IF;
3512:
3513: -- Standard call to get message count and if count is 1, get message info.
3510: COMMIT WORK;
3511: END IF;
3512:
3513: -- Standard call to get message count and if count is 1, get message info.
3514: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
3515: p_count => x_msg_count ,
3516: p_data => x_msg_data);
3517:
3518: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3518: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3519: ibe_util.debug('End IBE_Quote_Save_pvt.GET_QUOTE_EXPIRATION_DATE()');
3520: END IF;
3521: EXCEPTION
3522: WHEN FND_API.G_EXC_ERROR THEN
3523: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3524: IBE_Util.Debug('Expected error: IBE_Quote_Save_pvt.Get_quote_expiration_date');
3525: END IF;
3526:
3524: IBE_Util.Debug('Expected error: IBE_Quote_Save_pvt.Get_quote_expiration_date');
3525: END IF;
3526:
3527: ROLLBACK TO Get_quote_exp_date_pvt;
3528: x_return_status := FND_API.G_RET_STS_ERROR;
3529: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
3530: p_count => x_msg_count ,
3531: p_data => x_msg_data);
3532: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3525: END IF;
3526:
3527: ROLLBACK TO Get_quote_exp_date_pvt;
3528: x_return_status := FND_API.G_RET_STS_ERROR;
3529: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
3530: p_count => x_msg_count ,
3531: p_data => x_msg_data);
3532: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3533: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3528: x_return_status := FND_API.G_RET_STS_ERROR;
3529: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
3530: p_count => x_msg_count ,
3531: p_data => x_msg_data);
3532: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3533: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3534: IBE_Util.Debug('Unexpected error: IBE_Quote_Save_pvt.Get_quote_expiration_date');
3535: END IF;
3536:
3534: IBE_Util.Debug('Unexpected error: IBE_Quote_Save_pvt.Get_quote_expiration_date');
3535: END IF;
3536:
3537: ROLLBACK TO Get_quote_exp_date_pvt;
3538: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3539: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
3540: p_count => x_msg_count ,
3541: p_data => x_msg_data);
3542: WHEN OTHERS THEN
3535: END IF;
3536:
3537: ROLLBACK TO Get_quote_exp_date_pvt;
3538: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3539: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
3540: p_count => x_msg_count ,
3541: p_data => x_msg_data);
3542: WHEN OTHERS THEN
3543: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3544: IBE_Util.Debug('Unknown error: IBE_Quote_Save_pvt.Get_quote_expiration_date');
3545: END IF;
3546:
3547: ROLLBACK TO Get_quote_exp_date_pvt;
3548: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3549: IF FND_Msg_Pub.Check_Msg_Level( FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR ) THEN
3550: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
3551: L_API_NAME);
3552: END IF;
3550: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
3551: L_API_NAME);
3552: END IF;
3553:
3554: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
3555: p_count => x_msg_count ,
3556: p_data => x_msg_data);
3557: End Get_Quote_expiration_date;
3558:
3557: End Get_Quote_expiration_date;
3558:
3559: procedure request_for_sales_assistance (
3560: P_Api_Version IN NUMBER ,
3561: p_Init_Msg_List IN VARCHAR2:= FND_API.G_FALSE ,
3562: p_Commit IN VARCHAR2:= FND_API.G_FALSE ,
3563: x_return_status OUT NOCOPY VARCHAR2 ,
3564: x_msg_count OUT NOCOPY NUMBER ,
3565: x_msg_data OUT NOCOPY VARCHAR2 ,
3558:
3559: procedure request_for_sales_assistance (
3560: P_Api_Version IN NUMBER ,
3561: p_Init_Msg_List IN VARCHAR2:= FND_API.G_FALSE ,
3562: p_Commit IN VARCHAR2:= FND_API.G_FALSE ,
3563: x_return_status OUT NOCOPY VARCHAR2 ,
3564: x_msg_count OUT NOCOPY NUMBER ,
3565: x_msg_data OUT NOCOPY VARCHAR2 ,
3566: x_last_update_date OUT NOCOPY Date ,
3565: x_msg_data OUT NOCOPY VARCHAR2 ,
3566: x_last_update_date OUT NOCOPY Date ,
3567: p_minisite_id IN NUMBER ,
3568: p_last_update_date IN Date ,
3569: p_quote_header_id IN NUMBER:= FND_API.G_MISS_NUM,
3570: p_party_id IN NUMBER:= FND_API.G_MISS_NUM,
3571: p_cust_account_id IN NUMBER:= FND_API.G_MISS_NUM,
3572: p_validate_user IN VARCHAR2:= FND_API.G_FALSE ,
3573: P_quote_name IN VARCHAR2 ,
3566: x_last_update_date OUT NOCOPY Date ,
3567: p_minisite_id IN NUMBER ,
3568: p_last_update_date IN Date ,
3569: p_quote_header_id IN NUMBER:= FND_API.G_MISS_NUM,
3570: p_party_id IN NUMBER:= FND_API.G_MISS_NUM,
3571: p_cust_account_id IN NUMBER:= FND_API.G_MISS_NUM,
3572: p_validate_user IN VARCHAR2:= FND_API.G_FALSE ,
3573: P_quote_name IN VARCHAR2 ,
3574: P_Reason_code IN VARCHAR2 ,
3567: p_minisite_id IN NUMBER ,
3568: p_last_update_date IN Date ,
3569: p_quote_header_id IN NUMBER:= FND_API.G_MISS_NUM,
3570: p_party_id IN NUMBER:= FND_API.G_MISS_NUM,
3571: p_cust_account_id IN NUMBER:= FND_API.G_MISS_NUM,
3572: p_validate_user IN VARCHAR2:= FND_API.G_FALSE ,
3573: P_quote_name IN VARCHAR2 ,
3574: P_Reason_code IN VARCHAR2 ,
3575: P_url IN VARCHAR2:= FND_API.G_MISS_CHAR,
3568: p_last_update_date IN Date ,
3569: p_quote_header_id IN NUMBER:= FND_API.G_MISS_NUM,
3570: p_party_id IN NUMBER:= FND_API.G_MISS_NUM,
3571: p_cust_account_id IN NUMBER:= FND_API.G_MISS_NUM,
3572: p_validate_user IN VARCHAR2:= FND_API.G_FALSE ,
3573: P_quote_name IN VARCHAR2 ,
3574: P_Reason_code IN VARCHAR2 ,
3575: P_url IN VARCHAR2:= FND_API.G_MISS_CHAR,
3576: P_COMMENTS IN VARCHAR2,
3571: p_cust_account_id IN NUMBER:= FND_API.G_MISS_NUM,
3572: p_validate_user IN VARCHAR2:= FND_API.G_FALSE ,
3573: P_quote_name IN VARCHAR2 ,
3574: P_Reason_code IN VARCHAR2 ,
3575: P_url IN VARCHAR2:= FND_API.G_MISS_CHAR,
3576: P_COMMENTS IN VARCHAR2,
3577: p_retrieval_number IN NUMBER := FND_API.G_MISS_NUM,
3578: p_contract_context IN VARCHAR2 :='N',
3579: p_notes IN VARCHAR2 := NULL) is
3573: P_quote_name IN VARCHAR2 ,
3574: P_Reason_code IN VARCHAR2 ,
3575: P_url IN VARCHAR2:= FND_API.G_MISS_CHAR,
3576: P_COMMENTS IN VARCHAR2,
3577: p_retrieval_number IN NUMBER := FND_API.G_MISS_NUM,
3578: p_contract_context IN VARCHAR2 :='N',
3579: p_notes IN VARCHAR2 := NULL) is
3580:
3581: Cursor c_find_resourceid(qte_hdr_id number) is
3619: l_api_version NUMBER := 1.0;
3620:
3621:
3622: l_salesrep_id VARCHAR2(50);
3623: L_resource_id Number := fnd_api.g_miss_num;
3624: l_salesrep_user_id Number := fnd_api.g_miss_num;
3625: l_salesrep_user_name Varchar2(100) :=fnd_api.g_miss_char;
3626: L_qte_hdr_rec ASO_Quote_Pub.Qte_Header_Rec_Type
3627: := ASO_Quote_Pub.G_MISS_Qte_Header_Rec;
3620:
3621:
3622: l_salesrep_id VARCHAR2(50);
3623: L_resource_id Number := fnd_api.g_miss_num;
3624: l_salesrep_user_id Number := fnd_api.g_miss_num;
3625: l_salesrep_user_name Varchar2(100) :=fnd_api.g_miss_char;
3626: L_qte_hdr_rec ASO_Quote_Pub.Qte_Header_Rec_Type
3627: := ASO_Quote_Pub.G_MISS_Qte_Header_Rec;
3628: l_status_id number;
3621:
3622: l_salesrep_id VARCHAR2(50);
3623: L_resource_id Number := fnd_api.g_miss_num;
3624: l_salesrep_user_id Number := fnd_api.g_miss_num;
3625: l_salesrep_user_name Varchar2(100) :=fnd_api.g_miss_char;
3626: L_qte_hdr_rec ASO_Quote_Pub.Qte_Header_Rec_Type
3627: := ASO_Quote_Pub.G_MISS_Qte_Header_Rec;
3628: l_status_id number;
3629: lx_quote_header_id number;
3655: -- Standard Start of API savepoint
3656: SAVEPOINT Req_for_sales_asst_pvt;
3657:
3658: -- Standard call to check for call compatibility.
3659: IF NOT FND_API.Compatible_API_Call(L_API_VERSION,
3660: p_api_version,
3661: L_API_NAME ,
3662: G_PKG_NAME )
3663: THEN
3660: p_api_version,
3661: L_API_NAME ,
3662: G_PKG_NAME )
3663: THEN
3664: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3665: END IF;
3666:
3667: -- Initialize message list if p_init_msg_list is set to TRUE.
3668: IF FND_API.To_Boolean(p_init_msg_list) THEN
3664: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3665: END IF;
3666:
3667: -- Initialize message list if p_init_msg_list is set to TRUE.
3668: IF FND_API.To_Boolean(p_init_msg_list) THEN
3669: FND_Msg_Pub.initialize;
3670: END IF;
3671: -- Initialize API return status to success
3672: x_return_status := FND_API.G_RET_STS_SUCCESS;
3668: IF FND_API.To_Boolean(p_init_msg_list) THEN
3669: FND_Msg_Pub.initialize;
3670: END IF;
3671: -- Initialize API return status to success
3672: x_return_status := FND_API.G_RET_STS_SUCCESS;
3673:
3674: --API Body
3675: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3676: IBE_UTIL.DEBUG('REQUEST_FOR_SALES_ASSISTANCE: Before Calling log_environment_info');
3693: ,x_return_status => lx_return_status
3694: ,x_msg_count => lx_msg_count
3695: ,x_msg_data => lx_msg_data
3696: );
3697: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
3698: RAISE FND_API.G_EXC_ERROR;
3699: END IF;
3700: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3701: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3694: ,x_msg_count => lx_msg_count
3695: ,x_msg_data => lx_msg_data
3696: );
3697: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
3698: RAISE FND_API.G_EXC_ERROR;
3699: END IF;
3700: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3701: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3702: END IF;
3696: );
3697: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
3698: RAISE FND_API.G_EXC_ERROR;
3699: END IF;
3700: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3701: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3702: END IF;
3703: --obtaining the resource id from the database
3704: For rec_find_resourceid in c_find_resourceid(p_quote_header_id) loop
3697: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
3698: RAISE FND_API.G_EXC_ERROR;
3699: END IF;
3700: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3701: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3702: END IF;
3703: --obtaining the resource id from the database
3704: For rec_find_resourceid in c_find_resourceid(p_quote_header_id) loop
3705: l_resource_id := rec_find_resourceid.resource_id ;
3785: IBE_UTIL.debug('Calling Save in request_for_sales_assist()');
3786: END IF;
3787: ibe_quote_save_pvt.save(
3788: p_api_version_number => 1.0 ,
3789: p_init_msg_list => FND_API.G_FALSE ,
3790: p_commit => FND_API.G_FALSE ,
3791: p_qte_header_rec => L_qte_hdr_rec ,
3792: p_save_type => SALES_ASSISTANCE ,
3793: p_sharee_Number => p_retrieval_number ,
3786: END IF;
3787: ibe_quote_save_pvt.save(
3788: p_api_version_number => 1.0 ,
3789: p_init_msg_list => FND_API.G_FALSE ,
3790: p_commit => FND_API.G_FALSE ,
3791: p_qte_header_rec => L_qte_hdr_rec ,
3792: p_save_type => SALES_ASSISTANCE ,
3793: p_sharee_Number => p_retrieval_number ,
3794: x_quote_header_id => lx_quote_header_id ,
3795: x_last_update_date => lx_last_update_date ,
3796: x_return_status => lx_return_status ,
3797: x_msg_count => lx_msg_count ,
3798: x_msg_data => lx_msg_data);
3799: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
3800: RAISE FND_API.G_EXC_ERROR;
3801: END IF;
3802: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3803: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3796: x_return_status => lx_return_status ,
3797: x_msg_count => lx_msg_count ,
3798: x_msg_data => lx_msg_data);
3799: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
3800: RAISE FND_API.G_EXC_ERROR;
3801: END IF;
3802: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3803: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3804: END IF;
3798: x_msg_data => lx_msg_data);
3799: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
3800: RAISE FND_API.G_EXC_ERROR;
3801: END IF;
3802: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3803: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3804: END IF;
3805: -- For the bug, 3014723, retrieve the resource_id from aso_quote_headers, instead of using the cached profile value.
3806: For rec_find_resourceid in c_find_resourceid(p_quote_header_id) loop
3799: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
3800: RAISE FND_API.G_EXC_ERROR;
3801: END IF;
3802: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3803: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3804: END IF;
3805: -- For the bug, 3014723, retrieve the resource_id from aso_quote_headers, instead of using the cached profile value.
3806: For rec_find_resourceid in c_find_resourceid(p_quote_header_id) loop
3807: l_resource_id := rec_find_resourceid.resource_id ;
3850: IF (l_contract_template_id is not null) THEN
3851:
3852: OKC_TERMS_UTIL_GRP.get_Translated_template(
3853: p_api_version => 1.0,
3854: p_init_msg_list => FND_API.g_false,
3855: p_template_id => l_contract_template_id,
3856: p_language => userenv('LANG'),
3857: p_document_type => 'QUOTE',
3858: --this variable will have the translated template ID
3859: x_template_id => l_trans_Contract_template_id,
3860: x_return_status => x_return_status,
3861: x_msg_count => x_msg_count,
3862: x_msg_data => x_msg_data ) ;
3863: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3864: RAISE FND_API.G_EXC_ERROR;
3865: END IF;
3866: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3867: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3860: x_return_status => x_return_status,
3861: x_msg_count => x_msg_count,
3862: x_msg_data => x_msg_data ) ;
3863: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3864: RAISE FND_API.G_EXC_ERROR;
3865: END IF;
3866: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3867: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3868: END IF;
3862: x_msg_data => x_msg_data ) ;
3863: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3864: RAISE FND_API.G_EXC_ERROR;
3865: END IF;
3866: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3867: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3868: END IF;
3869:
3870: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3863: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3864: RAISE FND_API.G_EXC_ERROR;
3865: END IF;
3866: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3867: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3868: END IF;
3869:
3870: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3871: IBE_UTIL.debug('l_trans_Contract_templ_id = '||l_trans_Contract_template_id);
3883: IBE_UTIL.debug('calling OKC_XPRT_INT_GRP.get_contract_terms...');
3884: END IF;
3885: OKC_XPRT_INT_GRP.get_contract_terms(
3886: p_api_version => 1.0
3887: ,p_init_msg_list => FND_API.g_false
3888: ,P_document_type => 'QUOTE'
3889: ,P_document_id => p_quote_header_id
3890: ,P_template_id => l_trans_Contract_template_id
3891: ,P_called_from_UI => 'N'
3897:
3898: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3899: IBE_UTIL.debug('After OKC_XPRT_INT_GRP.get_contract_terms, return status = '||lx_return_status);
3900: END IF;
3901: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
3902: RAISE FND_API.G_EXC_ERROR;
3903: END IF;
3904: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3905: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3898: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3899: IBE_UTIL.debug('After OKC_XPRT_INT_GRP.get_contract_terms, return status = '||lx_return_status);
3900: END IF;
3901: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
3902: RAISE FND_API.G_EXC_ERROR;
3903: END IF;
3904: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3905: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3906: END IF;
3900: END IF;
3901: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
3902: RAISE FND_API.G_EXC_ERROR;
3903: END IF;
3904: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3905: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3906: END IF;
3907:
3908: END IF; -- IF(upper(l_quote_status) <> 'APPROVED')
3901: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
3902: RAISE FND_API.G_EXC_ERROR;
3903: END IF;
3904: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3905: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3906: END IF;
3907:
3908: END IF; -- IF(upper(l_quote_status) <> 'APPROVED')
3909: END IF; --IF (l_contract_template_id is not null) THEN
3920: p_quote_header_id => p_quote_header_id,
3921: P_minisite_id => p_minisite_id ,
3922: p_url => p_url ,
3923: p_api_version => 1.0 ,
3924: p_init_msg_list => FND_API.G_FALSE ,
3925: p_commit => FND_API.G_FALSE ,
3926: x_return_status => lx_return_status ,
3927: x_msg_count => lx_msg_count ,
3928: x_msg_data => lx_msg_data );
3921: P_minisite_id => p_minisite_id ,
3922: p_url => p_url ,
3923: p_api_version => 1.0 ,
3924: p_init_msg_list => FND_API.G_FALSE ,
3925: p_commit => FND_API.G_FALSE ,
3926: x_return_status => lx_return_status ,
3927: x_msg_count => lx_msg_count ,
3928: x_msg_data => lx_msg_data );
3929:
3926: x_return_status => lx_return_status ,
3927: x_msg_count => lx_msg_count ,
3928: x_msg_data => lx_msg_data );
3929:
3930: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
3931: RAISE FND_API.G_EXC_ERROR;
3932: END IF;
3933: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3934: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3927: x_msg_count => lx_msg_count ,
3928: x_msg_data => lx_msg_data );
3929:
3930: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
3931: RAISE FND_API.G_EXC_ERROR;
3932: END IF;
3933: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3934: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3935: END IF;
3929:
3930: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
3931: RAISE FND_API.G_EXC_ERROR;
3932: END IF;
3933: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3934: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3935: END IF;
3936: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3937: IBE_UTIL.DEBUG('Done calling share_readonly');
3930: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
3931: RAISE FND_API.G_EXC_ERROR;
3932: END IF;
3933: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3934: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3935: END IF;
3936: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3937: IBE_UTIL.DEBUG('Done calling share_readonly');
3938: END IF;
3944: P_Quote_header_id => p_quote_header_id,
3945: P_Party_id => p_party_id ,
3946: P_Cust_account_id => p_cust_account_id ,
3947: p_api_version => p_api_version ,
3948: p_init_msg_list => fnd_api.g_false ,
3949: p_commit => fnd_api.g_false ,
3950: x_return_status => lx_return_status ,
3951: x_msg_count => lx_msg_count ,
3952: x_msg_data => lx_msg_data );
3945: P_Party_id => p_party_id ,
3946: P_Cust_account_id => p_cust_account_id ,
3947: p_api_version => p_api_version ,
3948: p_init_msg_list => fnd_api.g_false ,
3949: p_commit => fnd_api.g_false ,
3950: x_return_status => lx_return_status ,
3951: x_msg_count => lx_msg_count ,
3952: x_msg_data => lx_msg_data );
3953: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
3949: p_commit => fnd_api.g_false ,
3950: x_return_status => lx_return_status ,
3951: x_msg_count => lx_msg_count ,
3952: x_msg_data => lx_msg_data );
3953: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
3954: RAISE FND_API.G_EXC_ERROR;
3955: END IF;
3956:
3957: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3950: x_return_status => lx_return_status ,
3951: x_msg_count => lx_msg_count ,
3952: x_msg_data => lx_msg_data );
3953: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
3954: RAISE FND_API.G_EXC_ERROR;
3955: END IF;
3956:
3957: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3958: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3953: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
3954: RAISE FND_API.G_EXC_ERROR;
3955: END IF;
3956:
3957: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3958: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3959: END IF;
3960: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3961: IBE_UTIL.DEBUG('RSA:Deactivate owner cart after sharing:Done');
3954: RAISE FND_API.G_EXC_ERROR;
3955: END IF;
3956:
3957: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3958: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3959: END IF;
3960: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3961: IBE_UTIL.DEBUG('RSA:Deactivate owner cart after sharing:Done');
3962: END IF;
3982: END IF;
3983: --Calling the workflow notification API. This API sends out an e-maiol each to the salesrep and the customer.
3984: IBE_WORKFLOW_pvt.NotifyForSalesAssistance(
3985: p_api_version => 1.0 ,
3986: p_init_msg_list => FND_API.G_FALSE ,
3987: p_quote_id => P_QUOTE_HEADER_ID ,
3988: p_customer_comments => P_COMMENTS ,
3989: p_salesrep_email_id => FND_API.G_MISS_CHAR ,
3990: p_salesrep_user_id => l_salesrep_user_id ,
3985: p_api_version => 1.0 ,
3986: p_init_msg_list => FND_API.G_FALSE ,
3987: p_quote_id => P_QUOTE_HEADER_ID ,
3988: p_customer_comments => P_COMMENTS ,
3989: p_salesrep_email_id => FND_API.G_MISS_CHAR ,
3990: p_salesrep_user_id => l_salesrep_user_id ,
3991: p_reason_code => P_Reason_code ,
3992: p_msite_id => p_minisite_id ,
3993: x_return_status => lx_return_status ,
3993: x_return_status => lx_return_status ,
3994: x_msg_count => lx_msg_count ,
3995: x_msg_data => lx_msg_data );
3996:
3997: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
3998: RAISE FND_API.G_EXC_ERROR;
3999: END IF;
4000: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4001: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3994: x_msg_count => lx_msg_count ,
3995: x_msg_data => lx_msg_data );
3996:
3997: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
3998: RAISE FND_API.G_EXC_ERROR;
3999: END IF;
4000: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4001: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4002: END IF;
3996:
3997: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
3998: RAISE FND_API.G_EXC_ERROR;
3999: END IF;
4000: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4001: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4002: END IF;
4003:
4004: --Bug 3204942 Start
3997: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
3998: RAISE FND_API.G_EXC_ERROR;
3999: END IF;
4000: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4001: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4002: END IF;
4003:
4004: --Bug 3204942 Start
4005: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
4018: p_note_status => 'I', --this is for note_status of Public
4019: x_jtf_note_id => lx_jtf_note_id,
4020: p_note_type => 'QOT_SALES_ASSIST' );
4021:
4022: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
4023: RAISE FND_API.G_EXC_ERROR;
4024: END IF;
4025: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4026: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4019: x_jtf_note_id => lx_jtf_note_id,
4020: p_note_type => 'QOT_SALES_ASSIST' );
4021:
4022: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
4023: RAISE FND_API.G_EXC_ERROR;
4024: END IF;
4025: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4026: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4027: END IF;
4021:
4022: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
4023: RAISE FND_API.G_EXC_ERROR;
4024: END IF;
4025: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4026: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4027: END IF;
4028: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
4029: IBE_UTIL.debug('After Calling the create_note API, note_id ='||lx_jtf_note_id);
4022: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
4023: RAISE FND_API.G_EXC_ERROR;
4024: END IF;
4025: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4026: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4027: END IF;
4028: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
4029: IBE_UTIL.debug('After Calling the create_note API, note_id ='||lx_jtf_note_id);
4030: END IF;
4031: END IF;
4032: --Bug 3204942 End
4033:
4034: -- Standard check of p_commit.
4035: IF FND_API.To_Boolean(p_commit) THEN
4036: COMMIT WORK;
4037: END IF;
4038:
4039: -- Standard call to get message count and if count is 1, get message info.
4036: COMMIT WORK;
4037: END IF;
4038:
4039: -- Standard call to get message count and if count is 1, get message info.
4040: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
4041: p_count => lx_msg_count ,
4042: p_data => lx_msg_data);
4043:
4044: EXCEPTION
4041: p_count => lx_msg_count ,
4042: p_data => lx_msg_data);
4043:
4044: EXCEPTION
4045: WHEN FND_API.G_EXC_ERROR THEN
4046: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
4047: IBE_Util.Debug('Expected error: IBE_Quote_Save_pvt.Request_for_sales_assistance');
4048: END IF;
4049:
4047: IBE_Util.Debug('Expected error: IBE_Quote_Save_pvt.Request_for_sales_assistance');
4048: END IF;
4049:
4050: ROLLBACK TO Req_for_sales_asst_pvt;
4051: x_return_status := FND_API.G_RET_STS_ERROR;
4052: Set_Last_Update_Date(p_quote_header_id, x_last_update_date);
4053: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
4054: p_count => lx_msg_count ,
4055: p_data => lx_msg_data);
4049:
4050: ROLLBACK TO Req_for_sales_asst_pvt;
4051: x_return_status := FND_API.G_RET_STS_ERROR;
4052: Set_Last_Update_Date(p_quote_header_id, x_last_update_date);
4053: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
4054: p_count => lx_msg_count ,
4055: p_data => lx_msg_data);
4056: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4057: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
4052: Set_Last_Update_Date(p_quote_header_id, x_last_update_date);
4053: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
4054: p_count => lx_msg_count ,
4055: p_data => lx_msg_data);
4056: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4057: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
4058: IBE_Util.Debug('Unexpected error: IBE_Quote_Save_pvt.Request_for_sales_assistance');
4059: END IF;
4060:
4058: IBE_Util.Debug('Unexpected error: IBE_Quote_Save_pvt.Request_for_sales_assistance');
4059: END IF;
4060:
4061: ROLLBACK TO Req_for_sales_asst_pvt;
4062: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4063: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
4064: p_count => lx_msg_count ,
4065: p_data => lx_msg_data);
4066: WHEN OTHERS THEN
4059: END IF;
4060:
4061: ROLLBACK TO Req_for_sales_asst_pvt;
4062: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4063: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
4064: p_count => lx_msg_count ,
4065: p_data => lx_msg_data);
4066: WHEN OTHERS THEN
4067: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
4068: IBE_Util.Debug('Unknown error: IBE_Quote_Save_pvt.Request_for_sales_assistance');
4069: END IF;
4070:
4071: ROLLBACK TO Req_for_sales_asst_pvt;
4072: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4073: Set_Last_Update_Date(p_quote_header_id, x_last_update_date);
4074: IF FND_Msg_Pub.Check_Msg_Level( FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR ) THEN
4075: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
4076: L_API_NAME);
4075: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
4076: L_API_NAME);
4077: END IF;
4078:
4079: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
4080: p_count => lx_msg_count ,
4081: p_data => lx_msg_data);
4082:
4083: End request_for_sales_assistance;
4084:
4085: -- Overloaded SAVE to not handle any output record from OC.
4086: PROCEDURE Save(
4087: P_Api_Version_Number IN NUMBER
4088: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
4089: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
4090: ,p_auto_update_active_quote IN VARCHAR2 := FND_API.G_TRUE
4091: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
4092:
4085: -- Overloaded SAVE to not handle any output record from OC.
4086: PROCEDURE Save(
4087: P_Api_Version_Number IN NUMBER
4088: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
4089: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
4090: ,p_auto_update_active_quote IN VARCHAR2 := FND_API.G_TRUE
4091: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
4092:
4093: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
4086: PROCEDURE Save(
4087: P_Api_Version_Number IN NUMBER
4088: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
4089: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
4090: ,p_auto_update_active_quote IN VARCHAR2 := FND_API.G_TRUE
4091: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
4092:
4093: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
4094: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
4087: P_Api_Version_Number IN NUMBER
4088: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
4089: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
4090: ,p_auto_update_active_quote IN VARCHAR2 := FND_API.G_TRUE
4091: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
4092:
4093: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
4094: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
4095: ,p_sharee_cust_account_id IN Number := FND_API.G_MISS_NUM
4089: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
4090: ,p_auto_update_active_quote IN VARCHAR2 := FND_API.G_TRUE
4091: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
4092:
4093: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
4094: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
4095: ,p_sharee_cust_account_id IN Number := FND_API.G_MISS_NUM
4096: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
4097: ,p_changeowner IN VARCHAR2 := FND_API.G_FALSE
4090: ,p_auto_update_active_quote IN VARCHAR2 := FND_API.G_TRUE
4091: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
4092:
4093: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
4094: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
4095: ,p_sharee_cust_account_id IN Number := FND_API.G_MISS_NUM
4096: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
4097: ,p_changeowner IN VARCHAR2 := FND_API.G_FALSE
4098:
4091: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
4092:
4093: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
4094: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
4095: ,p_sharee_cust_account_id IN Number := FND_API.G_MISS_NUM
4096: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
4097: ,p_changeowner IN VARCHAR2 := FND_API.G_FALSE
4098:
4099: ,p_Control_Rec IN ASO_Quote_Pub.Control_Rec_Type
4092:
4093: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
4094: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
4095: ,p_sharee_cust_account_id IN Number := FND_API.G_MISS_NUM
4096: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
4097: ,p_changeowner IN VARCHAR2 := FND_API.G_FALSE
4098:
4099: ,p_Control_Rec IN ASO_Quote_Pub.Control_Rec_Type
4100: := ASO_Quote_Pub.G_Miss_Control_Rec
4093: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
4094: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
4095: ,p_sharee_cust_account_id IN Number := FND_API.G_MISS_NUM
4096: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
4097: ,p_changeowner IN VARCHAR2 := FND_API.G_FALSE
4098:
4099: ,p_Control_Rec IN ASO_Quote_Pub.Control_Rec_Type
4100: := ASO_Quote_Pub.G_Miss_Control_Rec
4101: ,p_Qte_Header_Rec IN ASO_Quote_Pub.Qte_Header_Rec_Type
4133: ,p_Ln_Freight_Charge_Tbl IN ASO_Quote_Pub.Freight_Charge_Tbl_Type
4134: := ASO_Quote_Pub.G_Miss_Freight_Charge_Tbl
4135: ,p_Ln_Tax_Detail_Tbl IN ASO_Quote_Pub.Tax_Detail_Tbl_Type
4136: := ASO_Quote_Pub.G_Miss_Tax_Detail_Tbl
4137: ,p_save_type IN NUMBER := FND_API.G_MISS_NUM
4138: ,x_quote_header_id OUT NOCOPY varchar2
4139: ,x_last_update_date OUT NOCOPY DATE
4140: ,X_Return_Status OUT NOCOPY VARCHAR2
4141: ,X_Msg_Count OUT NOCOPY NUMBER
4235:
4236:
4237: PROCEDURE Save(
4238: P_Api_Version_Number IN NUMBER
4239: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
4240: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
4241: ,p_auto_update_active_quote IN VARCHAR2 := FND_API.G_TRUE
4242: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
4243:
4236:
4237: PROCEDURE Save(
4238: P_Api_Version_Number IN NUMBER
4239: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
4240: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
4241: ,p_auto_update_active_quote IN VARCHAR2 := FND_API.G_TRUE
4242: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
4243:
4244: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
4237: PROCEDURE Save(
4238: P_Api_Version_Number IN NUMBER
4239: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
4240: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
4241: ,p_auto_update_active_quote IN VARCHAR2 := FND_API.G_TRUE
4242: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
4243:
4244: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
4245: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
4238: P_Api_Version_Number IN NUMBER
4239: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
4240: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
4241: ,p_auto_update_active_quote IN VARCHAR2 := FND_API.G_TRUE
4242: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
4243:
4244: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
4245: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
4246: ,p_sharee_cust_account_id IN Number := FND_API.G_MISS_NUM
4240: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
4241: ,p_auto_update_active_quote IN VARCHAR2 := FND_API.G_TRUE
4242: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
4243:
4244: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
4245: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
4246: ,p_sharee_cust_account_id IN Number := FND_API.G_MISS_NUM
4247: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
4248: ,p_changeowner IN VARCHAR2 := FND_API.G_FALSE
4241: ,p_auto_update_active_quote IN VARCHAR2 := FND_API.G_TRUE
4242: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
4243:
4244: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
4245: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
4246: ,p_sharee_cust_account_id IN Number := FND_API.G_MISS_NUM
4247: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
4248: ,p_changeowner IN VARCHAR2 := FND_API.G_FALSE
4249:
4242: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
4243:
4244: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
4245: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
4246: ,p_sharee_cust_account_id IN Number := FND_API.G_MISS_NUM
4247: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
4248: ,p_changeowner IN VARCHAR2 := FND_API.G_FALSE
4249:
4250: ,p_Control_Rec IN ASO_Quote_Pub.Control_Rec_Type
4243:
4244: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
4245: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
4246: ,p_sharee_cust_account_id IN Number := FND_API.G_MISS_NUM
4247: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
4248: ,p_changeowner IN VARCHAR2 := FND_API.G_FALSE
4249:
4250: ,p_Control_Rec IN ASO_Quote_Pub.Control_Rec_Type
4251: := ASO_Quote_Pub.G_Miss_Control_Rec
4244: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
4245: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
4246: ,p_sharee_cust_account_id IN Number := FND_API.G_MISS_NUM
4247: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
4248: ,p_changeowner IN VARCHAR2 := FND_API.G_FALSE
4249:
4250: ,p_Control_Rec IN ASO_Quote_Pub.Control_Rec_Type
4251: := ASO_Quote_Pub.G_Miss_Control_Rec
4252: ,p_Qte_Header_Rec IN ASO_Quote_Pub.Qte_Header_Rec_Type
4284: ,p_Ln_Freight_Charge_Tbl IN ASO_Quote_Pub.Freight_Charge_Tbl_Type
4285: := ASO_Quote_Pub.G_Miss_Freight_Charge_Tbl
4286: ,p_Ln_Tax_Detail_Tbl IN ASO_Quote_Pub.Tax_Detail_Tbl_Type
4287: := ASO_Quote_Pub.G_Miss_Tax_Detail_Tbl
4288: ,p_save_type IN NUMBER := FND_API.G_MISS_NUM
4289: ,x_quote_header_id OUT NOCOPY varchar2
4290: ,x_last_update_date OUT NOCOPY DATE
4291:
4292: ,x_Qte_Header_Rec IN OUT NOCOPY ASO_Quote_Pub.Qte_Header_Rec_Type
4344:
4345: l_temp_qte_line_tbl ASO_Quote_Pub.Qte_Line_Tbl_Type
4346: := ASO_Quote_Pub.g_miss_qte_line_tbl;
4347:
4348: l_match_found VARCHAR2(6) := FND_API.G_FALSE;
4349:
4350: l_combinesameitem VARCHAR2(2) := FND_API.G_MISS_CHAR;
4351:
4352:
4346: := ASO_Quote_Pub.g_miss_qte_line_tbl;
4347:
4348: l_match_found VARCHAR2(6) := FND_API.G_FALSE;
4349:
4350: l_combinesameitem VARCHAR2(2) := FND_API.G_MISS_CHAR;
4351:
4352:
4353: /*This cursor retrieves payment_term_id and price_list_id for a given agreement id
4354: this modification added to support bundles in iStore */
4374:
4375: -- Standard Start of API savepoint
4376: SAVEPOINT SAVE_pvt;
4377: -- Standard call to check for call compatibility.
4378: IF NOT FND_API.Compatible_API_Call (l_api_version,
4379: P_Api_Version_Number,
4380: l_api_name,
4381: G_PKG_NAME )
4382: THEN
4379: P_Api_Version_Number,
4380: l_api_name,
4381: G_PKG_NAME )
4382: THEN
4383: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4384: END IF;
4385:
4386: -- Initialize message list if p_init_msg_list is set to TRUE.
4387: IF FND_API.To_Boolean( p_init_msg_list ) THEN
4383: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4384: END IF;
4385:
4386: -- Initialize message list if p_init_msg_list is set to TRUE.
4387: IF FND_API.To_Boolean( p_init_msg_list ) THEN
4388: FND_Msg_Pub.initialize;
4389: END IF;
4390:
4391: -- Initialize API return status to success
4388: FND_Msg_Pub.initialize;
4389: END IF;
4390:
4391: -- Initialize API return status to success
4392: x_return_status := FND_API.G_RET_STS_SUCCESS;
4393:
4394: -- API body
4395:
4396: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
4418: ,p_quote_header_id => p_Qte_Header_Rec.quote_header_id
4419: ,p_party_id => p_Qte_Header_Rec.party_id
4420: ,p_cust_account_id => p_Qte_Header_Rec.cust_account_id
4421: ,p_quote_retrieval_number => p_sharee_Number
4422: ,p_validate_user => FND_API.G_TRUE
4423: ,p_save_type => p_save_type
4424: ,p_last_update_date => p_Qte_Header_Rec.last_update_date
4425: ,x_return_status => x_return_status
4426: ,x_msg_count => x_msg_count
4425: ,x_return_status => x_return_status
4426: ,x_msg_count => x_msg_count
4427: ,x_msg_data => x_msg_data );
4428:
4429: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4430: -- so that we can get the quote last update date in the exception block
4431: l_qte_header_rec.quote_header_id := p_Qte_Header_Rec.quote_header_id;
4432: RAISE FND_API.G_EXC_ERROR;
4433: END IF;
4428:
4429: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4430: -- so that we can get the quote last update date in the exception block
4431: l_qte_header_rec.quote_header_id := p_Qte_Header_Rec.quote_header_id;
4432: RAISE FND_API.G_EXC_ERROR;
4433: END IF;
4434:
4435: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4436: -- so that we can get the quote last update date in the exception block
4431: l_qte_header_rec.quote_header_id := p_Qte_Header_Rec.quote_header_id;
4432: RAISE FND_API.G_EXC_ERROR;
4433: END IF;
4434:
4435: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4436: -- so that we can get the quote last update date in the exception block
4437: l_qte_header_rec.quote_header_id := p_Qte_Header_Rec.quote_header_id;
4438: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4439: END IF;
4434:
4435: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4436: -- so that we can get the quote last update date in the exception block
4437: l_qte_header_rec.quote_header_id := p_Qte_Header_Rec.quote_header_id;
4438: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4439: END IF;
4440: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
4441: IBE_UTIL.DEBUG('SAVE: Validate User End');
4442: END IF;
4450: l_is_quote_usable := IBE_QUOTE_MISC_PVT.is_quote_usable(p_qte_header_rec.quote_header_id,
4451: p_Qte_Header_Rec.party_id,
4452: p_Qte_Header_Rec.cust_account_id);
4453: --Raise an error f the above validation failed
4454: IF(l_is_quote_usable = FND_API.G_FALSE) THEN
4455: IF FND_Msg_Pub.Check_Msg_Level (FND_Msg_Pub.G_MSG_LVL_ERROR) THEN
4456: FND_Message.Set_Name('IBE', 'IBE_SC_CART_EXPIRED');
4457: FND_Msg_Pub.Add;
4458: END IF;
4455: IF FND_Msg_Pub.Check_Msg_Level (FND_Msg_Pub.G_MSG_LVL_ERROR) THEN
4456: FND_Message.Set_Name('IBE', 'IBE_SC_CART_EXPIRED');
4457: FND_Msg_Pub.Add;
4458: END IF;
4459: RAISE FND_API.G_EXC_ERROR;
4460: END IF;
4461: Default_Header_Record( p_qte_header_rec => p_qte_header_rec
4462: ,p_auto_update_active_quote => p_auto_update_active_quote
4463: ,x_qte_header_rec => l_qte_header_rec
4466: ,x_return_status => x_return_status
4467: ,x_msg_count => x_msg_count
4468: ,x_msg_data => x_msg_data );
4469: --DBMS_OUTPUT.PUT_line('after default_hdr_rec ');
4470: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4471: RAISE FND_API.G_EXC_ERROR;
4472: END IF;
4473:
4474: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4467: ,x_msg_count => x_msg_count
4468: ,x_msg_data => x_msg_data );
4469: --DBMS_OUTPUT.PUT_line('after default_hdr_rec ');
4470: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4471: RAISE FND_API.G_EXC_ERROR;
4472: END IF;
4473:
4474: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4475: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4470: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4471: RAISE FND_API.G_EXC_ERROR;
4472: END IF;
4473:
4474: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4475: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4476: END IF;
4477:
4478: -- set default value for line
4471: RAISE FND_API.G_EXC_ERROR;
4472: END IF;
4473:
4474: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4475: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4476: END IF;
4477:
4478: -- set default value for line
4479: --DBMS_OUTPUT.PUT_line('before setlinedefaultval ');
4477:
4478: -- set default value for line
4479: --DBMS_OUTPUT.PUT_line('before setlinedefaultval ');
4480:
4481: IF (p_combinesameitem = FND_API.G_MISS_CHAR) THEN
4482: l_combinesameitem := FND_Profile.Value('IBE_SC_MERGE_SHOPCART_LINES');
4483: Else
4484: l_combinesameitem := p_combinesameitem;
4485: END IF;
4492: */
4493: /*
4494: IF( l_combinesameitem = 'Y') THEN
4495: FOR i in 1..p_qte_line_tbl.count LOOP
4496: l_match_found := FND_API.G_FALSE;
4497: FOR j in 1..l_temp_qte_line_tbl.count LOOP
4498: IF((p_qte_line_tbl(i).inventory_item_id = l_temp_qte_line_tbl(j).inventory_item_id)
4499: and (p_qte_line_tbl(i).quantity <> FND_API.G_MISS_NUM)) THEN
4500: l_temp_qte_line_tbl(j).quantity := l_temp_qte_line_tbl(j).quantity + p_qte_line_tbl(i).quantity;
4495: FOR i in 1..p_qte_line_tbl.count LOOP
4496: l_match_found := FND_API.G_FALSE;
4497: FOR j in 1..l_temp_qte_line_tbl.count LOOP
4498: IF((p_qte_line_tbl(i).inventory_item_id = l_temp_qte_line_tbl(j).inventory_item_id)
4499: and (p_qte_line_tbl(i).quantity <> FND_API.G_MISS_NUM)) THEN
4500: l_temp_qte_line_tbl(j).quantity := l_temp_qte_line_tbl(j).quantity + p_qte_line_tbl(i).quantity;
4501: l_match_found := FND_API.G_TRUE;
4502: EXIT;
4503: END IF;
4497: FOR j in 1..l_temp_qte_line_tbl.count LOOP
4498: IF((p_qte_line_tbl(i).inventory_item_id = l_temp_qte_line_tbl(j).inventory_item_id)
4499: and (p_qte_line_tbl(i).quantity <> FND_API.G_MISS_NUM)) THEN
4500: l_temp_qte_line_tbl(j).quantity := l_temp_qte_line_tbl(j).quantity + p_qte_line_tbl(i).quantity;
4501: l_match_found := FND_API.G_TRUE;
4502: EXIT;
4503: END IF;
4504: END LOOP;
4505: IF( NOT FND_API.To_Boolean(l_match_found) ) THEN
4501: l_match_found := FND_API.G_TRUE;
4502: EXIT;
4503: END IF;
4504: END LOOP;
4505: IF( NOT FND_API.To_Boolean(l_match_found) ) THEN
4506: l_temp_qte_line_tbl(l_temp_qte_line_tbl.count + 1) := p_qte_line_tbl(i);
4507: END IF;
4508: END LOOP;
4509: ELSE
4524: /*This code validates the recipient's access level against the minimum required access level for a create/update
4525: operation which is "F"*/
4526:
4527: IF ( ( p_sharee_Number is not null)
4528: and ( p_sharee_Number <> FND_API.G_MISS_NUM)) THEN
4529:
4530: l_privilege_type_code := IBE_Quote_Misc_pvt.GetShareeprivilege(l_qte_header_rec.quote_header_id
4531: ,p_sharee_Number);
4532: IF ((l_privilege_type_code <> 'A')
4534: IF FND_Msg_Pub.Check_Msg_Level (FND_Msg_Pub.G_MSG_LVL_ERROR) THEN
4535: FND_Message.Set_Name('IBE', 'IBE_SC_ERR_PRIVILEGE');
4536: FND_Msg_Pub.Add;
4537: END IF;
4538: RAISE FND_API.G_EXC_ERROR; -- need error message
4539: END IF;
4540:
4541: IF ( l_privilege_type_code <> 'A'
4542: and FND_API.To_Boolean(p_changeowner) )THEN
4538: RAISE FND_API.G_EXC_ERROR; -- need error message
4539: END IF;
4540:
4541: IF ( l_privilege_type_code <> 'A'
4542: and FND_API.To_Boolean(p_changeowner) )THEN
4543: IF FND_Msg_Pub.Check_Msg_Level (FND_Msg_Pub.G_MSG_LVL_ERROR) THEN
4544: FND_Message.Set_Name('IBE', 'IBE_SC_ERR_PRIVILEGE');
4545: FND_Msg_Pub.Add;
4546: END IF;
4543: IF FND_Msg_Pub.Check_Msg_Level (FND_Msg_Pub.G_MSG_LVL_ERROR) THEN
4544: FND_Message.Set_Name('IBE', 'IBE_SC_ERR_PRIVILEGE');
4545: FND_Msg_Pub.Add;
4546: END IF;
4547: RAISE FND_API.G_EXC_ERROR; -- need error message
4548: END IF;
4549: END IF; -- p_sharee_number is not null
4550:
4551: IF(l_qte_header_rec.quote_expiration_date = fnd_api.g_miss_date) then
4547: RAISE FND_API.G_EXC_ERROR; -- need error message
4548: END IF;
4549: END IF; -- p_sharee_number is not null
4550:
4551: IF(l_qte_header_rec.quote_expiration_date = fnd_api.g_miss_date) then
4552: get_quote_expiration_date(
4553: p_api_version => 1.0 ,
4554: p_init_msg_list => FND_API.G_TRUE ,
4555: p_commit => FND_API.G_FALSE ,
4550:
4551: IF(l_qte_header_rec.quote_expiration_date = fnd_api.g_miss_date) then
4552: get_quote_expiration_date(
4553: p_api_version => 1.0 ,
4554: p_init_msg_list => FND_API.G_TRUE ,
4555: p_commit => FND_API.G_FALSE ,
4556: x_return_status => x_return_status ,
4557: x_msg_count => x_msg_count ,
4558: x_msg_data => x_msg_data ,
4551: IF(l_qte_header_rec.quote_expiration_date = fnd_api.g_miss_date) then
4552: get_quote_expiration_date(
4553: p_api_version => 1.0 ,
4554: p_init_msg_list => FND_API.G_TRUE ,
4555: p_commit => FND_API.G_FALSE ,
4556: x_return_status => x_return_status ,
4557: x_msg_count => x_msg_count ,
4558: x_msg_data => x_msg_data ,
4559: p_quote_header_rec => l_qte_header_rec ,
4559: p_quote_header_rec => l_qte_header_rec ,
4560: x_expiration_date => lx_quote_expiration_date);
4561: l_qte_header_rec.quote_expiration_date := lx_quote_expiration_date;
4562:
4563: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
4564: RAISE FND_API.G_EXC_ERROR;
4565: END IF;
4566: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4567: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4560: x_expiration_date => lx_quote_expiration_date);
4561: l_qte_header_rec.quote_expiration_date := lx_quote_expiration_date;
4562:
4563: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
4564: RAISE FND_API.G_EXC_ERROR;
4565: END IF;
4566: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4567: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4568: END IF;
4562:
4563: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
4564: RAISE FND_API.G_EXC_ERROR;
4565: END IF;
4566: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4567: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4568: END IF;
4569: END IF;
4570:
4563: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
4564: RAISE FND_API.G_EXC_ERROR;
4565: END IF;
4566: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4567: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4568: END IF;
4569: END IF;
4570:
4571: --DBMS_OUTPUT.PUT_line('after get_quote_exp_date ');
4582: /* "Create quote" is invoked if there is no incoming quote_header_id and no quote header id found
4583: in the database for the operating user, otherwise "Update quote" is invoked*/
4584:
4585: IF l_qte_header_rec.quote_header_id IS NULL
4586: OR l_qte_header_rec.quote_header_id = FND_API.G_MISS_NUM THEN
4587:
4588: --Fix for bug 2512597
4589: -- Force the quote_status_id to be 'STORE DRAFT' if there is no input value
4590: IF l_qte_header_rec.quote_status_id is null OR
4587:
4588: --Fix for bug 2512597
4589: -- Force the quote_status_id to be 'STORE DRAFT' if there is no input value
4590: IF l_qte_header_rec.quote_status_id is null OR
4591: l_qte_header_rec.quote_status_id = fnd_api.g_miss_num then
4592: for rec_quote_sts_id in c_quote_sts_id('STORE DRAFT') loop
4593: l_qte_header_rec.quote_status_id := rec_quote_sts_id.quote_status_id;
4594: exit when c_quote_sts_id%notfound;
4595: end loop;
4618:
4619:
4620: ASO_Quote_Pub.Create_Quote(
4621: P_Api_Version_Number => P_Api_Version_Number ,
4622: P_Init_Msg_List => FND_API.G_FALSE ,
4623: P_Commit => FND_API.G_FALSE ,
4624: P_Control_Rec => p_control_rec ,
4625: P_qte_header_rec => l_Qte_Header_Rec ,
4626: P_Qte_Line_Tbl => l_Qte_Line_Tbl ,
4619:
4620: ASO_Quote_Pub.Create_Quote(
4621: P_Api_Version_Number => P_Api_Version_Number ,
4622: P_Init_Msg_List => FND_API.G_FALSE ,
4623: P_Commit => FND_API.G_FALSE ,
4624: P_Control_Rec => p_control_rec ,
4625: P_qte_header_rec => l_Qte_Header_Rec ,
4626: P_Qte_Line_Tbl => l_Qte_Line_Tbl ,
4627: p_Line_rltship_tbl => p_Line_rltship_tbl ,
4660: X_Return_Status => x_return_status ,
4661: X_Msg_Count => x_msg_count ,
4662: X_Msg_Data => x_msg_data );
4663:
4664: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4665: RAISE FND_API.G_EXC_ERROR;
4666: END IF;
4667:
4668: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4661: X_Msg_Count => x_msg_count ,
4662: X_Msg_Data => x_msg_data );
4663:
4664: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4665: RAISE FND_API.G_EXC_ERROR;
4666: END IF;
4667:
4668: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4669: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4664: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4665: RAISE FND_API.G_EXC_ERROR;
4666: END IF;
4667:
4668: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4669: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4670: END IF;
4671:
4672: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
4665: RAISE FND_API.G_EXC_ERROR;
4666: END IF;
4667:
4668: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4669: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4670: END IF;
4671:
4672: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
4673: IBE_Util.Debug('ASO_Quote_Pub.Create_Quote() finishes');
4677: BEGIN
4678: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
4679: IBE_Util.Debug('In Update Header MinisiteId Dynamic SQL');
4680: END IF;
4681: IF (p_minisite_id <> FND_API.G_MISS_NUM) THEN
4682: l_upd_stmnt := 'Update ASO_QUOTE_HEADERS_ALL set minisite_id = :1
4683: where quote_header_id = :2';
4684: EXECUTE IMMEDIATE l_upd_stmnt using p_minisite_id,x_Qte_header_rec.quote_header_id;
4685: IF SQL%ROWCOUNT <> 1 THEN
4682: l_upd_stmnt := 'Update ASO_QUOTE_HEADERS_ALL set minisite_id = :1
4683: where quote_header_id = :2';
4684: EXECUTE IMMEDIATE l_upd_stmnt using p_minisite_id,x_Qte_header_rec.quote_header_id;
4685: IF SQL%ROWCOUNT <> 1 THEN
4686: RAISE FND_API.G_EXC_ERROR;
4687: END IF;
4688: END IF;
4689: EXCEPTION
4690: When OTHERS THEN
4691: IF FND_Msg_Pub.Check_Msg_Level (FND_Msg_Pub.G_MSG_LVL_ERROR) THEN
4692: FND_MESSAGE.set_name('IBE', 'IBE_UPDATE_MSITE_HDR_ERR');
4693: FND_MSG_PUB.add;
4694: END IF;
4695: RAISE FND_API.G_EXC_ERROR;
4696: END;
4697:
4698: --- make sure there is not multiple active cart exist before commit
4699: /*IF ((p_qte_header_rec.quote_source_code = 'IStore Account')
4697:
4698: --- make sure there is not multiple active cart exist before commit
4699: /*IF ((p_qte_header_rec.quote_source_code = 'IStore Account')
4700: AND ( p_qte_header_rec.quote_name = 'IBEACTIVECART'
4701: OR p_qte_header_rec.quote_name = FND_API.G_MISS_CHAR )) then
4702: IF x_qte_header_rec.quote_header_id <>
4703: IBE_Quote_Misc_pvt.Get_Active_Quote_ID
4704: (p_party_id => x_qte_header_rec.party_id
4705: ,p_cust_account_id => x_qte_header_rec.cust_account_id
4707: IF FND_Msg_Pub.Check_Msg_Level (FND_Msg_Pub.G_MSG_LVL_ERROR) THEN
4708: FND_Message.Set_Name('IBE', 'IBE_SC_QUOTE_NEED_REFRESH');
4709: FND_Msg_Pub.Add;
4710: END IF;
4711: RAISE FND_API.G_EXC_ERROR; -- need error message
4712: END IF;
4713: END IF;*/
4714:
4715: --MANNAMRA:Changes for save/share project(09/16/02)
4727: P_Quote_header_rec => x_Qte_header_rec,
4728: P_Party_id => l_Qte_header_rec.party_id ,
4729: P_Cust_account_id => l_Qte_header_rec.cust_account_id,
4730: p_api_version => 1,
4731: p_init_msg_list => FND_API.G_TRUE,
4732: p_commit => FND_API.G_FALSE,
4733: x_return_status => x_return_status,
4734: x_msg_count => x_msg_count,
4735: x_msg_data => x_msg_data);
4728: P_Party_id => l_Qte_header_rec.party_id ,
4729: P_Cust_account_id => l_Qte_header_rec.cust_account_id,
4730: p_api_version => 1,
4731: p_init_msg_list => FND_API.G_TRUE,
4732: p_commit => FND_API.G_FALSE,
4733: x_return_status => x_return_status,
4734: x_msg_count => x_msg_count,
4735: x_msg_data => x_msg_data);
4736:
4733: x_return_status => x_return_status,
4734: x_msg_count => x_msg_count,
4735: x_msg_data => x_msg_data);
4736:
4737: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
4738: RAISE FND_API.G_EXC_ERROR;
4739: END IF;
4740:
4741: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4734: x_msg_count => x_msg_count,
4735: x_msg_data => x_msg_data);
4736:
4737: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
4738: RAISE FND_API.G_EXC_ERROR;
4739: END IF;
4740:
4741: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4742: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4737: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
4738: RAISE FND_API.G_EXC_ERROR;
4739: END IF;
4740:
4741: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4742: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4743: END IF;
4744: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
4745: IBE_UTIL.DEBUG('Finished calling ACTIVATE_QUOTE ');
4738: RAISE FND_API.G_EXC_ERROR;
4739: END IF;
4740:
4741: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4742: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4743: END IF;
4744: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
4745: IBE_UTIL.DEBUG('Finished calling ACTIVATE_QUOTE ');
4746: END IF;
4749: else
4750: -- update cart
4751: --Convert Quote Status code to Status id
4752: IF (l_qte_header_rec.quote_status_id is null OR
4753: l_qte_header_rec.quote_status_id = fnd_api.g_miss_num) and
4754: (l_qte_header_rec.quote_status_code is not null OR
4755: l_qte_header_rec.quote_status_id <> fnd_api.g_miss_num) then
4756: for rec_quote_sts_id in c_quote_sts_id(l_qte_header_rec.quote_status_code) loop
4757: l_qte_header_rec.quote_status_id := rec_quote_sts_id.quote_status_id;
4751: --Convert Quote Status code to Status id
4752: IF (l_qte_header_rec.quote_status_id is null OR
4753: l_qte_header_rec.quote_status_id = fnd_api.g_miss_num) and
4754: (l_qte_header_rec.quote_status_code is not null OR
4755: l_qte_header_rec.quote_status_id <> fnd_api.g_miss_num) then
4756: for rec_quote_sts_id in c_quote_sts_id(l_qte_header_rec.quote_status_code) loop
4757: l_qte_header_rec.quote_status_id := rec_quote_sts_id.quote_status_id;
4758: exit when c_quote_sts_id%notfound;
4759: end loop;
4775: IF FND_Msg_Pub.Check_Msg_Level (FND_Msg_Pub.G_MSG_LVL_ERROR) THEN
4776: FND_Message.Set_Name('IBE', 'IBE_QUOTE_HDR_PMT_RCRD_EXISTS');
4777: FND_Msg_Pub.Add;
4778: END IF;
4779: RAISE FND_API.G_EXC_ERROR;
4780: */
4781: END IF;
4782: END IF;
4783: END LOOP;
4786: IF FND_Msg_Pub.Check_Msg_Level (FND_Msg_Pub.G_MSG_LVL_ERROR) THEN
4787: FND_Message.Set_Name('IBE', 'IBE_QUOTE_HDR_PMT_RCRD_EXISTS');
4788: FND_Msg_Pub.Add;
4789: END IF;
4790: RAISE FND_API.G_EXC_ERROR;
4791: END IF;
4792: */
4793: /* Added by Sri 09/06 since the header last update date should be the value in the db */
4794: l_qte_header_rec.last_update_date :=
4863: Ibe_util.debug('l_ln_payment_tbl.operation_code: '||l_ln_payment_tbl(counter).operation_code);
4864: END IF;
4865: END LOOP;
4866: /*if (p_sharee_Number is not null
4867: and p_sharee_Number <> FND_API.G_MISS_NUM
4868: and (l_pricebasedonowner = 'N')) then
4869: -- get price based on owner profile
4870: UpdateQuoteForSharee(
4871: p_api_version_number => p_api_version_number
4868: and (l_pricebasedonowner = 'N')) then
4869: -- get price based on owner profile
4870: UpdateQuoteForSharee(
4871: p_api_version_number => p_api_version_number
4872: ,p_init_msg_list => FND_API.G_FALSE
4873: ,p_commit => FND_API.G_FALSE
4874: ,p_sharee_party_id => p_sharee_party_id
4875: ,p_sharee_cust_account_id => p_sharee_cust_account_id
4876: ,p_control_rec => p_control_rec
4869: -- get price based on owner profile
4870: UpdateQuoteForSharee(
4871: p_api_version_number => p_api_version_number
4872: ,p_init_msg_list => FND_API.G_FALSE
4873: ,p_commit => FND_API.G_FALSE
4874: ,p_sharee_party_id => p_sharee_party_id
4875: ,p_sharee_cust_account_id => p_sharee_cust_account_id
4876: ,p_control_rec => p_control_rec
4877: ,p_qte_header_rec => l_qte_header_rec
4897: ,X_Return_Status => X_Return_Status
4898: ,X_Msg_Count => X_Msg_Count
4899: ,X_Msg_Data => X_Msg_Data);
4900:
4901: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4902: RAISE FND_API.G_EXC_ERROR;
4903: END IF;
4904:
4905: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4898: ,X_Msg_Count => X_Msg_Count
4899: ,X_Msg_Data => X_Msg_Data);
4900:
4901: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4902: RAISE FND_API.G_EXC_ERROR;
4903: END IF;
4904:
4905: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4906: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4901: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4902: RAISE FND_API.G_EXC_ERROR;
4903: END IF;
4904:
4905: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4906: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4907: END IF;
4908: else -- no sharee*/
4909:
4902: RAISE FND_API.G_EXC_ERROR;
4903: END IF;
4904:
4905: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4906: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4907: END IF;
4908: else -- no sharee*/
4909:
4910: FOR counter in 1..p_Price_Adjustment_Tbl.count LOOP
4942:
4943:
4944: ASO_Quote_Pub.Update_quote(
4945: P_Api_Version_Number => P_Api_Version_Number
4946: ,P_Init_Msg_List => FND_API.G_FALSE
4947: ,P_Commit => FND_API.G_FALSE
4948: ,P_Control_Rec => p_control_rec
4949: ,P_qte_header_rec => l_Qte_Header_Rec
4950: ,P_Qte_Line_Tbl => l_Qte_Line_Tbl
4943:
4944: ASO_Quote_Pub.Update_quote(
4945: P_Api_Version_Number => P_Api_Version_Number
4946: ,P_Init_Msg_List => FND_API.G_FALSE
4947: ,P_Commit => FND_API.G_FALSE
4948: ,P_Control_Rec => p_control_rec
4949: ,P_qte_header_rec => l_Qte_Header_Rec
4950: ,P_Qte_Line_Tbl => l_Qte_Line_Tbl
4951: ,p_Line_rltship_tbl => p_Line_rltship_tbl
4986: ,X_Msg_Count => x_msg_count
4987: ,X_Msg_Data => x_msg_data);
4988:
4989: --DBMS_OUTPUT.PUT_line('FINISH IBE_Quote_Save_pvt.SAVE.UPDATE_QUOTE ');
4990: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4991: RAISE FND_API.G_EXC_ERROR;
4992: END IF;
4993:
4994: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4987: ,X_Msg_Data => x_msg_data);
4988:
4989: --DBMS_OUTPUT.PUT_line('FINISH IBE_Quote_Save_pvt.SAVE.UPDATE_QUOTE ');
4990: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4991: RAISE FND_API.G_EXC_ERROR;
4992: END IF;
4993:
4994: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4995: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4990: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4991: RAISE FND_API.G_EXC_ERROR;
4992: END IF;
4993:
4994: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4995: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4996: END IF;
4997: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
4998: IBE_Util.Debug('ASO_Quote_Pub.Update_Quote() finishes : '|| x_return_status);
4991: RAISE FND_API.G_EXC_ERROR;
4992: END IF;
4993:
4994: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4995: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4996: END IF;
4997: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
4998: IBE_Util.Debug('ASO_Quote_Pub.Update_Quote() finishes : '|| x_return_status);
4999: END IF;
5008: x_last_update_date := x_qte_header_rec.last_update_date;
5009:
5010: -- End of API body.
5011: -- Standard check of p_commit.
5012: IF FND_API.To_Boolean( p_commit ) THEN
5013: COMMIT WORK;
5014: END IF;
5015:
5016: -- Standard call to get message count and if count is 1, get message info.
5013: COMMIT WORK;
5014: END IF;
5015:
5016: -- Standard call to get message count and if count is 1, get message info.
5017: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
5018: p_count => x_msg_count ,
5019: p_data => x_msg_data);
5020: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5021: IBE_Util.Debug('Normal End IBE_Quote_Save_pvt.Save()');
5021: IBE_Util.Debug('Normal End IBE_Quote_Save_pvt.Save()');
5022: END IF;
5023: -- IBE_Util.Disable_Debug;
5024: EXCEPTION
5025: WHEN FND_API.G_EXC_ERROR THEN
5026: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5027: IBE_Util.Debug('Expected error IBE_Quote_Save_pvt.Save()');
5028: END IF;
5029: ROLLBACK TO SAVE_pvt;
5026: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5027: IBE_Util.Debug('Expected error IBE_Quote_Save_pvt.Save()');
5028: END IF;
5029: ROLLBACK TO SAVE_pvt;
5030: x_return_status := FND_API.G_RET_STS_ERROR;
5031: Set_Last_Update_Date(l_qte_header_rec.quote_header_id, x_last_update_date);
5032: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
5033: p_count => x_msg_count ,
5034: p_data => x_msg_data);
5028: END IF;
5029: ROLLBACK TO SAVE_pvt;
5030: x_return_status := FND_API.G_RET_STS_ERROR;
5031: Set_Last_Update_Date(l_qte_header_rec.quote_header_id, x_last_update_date);
5032: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
5033: p_count => x_msg_count ,
5034: p_data => x_msg_data);
5035: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5036: IBE_Util.Debug('Unexpected error IBE_Quote_Save_pvt.Save()');
5034: p_data => x_msg_data);
5035: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5036: IBE_Util.Debug('Unexpected error IBE_Quote_Save_pvt.Save()');
5037: END IF;
5038: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5039: ROLLBACK TO SAVE_pvt;
5040: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5041: Set_Last_Update_Date(l_qte_header_rec.quote_header_id, x_last_update_date);
5042: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
5036: IBE_Util.Debug('Unexpected error IBE_Quote_Save_pvt.Save()');
5037: END IF;
5038: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5039: ROLLBACK TO SAVE_pvt;
5040: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5041: Set_Last_Update_Date(l_qte_header_rec.quote_header_id, x_last_update_date);
5042: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
5043: p_count => x_msg_count ,
5044: p_data => x_msg_data);
5038: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5039: ROLLBACK TO SAVE_pvt;
5040: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5041: Set_Last_Update_Date(l_qte_header_rec.quote_header_id, x_last_update_date);
5042: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
5043: p_count => x_msg_count ,
5044: p_data => x_msg_data);
5045: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5046: IBE_Util.Debug('Unknown exception End IBE_Quote_Save_pvt.Save()');
5046: IBE_Util.Debug('Unknown exception End IBE_Quote_Save_pvt.Save()');
5047: END IF;
5048: WHEN OTHERS THEN
5049: ROLLBACK TO SAVE_pvt;
5050: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5051: Set_Last_Update_Date(l_qte_header_rec.quote_header_id, x_last_update_date);
5052: IF FND_Msg_Pub.Check_Msg_Level(FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
5053: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
5054: l_api_name);
5052: IF FND_Msg_Pub.Check_Msg_Level(FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
5053: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
5054: l_api_name);
5055: END IF;
5056: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
5057: p_count => x_msg_count ,
5058: p_data => x_msg_data);
5059: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5060: IBE_Util.Debug('End IBE_Quote_Save_pvt.Save()');
5064:
5065:
5066: PROCEDURE UpdateQuoteForSharee(
5067: p_api_version_number IN NUMBER
5068: ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
5069: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
5070:
5071: ,p_sharee_Party_Id IN NUMBER
5072: ,p_sharee_Cust_account_Id IN NUMBER
5065:
5066: PROCEDURE UpdateQuoteForSharee(
5067: p_api_version_number IN NUMBER
5068: ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
5069: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
5070:
5071: ,p_sharee_Party_Id IN NUMBER
5072: ,p_sharee_Cust_account_Id IN NUMBER
5073: ,p_changeowner IN VARCHAR2 := FND_API.G_FALSE
5069: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
5070:
5071: ,p_sharee_Party_Id IN NUMBER
5072: ,p_sharee_Cust_account_Id IN NUMBER
5073: ,p_changeowner IN VARCHAR2 := FND_API.G_FALSE
5074:
5075: ,P_Control_Rec IN ASO_Quote_Pub.Control_Rec_Type
5076: ,P_Qte_Header_Rec IN ASO_Quote_Pub.Qte_Header_Rec_Type
5077: := ASO_Quote_Pub.G_MISS_Qte_Header_Rec
5158:
5159: -- Standard Start of API savepoint
5160: SAVEPOINT UpdateQuoteForSharee_pvt;
5161: -- Standard call to check for call compatibility.
5162: IF NOT FND_API.Compatible_API_Call (l_api_version,
5163: P_Api_Version_Number,
5164: l_api_name,
5165: G_PKG_NAME )
5166: THEN
5163: P_Api_Version_Number,
5164: l_api_name,
5165: G_PKG_NAME )
5166: THEN
5167: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5168: END IF;
5169:
5170: -- Initialize message list if p_init_msg_list is set to TRUE.
5171:
5168: END IF;
5169:
5170: -- Initialize message list if p_init_msg_list is set to TRUE.
5171:
5172: IF FND_API.To_Boolean( p_init_msg_list ) THEN
5173: FND_Msg_Pub.initialize;
5174: END IF;
5175: -- Initialize API return status to success
5176: x_return_status := FND_API.G_RET_STS_SUCCESS;
5172: IF FND_API.To_Boolean( p_init_msg_list ) THEN
5173: FND_Msg_Pub.initialize;
5174: END IF;
5175: -- Initialize API return status to success
5176: x_return_status := FND_API.G_RET_STS_SUCCESS;
5177:
5178: -- API body
5179:
5180: IBE_Quote_Misc_pvt.getQuoteOwner(
5185: ,X_Return_Status => x_return_status
5186: ,X_Msg_Count => x_msg_count
5187: ,X_Msg_Data => x_msg_data);
5188:
5189: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5190: RAISE FND_API.G_EXC_ERROR;
5191: END IF;
5192:
5193: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5186: ,X_Msg_Count => x_msg_count
5187: ,X_Msg_Data => x_msg_data);
5188:
5189: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5190: RAISE FND_API.G_EXC_ERROR;
5191: END IF;
5192:
5193: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5194: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5189: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5190: RAISE FND_API.G_EXC_ERROR;
5191: END IF;
5192:
5193: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5194: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5195: END IF;
5196:
5197: l_qte_header_rec := p_qte_header_rec;
5190: RAISE FND_API.G_EXC_ERROR;
5191: END IF;
5192:
5193: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5194: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5195: END IF;
5196:
5197: l_qte_header_rec := p_qte_header_rec;
5198: l_qte_header_rec.party_id := p_sharee_Party_id;
5203: END IF;
5204:
5205: ASO_Quote_Pub.Update_Quote(
5206: P_Api_Version_Number => P_Api_Version_Number
5207: ,P_Init_Msg_List => FND_API.G_FALSE
5208: ,P_Commit => FND_API.G_FALSE
5209: ,P_Control_Rec => p_control_rec
5210: ,P_qte_header_rec => l_Qte_Header_Rec
5211: ,P_Qte_Line_Tbl => p_Qte_Line_Tbl
5204:
5205: ASO_Quote_Pub.Update_Quote(
5206: P_Api_Version_Number => P_Api_Version_Number
5207: ,P_Init_Msg_List => FND_API.G_FALSE
5208: ,P_Commit => FND_API.G_FALSE
5209: ,P_Control_Rec => p_control_rec
5210: ,P_qte_header_rec => l_Qte_Header_Rec
5211: ,P_Qte_Line_Tbl => p_Qte_Line_Tbl
5212: ,p_Line_rltship_tbl => p_Line_rltship_tbl
5251: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5252: IBE_Util.Debug('ASO_Quote_Pub.Update_Quote() finishes');
5253: END IF;
5254:
5255: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5256: RAISE FND_API.G_EXC_ERROR;
5257: END IF;
5258:
5259: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5252: IBE_Util.Debug('ASO_Quote_Pub.Update_Quote() finishes');
5253: END IF;
5254:
5255: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5256: RAISE FND_API.G_EXC_ERROR;
5257: END IF;
5258:
5259: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5260: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5255: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5256: RAISE FND_API.G_EXC_ERROR;
5257: END IF;
5258:
5259: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5260: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5261: END IF;
5262:
5263: -- #2: set control_rec to NOT recalculate the price
5256: RAISE FND_API.G_EXC_ERROR;
5257: END IF;
5258:
5259: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5260: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5261: END IF;
5262:
5263: -- #2: set control_rec to NOT recalculate the price
5264: -- and set the owner back
5262:
5263: -- #2: set control_rec to NOT recalculate the price
5264: -- and set the owner back
5265:
5266: if ( not fnd_api.To_Boolean(p_changeowner)) then
5267: l_qte_header_rec := p_qte_header_rec;
5268: l_qte_header_rec.last_update_date :=x_qte_header_rec.last_update_date;
5269:
5270: l_qte_header_rec.party_id := l_Quote_Party_id;
5277: END IF;
5278:
5279: ASO_Quote_Pub.Update_quote(
5280: P_Api_Version_Number => P_Api_Version_Number
5281: ,P_Init_Msg_List => FND_API.G_FALSE
5282: ,P_Commit => FND_API.G_FALSE
5283: ,P_qte_header_rec => l_Qte_Header_Rec
5284: ,x_qte_header_rec => x_Qte_Header_Rec
5285: ,X_Qte_Line_Tbl => x_Qte_Line_Tbl
5278:
5279: ASO_Quote_Pub.Update_quote(
5280: P_Api_Version_Number => P_Api_Version_Number
5281: ,P_Init_Msg_List => FND_API.G_FALSE
5282: ,P_Commit => FND_API.G_FALSE
5283: ,P_qte_header_rec => l_Qte_Header_Rec
5284: ,x_qte_header_rec => x_Qte_Header_Rec
5285: ,X_Qte_Line_Tbl => x_Qte_Line_Tbl
5286: ,X_Qte_Line_Dtl_Tbl => lx_Qte_Line_Dtl_Tbl
5305:
5306: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5307: IBE_Util.Debug('ASO_Quote_Pub.Update_Quote() finishes');
5308: END IF;
5309: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5310: RAISE FND_API.G_EXC_ERROR;
5311: END IF;
5312:
5313: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5306: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5307: IBE_Util.Debug('ASO_Quote_Pub.Update_Quote() finishes');
5308: END IF;
5309: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5310: RAISE FND_API.G_EXC_ERROR;
5311: END IF;
5312:
5313: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5314: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5309: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5310: RAISE FND_API.G_EXC_ERROR;
5311: END IF;
5312:
5313: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5314: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5315: END IF;
5316: END IF;
5317:
5310: RAISE FND_API.G_EXC_ERROR;
5311: END IF;
5312:
5313: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5314: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5315: END IF;
5316: END IF;
5317:
5318: -- End of API body.
5316: END IF;
5317:
5318: -- End of API body.
5319: -- Standard check of p_commit.
5320: IF FND_API.To_Boolean( p_commit ) THEN
5321: COMMIT WORK;
5322: END IF;
5323:
5324: -- Standard call to get message count and if count is 1, get message info.
5321: COMMIT WORK;
5322: END IF;
5323:
5324: -- Standard call to get message count and if count is 1, get message info.
5325: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
5326: p_count => x_msg_count ,
5327: p_data => x_msg_data);
5328: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5329: IBE_Util.Debug('End IBE_Quote_Save_pvt.UpdateQuoteForSharee()');
5329: IBE_Util.Debug('End IBE_Quote_Save_pvt.UpdateQuoteForSharee()');
5330: END IF;
5331: -- IBE_Util.Disable_Debug;
5332: EXCEPTION
5333: WHEN FND_API.G_EXC_ERROR THEN
5334: ROLLBACK TO UpdateQuoteForSharee_pvt;
5335: x_return_status := FND_API.G_RET_STS_ERROR;
5336: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
5337: p_count => x_msg_count ,
5331: -- IBE_Util.Disable_Debug;
5332: EXCEPTION
5333: WHEN FND_API.G_EXC_ERROR THEN
5334: ROLLBACK TO UpdateQuoteForSharee_pvt;
5335: x_return_status := FND_API.G_RET_STS_ERROR;
5336: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
5337: p_count => x_msg_count ,
5338: p_data => x_msg_data);
5339: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5332: EXCEPTION
5333: WHEN FND_API.G_EXC_ERROR THEN
5334: ROLLBACK TO UpdateQuoteForSharee_pvt;
5335: x_return_status := FND_API.G_RET_STS_ERROR;
5336: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
5337: p_count => x_msg_count ,
5338: p_data => x_msg_data);
5339: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5340: IBE_Util.Debug('End IBE_Quote_Save_pvt.UpdateQuoteForSharee()');
5339: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5340: IBE_Util.Debug('End IBE_Quote_Save_pvt.UpdateQuoteForSharee()');
5341: END IF;
5342: -- IBE_Util.Disable_Debug;
5343: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5344: ROLLBACK TO UpdateQuoteForSharee_pvt;
5345: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5346: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
5347: p_count => x_msg_count ,
5341: END IF;
5342: -- IBE_Util.Disable_Debug;
5343: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5344: ROLLBACK TO UpdateQuoteForSharee_pvt;
5345: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5346: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
5347: p_count => x_msg_count ,
5348: p_data => x_msg_data);
5349: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5342: -- IBE_Util.Disable_Debug;
5343: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5344: ROLLBACK TO UpdateQuoteForSharee_pvt;
5345: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5346: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
5347: p_count => x_msg_count ,
5348: p_data => x_msg_data);
5349: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5350: IBE_Util.Debug('End IBE_Quote_Save_pvt.UpdateQuoteForSharee()');
5351: END IF;
5352: -- IBE_Util.Disable_Debug;
5353: WHEN OTHERS THEN
5354: ROLLBACK TO UpdateQuoteForSharee_pvt;
5355: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5356:
5357: IF FND_Msg_Pub.Check_Msg_Level(FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
5358: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
5359: l_api_name);
5358: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
5359: l_api_name);
5360: END IF;
5361:
5362: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
5363: p_count => x_msg_count ,
5364: p_data => x_msg_data);
5365: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5366: IBE_Util.Debug('End IBE_Quote_Save_pvt.UpdateQuoteForSharee()');
5372: /* ------------------------------ Default API's: Start -----------------*/
5373:
5374: PROCEDURE getHdrDefaultValues(
5375: P_Api_Version_Number IN NUMBER
5376: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
5377: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
5378:
5379: ,p_minisite_id IN NUMBER
5380:
5373:
5374: PROCEDURE getHdrDefaultValues(
5375: P_Api_Version_Number IN NUMBER
5376: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
5377: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
5378:
5379: ,p_minisite_id IN NUMBER
5380:
5381: ,p_Qte_Header_Rec IN ASO_Quote_Pub.Qte_Header_Rec_Type
5439: -- Standard Start of API savepoint
5440: SAVEPOINT getHdrDefaultValues_PVT;
5441:
5442: -- Standard call to check for call compatibility.
5443: IF NOT FND_API.Compatible_API_Call(L_API_VERSION,
5444: P_Api_Version_Number,
5445: L_API_NAME ,
5446: G_PKG_NAME )
5447: THEN
5444: P_Api_Version_Number,
5445: L_API_NAME ,
5446: G_PKG_NAME )
5447: THEN
5448: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5449: END IF;
5450:
5451: -- Initialize message list if p_init_msg_list is set to TRUE.
5452: IF FND_API.To_Boolean(p_init_msg_list) THEN
5448: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5449: END IF;
5450:
5451: -- Initialize message list if p_init_msg_list is set to TRUE.
5452: IF FND_API.To_Boolean(p_init_msg_list) THEN
5453: FND_Msg_Pub.initialize;
5454: END IF;
5455:
5456: -- Initialize API return status to success
5453: FND_Msg_Pub.initialize;
5454: END IF;
5455:
5456: -- Initialize API return status to success
5457: x_return_status := FND_API.G_RET_STS_SUCCESS;
5458:
5459: -- API body
5460:
5461: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5495: );
5496: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5497: IBE_Util.Debug('getHdrDefaultAddress() -- SHIPTO finishes');
5498: END IF;
5499: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5500: RAISE FND_API.G_EXC_ERROR;
5501: END IF;
5502: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5503: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5496: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5497: IBE_Util.Debug('getHdrDefaultAddress() -- SHIPTO finishes');
5498: END IF;
5499: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5500: RAISE FND_API.G_EXC_ERROR;
5501: END IF;
5502: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5503: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5504: END IF;
5498: END IF;
5499: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5500: RAISE FND_API.G_EXC_ERROR;
5501: END IF;
5502: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5503: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5504: END IF;
5505:
5506: if (lx_hd_shipment_tbl.count <> 0) then
5499: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5500: RAISE FND_API.G_EXC_ERROR;
5501: END IF;
5502: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5503: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5504: END IF;
5505:
5506: if (lx_hd_shipment_tbl.count <> 0) then
5507: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5544: );
5545: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5546: IBE_Util.Debug('getHdrDefaultShipMethod() finishes');
5547: END IF;
5548: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5549: RAISE FND_API.G_EXC_ERROR;
5550: END IF;
5551: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5552: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5545: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5546: IBE_Util.Debug('getHdrDefaultShipMethod() finishes');
5547: END IF;
5548: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5549: RAISE FND_API.G_EXC_ERROR;
5550: END IF;
5551: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5552: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5553: END IF;
5547: END IF;
5548: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5549: RAISE FND_API.G_EXC_ERROR;
5550: END IF;
5551: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5552: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5553: END IF;
5554:
5555: if (lx_hd_Shipment_Tbl.count <> 0) then
5548: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5549: RAISE FND_API.G_EXC_ERROR;
5550: END IF;
5551: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5552: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5553: END IF;
5554:
5555: if (lx_hd_Shipment_Tbl.count <> 0) then
5556: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5595: );
5596: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5597: IBE_Util.Debug('getHdrDefaultAddress() -- BILLTO finishes');
5598: END IF;
5599: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5600: RAISE FND_API.G_EXC_ERROR;
5601: END IF;
5602: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5603: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5596: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5597: IBE_Util.Debug('getHdrDefaultAddress() -- BILLTO finishes');
5598: END IF;
5599: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5600: RAISE FND_API.G_EXC_ERROR;
5601: END IF;
5602: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5603: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5604: END IF;
5598: END IF;
5599: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5600: RAISE FND_API.G_EXC_ERROR;
5601: END IF;
5602: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5603: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5604: END IF;
5605:
5606: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5599: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5600: RAISE FND_API.G_EXC_ERROR;
5601: END IF;
5602: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5603: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5604: END IF;
5605:
5606: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5607: IBE_Util.Debug('lx_qte_header_rec.INVOICE_TO_PARTY_SITE_ID: '||to_char(lx_qte_header_rec.INVOICE_TO_PARTY_SITE_ID));
5613: --dbms_output.put_line('*******************************');
5614:
5615: IBE_PAYMENT_INT_PVT.check_Payment_channel_setups
5616: (p_api_version => 1.0
5617: ,p_init_msg_list => FND_API.G_FALSE
5618: ,p_commit => FND_API.G_FALSE
5619: ,x_cvv2_setup => l_cvv2_setup
5620: ,x_statement_address_setup => l_statement_address_setup
5621: ,x_return_status => X_Return_Status
5614:
5615: IBE_PAYMENT_INT_PVT.check_Payment_channel_setups
5616: (p_api_version => 1.0
5617: ,p_init_msg_list => FND_API.G_FALSE
5618: ,p_commit => FND_API.G_FALSE
5619: ,x_cvv2_setup => l_cvv2_setup
5620: ,x_statement_address_setup => l_statement_address_setup
5621: ,x_return_status => X_Return_Status
5622: ,x_msg_count => x_msg_count
5623: ,x_msg_data => x_msg_data );
5624: /*mannamra: Credit card consolidation: payment type defaulting should not kick in only when CVV2
5625: is mandatory so that user will be able to visit the
5626: billing page to provide the credit card cvv2 number*/
5627: IF(l_cvv2_setup <> FND_API.G_TRUE) THEN
5628:
5629:
5630: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5631: IBE_Util.Debug('getHdrDefaultPaymentMethod() starts');
5643: );
5644: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5645: IBE_Util.Debug('getHdrDefaultPaymentMethod() finishes');
5646: END IF;
5647: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5648: RAISE FND_API.G_EXC_ERROR;
5649: END IF;
5650: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5651: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5644: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5645: IBE_Util.Debug('getHdrDefaultPaymentMethod() finishes');
5646: END IF;
5647: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5648: RAISE FND_API.G_EXC_ERROR;
5649: END IF;
5650: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5651: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5652: END IF;
5646: END IF;
5647: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5648: RAISE FND_API.G_EXC_ERROR;
5649: END IF;
5650: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5651: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5652: END IF;
5653:
5654: if (lx_hd_Payment_Tbl.count <> 0) then
5647: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5648: RAISE FND_API.G_EXC_ERROR;
5649: END IF;
5650: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5651: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5652: END IF;
5653:
5654: if (lx_hd_Payment_Tbl.count <> 0) then
5655: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5690: end if;
5691: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5692: IBE_Util.Debug('*******************************');
5693: END IF;
5694: END IF; --l_cvv2_setup <> FND_API.G_TRUE
5695: --dbms_output.put_line('*******************************');
5696:
5697: if ((lx_qte_header_rec.invoice_to_party_site_id <> fnd_api.g_miss_num) and (lx_qte_header_rec.invoice_to_party_site_id is not null) ) then
5698: -- 9/11/02: we only call this api if we were able to find the billTo address because if we can't find
5693: END IF;
5694: END IF; --l_cvv2_setup <> FND_API.G_TRUE
5695: --dbms_output.put_line('*******************************');
5696:
5697: if ((lx_qte_header_rec.invoice_to_party_site_id <> fnd_api.g_miss_num) and (lx_qte_header_rec.invoice_to_party_site_id is not null) ) then
5698: -- 9/11/02: we only call this api if we were able to find the billTo address because if we can't find
5699: -- this info, we can't default the contact
5700: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5701: IBE_Util.Debug('getHdrDefaultTaxExemption() starts');
5712: );
5713: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5714: IBE_Util.Debug('getHdrDefaultTaxExemption() finishes');
5715: END IF;
5716: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5717: RAISE FND_API.G_EXC_ERROR;
5718: END IF;
5719: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5720: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5713: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5714: IBE_Util.Debug('getHdrDefaultTaxExemption() finishes');
5715: END IF;
5716: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5717: RAISE FND_API.G_EXC_ERROR;
5718: END IF;
5719: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5720: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5721: END IF;
5715: END IF;
5716: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5717: RAISE FND_API.G_EXC_ERROR;
5718: END IF;
5719: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5720: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5721: END IF;
5722:
5723: if (lx_hd_Tax_Detail_Tbl.count <> 0) then
5716: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5717: RAISE FND_API.G_EXC_ERROR;
5718: END IF;
5719: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5720: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5721: END IF;
5722:
5723: if (lx_hd_Tax_Detail_Tbl.count <> 0) then
5724: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5763: );
5764: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5765: IBE_Util.Debug('getHdrDefaultEndCustomer() finishes');
5766: END IF;
5767: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5768: RAISE FND_API.G_EXC_ERROR;
5769: END IF;
5770: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5771: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5764: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5765: IBE_Util.Debug('getHdrDefaultEndCustomer() finishes');
5766: END IF;
5767: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5768: RAISE FND_API.G_EXC_ERROR;
5769: END IF;
5770: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5771: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5772: END IF;
5766: END IF;
5767: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5768: RAISE FND_API.G_EXC_ERROR;
5769: END IF;
5770: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5771: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5772: END IF;
5773: end if;
5774:
5767: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5768: RAISE FND_API.G_EXC_ERROR;
5769: END IF;
5770: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5771: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5772: END IF;
5773: end if;
5774:
5775:
5781: --maithili added for R12, for creating header level offer codes
5782: x_hd_Price_Attributes_Tbl := p_hd_Price_Attributes_Tbl;
5783: -- End of API body.
5784: -- Standard check of p_commit.
5785: IF FND_API.To_Boolean( p_commit ) THEN
5786: COMMIT WORK;
5787: END IF;
5788:
5789: -- Standard call to get message count and if count is 1, get message info.
5786: COMMIT WORK;
5787: END IF;
5788:
5789: -- Standard call to get message count and if count is 1, get message info.
5790: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
5791: p_count => x_msg_count ,
5792: p_data => x_msg_data);
5793: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5794: IBE_Util.Debug('End IBE_Quote_Save_pvt.getHdrDefaultValues()');
5795: END IF;
5796: --IBE_Util.Disable_Debug;
5797:
5798: EXCEPTION
5799: WHEN FND_API.G_EXC_ERROR THEN
5800: ROLLBACK TO getHdrDefaultValues_PVT;
5801: x_return_status := FND_API.G_RET_STS_ERROR;
5802: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
5803: p_count => x_msg_count ,
5797:
5798: EXCEPTION
5799: WHEN FND_API.G_EXC_ERROR THEN
5800: ROLLBACK TO getHdrDefaultValues_PVT;
5801: x_return_status := FND_API.G_RET_STS_ERROR;
5802: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
5803: p_count => x_msg_count ,
5804: p_data => x_msg_data);
5805: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5798: EXCEPTION
5799: WHEN FND_API.G_EXC_ERROR THEN
5800: ROLLBACK TO getHdrDefaultValues_PVT;
5801: x_return_status := FND_API.G_RET_STS_ERROR;
5802: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
5803: p_count => x_msg_count ,
5804: p_data => x_msg_data);
5805: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5806: ROLLBACK TO getHdrDefaultValues_PVT;
5801: x_return_status := FND_API.G_RET_STS_ERROR;
5802: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
5803: p_count => x_msg_count ,
5804: p_data => x_msg_data);
5805: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5806: ROLLBACK TO getHdrDefaultValues_PVT;
5807: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5808: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
5809: p_count => x_msg_count ,
5803: p_count => x_msg_count ,
5804: p_data => x_msg_data);
5805: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5806: ROLLBACK TO getHdrDefaultValues_PVT;
5807: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5808: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
5809: p_count => x_msg_count ,
5810: p_data => x_msg_data);
5811: WHEN OTHERS THEN
5804: p_data => x_msg_data);
5805: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5806: ROLLBACK TO getHdrDefaultValues_PVT;
5807: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5808: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
5809: p_count => x_msg_count ,
5810: p_data => x_msg_data);
5811: WHEN OTHERS THEN
5812: ROLLBACK TO getHdrDefaultValues_PVT;
5809: p_count => x_msg_count ,
5810: p_data => x_msg_data);
5811: WHEN OTHERS THEN
5812: ROLLBACK TO getHdrDefaultValues_PVT;
5813: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5814: IF FND_Msg_Pub.Check_Msg_Level(FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
5815: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
5816: l_api_name);
5817: END IF;
5814: IF FND_Msg_Pub.Check_Msg_Level(FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
5815: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
5816: l_api_name);
5817: END IF;
5818: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
5819: p_count => x_msg_count ,
5820: p_data => x_msg_data);
5821: END getHdrDefaultValues;
5822:
5822:
5823:
5824: PROCEDURE getHdrDefaultAddress(
5825: P_Api_Version_Number IN NUMBER
5826: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
5827: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
5828: ,px_hd_Shipment_TBL IN OUT NOCOPY ASO_Quote_Pub.Shipment_tbl_Type
5829: ,px_qte_header_rec IN OUT NOCOPY ASO_Quote_Pub.Qte_Header_Rec_Type
5830: ,p_party_site_use IN varchar2
5823:
5824: PROCEDURE getHdrDefaultAddress(
5825: P_Api_Version_Number IN NUMBER
5826: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
5827: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
5828: ,px_hd_Shipment_TBL IN OUT NOCOPY ASO_Quote_Pub.Shipment_tbl_Type
5829: ,px_qte_header_rec IN OUT NOCOPY ASO_Quote_Pub.Qte_Header_Rec_Type
5830: ,p_party_site_use IN varchar2
5831: ,X_Return_Status OUT NOCOPY VARCHAR2
5839:
5840: l_opCode varchar2(10) := 'CREATE';
5841: l_party_id number := px_qte_header_rec.party_id;
5842: lx_party_site_id number;
5843: l_shipment_id number := FND_API.G_MISS_NUM;
5844:
5845: l_isDone varchar2(1) := 'N';
5846:
5847: l_userType varchar2(30);
5888: -- Standard Start of API savepoint
5889: SAVEPOINT getHdrDefaultAddress_pvt;
5890:
5891: -- Standard call to check for call compatibility.
5892: IF NOT FND_API.Compatible_API_Call(L_API_VERSION,
5893: P_Api_Version_Number,
5894: L_API_NAME ,
5895: G_PKG_NAME )
5896: THEN
5893: P_Api_Version_Number,
5894: L_API_NAME ,
5895: G_PKG_NAME )
5896: THEN
5897: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5898: END IF;
5899:
5900: -- Initialize message list if p_init_msg_list is set to TRUE.
5901: IF FND_API.To_Boolean(p_init_msg_list) THEN
5897: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5898: END IF;
5899:
5900: -- Initialize message list if p_init_msg_list is set to TRUE.
5901: IF FND_API.To_Boolean(p_init_msg_list) THEN
5902: FND_Msg_Pub.initialize;
5903: END IF;
5904:
5905: -- Initialize API return status to success
5902: FND_Msg_Pub.initialize;
5903: END IF;
5904:
5905: -- Initialize API return status to success
5906: x_return_status := FND_API.G_RET_STS_SUCCESS;
5907:
5908: -- API body
5909:
5910: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5930: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5931: IBE_Util.Debug('getDefaultAddress: px_qte_header_rec.quote_header_id='||px_qte_header_rec.quote_header_id);
5932: END IF;
5933: --DBMS_OUTPUT.PUT_line('getDefaultAddress: px_qte_header_rec.quote_header_id='||px_qte_header_rec.quote_header_id);
5934: if ((px_qte_header_rec.quote_header_id <> FND_API.G_MISS_NUM) and (px_qte_header_rec.quote_header_id is not null)) then
5935: if (p_party_site_use = 'S') then
5936:
5937: -- check to see if there is already a shipTo partySiteId
5938: open c_check_shipTo_rec_exist (px_qte_header_rec.quote_header_id);
5952: END IF;
5953: --DBMS_OUTPUT.PUT_line('getDefaultAddress: rec_shipTo_rec_exist.shipment_id ='||rec_shipTo_rec_exist.shipment_id);
5954:
5955: -- if there is already a shipTo partySiteId, we are done
5956: if ((rec_shipTo_rec_exist.SHIP_TO_PARTY_SITE_ID <> FND_API.G_MISS_NUM) and (rec_shipTo_rec_exist.SHIP_TO_PARTY_SITE_ID is not null)) then
5957: l_isDone := 'Y';
5958:
5959: -- if there is no shipmentId
5960: elsif ((rec_shipTo_rec_exist.shipment_id = FND_API.G_MISS_NUM) or (rec_shipTo_rec_exist.shipment_id is null)) then
5956: if ((rec_shipTo_rec_exist.SHIP_TO_PARTY_SITE_ID <> FND_API.G_MISS_NUM) and (rec_shipTo_rec_exist.SHIP_TO_PARTY_SITE_ID is not null)) then
5957: l_isDone := 'Y';
5958:
5959: -- if there is no shipmentId
5960: elsif ((rec_shipTo_rec_exist.shipment_id = FND_API.G_MISS_NUM) or (rec_shipTo_rec_exist.shipment_id is null)) then
5961: l_party_id := px_qte_header_rec.party_id;
5962: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5963: IBE_Util.Debug('getDefaultAddress: l_party_id-no shipId-='||l_party_id);
5964: END IF;
5972: fetch c_check_shipTo_partyId into rec_shipTo_partyId;
5973: close c_check_shipTo_partyId;
5974:
5975: -- if there is shipTo contact
5976: if ((rec_shipTo_partyId.ship_to_party_id <> FND_API.G_MISS_NUM) and (rec_shipTo_partyId.ship_to_party_id is not null)) then
5977: l_party_id := rec_shipTo_partyId.ship_to_party_id;
5978: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5979: IBE_Util.Debug('getDefaultAddress: l_party_id-contact-='||l_party_id);
5980: END IF;
5996: fetch c_check_billTo_rec_exist into rec_billTo_rec_exist;
5997: close c_check_billTo_rec_exist;
5998:
5999: -- if there is already a billTo partySiteId, we are done
6000: if ((rec_billTo_rec_exist.INVOICE_TO_PARTY_SITE_ID <> FND_API.G_MISS_NUM) and (rec_billTo_rec_exist.INVOICE_TO_PARTY_SITE_ID is not null)) then
6001: l_isDone := 'Y';
6002:
6003: -- if there is no quote record (shouldn't happen; should also raise an error)
6004: elsif ((rec_billTo_rec_exist.quote_header_id = FND_API.G_MISS_NUM) or (rec_billTo_rec_exist.quote_header_id is null)) then
6000: if ((rec_billTo_rec_exist.INVOICE_TO_PARTY_SITE_ID <> FND_API.G_MISS_NUM) and (rec_billTo_rec_exist.INVOICE_TO_PARTY_SITE_ID is not null)) then
6001: l_isDone := 'Y';
6002:
6003: -- if there is no quote record (shouldn't happen; should also raise an error)
6004: elsif ((rec_billTo_rec_exist.quote_header_id = FND_API.G_MISS_NUM) or (rec_billTo_rec_exist.quote_header_id is null)) then
6005: l_party_id := px_qte_header_rec.party_id;
6006:
6007: else
6008: l_opCode := 'UPDATE';
6012: fetch c_check_billTo_partyId into rec_billTo_partyId;
6013: close c_check_billTo_partyId;
6014:
6015: -- if there is billTo contact
6016: if ((rec_billTo_partyId.invoice_to_party_id <> FND_API.G_MISS_NUM) and (rec_billTo_partyId.invoice_to_party_id is not null)) then
6017: l_party_id := rec_billTo_partyId.invoice_to_party_id;
6018: else
6019: l_party_id := px_qte_header_rec.party_id;
6020: end if;
6053: ,p_commit => p_Commit
6054: ,p_party_id => l_party_id
6055: ,p_site_use_type => p_party_site_use
6056: ,p_org_id => MO_Global.get_current_org_id()
6057: ,p_get_org_prim_addr => FND_API.G_TRUE
6058: ,x_return_status => x_return_status
6059: ,x_msg_count => x_msg_count
6060: ,x_msg_data => x_msg_data
6061: ,x_party_site_id => lx_party_site_id
6059: ,x_msg_count => x_msg_count
6060: ,x_msg_data => x_msg_data
6061: ,x_party_site_id => lx_party_site_id
6062: );
6063: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
6064: RAISE FND_API.G_EXC_ERROR;
6065: END IF;
6066: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
6067: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6060: ,x_msg_data => x_msg_data
6061: ,x_party_site_id => lx_party_site_id
6062: );
6063: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
6064: RAISE FND_API.G_EXC_ERROR;
6065: END IF;
6066: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
6067: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6068: END IF;
6062: );
6063: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
6064: RAISE FND_API.G_EXC_ERROR;
6065: END IF;
6066: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
6067: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6068: END IF;
6069: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
6070: IBE_Util.Debug('After calling IBE_ADDRESS_V2PVT.get_primary_address_id');
6063: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
6064: RAISE FND_API.G_EXC_ERROR;
6065: END IF;
6066: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
6067: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6068: END IF;
6069: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
6070: IBE_Util.Debug('After calling IBE_ADDRESS_V2PVT.get_primary_address_id');
6071: END IF;
6075: END IF;
6076: --DBMS_OUTPUT.PUT_line('lx_party_site_id ='||lx_party_site_id);
6077:
6078: -- 2.1 populate the shipment/quote hdr record:
6079: if ((lx_party_site_id <> -1) and (lx_party_site_id <> fnd_api.g_miss_num) and (lx_party_site_id is not null) ) then
6080: l_userType := IBE_Quote_Misc_pvt.getUserType(px_qte_header_rec.party_id);
6081: if (p_party_site_use = 'S') then
6082: px_hd_Shipment_TBL(1).shipment_id := l_shipment_id;
6083: px_hd_Shipment_TBL(1).quote_header_id := px_qte_header_rec.quote_header_id;
6082: px_hd_Shipment_TBL(1).shipment_id := l_shipment_id;
6083: px_hd_Shipment_TBL(1).quote_header_id := px_qte_header_rec.quote_header_id;
6084: px_hd_Shipment_TBL(1).operation_code := l_opCode;
6085: px_hd_Shipment_TBL(1).SHIP_TO_PARTY_site_ID := lx_party_site_id;
6086: if ( ((rec_shipTo_partyId.ship_to_party_id = FND_API.G_MISS_NUM) or (rec_shipTo_partyId.ship_to_party_id is null)) and (l_userType = 'B2B') ) then
6087: px_hd_Shipment_TBL(1).SHIP_TO_PARTY_ID := px_qte_header_rec.party_id;
6088: end if;
6089: elsif (p_party_site_use = 'B') then
6090: px_qte_header_rec.INVOICE_TO_PARTY_SITE_ID := lx_party_site_id;
6087: px_hd_Shipment_TBL(1).SHIP_TO_PARTY_ID := px_qte_header_rec.party_id;
6088: end if;
6089: elsif (p_party_site_use = 'B') then
6090: px_qte_header_rec.INVOICE_TO_PARTY_SITE_ID := lx_party_site_id;
6091: if ( ((rec_billTo_partyId.invoice_to_party_id = FND_API.G_MISS_NUM) or (rec_billTo_partyId.invoice_to_party_id is null)) and (l_userType = 'B2B') ) then
6092: px_qte_header_rec.INVOICE_TO_PARTY_ID := px_qte_header_rec.party_id;
6093: end if;
6094: end if;
6095: end if;
6097: end if; -- if (l_isDone <> 'Y')
6098:
6099: -- End of API body.
6100: -- Standard check of p_commit.
6101: IF FND_API.To_Boolean( p_commit ) THEN
6102: COMMIT WORK;
6103: END IF;
6104:
6105: -- Standard call to get message count and if count is 1, get message info.
6102: COMMIT WORK;
6103: END IF;
6104:
6105: -- Standard call to get message count and if count is 1, get message info.
6106: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6107: p_count => x_msg_count ,
6108: p_data => x_msg_data);
6109: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
6110: IBE_Util.Debug('End IBE_Quote_Save_pvt.getHdrDefaultAddress()');
6111: END IF;
6112: --IBE_Util.Disable_Debug;
6113:
6114: EXCEPTION
6115: WHEN FND_API.G_EXC_ERROR THEN
6116: ROLLBACK TO getHdrDefaultAddress_pvt;
6117: x_return_status := FND_API.G_RET_STS_ERROR;
6118: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6119: p_count => x_msg_count ,
6113:
6114: EXCEPTION
6115: WHEN FND_API.G_EXC_ERROR THEN
6116: ROLLBACK TO getHdrDefaultAddress_pvt;
6117: x_return_status := FND_API.G_RET_STS_ERROR;
6118: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6119: p_count => x_msg_count ,
6120: p_data => x_msg_data);
6121: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6114: EXCEPTION
6115: WHEN FND_API.G_EXC_ERROR THEN
6116: ROLLBACK TO getHdrDefaultAddress_pvt;
6117: x_return_status := FND_API.G_RET_STS_ERROR;
6118: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6119: p_count => x_msg_count ,
6120: p_data => x_msg_data);
6121: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6122: ROLLBACK TO getHdrDefaultAddress_pvt;
6117: x_return_status := FND_API.G_RET_STS_ERROR;
6118: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6119: p_count => x_msg_count ,
6120: p_data => x_msg_data);
6121: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6122: ROLLBACK TO getHdrDefaultAddress_pvt;
6123: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6124: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6125: p_count => x_msg_count ,
6119: p_count => x_msg_count ,
6120: p_data => x_msg_data);
6121: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6122: ROLLBACK TO getHdrDefaultAddress_pvt;
6123: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6124: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6125: p_count => x_msg_count ,
6126: p_data => x_msg_data);
6127: WHEN OTHERS THEN
6120: p_data => x_msg_data);
6121: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6122: ROLLBACK TO getHdrDefaultAddress_pvt;
6123: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6124: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6125: p_count => x_msg_count ,
6126: p_data => x_msg_data);
6127: WHEN OTHERS THEN
6128: ROLLBACK TO getHdrDefaultAddress_pvt;
6125: p_count => x_msg_count ,
6126: p_data => x_msg_data);
6127: WHEN OTHERS THEN
6128: ROLLBACK TO getHdrDefaultAddress_pvt;
6129: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6130: IF FND_Msg_Pub.Check_Msg_Level(FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
6131: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
6132: l_api_name);
6133: END IF;
6130: IF FND_Msg_Pub.Check_Msg_Level(FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
6131: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
6132: l_api_name);
6133: END IF;
6134: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6135: p_count => x_msg_count ,
6136: p_data => x_msg_data);
6137:
6138: end getHdrDefaultAddress;
6138: end getHdrDefaultAddress;
6139:
6140: PROCEDURE getHdrDefaultShipMethod(
6141: P_Api_Version_Number IN NUMBER
6142: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
6143: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
6144: ,px_hd_Shipment_TBL IN OUT NOCOPY ASO_Quote_Pub.Shipment_tbl_Type
6145: ,p_qte_header_rec IN ASO_Quote_Pub.Qte_Header_Rec_Type
6146: ,p_minisite_id IN Number
6139:
6140: PROCEDURE getHdrDefaultShipMethod(
6141: P_Api_Version_Number IN NUMBER
6142: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
6143: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
6144: ,px_hd_Shipment_TBL IN OUT NOCOPY ASO_Quote_Pub.Shipment_tbl_Type
6145: ,p_qte_header_rec IN ASO_Quote_Pub.Qte_Header_Rec_Type
6146: ,p_minisite_id IN Number
6147: ,X_Return_Status OUT NOCOPY VARCHAR2
6154: l_api_name CONSTANT VARCHAR2(30) := 'getHdrDefaultShipMethod';
6155: l_api_version CONSTANT NUMBER := 1.0;
6156: l_opCode varchar2(10) := 'CREATE';
6157:
6158: l_shipment_id number := FND_API.G_MISS_NUM;
6159: l_isDone varchar2(1) := 'N';
6160:
6161: l_ship_method_code varchar2(30) := null;
6162: l_ship_method_code_first varchar2(30) := null;
6192: -- Standard Start of API savepoint
6193: SAVEPOINT getHdrDefaultShipMethod_pvt;
6194:
6195: -- Standard call to check for call compatibility.
6196: IF NOT FND_API.Compatible_API_Call(L_API_VERSION,
6197: P_Api_Version_Number,
6198: L_API_NAME ,
6199: G_PKG_NAME )
6200: THEN
6197: P_Api_Version_Number,
6198: L_API_NAME ,
6199: G_PKG_NAME )
6200: THEN
6201: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6202: END IF;
6203:
6204: -- Initialize message list if p_init_msg_list is set to TRUE.
6205: IF FND_API.To_Boolean(p_init_msg_list) THEN
6201: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6202: END IF;
6203:
6204: -- Initialize message list if p_init_msg_list is set to TRUE.
6205: IF FND_API.To_Boolean(p_init_msg_list) THEN
6206: FND_Msg_Pub.initialize;
6207: END IF;
6208:
6209: -- Initialize API return status to success
6206: FND_Msg_Pub.initialize;
6207: END IF;
6208:
6209: -- Initialize API return status to success
6210: x_return_status := FND_API.G_RET_STS_SUCCESS;
6211:
6212: -- API body
6213:
6214: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
6215: IBE_Util.Debug('Start IBE_Quote_Save_pvt.getHdrDefaultShipMethod()');
6216: END IF;
6217:
6218: -- 1. for the merge cart cases, we have to check if there is shipment method in the shipment record associated w/ the cart:
6219: if ((p_qte_header_rec.quote_header_id <> FND_API.G_MISS_NUM) and (p_qte_header_rec.quote_header_id is not null)) then
6220:
6221: -- check to see if there is already a ship method
6222: open c_check_shipTo_rec_exist (p_qte_header_rec.quote_header_id);
6223: fetch c_check_shipTo_rec_exist into rec_shipTo_rec_exist;
6223: fetch c_check_shipTo_rec_exist into rec_shipTo_rec_exist;
6224: close c_check_shipTo_rec_exist;
6225:
6226: -- if there is already a ship method, we are done
6227: if ((rec_shipTo_rec_exist.SHIP_METHOD_CODE <> FND_API.G_MISS_char) and (rec_shipTo_rec_exist.SHIP_METHOD_CODE is not null)) then
6228: l_isDone := 'Y';
6229:
6230: -- if there is shipmentId
6231: elsif ((rec_shipTo_rec_exist.shipment_id <> FND_API.G_MISS_NUM) and (rec_shipTo_rec_exist.shipment_id is not null)) then
6227: if ((rec_shipTo_rec_exist.SHIP_METHOD_CODE <> FND_API.G_MISS_char) and (rec_shipTo_rec_exist.SHIP_METHOD_CODE is not null)) then
6228: l_isDone := 'Y';
6229:
6230: -- if there is shipmentId
6231: elsif ((rec_shipTo_rec_exist.shipment_id <> FND_API.G_MISS_NUM) and (rec_shipTo_rec_exist.shipment_id is not null)) then
6232: l_opCode := 'UPDATE';
6233: l_shipment_id := rec_shipTo_rec_exist.shipment_id;
6234: end if;
6235: end if; -- for merge cart cases
6267:
6268: for rec_MiniSiteOrg_ShipMethod in c_get_MiniSiteOrg_ShipMethod(p_minisite_id, l_org_id,'SHPMT_MTHD','Y','Y') loop
6269:
6270: -- case 2.2: no preferred ship method -> so, take the first row of the result set
6271: if ((l_ship_method_code = FND_API.G_MISS_char) or (l_ship_method_code is null)) then
6272:
6273: -- 11/14/02: we're changing the logic: if no preferred ship method, then don't default
6274: -- Now, as per ER#4663790, we need to default, so uncommenting the following line.
6275:
6328: IBE_Util.Debug('Finally: l_ship_method_code :'||l_ship_method_code);
6329: END IF;
6330: --DBMS_OUTPUT.PUT_line('Finally: l_ship_method_code :'||l_ship_method_code);
6331: -- 2.3 populate the shipment record:
6332: if ((l_ship_method_code <> FND_API.G_MISS_char) and (l_ship_method_code is not null)) then
6333: px_hd_Shipment_TBL(1).shipment_id := l_shipment_id;
6334: px_hd_Shipment_TBL(1).quote_header_id := p_qte_header_rec.quote_header_id;
6335: px_hd_Shipment_TBL(1).operation_code := l_opCode;
6336: px_hd_Shipment_TBL(1).SHIP_METHOD_CODE := l_ship_method_code;
6339: end if; -- if (l_isDone <> 'Y')
6340:
6341: -- End of API body.
6342: -- Standard check of p_commit.
6343: IF FND_API.To_Boolean( p_commit ) THEN
6344: COMMIT WORK;
6345: END IF;
6346:
6347: -- Standard call to get message count and if count is 1, get message info.
6344: COMMIT WORK;
6345: END IF;
6346:
6347: -- Standard call to get message count and if count is 1, get message info.
6348: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6349: p_count => x_msg_count ,
6350: p_data => x_msg_data);
6351: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
6352: IBE_Util.Debug('End IBE_Quote_Save_pvt.getHdrDefaultShipMethod()');
6354: --IBE_Util.Disable_Debug;
6355:
6356:
6357: EXCEPTION
6358: WHEN FND_API.G_EXC_ERROR THEN
6359: ROLLBACK TO getHdrDefaultShipMethod_pvt;
6360: x_return_status := FND_API.G_RET_STS_ERROR;
6361: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6362: p_count => x_msg_count ,
6356:
6357: EXCEPTION
6358: WHEN FND_API.G_EXC_ERROR THEN
6359: ROLLBACK TO getHdrDefaultShipMethod_pvt;
6360: x_return_status := FND_API.G_RET_STS_ERROR;
6361: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6362: p_count => x_msg_count ,
6363: p_data => x_msg_data);
6364: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6357: EXCEPTION
6358: WHEN FND_API.G_EXC_ERROR THEN
6359: ROLLBACK TO getHdrDefaultShipMethod_pvt;
6360: x_return_status := FND_API.G_RET_STS_ERROR;
6361: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6362: p_count => x_msg_count ,
6363: p_data => x_msg_data);
6364: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6365: ROLLBACK TO getHdrDefaultShipMethod_pvt;
6360: x_return_status := FND_API.G_RET_STS_ERROR;
6361: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6362: p_count => x_msg_count ,
6363: p_data => x_msg_data);
6364: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6365: ROLLBACK TO getHdrDefaultShipMethod_pvt;
6366: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6367: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6368: p_count => x_msg_count ,
6362: p_count => x_msg_count ,
6363: p_data => x_msg_data);
6364: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6365: ROLLBACK TO getHdrDefaultShipMethod_pvt;
6366: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6367: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6368: p_count => x_msg_count ,
6369: p_data => x_msg_data);
6370: WHEN OTHERS THEN
6363: p_data => x_msg_data);
6364: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6365: ROLLBACK TO getHdrDefaultShipMethod_pvt;
6366: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6367: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6368: p_count => x_msg_count ,
6369: p_data => x_msg_data);
6370: WHEN OTHERS THEN
6371: ROLLBACK TO getHdrDefaultShipMethod_pvt;
6368: p_count => x_msg_count ,
6369: p_data => x_msg_data);
6370: WHEN OTHERS THEN
6371: ROLLBACK TO getHdrDefaultShipMethod_pvt;
6372: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6373: IF FND_Msg_Pub.Check_Msg_Level(FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
6374: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
6375: l_api_name);
6376: END IF;
6373: IF FND_Msg_Pub.Check_Msg_Level(FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
6374: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
6375: l_api_name);
6376: END IF;
6377: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6378: p_count => x_msg_count ,
6379: p_data => x_msg_data);
6380: end getHdrDefaultShipMethod;
6381:
6380: end getHdrDefaultShipMethod;
6381:
6382: PROCEDURE getHdrDefaultPaymentMethod(
6383: P_Api_Version_Number IN NUMBER
6384: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
6385: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
6386: ,px_hd_Payment_Tbl IN OUT NOCOPY ASO_Quote_Pub.Payment_Tbl_Type
6387: ,p_qte_header_rec IN ASO_Quote_Pub.Qte_Header_Rec_Type
6388: ,p_minisite_id IN Number
6381:
6382: PROCEDURE getHdrDefaultPaymentMethod(
6383: P_Api_Version_Number IN NUMBER
6384: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
6385: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
6386: ,px_hd_Payment_Tbl IN OUT NOCOPY ASO_Quote_Pub.Payment_Tbl_Type
6387: ,p_qte_header_rec IN ASO_Quote_Pub.Qte_Header_Rec_Type
6388: ,p_minisite_id IN Number
6389: ,X_Return_Status OUT NOCOPY VARCHAR2
6398: l_opCode varchar2(10) := 'CREATE';
6399:
6400: l_isDone varchar2(1) := 'N';
6401:
6402: l_payment_id number := FND_API.G_MISS_NUM;
6403: l_payment_type_code varchar2(30) := null;
6404: lx_cc_assignment_id NUMBER;
6405:
6406: l_isInvoice varchar2(1) := 'N';
6444: -- Standard Start of API savepoint
6445: SAVEPOINT getHdrDefPmtMethod_pvt;
6446:
6447: -- Standard call to check for call compatibility.
6448: IF NOT FND_API.Compatible_API_Call(L_API_VERSION,
6449: P_Api_Version_Number,
6450: L_API_NAME ,
6451: G_PKG_NAME )
6452: THEN
6449: P_Api_Version_Number,
6450: L_API_NAME ,
6451: G_PKG_NAME )
6452: THEN
6453: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6454: END IF;
6455:
6456: -- Initialize message list if p_init_msg_list is set to TRUE.
6457: IF FND_API.To_Boolean(p_init_msg_list) THEN
6453: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6454: END IF;
6455:
6456: -- Initialize message list if p_init_msg_list is set to TRUE.
6457: IF FND_API.To_Boolean(p_init_msg_list) THEN
6458: FND_Msg_Pub.initialize;
6459: END IF;
6460:
6461: -- Initialize API return status to success
6458: FND_Msg_Pub.initialize;
6459: END IF;
6460:
6461: -- Initialize API return status to success
6462: x_return_status := FND_API.G_RET_STS_SUCCESS;
6463:
6464: -- API body
6465:
6466: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
6466: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
6467: IBE_Util.Debug('Start IBE_Quote_Save_pvt.getHdrDefaultPaymentMethod()');
6468: END IF;
6469: -- 1. for the merge cart cases, we have to check if there is a payment record associated w/ the cart:
6470: if ((p_qte_header_rec.quote_header_id <> FND_API.G_MISS_NUM) and (p_qte_header_rec.quote_header_id is not null)) then
6471:
6472: -- check to see if there is already a payment method
6473: open c_check_payment_rec_exist (p_qte_header_rec.quote_header_id);
6474: fetch c_check_payment_rec_exist into rec_payment_rec_exist;
6476:
6477: -- if there is already a payment method, we are done
6478: -- 2/6/03: per Bug 2780574, we will not update the payment record, we will only create
6479: /*
6480: if ((rec_payment_rec_exist.PAYMENT_TYPE_CODE <> FND_API.G_MISS_char) and (rec_payment_rec_exist.PAYMENT_TYPE_CODE is not null)) then
6481: l_isDone := 'Y';
6482:
6483: -- if there is paymentId
6484: elsif ((rec_payment_rec_exist.payment_id <> FND_API.G_MISS_NUM) and (rec_payment_rec_exist.payment_id is not null)) then
6480: if ((rec_payment_rec_exist.PAYMENT_TYPE_CODE <> FND_API.G_MISS_char) and (rec_payment_rec_exist.PAYMENT_TYPE_CODE is not null)) then
6481: l_isDone := 'Y';
6482:
6483: -- if there is paymentId
6484: elsif ((rec_payment_rec_exist.payment_id <> FND_API.G_MISS_NUM) and (rec_payment_rec_exist.payment_id is not null)) then
6485: l_opCode := 'UPDATE';
6486: l_payment_id := rec_payment_rec_exist.payment_id;
6487: end if;
6488: */
6486: l_payment_id := rec_payment_rec_exist.payment_id;
6487: end if;
6488: */
6489:
6490: if ((rec_payment_rec_exist.payment_id <> FND_API.G_MISS_NUM) and (rec_payment_rec_exist.payment_id is not null)) then
6491: l_isDone := 'Y';
6492: end if;
6493: end if; -- for merge cart cases
6494:
6512: fetch c_check_CC_enabled into rec_CC_enabled;
6513: close c_check_CC_enabled;
6514:
6515: -- 2.2 if CC is enabled then we call IBE_CUSTOMER_ACCOUNTS.get_default_credit_card_info to see if there is a default credit card
6516: if ((rec_CC_enabled.msite_information1 <> FND_API.G_MISS_char) and (rec_CC_enabled.msite_information1 is not null)) then
6517:
6518: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
6519: IBE_Util.Debug('Before calling IBE_CUSTOMER_pvt.get_default_credit_card_info');
6520: END IF;
6531: ,x_msg_count => x_msg_count
6532: ,x_msg_data => x_msg_data
6533: ,x_cc_assignment_id => lx_cc_assignment_id
6534: );
6535: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
6536: RAISE FND_API.G_EXC_ERROR;
6537: END IF;
6538: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
6539: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6532: ,x_msg_data => x_msg_data
6533: ,x_cc_assignment_id => lx_cc_assignment_id
6534: );
6535: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
6536: RAISE FND_API.G_EXC_ERROR;
6537: END IF;
6538: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
6539: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6540: END IF;
6534: );
6535: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
6536: RAISE FND_API.G_EXC_ERROR;
6537: END IF;
6538: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
6539: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6540: END IF;
6541:
6542: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
6535: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
6536: RAISE FND_API.G_EXC_ERROR;
6537: END IF;
6538: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
6539: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6540: END IF;
6541:
6542: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
6543: IBE_Util.Debug('After calling IBE_CUSTOMER_pvt.get_default_credit_card_info');
6546: end if;
6547:
6548: -- 2.3 if CC is not enabled or the call from 2.2 doesn't return a valid value,
6549: -- then we try to find the next enabled payment option in this order: invoice, cash, check
6550: --if ((lx_credit_card_num = FND_API.G_MISS_char) or (lx_credit_card_num is null)) then
6551: if ((lx_cc_assignment_id = FND_API.G_MISS_NUM) or (lx_cc_assignment_id is null)) then
6552: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
6553: IBE_Util.Debug('lx_credit_card_num is null');
6554: END IF;
6547:
6548: -- 2.3 if CC is not enabled or the call from 2.2 doesn't return a valid value,
6549: -- then we try to find the next enabled payment option in this order: invoice, cash, check
6550: --if ((lx_credit_card_num = FND_API.G_MISS_char) or (lx_credit_card_num is null)) then
6551: if ((lx_cc_assignment_id = FND_API.G_MISS_NUM) or (lx_cc_assignment_id is null)) then
6552: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
6553: IBE_Util.Debug('lx_credit_card_num is null');
6554: END IF;
6555: --DBMS_OUTPUT.PUT_line('lx_credit_card_num is null');
6596: END IF;
6597: --DBMS_OUTPUT.PUT_line('l_payment_type_code ='||l_payment_type_code);
6598:
6599: -- 2.4 populate the payment record:
6600: if ((l_payment_type_code <> FND_API.G_MISS_char) and (l_payment_type_code is not null)) then
6601: px_hd_Payment_Tbl(1).payment_id := l_payment_id;
6602: px_hd_Payment_Tbl(1).quote_header_id := p_qte_header_rec.quote_header_id;
6603: px_hd_Payment_Tbl(1).operation_code := l_opCode;
6604: -- px_hd_Payment_Tbl(1).quote_shipment_index := 1; // not needed
6609: px_hd_Payment_Tbl(1).PAYMENT_TYPE_CODE := l_payment_type_code;
6610: px_hd_Payment_Tbl(1).PAYMENT_TERM_ID := fnd_profile.value('IBE_DEFAULT_PAYMENT_TERM_ID');
6611:
6612: /*CC consolidation*/
6613: if ((lx_cc_assignment_id <> FND_API.G_MISS_NUM) and (lx_cc_assignment_id is not null)) then
6614: px_hd_Payment_Tbl(1).INSTR_ASSIGNMENT_ID := lx_cc_assignment_id;
6615: px_hd_Payment_Tbl(1).PAYMENT_REF_NUMBER := null;
6616: px_hd_Payment_Tbl(1).CREDIT_CARD_CODE := null;
6617: px_hd_Payment_Tbl(1).CREDIT_CARD_HOLDER_NAME := null;
6633: end if; -- if (l_isDone <> 'Y')
6634:
6635: -- End of API body.
6636: -- Standard check of p_commit.
6637: IF FND_API.To_Boolean( p_commit ) THEN
6638: COMMIT WORK;
6639: END IF;
6640:
6641: -- Standard call to get message count and if count is 1, get message info.
6638: COMMIT WORK;
6639: END IF;
6640:
6641: -- Standard call to get message count and if count is 1, get message info.
6642: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6643: p_count => x_msg_count ,
6644: p_data => x_msg_data);
6645: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
6646: IBE_Util.Debug('End IBE_Quote_Save_pvt.getHdrDefaultPaymentMethod()');
6647: END IF;
6648: --IBE_Util.Disable_Debug;
6649:
6650: EXCEPTION
6651: WHEN FND_API.G_EXC_ERROR THEN
6652: ROLLBACK TO getHdrDefPmtMethod_pvt;
6653: x_return_status := FND_API.G_RET_STS_ERROR;
6654: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6655: p_count => x_msg_count ,
6649:
6650: EXCEPTION
6651: WHEN FND_API.G_EXC_ERROR THEN
6652: ROLLBACK TO getHdrDefPmtMethod_pvt;
6653: x_return_status := FND_API.G_RET_STS_ERROR;
6654: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6655: p_count => x_msg_count ,
6656: p_data => x_msg_data);
6657: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6650: EXCEPTION
6651: WHEN FND_API.G_EXC_ERROR THEN
6652: ROLLBACK TO getHdrDefPmtMethod_pvt;
6653: x_return_status := FND_API.G_RET_STS_ERROR;
6654: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6655: p_count => x_msg_count ,
6656: p_data => x_msg_data);
6657: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6658: ROLLBACK TO getHdrDefPmtMethod_pvt;
6653: x_return_status := FND_API.G_RET_STS_ERROR;
6654: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6655: p_count => x_msg_count ,
6656: p_data => x_msg_data);
6657: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6658: ROLLBACK TO getHdrDefPmtMethod_pvt;
6659: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6660: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6661: p_count => x_msg_count ,
6655: p_count => x_msg_count ,
6656: p_data => x_msg_data);
6657: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6658: ROLLBACK TO getHdrDefPmtMethod_pvt;
6659: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6660: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6661: p_count => x_msg_count ,
6662: p_data => x_msg_data);
6663: WHEN OTHERS THEN
6656: p_data => x_msg_data);
6657: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6658: ROLLBACK TO getHdrDefPmtMethod_pvt;
6659: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6660: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6661: p_count => x_msg_count ,
6662: p_data => x_msg_data);
6663: WHEN OTHERS THEN
6664: ROLLBACK TO getHdrDefPmtMethod_pvt;
6661: p_count => x_msg_count ,
6662: p_data => x_msg_data);
6663: WHEN OTHERS THEN
6664: ROLLBACK TO getHdrDefPmtMethod_pvt;
6665: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6666: IF FND_Msg_Pub.Check_Msg_Level(FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
6667: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
6668: l_api_name);
6669: END IF;
6666: IF FND_Msg_Pub.Check_Msg_Level(FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
6667: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
6668: l_api_name);
6669: END IF;
6670: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6671: p_count => x_msg_count ,
6672: p_data => x_msg_data);
6673: end getHdrDefaultPaymentMethod;
6674:
6673: end getHdrDefaultPaymentMethod;
6674:
6675: PROCEDURE getHdrDefaultTaxExemption(
6676: P_Api_Version_Number IN NUMBER
6677: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
6678: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
6679: ,px_hd_Tax_Detail_Tbl IN OUT NOCOPY ASO_Quote_Pub.Tax_Detail_Tbl_Type
6680: ,p_qte_header_rec IN ASO_Quote_Pub.Qte_Header_Rec_Type
6681: ,X_Return_Status OUT NOCOPY VARCHAR2
6674:
6675: PROCEDURE getHdrDefaultTaxExemption(
6676: P_Api_Version_Number IN NUMBER
6677: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
6678: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
6679: ,px_hd_Tax_Detail_Tbl IN OUT NOCOPY ASO_Quote_Pub.Tax_Detail_Tbl_Type
6680: ,p_qte_header_rec IN ASO_Quote_Pub.Qte_Header_Rec_Type
6681: ,X_Return_Status OUT NOCOPY VARCHAR2
6682: ,X_Msg_Count OUT NOCOPY NUMBER
6690: l_opCode varchar2(10) := 'CREATE';
6691:
6692: l_isDone varchar2(1) := 'N';
6693:
6694: l_tax_detail_id number := FND_API.G_MISS_NUM;
6695: l_payment_type_code varchar2(30) := null;
6696:
6697: cursor c_check_tax_rec_exist(l_quote_header_id number)
6698: is
6707: -- Standard Start of API savepoint
6708: SAVEPOINT getHdrDefTaxExmpt_pvt;
6709:
6710: -- Standard call to check for call compatibility.
6711: IF NOT FND_API.Compatible_API_Call(L_API_VERSION,
6712: P_Api_Version_Number,
6713: L_API_NAME ,
6714: G_PKG_NAME )
6715: THEN
6712: P_Api_Version_Number,
6713: L_API_NAME ,
6714: G_PKG_NAME )
6715: THEN
6716: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6717: END IF;
6718:
6719: -- Initialize message list if p_init_msg_list is set to TRUE.
6720: IF FND_API.To_Boolean(p_init_msg_list) THEN
6716: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6717: END IF;
6718:
6719: -- Initialize message list if p_init_msg_list is set to TRUE.
6720: IF FND_API.To_Boolean(p_init_msg_list) THEN
6721: FND_Msg_Pub.initialize;
6722: END IF;
6723:
6724: -- Initialize API return status to success
6721: FND_Msg_Pub.initialize;
6722: END IF;
6723:
6724: -- Initialize API return status to success
6725: x_return_status := FND_API.G_RET_STS_SUCCESS;
6726:
6727: -- API body
6728:
6729: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
6730: IBE_Util.Debug('Start IBE_Quote_Save_pvt.getHdrDefaultTaxExemption()');
6731: END IF;
6732:
6733: -- 1. for the merge cart cases, we have to check if there is tax exemption flag in the tax record associated w/ the cart:
6734: if ((p_qte_header_rec.quote_header_id <> FND_API.G_MISS_NUM) and (p_qte_header_rec.quote_header_id is not null)) then
6735:
6736: -- check to see if there is already a tax exemption flag
6737: open c_check_tax_rec_exist (p_qte_header_rec.quote_header_id);
6738: fetch c_check_tax_rec_exist into rec_tax_rec_exist;
6738: fetch c_check_tax_rec_exist into rec_tax_rec_exist;
6739: close c_check_tax_rec_exist;
6740:
6741: -- if there is already a shipTo partySiteId, we are done
6742: if ((rec_tax_rec_exist.tax_exempt_flag <> FND_API.G_MISS_char) and (rec_tax_rec_exist.tax_exempt_flag is not null)) then
6743: l_isDone := 'Y';
6744:
6745: -- if there is tax_detail_id
6746: elsif ((rec_tax_rec_exist.tax_detail_id <> FND_API.G_MISS_NUM) and (rec_tax_rec_exist.tax_detail_id is not null)) then
6742: if ((rec_tax_rec_exist.tax_exempt_flag <> FND_API.G_MISS_char) and (rec_tax_rec_exist.tax_exempt_flag is not null)) then
6743: l_isDone := 'Y';
6744:
6745: -- if there is tax_detail_id
6746: elsif ((rec_tax_rec_exist.tax_detail_id <> FND_API.G_MISS_NUM) and (rec_tax_rec_exist.tax_detail_id is not null)) then
6747: l_opCode := 'UPDATE';
6748: l_tax_detail_id := rec_tax_rec_exist.tax_detail_id;
6749: end if;
6750: end if; -- for merge cart cases
6759: px_hd_Tax_Detail_Tbl(1).tax_exempt_flag := 'S';
6760: end if;
6761:
6762: -- Standard call to get message count and if count is 1, get message info.
6763: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6764: p_count => x_msg_count ,
6765: p_data => x_msg_data);
6766: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
6767: IBE_Util.Debug('End IBE_Quote_Save_pvt.getHdrDefaultTaxExemption()');
6768: END IF;
6769: --IBE_Util.Disable_Debug;
6770:
6771: EXCEPTION
6772: WHEN FND_API.G_EXC_ERROR THEN
6773: ROLLBACK TO getHdrDefTaxExmpt_pvt;
6774: x_return_status := FND_API.G_RET_STS_ERROR;
6775: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6776: p_count => x_msg_count ,
6770:
6771: EXCEPTION
6772: WHEN FND_API.G_EXC_ERROR THEN
6773: ROLLBACK TO getHdrDefTaxExmpt_pvt;
6774: x_return_status := FND_API.G_RET_STS_ERROR;
6775: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6776: p_count => x_msg_count ,
6777: p_data => x_msg_data);
6778: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6771: EXCEPTION
6772: WHEN FND_API.G_EXC_ERROR THEN
6773: ROLLBACK TO getHdrDefTaxExmpt_pvt;
6774: x_return_status := FND_API.G_RET_STS_ERROR;
6775: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6776: p_count => x_msg_count ,
6777: p_data => x_msg_data);
6778: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6779: ROLLBACK TO getHdrDefTaxExmpt_pvt;
6774: x_return_status := FND_API.G_RET_STS_ERROR;
6775: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6776: p_count => x_msg_count ,
6777: p_data => x_msg_data);
6778: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6779: ROLLBACK TO getHdrDefTaxExmpt_pvt;
6780: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6781: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6782: p_count => x_msg_count ,
6776: p_count => x_msg_count ,
6777: p_data => x_msg_data);
6778: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6779: ROLLBACK TO getHdrDefTaxExmpt_pvt;
6780: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6781: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6782: p_count => x_msg_count ,
6783: p_data => x_msg_data);
6784: WHEN OTHERS THEN
6777: p_data => x_msg_data);
6778: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6779: ROLLBACK TO getHdrDefTaxExmpt_pvt;
6780: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6781: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6782: p_count => x_msg_count ,
6783: p_data => x_msg_data);
6784: WHEN OTHERS THEN
6785: ROLLBACK TO getHdrDefTaxExmpt_pvt;
6782: p_count => x_msg_count ,
6783: p_data => x_msg_data);
6784: WHEN OTHERS THEN
6785: ROLLBACK TO getHdrDefTaxExmpt_pvt;
6786: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6787: IF FND_Msg_Pub.Check_Msg_Level(FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
6788: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
6789: l_api_name);
6790: END IF;
6787: IF FND_Msg_Pub.Check_Msg_Level(FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
6788: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
6789: l_api_name);
6790: END IF;
6791: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6792: p_count => x_msg_count ,
6793: p_data => x_msg_data);
6794:
6795: end getHdrDefaultTaxExemption;
6795: end getHdrDefaultTaxExemption;
6796:
6797: PROCEDURE getHdrDefaultEndCustomer(
6798: P_Api_Version_Number IN NUMBER
6799: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
6800: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
6801: ,p_hd_Shipment_TBL IN ASO_Quote_Pub.Shipment_tbl_Type
6802: ,px_qte_header_rec IN OUT NOCOPY ASO_Quote_Pub.Qte_Header_Rec_Type
6803: ,X_Return_Status OUT NOCOPY VARCHAR2
6796:
6797: PROCEDURE getHdrDefaultEndCustomer(
6798: P_Api_Version_Number IN NUMBER
6799: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
6800: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
6801: ,p_hd_Shipment_TBL IN ASO_Quote_Pub.Shipment_tbl_Type
6802: ,px_qte_header_rec IN OUT NOCOPY ASO_Quote_Pub.Qte_Header_Rec_Type
6803: ,X_Return_Status OUT NOCOPY VARCHAR2
6804: ,X_Msg_Count OUT NOCOPY NUMBER
6830: -- Standard Start of API savepoint
6831: SAVEPOINT getHdrDefaultEndCustomer_pvt;
6832:
6833: -- Standard call to check for call compatibility.
6834: IF NOT FND_API.Compatible_API_Call(L_API_VERSION,
6835: P_Api_Version_Number,
6836: L_API_NAME ,
6837: G_PKG_NAME )
6838: THEN
6835: P_Api_Version_Number,
6836: L_API_NAME ,
6837: G_PKG_NAME )
6838: THEN
6839: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6840: END IF;
6841:
6842: -- Initialize message list if p_init_msg_list is set to TRUE.
6843: IF FND_API.To_Boolean(p_init_msg_list) THEN
6839: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6840: END IF;
6841:
6842: -- Initialize message list if p_init_msg_list is set to TRUE.
6843: IF FND_API.To_Boolean(p_init_msg_list) THEN
6844: FND_Msg_Pub.initialize;
6845: END IF;
6846:
6847: -- Initialize API return status to success
6844: FND_Msg_Pub.initialize;
6845: END IF;
6846:
6847: -- Initialize API return status to success
6848: x_return_status := FND_API.G_RET_STS_SUCCESS;
6849:
6850: -- API body
6851: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
6852: IBE_Util.Debug('Begin IBE_Quote_Save_pvt.getHdrDefaultEndCustomer()');
6855: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
6856: IBE_Util.Debug('getHdrDefaultEndCustomer: px_qte_header_rec.quote_header_id='||px_qte_header_rec.quote_header_id);
6857: END IF;
6858:
6859: if ((px_qte_header_rec.quote_header_id <> FND_API.G_MISS_NUM) and (px_qte_header_rec.quote_header_id is not null)) then
6860:
6861: -- check to see if there is already an endTo info
6862: open c_check_endTo_rec_exist (px_qte_header_rec.quote_header_id);
6863: fetch c_check_endTo_rec_exist into rec_endTo_rec_exist;
6863: fetch c_check_endTo_rec_exist into rec_endTo_rec_exist;
6864: close c_check_endTo_rec_exist;
6865:
6866: -- if there is no endTo info, then we shld try to default
6867: if ( ((rec_endTo_rec_exist.end_customer_PARTY_SITE_ID <> FND_API.G_MISS_NUM) and (rec_endTo_rec_exist.end_customer_PARTY_SITE_ID is not null)) or
6868: ((rec_endTo_rec_exist.end_customer_PARTY_SITE_ID <> FND_API.G_MISS_NUM) and (rec_endTo_rec_exist.end_customer_PARTY_SITE_ID is not null)) or
6869: ((rec_endTo_rec_exist.end_customer_cust_account_id <> FND_API.G_MISS_NUM) and (rec_endTo_rec_exist.end_customer_PARTY_SITE_ID is not null)) ) then
6870: l_isDone := 'Y';
6871: end if; -- check to see if we shld try to default
6864: close c_check_endTo_rec_exist;
6865:
6866: -- if there is no endTo info, then we shld try to default
6867: if ( ((rec_endTo_rec_exist.end_customer_PARTY_SITE_ID <> FND_API.G_MISS_NUM) and (rec_endTo_rec_exist.end_customer_PARTY_SITE_ID is not null)) or
6868: ((rec_endTo_rec_exist.end_customer_PARTY_SITE_ID <> FND_API.G_MISS_NUM) and (rec_endTo_rec_exist.end_customer_PARTY_SITE_ID is not null)) or
6869: ((rec_endTo_rec_exist.end_customer_cust_account_id <> FND_API.G_MISS_NUM) and (rec_endTo_rec_exist.end_customer_PARTY_SITE_ID is not null)) ) then
6870: l_isDone := 'Y';
6871: end if; -- check to see if we shld try to default
6872:
6865:
6866: -- if there is no endTo info, then we shld try to default
6867: if ( ((rec_endTo_rec_exist.end_customer_PARTY_SITE_ID <> FND_API.G_MISS_NUM) and (rec_endTo_rec_exist.end_customer_PARTY_SITE_ID is not null)) or
6868: ((rec_endTo_rec_exist.end_customer_PARTY_SITE_ID <> FND_API.G_MISS_NUM) and (rec_endTo_rec_exist.end_customer_PARTY_SITE_ID is not null)) or
6869: ((rec_endTo_rec_exist.end_customer_cust_account_id <> FND_API.G_MISS_NUM) and (rec_endTo_rec_exist.end_customer_PARTY_SITE_ID is not null)) ) then
6870: l_isDone := 'Y';
6871: end if; -- check to see if we shld try to default
6872:
6873: end if; -- for merge cart cases
6901: END IF;
6902:
6903: -- End of API body.
6904: -- Standard check of p_commit.
6905: IF FND_API.To_Boolean( p_commit ) THEN
6906: COMMIT WORK;
6907: END IF;
6908:
6909: -- Standard call to get message count and if count is 1, get message info.
6906: COMMIT WORK;
6907: END IF;
6908:
6909: -- Standard call to get message count and if count is 1, get message info.
6910: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6911: p_count => x_msg_count ,
6912: p_data => x_msg_data);
6913: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
6914: IBE_Util.Debug('End IBE_Quote_Save_pvt.getHdrDefaultEndCustomer()');
6915: END IF;
6916: --IBE_Util.Disable_Debug;
6917:
6918: EXCEPTION
6919: WHEN FND_API.G_EXC_ERROR THEN
6920: ROLLBACK TO getHdrDefaultEndCustomer_pvt;
6921: x_return_status := FND_API.G_RET_STS_ERROR;
6922: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6923: p_count => x_msg_count ,
6917:
6918: EXCEPTION
6919: WHEN FND_API.G_EXC_ERROR THEN
6920: ROLLBACK TO getHdrDefaultEndCustomer_pvt;
6921: x_return_status := FND_API.G_RET_STS_ERROR;
6922: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6923: p_count => x_msg_count ,
6924: p_data => x_msg_data);
6925: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6918: EXCEPTION
6919: WHEN FND_API.G_EXC_ERROR THEN
6920: ROLLBACK TO getHdrDefaultEndCustomer_pvt;
6921: x_return_status := FND_API.G_RET_STS_ERROR;
6922: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6923: p_count => x_msg_count ,
6924: p_data => x_msg_data);
6925: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6926: ROLLBACK TO getHdrDefaultEndCustomer_pvt;
6921: x_return_status := FND_API.G_RET_STS_ERROR;
6922: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6923: p_count => x_msg_count ,
6924: p_data => x_msg_data);
6925: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6926: ROLLBACK TO getHdrDefaultEndCustomer_pvt;
6927: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6928: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6929: p_count => x_msg_count ,
6923: p_count => x_msg_count ,
6924: p_data => x_msg_data);
6925: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6926: ROLLBACK TO getHdrDefaultEndCustomer_pvt;
6927: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6928: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6929: p_count => x_msg_count ,
6930: p_data => x_msg_data);
6931: WHEN OTHERS THEN
6924: p_data => x_msg_data);
6925: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6926: ROLLBACK TO getHdrDefaultEndCustomer_pvt;
6927: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6928: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6929: p_count => x_msg_count ,
6930: p_data => x_msg_data);
6931: WHEN OTHERS THEN
6932: ROLLBACK TO getHdrDefaultEndCustomer_pvt;
6929: p_count => x_msg_count ,
6930: p_data => x_msg_data);
6931: WHEN OTHERS THEN
6932: ROLLBACK TO getHdrDefaultEndCustomer_pvt;
6933: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6934: IF FND_Msg_Pub.Check_Msg_Level(FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
6935: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
6936: l_api_name);
6937: END IF;
6934: IF FND_Msg_Pub.Check_Msg_Level(FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
6935: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
6936: l_api_name);
6937: END IF;
6938: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6939: p_count => x_msg_count ,
6940: p_data => x_msg_data);
6941:
6942: end getHdrDefaultEndCustomer;
6948: ,p_quote_id IN OKX_QUOTE_HEADERS_V.ID1%TYPE
6949: ,p_rel_type IN OKC_K_REL_OBJS.RTY_CODE%TYPE := OKC_API.G_MISS_CHAR
6950: ,p_terms_agreed_flag IN VARCHAR2 := OKC_API.G_FALSE
6951: ,p_trace_mode IN VARCHAR2 := OKC_API.G_FALSE
6952: ,p_party_id IN NUMBER := FND_API.G_MISS_NUM
6953: ,p_cust_account_id IN NUMBER := FND_API.G_MISS_NUM
6954: ,p_quote_retrieval_number IN NUMBER := FND_API.G_MISS_NUM
6955: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
6956: ,p_validate_user IN VARCHAR2 := FND_API.G_FALSE
6949: ,p_rel_type IN OKC_K_REL_OBJS.RTY_CODE%TYPE := OKC_API.G_MISS_CHAR
6950: ,p_terms_agreed_flag IN VARCHAR2 := OKC_API.G_FALSE
6951: ,p_trace_mode IN VARCHAR2 := OKC_API.G_FALSE
6952: ,p_party_id IN NUMBER := FND_API.G_MISS_NUM
6953: ,p_cust_account_id IN NUMBER := FND_API.G_MISS_NUM
6954: ,p_quote_retrieval_number IN NUMBER := FND_API.G_MISS_NUM
6955: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
6956: ,p_validate_user IN VARCHAR2 := FND_API.G_FALSE
6957: ,p_url IN VARCHAR2 := FND_API.G_MISS_CHAR
6950: ,p_terms_agreed_flag IN VARCHAR2 := OKC_API.G_FALSE
6951: ,p_trace_mode IN VARCHAR2 := OKC_API.G_FALSE
6952: ,p_party_id IN NUMBER := FND_API.G_MISS_NUM
6953: ,p_cust_account_id IN NUMBER := FND_API.G_MISS_NUM
6954: ,p_quote_retrieval_number IN NUMBER := FND_API.G_MISS_NUM
6955: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
6956: ,p_validate_user IN VARCHAR2 := FND_API.G_FALSE
6957: ,p_url IN VARCHAR2 := FND_API.G_MISS_CHAR
6958: ,x_contract_id OUT NOCOPY OKC_K_HEADERS_B.ID%TYPE
6951: ,p_trace_mode IN VARCHAR2 := OKC_API.G_FALSE
6952: ,p_party_id IN NUMBER := FND_API.G_MISS_NUM
6953: ,p_cust_account_id IN NUMBER := FND_API.G_MISS_NUM
6954: ,p_quote_retrieval_number IN NUMBER := FND_API.G_MISS_NUM
6955: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
6956: ,p_validate_user IN VARCHAR2 := FND_API.G_FALSE
6957: ,p_url IN VARCHAR2 := FND_API.G_MISS_CHAR
6958: ,x_contract_id OUT NOCOPY OKC_K_HEADERS_B.ID%TYPE
6959: ,x_contract_number OUT NOCOPY OKC_K_HEADERS_B.CONTRACT_NUMBER%TYPE
6952: ,p_party_id IN NUMBER := FND_API.G_MISS_NUM
6953: ,p_cust_account_id IN NUMBER := FND_API.G_MISS_NUM
6954: ,p_quote_retrieval_number IN NUMBER := FND_API.G_MISS_NUM
6955: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
6956: ,p_validate_user IN VARCHAR2 := FND_API.G_FALSE
6957: ,p_url IN VARCHAR2 := FND_API.G_MISS_CHAR
6958: ,x_contract_id OUT NOCOPY OKC_K_HEADERS_B.ID%TYPE
6959: ,x_contract_number OUT NOCOPY OKC_K_HEADERS_B.CONTRACT_NUMBER%TYPE
6960: ,x_return_status OUT NOCOPY VARCHAR2
6953: ,p_cust_account_id IN NUMBER := FND_API.G_MISS_NUM
6954: ,p_quote_retrieval_number IN NUMBER := FND_API.G_MISS_NUM
6955: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
6956: ,p_validate_user IN VARCHAR2 := FND_API.G_FALSE
6957: ,p_url IN VARCHAR2 := FND_API.G_MISS_CHAR
6958: ,x_contract_id OUT NOCOPY OKC_K_HEADERS_B.ID%TYPE
6959: ,x_contract_number OUT NOCOPY OKC_K_HEADERS_B.CONTRACT_NUMBER%TYPE
6960: ,x_return_status OUT NOCOPY VARCHAR2
6961: ,x_msg_count OUT NOCOPY NUMBER
6976: END IF;
6977:
6978:
6979: -- Standard call to check for call compatibility.
6980: IF NOT FND_API.Compatible_API_Call(l_api_version,
6981: P_Api_Version_Number,
6982: l_api_name ,
6983: G_PKG_NAME )
6984: THEN
6981: P_Api_Version_Number,
6982: l_api_name ,
6983: G_PKG_NAME )
6984: THEN
6985: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6986: END IF;
6987:
6988: -- Initialize message list if p_init_msg_list is set to TRUE.
6989: IF FND_API.To_Boolean(p_Init_Msg_List) THEN
6985: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6986: END IF;
6987:
6988: -- Initialize message list if p_init_msg_list is set to TRUE.
6989: IF FND_API.To_Boolean(p_Init_Msg_List) THEN
6990: FND_Msg_Pub.initialize;
6991: END IF;
6992: -- Initialize API return status to success
6993: x_return_status := FND_API.G_RET_STS_SUCCESS;
6989: IF FND_API.To_Boolean(p_Init_Msg_List) THEN
6990: FND_Msg_Pub.initialize;
6991: END IF;
6992: -- Initialize API return status to success
6993: x_return_status := FND_API.G_RET_STS_SUCCESS;
6994:
6995: -- API body
6996:
6997: -- User Authentication
7005: ,x_return_status => x_return_status
7006: ,x_msg_count => x_msg_count
7007: ,x_msg_data => x_msg_data
7008: );
7009: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
7010: RAISE FND_API.G_EXC_ERROR;
7011: END IF;
7012:
7013: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
7006: ,x_msg_count => x_msg_count
7007: ,x_msg_data => x_msg_data
7008: );
7009: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
7010: RAISE FND_API.G_EXC_ERROR;
7011: END IF;
7012:
7013: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
7014: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7009: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
7010: RAISE FND_API.G_EXC_ERROR;
7011: END IF;
7012:
7013: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
7014: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7015: END IF;
7016:
7017: --commented by makulkar for the bug 2572588.
7010: RAISE FND_API.G_EXC_ERROR;
7011: END IF;
7012:
7013: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
7014: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7015: END IF;
7016:
7017: --commented by makulkar for the bug 2572588.
7018: /*
7048: ,p_rel_type => p_rel_type
7049: ,p_terms_agreed_flag => p_terms_agreed_flag
7050: );
7051:
7052: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
7053: RAISE FND_API.G_EXC_ERROR;
7054: END IF;
7055:
7056: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
7049: ,p_terms_agreed_flag => p_terms_agreed_flag
7050: );
7051:
7052: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
7053: RAISE FND_API.G_EXC_ERROR;
7054: END IF;
7055:
7056: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
7057: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7052: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
7053: RAISE FND_API.G_EXC_ERROR;
7054: END IF;
7055:
7056: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
7057: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7058: END IF;
7059:
7060: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
7053: RAISE FND_API.G_EXC_ERROR;
7054: END IF;
7055:
7056: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
7057: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7058: END IF;
7059:
7060: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
7061: IBE_Util.Debug('create contract, output contract_id ='||x_contract_id);
7070: p_quote_header_id => p_quote_id ,
7071: P_minisite_id => p_minisite_id ,
7072: p_api_version => P_Api_Version_Number,
7073: p_url => p_url ,
7074: p_init_msg_list => FND_API.G_FALSE ,
7075: p_commit => FND_API.G_FALSE ,
7076: x_return_status => x_return_status ,
7077: x_msg_count => x_msg_count ,
7078: x_msg_data => x_msg_data );
7071: P_minisite_id => p_minisite_id ,
7072: p_api_version => P_Api_Version_Number,
7073: p_url => p_url ,
7074: p_init_msg_list => FND_API.G_FALSE ,
7075: p_commit => FND_API.G_FALSE ,
7076: x_return_status => x_return_status ,
7077: x_msg_count => x_msg_count ,
7078: x_msg_data => x_msg_data );
7079:
7076: x_return_status => x_return_status ,
7077: x_msg_count => x_msg_count ,
7078: x_msg_data => x_msg_data );
7079:
7080: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7081: RAISE FND_API.G_EXC_ERROR;
7082: END IF;
7083: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7084: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7077: x_msg_count => x_msg_count ,
7078: x_msg_data => x_msg_data );
7079:
7080: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7081: RAISE FND_API.G_EXC_ERROR;
7082: END IF;
7083: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7084: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7085: END IF;
7079:
7080: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7081: RAISE FND_API.G_EXC_ERROR;
7082: END IF;
7083: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7084: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7085: END IF;
7086: IF(IBE_UTIL.G_DEBUGON = 'Y') THEN
7087: IBE_UTIL.DEBUG('Done calling share_readonly');
7080: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7081: RAISE FND_API.G_EXC_ERROR;
7082: END IF;
7083: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7084: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7085: END IF;
7086: IF(IBE_UTIL.G_DEBUGON = 'Y') THEN
7087: IBE_UTIL.DEBUG('Done calling share_readonly');
7088: IBE_UTIL.DEBUG('Create_contract:Calling deactivate API');
7092: P_Quote_header_id => p_quote_id ,
7093: P_Party_id => p_party_id ,
7094: P_Cust_account_id => p_cust_account_id ,
7095: p_api_version => P_Api_Version_Number,
7096: p_init_msg_list => fnd_api.g_false ,
7097: p_commit => fnd_api.g_false ,
7098: x_return_status => x_return_status ,
7099: x_msg_count => x_msg_count ,
7100: x_msg_data => x_msg_data );
7093: P_Party_id => p_party_id ,
7094: P_Cust_account_id => p_cust_account_id ,
7095: p_api_version => P_Api_Version_Number,
7096: p_init_msg_list => fnd_api.g_false ,
7097: p_commit => fnd_api.g_false ,
7098: x_return_status => x_return_status ,
7099: x_msg_count => x_msg_count ,
7100: x_msg_data => x_msg_data );
7101: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7097: p_commit => fnd_api.g_false ,
7098: x_return_status => x_return_status ,
7099: x_msg_count => x_msg_count ,
7100: x_msg_data => x_msg_data );
7101: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7102: RAISE FND_API.G_EXC_ERROR;
7103: END IF;
7104:
7105: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7098: x_return_status => x_return_status ,
7099: x_msg_count => x_msg_count ,
7100: x_msg_data => x_msg_data );
7101: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7102: RAISE FND_API.G_EXC_ERROR;
7103: END IF;
7104:
7105: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7106: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7101: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7102: RAISE FND_API.G_EXC_ERROR;
7103: END IF;
7104:
7105: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7106: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7107: END IF;
7108: IF(IBE_UTIL.G_DEBUGON = 'Y') THEN
7109: IBE_UTIL.DEBUG('Create_Contract:Deactivate owner cart after creating the contract:Done');
7102: RAISE FND_API.G_EXC_ERROR;
7103: END IF;
7104:
7105: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7106: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7107: END IF;
7108: IF(IBE_UTIL.G_DEBUGON = 'Y') THEN
7109: IBE_UTIL.DEBUG('Create_Contract:Deactivate owner cart after creating the contract:Done');
7110: END IF;
7111:
7112:
7113:
7114: -- Standard call to get message count and if count is 1, get message info.
7115: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
7116: p_count => x_msg_count ,
7117: p_data => x_msg_data);
7118: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
7119: IBE_Util.Debug('End IBE_Quote_Save_pvt.getHdrDefaultTaxExemption()');
7122:
7123:
7124: EXCEPTION
7125:
7126: WHEN FND_API.G_EXC_ERROR THEN
7127: ROLLBACK TO CREATECONTRACTFORQUOTE_pvt;
7128: x_return_status := FND_API.G_RET_STS_ERROR;
7129: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
7130: p_count => x_msg_count,
7124: EXCEPTION
7125:
7126: WHEN FND_API.G_EXC_ERROR THEN
7127: ROLLBACK TO CREATECONTRACTFORQUOTE_pvt;
7128: x_return_status := FND_API.G_RET_STS_ERROR;
7129: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
7130: p_count => x_msg_count,
7131: p_data => x_msg_data);
7132:
7125:
7126: WHEN FND_API.G_EXC_ERROR THEN
7127: ROLLBACK TO CREATECONTRACTFORQUOTE_pvt;
7128: x_return_status := FND_API.G_RET_STS_ERROR;
7129: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
7130: p_count => x_msg_count,
7131: p_data => x_msg_data);
7132:
7133: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7129: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
7130: p_count => x_msg_count,
7131: p_data => x_msg_data);
7132:
7133: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7134: ROLLBACK TO CREATECONTRACTFORQUOTE_pvt;
7135: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7136: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
7137: p_count => x_msg_count,
7131: p_data => x_msg_data);
7132:
7133: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7134: ROLLBACK TO CREATECONTRACTFORQUOTE_pvt;
7135: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7136: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
7137: p_count => x_msg_count,
7138: p_data => x_msg_data);
7139:
7132:
7133: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7134: ROLLBACK TO CREATECONTRACTFORQUOTE_pvt;
7135: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7136: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
7137: p_count => x_msg_count,
7138: p_data => x_msg_data);
7139:
7140: WHEN OTHERS THEN
7138: p_data => x_msg_data);
7139:
7140: WHEN OTHERS THEN
7141: ROLLBACK TO CREATECONTRACTFORQUOTE_pvt;
7142: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7143:
7144: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
7145: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME,
7146: l_api_name);
7145: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME,
7146: l_api_name);
7147: END IF;
7148:
7149: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
7150: p_count => x_msg_count,
7151: p_data => x_msg_data);
7152:
7153: END CREATE_CONTRACT_FOR_QUOTE;
7155: -- Duplicate Cart feature for 11.5.11 MaithiliK
7156:
7157: PROCEDURE DUPLICATE_CART (
7158: P_Api_Version IN NUMBER ,
7159: p_Init_Msg_List IN VARCHAR2:= FND_API.G_FALSE ,
7160: p_Commit IN VARCHAR2:= FND_API.G_FALSE ,
7161: x_return_status OUT NOCOPY VARCHAR2 ,
7162: x_msg_count OUT NOCOPY NUMBER ,
7163: x_msg_data OUT NOCOPY VARCHAR2 ,
7156:
7157: PROCEDURE DUPLICATE_CART (
7158: P_Api_Version IN NUMBER ,
7159: p_Init_Msg_List IN VARCHAR2:= FND_API.G_FALSE ,
7160: p_Commit IN VARCHAR2:= FND_API.G_FALSE ,
7161: x_return_status OUT NOCOPY VARCHAR2 ,
7162: x_msg_count OUT NOCOPY NUMBER ,
7163: x_msg_data OUT NOCOPY VARCHAR2 ,
7164: x_last_update_date OUT NOCOPY Date ,
7163: x_msg_data OUT NOCOPY VARCHAR2 ,
7164: x_last_update_date OUT NOCOPY Date ,
7165: x_quote_header_id OUT NOCOPY NUMBER ,
7166: p_last_update_date IN Date ,
7167: p_quote_header_id IN NUMBER:= FND_API.G_MISS_NUM,
7168: p_party_id IN NUMBER:= FND_API.G_MISS_NUM,
7169: p_cust_account_id IN NUMBER:= FND_API.G_MISS_NUM,
7170: p_validate_user IN VARCHAR2:= FND_API.G_FALSE ,
7171: P_new_quote_name IN VARCHAR2 ,
7164: x_last_update_date OUT NOCOPY Date ,
7165: x_quote_header_id OUT NOCOPY NUMBER ,
7166: p_last_update_date IN Date ,
7167: p_quote_header_id IN NUMBER:= FND_API.G_MISS_NUM,
7168: p_party_id IN NUMBER:= FND_API.G_MISS_NUM,
7169: p_cust_account_id IN NUMBER:= FND_API.G_MISS_NUM,
7170: p_validate_user IN VARCHAR2:= FND_API.G_FALSE ,
7171: P_new_quote_name IN VARCHAR2 ,
7172: p_retrieval_number IN NUMBER := FND_API.G_MISS_NUM,
7165: x_quote_header_id OUT NOCOPY NUMBER ,
7166: p_last_update_date IN Date ,
7167: p_quote_header_id IN NUMBER:= FND_API.G_MISS_NUM,
7168: p_party_id IN NUMBER:= FND_API.G_MISS_NUM,
7169: p_cust_account_id IN NUMBER:= FND_API.G_MISS_NUM,
7170: p_validate_user IN VARCHAR2:= FND_API.G_FALSE ,
7171: P_new_quote_name IN VARCHAR2 ,
7172: p_retrieval_number IN NUMBER := FND_API.G_MISS_NUM,
7173: p_minisite_id IN NUMBER ) is
7166: p_last_update_date IN Date ,
7167: p_quote_header_id IN NUMBER:= FND_API.G_MISS_NUM,
7168: p_party_id IN NUMBER:= FND_API.G_MISS_NUM,
7169: p_cust_account_id IN NUMBER:= FND_API.G_MISS_NUM,
7170: p_validate_user IN VARCHAR2:= FND_API.G_FALSE ,
7171: P_new_quote_name IN VARCHAR2 ,
7172: p_retrieval_number IN NUMBER := FND_API.G_MISS_NUM,
7173: p_minisite_id IN NUMBER ) is
7174:
7168: p_party_id IN NUMBER:= FND_API.G_MISS_NUM,
7169: p_cust_account_id IN NUMBER:= FND_API.G_MISS_NUM,
7170: p_validate_user IN VARCHAR2:= FND_API.G_FALSE ,
7171: P_new_quote_name IN VARCHAR2 ,
7172: p_retrieval_number IN NUMBER := FND_API.G_MISS_NUM,
7173: p_minisite_id IN NUMBER ) is
7174:
7175: CURSOR c_check_for_quote(c_quote_header_id NUMBER) IS
7176: SELECT count(*) is_published_quote
7221: lx_msg_count NUMBER;
7222: lx_msg_data VARCHAR2(2000);
7223: lx_last_update_date DATE;
7224:
7225: l_exp_date_profile_value NUMBER := FND_API.G_MISS_NUM;
7226: l_controlled_copy VARCHAR2(2) := FND_API.G_FALSE;
7227: l_copy_quote_header_rec ASO_Copy_Quote_Pub.Copy_Quote_Header_Rec_Type
7228: := ASO_Copy_Quote_Pub.G_MISS_Copy_Quote_Header_Rec;
7229: l_copy_quote_control_rec ASO_Copy_Quote_Pub.Copy_Quote_Control_Rec_Type
7222: lx_msg_data VARCHAR2(2000);
7223: lx_last_update_date DATE;
7224:
7225: l_exp_date_profile_value NUMBER := FND_API.G_MISS_NUM;
7226: l_controlled_copy VARCHAR2(2) := FND_API.G_FALSE;
7227: l_copy_quote_header_rec ASO_Copy_Quote_Pub.Copy_Quote_Header_Rec_Type
7228: := ASO_Copy_Quote_Pub.G_MISS_Copy_Quote_Header_Rec;
7229: l_copy_quote_control_rec ASO_Copy_Quote_Pub.Copy_Quote_Control_Rec_Type
7230: := ASO_Copy_Quote_Pub.G_MISS_Copy_Quote_Control_Rec;
7249: -- Standard Start of API savepoint
7250: SAVEPOINT Duplicate_Cart;
7251:
7252: -- Standard call to check for call compatibility.
7253: IF NOT FND_API.Compatible_API_Call(L_API_VERSION,
7254: p_api_version,
7255: L_API_NAME ,
7256: G_PKG_NAME )
7257: THEN
7254: p_api_version,
7255: L_API_NAME ,
7256: G_PKG_NAME )
7257: THEN
7258: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7259: END IF;
7260:
7261: -- Initialize message list if p_init_msg_list is set to TRUE.
7262: IF FND_API.To_Boolean(p_init_msg_list) THEN
7258: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7259: END IF;
7260:
7261: -- Initialize message list if p_init_msg_list is set to TRUE.
7262: IF FND_API.To_Boolean(p_init_msg_list) THEN
7263: FND_Msg_Pub.initialize;
7264: END IF;
7265: -- Initialize API return status to success
7266: x_return_status := FND_API.G_RET_STS_SUCCESS;
7262: IF FND_API.To_Boolean(p_init_msg_list) THEN
7263: FND_Msg_Pub.initialize;
7264: END IF;
7265: -- Initialize API return status to success
7266: x_return_status := FND_API.G_RET_STS_SUCCESS;
7267:
7268: --API Body
7269: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
7270: IBE_UTIL.DEBUG('DUPLICATE_CART: Before Calling log_environment_info');
7289: ,x_return_status => lx_return_status
7290: ,x_msg_count => lx_msg_count
7291: ,x_msg_data => lx_msg_data
7292: );
7293: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
7294: RAISE FND_API.G_EXC_ERROR;
7295: END IF;
7296: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7297: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7290: ,x_msg_count => lx_msg_count
7291: ,x_msg_data => lx_msg_data
7292: );
7293: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
7294: RAISE FND_API.G_EXC_ERROR;
7295: END IF;
7296: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7297: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7298: END IF;
7292: );
7293: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
7294: RAISE FND_API.G_EXC_ERROR;
7295: END IF;
7296: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7297: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7298: END IF;
7299:
7300: --Check for Shared Cart and Published Quote separately. If the cart is a Shared Cart (Even if end dated record)
7293: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
7294: RAISE FND_API.G_EXC_ERROR;
7295: END IF;
7296: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7297: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7298: END IF;
7299:
7300: --Check for Shared Cart and Published Quote separately. If the cart is a Shared Cart (Even if end dated record)
7301: --OR published quote then set the l_controlled_copy flag to TRUE.
7301: --OR published quote then set the l_controlled_copy flag to TRUE.
7302:
7303: FOR rec_is_shared_cart in c_is_shared_cart(p_quote_header_id) LOOP
7304: IF (nvl(rec_is_shared_cart.is_shared_cart,0) > 0) THEN
7305: l_controlled_copy := FND_API.G_TRUE;
7306: END IF;
7307: END LOOP;
7308:
7309: FOR rec_check_for_quote in c_check_for_quote(p_quote_header_id) LOOP
7307: END LOOP;
7308:
7309: FOR rec_check_for_quote in c_check_for_quote(p_quote_header_id) LOOP
7310: IF (nvl(rec_check_for_quote.is_published_quote,0) > 0) THEN
7311: l_controlled_copy := FND_API.G_TRUE;
7312: END IF;
7313: END LOOP;
7314:
7315: -- Get the expiration date from the Saved Cart expiration profile.
7325: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
7326: IBE_UTIL.DEBUG('DUPLICATE_CART: l_controlled_copy='||l_controlled_copy);
7327: END IF;
7328:
7329: IF (l_controlled_copy = FND_API.G_TRUE) THEN
7330: IBE_UTIL.DEBUG('l controlled copy is true, so calling istore apis for DUPLICATE');
7331: -- get order_type_id from the original quote header
7332: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
7333: IBE_Util.Debug('Getting order_type_id,currency code from original quote header ' || p_quote_header_id);
7356:
7357: -- get all line related information from original quote header id with p_mode = 'CONTROLLED_COPY'
7358: ibe_quote_saveshare_pvt.Copy_Lines
7359: ( p_api_version_number => 1.0
7360: ,p_init_msg_list => FND_API.G_FALSE
7361: ,p_commit => FND_API.G_FALSE
7362: ,x_Return_Status => x_Return_Status
7363: ,x_Msg_Count => x_Msg_Count
7364: ,x_Msg_Data => x_Msg_Data
7357: -- get all line related information from original quote header id with p_mode = 'CONTROLLED_COPY'
7358: ibe_quote_saveshare_pvt.Copy_Lines
7359: ( p_api_version_number => 1.0
7360: ,p_init_msg_list => FND_API.G_FALSE
7361: ,p_commit => FND_API.G_FALSE
7362: ,x_Return_Status => x_Return_Status
7363: ,x_Msg_Count => x_Msg_Count
7364: ,x_Msg_Data => x_Msg_Data
7365: ,p_from_quote_header_id => p_quote_header_id
7373: ,x_Price_Adjustment_tbl => l_Price_Adjustment_tbl
7374: ,x_Price_Adj_Rltship_tbl => l_Price_Adj_Rltship_tbl
7375: );
7376:
7377: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7378: RAISE FND_API.G_EXC_ERROR;
7379: END IF;
7380: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7381: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7374: ,x_Price_Adj_Rltship_tbl => l_Price_Adj_Rltship_tbl
7375: );
7376:
7377: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7378: RAISE FND_API.G_EXC_ERROR;
7379: END IF;
7380: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7381: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7382: END IF;
7376:
7377: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7378: RAISE FND_API.G_EXC_ERROR;
7379: END IF;
7380: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7381: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7382: END IF;
7383:
7384: l_to_hd_shipment_tbl(1).quote_header_id := l_to_qte_header_rec.quote_header_id;
7377: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7378: RAISE FND_API.G_EXC_ERROR;
7379: END IF;
7380: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7381: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7382: END IF;
7383:
7384: l_to_hd_shipment_tbl(1).quote_header_id := l_to_qte_header_rec.quote_header_id;
7385:
7385:
7386: -- Setup control record for pricing
7387: l_control_rec.pricing_request_type := 'ASO';
7388: l_control_rec.header_pricing_event := l_header_pricing_event;
7389: l_control_rec.line_pricing_event := FND_API.G_MISS_CHAR;
7390: l_control_rec.calculate_freight_charge_flag := 'Y';
7391: l_control_rec.calculate_tax_flag := 'Y';
7392:
7393: -- Call save api to create a quote.
7392:
7393: -- Call save api to create a quote.
7394: IBE_Quote_Save_pvt.save(
7395: p_api_version_number => 1.0
7396: ,p_init_msg_list => FND_API.G_FALSE
7397: ,p_commit => FND_API.G_FALSE
7398: ,p_qte_header_rec => l_to_qte_header_rec
7399: ,p_Qte_Line_Tbl => l_to_qte_line_tbl
7400: ,p_Qte_Line_Dtl_Tbl => l_to_Qte_Line_Dtl_Tbl
7393: -- Call save api to create a quote.
7394: IBE_Quote_Save_pvt.save(
7395: p_api_version_number => 1.0
7396: ,p_init_msg_list => FND_API.G_FALSE
7397: ,p_commit => FND_API.G_FALSE
7398: ,p_qte_header_rec => l_to_qte_header_rec
7399: ,p_Qte_Line_Tbl => l_to_qte_line_tbl
7400: ,p_Qte_Line_Dtl_Tbl => l_to_Qte_Line_Dtl_Tbl
7401: ,p_Line_rltship_tbl => l_to_Line_rltship_tbl
7407: ,x_return_status => x_return_status
7408: ,x_msg_count => x_msg_count
7409: ,x_msg_data => x_msg_data
7410: );
7411: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7412: RAISE FND_API.G_EXC_ERROR;
7413: END IF;
7414: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7415: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7408: ,x_msg_count => x_msg_count
7409: ,x_msg_data => x_msg_data
7410: );
7411: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7412: RAISE FND_API.G_EXC_ERROR;
7413: END IF;
7414: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7415: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7416: END IF;
7410: );
7411: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7412: RAISE FND_API.G_EXC_ERROR;
7413: END IF;
7414: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7415: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7416: END IF;
7417:
7418:
7411: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7412: RAISE FND_API.G_EXC_ERROR;
7413: END IF;
7414: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7415: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7416: END IF;
7417:
7418:
7419:
7438: END IF;
7439:
7440: ASO_Copy_Quote_Pub.Copy_Quote(
7441: p_api_Version_Number => 1.0,
7442: p_init_msg_list => FND_API.G_FALSE,
7443: p_commit => FND_API.G_FALSE,
7444: p_copy_quote_header_rec => l_copy_quote_header_rec,
7445: p_copy_quote_control_rec => l_copy_quote_control_rec,
7446: x_qte_header_id => lx_quote_header_id,
7439:
7440: ASO_Copy_Quote_Pub.Copy_Quote(
7441: p_api_Version_Number => 1.0,
7442: p_init_msg_list => FND_API.G_FALSE,
7443: p_commit => FND_API.G_FALSE,
7444: p_copy_quote_header_rec => l_copy_quote_header_rec,
7445: p_copy_quote_control_rec => l_copy_quote_control_rec,
7446: x_qte_header_id => lx_quote_header_id,
7447: x_qte_number => lx_quote_number,
7453: IBE_UTIL.DEBUG('DUPLICATE_CART: After ASO Copy Quote call, return status='||lx_return_status);
7454: IBE_UTIL.DEBUG('DUPLICATE_CART: After ASO Copy Quote call, new quote header id='||lx_quote_header_id);
7455: END IF;
7456:
7457: IF lx_return_status = FND_API.G_RET_STS_ERROR THEN
7458: RAISE FND_API.G_EXC_ERROR;
7459: END IF;
7460:
7461: IF lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
7454: IBE_UTIL.DEBUG('DUPLICATE_CART: After ASO Copy Quote call, new quote header id='||lx_quote_header_id);
7455: END IF;
7456:
7457: IF lx_return_status = FND_API.G_RET_STS_ERROR THEN
7458: RAISE FND_API.G_EXC_ERROR;
7459: END IF;
7460:
7461: IF lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
7462: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7457: IF lx_return_status = FND_API.G_RET_STS_ERROR THEN
7458: RAISE FND_API.G_EXC_ERROR;
7459: END IF;
7460:
7461: IF lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
7462: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7463: END IF;
7464:
7465:
7458: RAISE FND_API.G_EXC_ERROR;
7459: END IF;
7460:
7461: IF lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
7462: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7463: END IF;
7464:
7465:
7466:
7469: END IF;
7470: x_quote_header_id := lx_quote_header_id;
7471:
7472: -- Standard call to get message count and if count is 1, get message info.
7473: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
7474: p_count => x_msg_count ,
7475: p_data => x_msg_data);
7476: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
7477: IBE_Util.Debug('End IBE_Quote_Save_pvt.Duplicate_cart');
7480:
7481:
7482: EXCEPTION
7483:
7484: WHEN FND_API.G_EXC_ERROR THEN
7485: ROLLBACK TO Duplicate_Cart;
7486: x_return_status := FND_API.G_RET_STS_ERROR;
7487: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
7488: p_count => x_msg_count,
7482: EXCEPTION
7483:
7484: WHEN FND_API.G_EXC_ERROR THEN
7485: ROLLBACK TO Duplicate_Cart;
7486: x_return_status := FND_API.G_RET_STS_ERROR;
7487: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
7488: p_count => x_msg_count,
7489: p_data => x_msg_data);
7490:
7483:
7484: WHEN FND_API.G_EXC_ERROR THEN
7485: ROLLBACK TO Duplicate_Cart;
7486: x_return_status := FND_API.G_RET_STS_ERROR;
7487: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
7488: p_count => x_msg_count,
7489: p_data => x_msg_data);
7490:
7491: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7487: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
7488: p_count => x_msg_count,
7489: p_data => x_msg_data);
7490:
7491: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7492: ROLLBACK TO Duplicate_Cart;
7493: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7494: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
7495: p_count => x_msg_count,
7489: p_data => x_msg_data);
7490:
7491: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7492: ROLLBACK TO Duplicate_Cart;
7493: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7494: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
7495: p_count => x_msg_count,
7496: p_data => x_msg_data);
7497:
7490:
7491: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7492: ROLLBACK TO Duplicate_Cart;
7493: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7494: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
7495: p_count => x_msg_count,
7496: p_data => x_msg_data);
7497:
7498: WHEN OTHERS THEN
7496: p_data => x_msg_data);
7497:
7498: WHEN OTHERS THEN
7499: ROLLBACK TO Duplicate_Cart;
7500: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7501:
7502: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
7503: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME,
7504: l_api_name);
7503: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME,
7504: l_api_name);
7505: END IF;
7506:
7507: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
7508: p_count => x_msg_count,
7509: p_data => x_msg_data);
7510:
7511:
7513:
7514: -- API NAME: RECONFIGURE_FROM_IB
7515: PROCEDURE RECONFIGURE_FROM_IB(
7516: p_api_version_number IN NUMBER := 1
7517: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
7518: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
7519: ,p_Control_Rec IN ASO_QUOTE_PUB.Control_Rec_Type
7520: := ASO_QUOTE_PUB.G_Miss_Control_Rec
7521: ,p_Qte_Header_Rec IN ASO_QUOTE_PUB.Qte_Header_Rec_Type
7514: -- API NAME: RECONFIGURE_FROM_IB
7515: PROCEDURE RECONFIGURE_FROM_IB(
7516: p_api_version_number IN NUMBER := 1
7517: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
7518: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
7519: ,p_Control_Rec IN ASO_QUOTE_PUB.Control_Rec_Type
7520: := ASO_QUOTE_PUB.G_Miss_Control_Rec
7521: ,p_Qte_Header_Rec IN ASO_QUOTE_PUB.Qte_Header_Rec_Type
7522: := ASO_QUOTE_PUB.G_MISS_Qte_Header_Rec
7575: IBE_UTIL.DEBUG('Begin Reconfigure_Form_IB');
7576: END IF;
7577:
7578: -- Standard call to check for call compatibility.
7579: IF NOT FND_API.Compatible_API_Call(L_API_VERSION,
7580: P_Api_Version_Number,
7581: L_API_NAME ,
7582: G_PKG_NAME )
7583: THEN
7580: P_Api_Version_Number,
7581: L_API_NAME ,
7582: G_PKG_NAME )
7583: THEN
7584: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7585: END IF;
7586:
7587: -- Initialize message list if p_init_msg_list is set to TRUE.
7588: IF FND_API.To_Boolean(p_init_msg_list) THEN
7584: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7585: END IF;
7586:
7587: -- Initialize message list if p_init_msg_list is set to TRUE.
7588: IF FND_API.To_Boolean(p_init_msg_list) THEN
7589: FND_Msg_Pub.initialize;
7590: END IF;
7591: -- Initialize API return status to success
7592: x_return_status := FND_API.G_RET_STS_SUCCESS;
7588: IF FND_API.To_Boolean(p_init_msg_list) THEN
7589: FND_Msg_Pub.initialize;
7590: END IF;
7591: -- Initialize API return status to success
7592: x_return_status := FND_API.G_RET_STS_SUCCESS;
7593:
7594: --Call Check Instance Lock API
7595: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
7596: IBE_UTIL.DEBUG('API CSI_CZ_INT.Check_Item_Instance_Lock() Starts');
7605: ,x_return_status => x_return_status
7606: ,X_Msg_Count => x_Msg_Count
7607: ,X_Msg_Data => x_Msg_Data
7608: );
7609: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
7610: IF(l_instance_locked = TRUE) THEN
7611: IBE_UTIL.debug('Instance Id '||p_instance_ids(i)||' islocked');
7612: ELSE
7613: IBE_UTIL.debug('Instance Id '||p_instance_ids(i)||' isNotlocked');
7612: ELSE
7613: IBE_UTIL.debug('Instance Id '||p_instance_ids(i)||' isNotlocked');
7614: END IF;
7615: END IF;
7616: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7617: RAISE FND_API.G_EXC_ERROR;
7618: END IF;
7619: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7620: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7613: IBE_UTIL.debug('Instance Id '||p_instance_ids(i)||' isNotlocked');
7614: END IF;
7615: END IF;
7616: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7617: RAISE FND_API.G_EXC_ERROR;
7618: END IF;
7619: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7620: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7621: END IF;
7615: END IF;
7616: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7617: RAISE FND_API.G_EXC_ERROR;
7618: END IF;
7619: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7620: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7621: END IF;
7622: IF (l_instance_locked = TRUE) THEN
7623: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
7616: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7617: RAISE FND_API.G_EXC_ERROR;
7618: END IF;
7619: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7620: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7621: END IF;
7622: IF (l_instance_locked = TRUE) THEN
7623: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
7624: IBE_UTIL.debug('Instance Id '||p_instance_ids(i)||' is locked');
7619: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7620: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7621: END IF;
7622: IF (l_instance_locked = TRUE) THEN
7623: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
7624: IBE_UTIL.debug('Instance Id '||p_instance_ids(i)||' is locked');
7625: END IF;
7626: x_return_status := FND_API.G_RET_STS_ERROR;
7627: FND_MESSAGE.Set_Name('FND', 'SQL_PLSQL_ERROR');
7622: IF (l_instance_locked = TRUE) THEN
7623: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
7624: IBE_UTIL.debug('Instance Id '||p_instance_ids(i)||' is locked');
7625: END IF;
7626: x_return_status := FND_API.G_RET_STS_ERROR;
7627: FND_MESSAGE.Set_Name('FND', 'SQL_PLSQL_ERROR');
7628: FND_MESSAGE.Set_Token('ROUTINE', l_api_name);
7629: FND_MESSAGE.Set_Token('ERRNO', 'IB_INSTANCE_LOCKED');
7630: FND_MESSAGE.Set_Token('REASON','This instance is locked cannot reconfigure');
7631: FND_MSG_PUB.Add;
7632: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
7633: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME,l_api_name);
7634: END IF;
7635: RAISE FND_API.G_EXC_ERROR;
7636: END IF;
7637: END LOOP;
7638:
7639: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
7684: ,X_Return_Status => x_Return_Status
7685: ,X_Msg_Count => x_Msg_Count
7686: ,X_Msg_Data => x_Msg_Data
7687: );
7688: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7689: RAISE FND_API.G_EXC_ERROR;
7690: END IF;
7691: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7692: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7685: ,X_Msg_Count => x_Msg_Count
7686: ,X_Msg_Data => x_Msg_Data
7687: );
7688: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7689: RAISE FND_API.G_EXC_ERROR;
7690: END IF;
7691: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7692: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7693: END IF;
7687: );
7688: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7689: RAISE FND_API.G_EXC_ERROR;
7690: END IF;
7691: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7692: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7693: END IF;
7694: --Instantiate Quote_Header_Rec and InstanceTable
7695: l_Qte_Header_Rec.quote_header_id := lx_quote_header_id;
7688: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7689: RAISE FND_API.G_EXC_ERROR;
7690: END IF;
7691: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7692: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7693: END IF;
7694: --Instantiate Quote_Header_Rec and InstanceTable
7695: l_Qte_Header_Rec.quote_header_id := lx_quote_header_id;
7696: l_Qte_Header_Rec.last_update_date := lx_last_update_date;
7722: );
7723: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
7724: IBE_UTIL.DEBUG('API CSI_CZ_INT.Check_Item_Instance_Lock() Ends::x_return_status'||x_return_status);
7725: END IF;
7726: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7727: RAISE FND_API.G_EXC_ERROR;
7728: END IF;
7729: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7730: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7723: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
7724: IBE_UTIL.DEBUG('API CSI_CZ_INT.Check_Item_Instance_Lock() Ends::x_return_status'||x_return_status);
7725: END IF;
7726: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7727: RAISE FND_API.G_EXC_ERROR;
7728: END IF;
7729: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7730: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7731: END IF;
7725: END IF;
7726: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7727: RAISE FND_API.G_EXC_ERROR;
7728: END IF;
7729: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7730: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7731: END IF;
7732:
7733: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
7726: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7727: RAISE FND_API.G_EXC_ERROR;
7728: END IF;
7729: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7730: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7731: END IF;
7732:
7733: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
7734: IBE_UTIL.DEBUG('Ref cursor x_config_line begin');
7735: END IF;
7736: open x_config_line for l_refcursor_query using l_Qte_Header_Rec.quote_header_id;
7737: -- End of API body.
7738: -- Standard check of p_commit.
7739: IF FND_API.To_Boolean( p_commit ) THEN
7740: COMMIT WORK;
7741: END IF;
7742:
7743: -- Standard call to get message count and if count is 1, get message info.
7740: COMMIT WORK;
7741: END IF;
7742:
7743: -- Standard call to get message count and if count is 1, get message info.
7744: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
7745: p_count => x_msg_count ,
7746: p_data => x_msg_data);
7747: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
7748: IBE_Util.Debug('End IBE_Quote_Save_pvt.Reconfigure_from_ib() end');
7747: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
7748: IBE_Util.Debug('End IBE_Quote_Save_pvt.Reconfigure_from_ib() end');
7749: END IF;
7750: EXCEPTION
7751: WHEN FND_API.G_EXC_ERROR THEN
7752: ROLLBACK TO Reconfigure_From_Ib;
7753: x_return_status := FND_API.G_RET_STS_ERROR;
7754: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
7755: p_count => x_msg_count,
7749: END IF;
7750: EXCEPTION
7751: WHEN FND_API.G_EXC_ERROR THEN
7752: ROLLBACK TO Reconfigure_From_Ib;
7753: x_return_status := FND_API.G_RET_STS_ERROR;
7754: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
7755: p_count => x_msg_count,
7756: p_data => x_msg_data);
7757:
7750: EXCEPTION
7751: WHEN FND_API.G_EXC_ERROR THEN
7752: ROLLBACK TO Reconfigure_From_Ib;
7753: x_return_status := FND_API.G_RET_STS_ERROR;
7754: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
7755: p_count => x_msg_count,
7756: p_data => x_msg_data);
7757:
7758: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7754: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
7755: p_count => x_msg_count,
7756: p_data => x_msg_data);
7757:
7758: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7759: ROLLBACK TO Reconfigure_From_Ib;
7760: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7761: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
7762: p_count => x_msg_count,
7756: p_data => x_msg_data);
7757:
7758: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7759: ROLLBACK TO Reconfigure_From_Ib;
7760: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7761: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
7762: p_count => x_msg_count,
7763: p_data => x_msg_data);
7764:
7757:
7758: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7759: ROLLBACK TO Reconfigure_From_Ib;
7760: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7761: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
7762: p_count => x_msg_count,
7763: p_data => x_msg_data);
7764:
7765: WHEN OTHERS THEN
7763: p_data => x_msg_data);
7764:
7765: WHEN OTHERS THEN
7766: ROLLBACK TO Reconfigure_From_Ib;
7767: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7768:
7769: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
7770: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME,
7771: l_api_name);
7770: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME,
7771: l_api_name);
7772: END IF;
7773:
7774: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
7775: p_count => x_msg_count,
7776: p_data => x_msg_data);
7777:
7778: END RECONFIGURE_FROM_IB;
7779:
7780: PROCEDURE ADD_CART_LEVEL_SERVICES(
7781: p_quote_header_id IN NUMBER,
7782: p_organization_id IN NUMBER,
7783: -- p_minisite_id IN NUMBER := FND_API.G_MISS_NUM,
7784: p_sva_line_id IN NUMBER,
7785: p_sva_line_qty IN NUMBER,
7786: p_svc_item_id_tbl IN JTF_NUMBER_TABLE,
7787: px_svc_period_tbl IN OUT NOCOPY JTF_VARCHAR2_TABLE_100,
7805: WHERE inventory_item_id = p_svc_item_id and organization_id = p_org_id;
7806:
7807: BEGIN
7808:
7809: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
7810: IBE_UTIL.debug('enter ADD_CART_LEVEL_SERVICES');
7811: END IF;
7812:
7813: IF px_svc_period_tbl IS NULL THEN
7814: px_svc_period_tbl := JTF_VARCHAR2_TABLE_100();
7815: px_svc_duration_tbl := JTF_NUMBER_TABLE();
7816: px_svc_uom_tbl := JTF_VARCHAR2_TABLE_100();
7817: l_load_svc_detail := TRUE;
7818: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
7819: IBE_UTIL.debug('l_load_svc_detail is true');
7820: END IF;
7821: ELSE
7822: l_load_svc_detail := FALSE;
7819: IBE_UTIL.debug('l_load_svc_detail is true');
7820: END IF;
7821: ELSE
7822: l_load_svc_detail := FALSE;
7823: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
7824: IBE_UTIL.debug('l_load_svc_detail is false');
7825: END IF;
7826: END IF;
7827:
7824: IBE_UTIL.debug('l_load_svc_detail is false');
7825: END IF;
7826: END IF;
7827:
7828: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
7829: IBE_UTIL.debug('loop through new svc items...');
7830: END IF;
7831: FOR i IN p_svc_item_id_tbl.FIRST..p_svc_item_id_tbl.LAST LOOP
7832: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
7828: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
7829: IBE_UTIL.debug('loop through new svc items...');
7830: END IF;
7831: FOR i IN p_svc_item_id_tbl.FIRST..p_svc_item_id_tbl.LAST LOOP
7832: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
7833: IBE_UTIL.debug('i='||i||', l_idx='||l_idx);
7834: END IF;
7835: IF l_load_svc_detail THEN
7836: px_svc_period_tbl.EXTEND;
7835: IF l_load_svc_detail THEN
7836: px_svc_period_tbl.EXTEND;
7837: px_svc_duration_tbl.EXTEND;
7838: px_svc_uom_tbl.EXTEND;
7839: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
7840: IBE_UTIL.debug('fetch service duration, period, and uom...');
7841: IBE_UTIL.debug('p_svc_item_id_tbl('||i||')='||p_svc_item_id_tbl(i));
7842: IBE_UTIL.debug('p_organization_id='||p_organization_id);
7843: END IF;
7844: OPEN c_get_svc_detail(p_svc_item_id_tbl(i),p_organization_id);
7845: FETCH c_get_svc_detail into px_svc_uom_tbl(l_idx),
7846: px_svc_period_tbl(l_idx),px_svc_duration_tbl(l_idx);
7847: CLOSE c_get_svc_detail;
7848: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
7849: IBE_UTIL.debug('fetch is completed:');
7850: IBE_UTIL.debug('px_svc_uom_tbl('||l_idx||')='||px_svc_uom_tbl(l_idx));
7851: IBE_UTIL.debug('px_svc_period_tbl('||l_idx||')='||px_svc_period_tbl(l_idx));
7852: IBE_UTIL.debug('px_svc_duration_tbl('||l_idx||')='||px_svc_duration_tbl(l_idx));
7852: IBE_UTIL.debug('px_svc_duration_tbl('||l_idx||')='||px_svc_duration_tbl(l_idx));
7853: END IF;
7854: END IF;
7855:
7856: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
7857: IBE_UTIL.debug('populate line rec, px_line_rec_index='||px_line_rec_index);
7858: END IF;
7859: px_quote_line_tbl(px_line_rec_index).item_type_code := 'SRV';
7860: px_quote_line_tbl(px_line_rec_index).operation_code := 'CREATE';
7867: -- ASO will derive the correct service quantities from SVA line
7868: px_quote_line_tbl(px_line_rec_index).quantity := p_sva_line_qty;
7869: --px_quote_line_tbl(px_line_rec_index).minisite_id := p_minisite_id;
7870:
7871: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
7872: IBE_UTIL.debug('populate line detail rec, px_dtl_rec_index='||px_dtl_rec_index);
7873: END IF;
7874: px_quote_line_dtl_tbl(px_dtl_rec_index).operation_code := 'CREATE';
7875: px_quote_line_dtl_tbl(px_dtl_rec_index).service_ref_line_id := p_sva_line_id;
7879: IF px_svc_duration_tbl(l_idx) IS NOT NULL THEN
7880: px_quote_line_dtl_tbl(px_dtl_rec_index).service_duration := px_svc_duration_tbl(l_idx);
7881: END IF;
7882:
7883: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
7884: IBE_UTIL.debug('moving to next svc item ...');
7885: END IF;
7886: px_line_rec_index := px_line_rec_index + 1;
7887: px_dtl_rec_index := px_dtl_rec_index + 1;
7886: px_line_rec_index := px_line_rec_index + 1;
7887: px_dtl_rec_index := px_dtl_rec_index + 1;
7888: l_idx := l_idx + 1;
7889: END LOOP;
7890: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
7891: IBE_UTIL.debug('exit ADD_CART_LEVEL_SERVICES with success');
7892: END IF;
7893: END ADD_CART_LEVEL_SERVICES;
7894:
7893: END ADD_CART_LEVEL_SERVICES;
7894:
7895: PROCEDURE UPDATE_SUPPORT_AND_QUANTITY(
7896: p_api_version IN NUMBER,
7897: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
7898: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
7899: x_return_status OUT NOCOPY VARCHAR2,
7900: x_msg_count OUT NOCOPY NUMBER,
7901: x_msg_data OUT NOCOPY VARCHAR2,
7894:
7895: PROCEDURE UPDATE_SUPPORT_AND_QUANTITY(
7896: p_api_version IN NUMBER,
7897: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
7898: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
7899: x_return_status OUT NOCOPY VARCHAR2,
7900: x_msg_count OUT NOCOPY NUMBER,
7901: x_msg_data OUT NOCOPY VARCHAR2,
7902:
7903: p_quote_header_id IN NUMBER,
7904: p_quote_line_id_tbl IN JTF_NUMBER_TABLE := NULL,
7905: p_line_quantity_tbl IN JTF_NUMBER_TABLE := NULL,
7906: p_new_service_id_tbl IN JTF_NUMBER_TABLE := NULL,
7907: p_organization_id IN NUMBER := FND_API.G_MISS_NUM,
7908:
7909: p_party_id IN NUMBER := FND_API.G_MISS_NUM,
7910: p_cust_account_id IN NUMBER := FND_API.G_MISS_NUM,
7911: p_sharee_number IN NUMBER := FND_API.G_MISS_NUM,
7905: p_line_quantity_tbl IN JTF_NUMBER_TABLE := NULL,
7906: p_new_service_id_tbl IN JTF_NUMBER_TABLE := NULL,
7907: p_organization_id IN NUMBER := FND_API.G_MISS_NUM,
7908:
7909: p_party_id IN NUMBER := FND_API.G_MISS_NUM,
7910: p_cust_account_id IN NUMBER := FND_API.G_MISS_NUM,
7911: p_sharee_number IN NUMBER := FND_API.G_MISS_NUM,
7912:
7913: p_minisite_id IN NUMBER := FND_API.G_MISS_NUM,
7906: p_new_service_id_tbl IN JTF_NUMBER_TABLE := NULL,
7907: p_organization_id IN NUMBER := FND_API.G_MISS_NUM,
7908:
7909: p_party_id IN NUMBER := FND_API.G_MISS_NUM,
7910: p_cust_account_id IN NUMBER := FND_API.G_MISS_NUM,
7911: p_sharee_number IN NUMBER := FND_API.G_MISS_NUM,
7912:
7913: p_minisite_id IN NUMBER := FND_API.G_MISS_NUM,
7914: p_price_list_id IN NUMBER := FND_API.G_MISS_NUM,
7907: p_organization_id IN NUMBER := FND_API.G_MISS_NUM,
7908:
7909: p_party_id IN NUMBER := FND_API.G_MISS_NUM,
7910: p_cust_account_id IN NUMBER := FND_API.G_MISS_NUM,
7911: p_sharee_number IN NUMBER := FND_API.G_MISS_NUM,
7912:
7913: p_minisite_id IN NUMBER := FND_API.G_MISS_NUM,
7914: p_price_list_id IN NUMBER := FND_API.G_MISS_NUM,
7915: p_currency_code IN VARCHAR2 := FND_API.G_MISS_CHAR,
7909: p_party_id IN NUMBER := FND_API.G_MISS_NUM,
7910: p_cust_account_id IN NUMBER := FND_API.G_MISS_NUM,
7911: p_sharee_number IN NUMBER := FND_API.G_MISS_NUM,
7912:
7913: p_minisite_id IN NUMBER := FND_API.G_MISS_NUM,
7914: p_price_list_id IN NUMBER := FND_API.G_MISS_NUM,
7915: p_currency_code IN VARCHAR2 := FND_API.G_MISS_CHAR,
7916: p_header_pricing_event IN VARCHAR2 := FND_API.G_MISS_CHAR,
7917: p_save_type IN NUMBER := FND_API.G_MISS_NUM,
7910: p_cust_account_id IN NUMBER := FND_API.G_MISS_NUM,
7911: p_sharee_number IN NUMBER := FND_API.G_MISS_NUM,
7912:
7913: p_minisite_id IN NUMBER := FND_API.G_MISS_NUM,
7914: p_price_list_id IN NUMBER := FND_API.G_MISS_NUM,
7915: p_currency_code IN VARCHAR2 := FND_API.G_MISS_CHAR,
7916: p_header_pricing_event IN VARCHAR2 := FND_API.G_MISS_CHAR,
7917: p_save_type IN NUMBER := FND_API.G_MISS_NUM,
7918: p_last_update_date IN DATE := FND_API.G_MISS_DATE,
7911: p_sharee_number IN NUMBER := FND_API.G_MISS_NUM,
7912:
7913: p_minisite_id IN NUMBER := FND_API.G_MISS_NUM,
7914: p_price_list_id IN NUMBER := FND_API.G_MISS_NUM,
7915: p_currency_code IN VARCHAR2 := FND_API.G_MISS_CHAR,
7916: p_header_pricing_event IN VARCHAR2 := FND_API.G_MISS_CHAR,
7917: p_save_type IN NUMBER := FND_API.G_MISS_NUM,
7918: p_last_update_date IN DATE := FND_API.G_MISS_DATE,
7919: x_last_update_date IN OUT NOCOPY DATE
7912:
7913: p_minisite_id IN NUMBER := FND_API.G_MISS_NUM,
7914: p_price_list_id IN NUMBER := FND_API.G_MISS_NUM,
7915: p_currency_code IN VARCHAR2 := FND_API.G_MISS_CHAR,
7916: p_header_pricing_event IN VARCHAR2 := FND_API.G_MISS_CHAR,
7917: p_save_type IN NUMBER := FND_API.G_MISS_NUM,
7918: p_last_update_date IN DATE := FND_API.G_MISS_DATE,
7919: x_last_update_date IN OUT NOCOPY DATE
7920: )
7913: p_minisite_id IN NUMBER := FND_API.G_MISS_NUM,
7914: p_price_list_id IN NUMBER := FND_API.G_MISS_NUM,
7915: p_currency_code IN VARCHAR2 := FND_API.G_MISS_CHAR,
7916: p_header_pricing_event IN VARCHAR2 := FND_API.G_MISS_CHAR,
7917: p_save_type IN NUMBER := FND_API.G_MISS_NUM,
7918: p_last_update_date IN DATE := FND_API.G_MISS_DATE,
7919: x_last_update_date IN OUT NOCOPY DATE
7920: )
7921: IS
7914: p_price_list_id IN NUMBER := FND_API.G_MISS_NUM,
7915: p_currency_code IN VARCHAR2 := FND_API.G_MISS_CHAR,
7916: p_header_pricing_event IN VARCHAR2 := FND_API.G_MISS_CHAR,
7917: p_save_type IN NUMBER := FND_API.G_MISS_NUM,
7918: p_last_update_date IN DATE := FND_API.G_MISS_DATE,
7919: x_last_update_date IN OUT NOCOPY DATE
7920: )
7921: IS
7922: l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_SUPPORT_AND_QUANTITY';
7921: IS
7922: l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_SUPPORT_AND_QUANTITY';
7923: l_api_version CONSTANT NUMBER := 1.0;
7924:
7925: l_sharee_party_id NUMBER := FND_API.G_MISS_NUM;
7926: l_sharee_cust_account_id NUMBER := FND_API.G_MISS_NUM;
7927:
7928: l_quote_line_id_tbl JTF_NUMBER_TABLE := p_quote_line_id_tbl;
7929: l_line_quantity_tbl JTF_NUMBER_TABLE := p_line_quantity_tbl;
7922: l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_SUPPORT_AND_QUANTITY';
7923: l_api_version CONSTANT NUMBER := 1.0;
7924:
7925: l_sharee_party_id NUMBER := FND_API.G_MISS_NUM;
7926: l_sharee_cust_account_id NUMBER := FND_API.G_MISS_NUM;
7927:
7928: l_quote_line_id_tbl JTF_NUMBER_TABLE := p_quote_line_id_tbl;
7929: l_line_quantity_tbl JTF_NUMBER_TABLE := p_line_quantity_tbl;
7930: l_new_service_id_tbl JTF_NUMBER_TABLE := p_new_service_id_tbl;
7972: SAVEPOINT UPDATE_SUPPORT_LEVEL_AND_QTY;
7973:
7974: -- Standard initialization tasks
7975: -- Standard call to check for call compatibility.
7976: IF NOT FND_API.Compatible_API_Call (l_api_version,p_api_version,l_api_name,G_PKG_NAME) THEN
7977: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7978: END IF;
7979:
7980: -- Initialize message list if p_init_msg_list is set to TRUE.
7973:
7974: -- Standard initialization tasks
7975: -- Standard call to check for call compatibility.
7976: IF NOT FND_API.Compatible_API_Call (l_api_version,p_api_version,l_api_name,G_PKG_NAME) THEN
7977: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7978: END IF;
7979:
7980: -- Initialize message list if p_init_msg_list is set to TRUE.
7981: IF FND_API.to_Boolean(p_init_msg_list) THEN
7977: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7978: END IF;
7979:
7980: -- Initialize message list if p_init_msg_list is set to TRUE.
7981: IF FND_API.to_Boolean(p_init_msg_list) THEN
7982: FND_MSG_PUB.initialize;
7983: END IF;
7984:
7985: -- Initialize API return status to success.
7982: FND_MSG_PUB.initialize;
7983: END IF;
7984:
7985: -- Initialize API return status to success.
7986: x_return_status := FND_API.G_RET_STS_SUCCESS;
7987:
7988: -- Print debugging info.
7989: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
7990: IBE_UTIL.debug(G_PKG_NAME||'.'||l_api_name||' Begin');
7985: -- Initialize API return status to success.
7986: x_return_status := FND_API.G_RET_STS_SUCCESS;
7987:
7988: -- Print debugging info.
7989: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
7990: IBE_UTIL.debug(G_PKG_NAME||'.'||l_api_name||' Begin');
7991: IBE_UTIL.debug('p_quote_header_id = ' || p_quote_header_id);
7992: END IF;
7993:
7992: END IF;
7993:
7994: IF p_quote_line_id_tbl IS NOT NULL THEN
7995: l_line_rec_size := p_quote_line_id_tbl.count;
7996: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
7997: IBE_UTIL.debug('p_quote_line_id_tbl.count= ' ||l_line_rec_size);
7998: END IF;
7999: END IF;
8000:
7999: END IF;
8000:
8001: IF p_line_quantity_tbl IS NOT NULL THEN
8002: l_line_qty_size := p_line_quantity_tbl.count;
8003: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8004: IBE_UTIL.debug('p_line_quantity_tbl.count= ' || l_line_qty_size);
8005: END IF;
8006: END IF;
8007:
8006: END IF;
8007:
8008: IF p_new_service_id_tbl IS NOT NULL THEN
8009: l_new_service_size := p_new_service_id_tbl.count;
8010: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8011: IBE_UTIL.debug('p_new_service_id_tbl.count= ' || l_new_service_size);
8012: END IF;
8013: END IF;
8014:
8013: END IF;
8014:
8015: -- validating input parameters
8016: IF p_quote_header_id IS NULL THEN
8017: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8018: IBE_UTIL.debug('Invalid input parameters, quote header id is null');
8019: END IF;
8020: x_return_status := FND_API.G_RET_STS_ERROR;
8021: FND_MESSAGE.Set_Name('FND', 'SQL_PLSQL_ERROR');
8016: IF p_quote_header_id IS NULL THEN
8017: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8018: IBE_UTIL.debug('Invalid input parameters, quote header id is null');
8019: END IF;
8020: x_return_status := FND_API.G_RET_STS_ERROR;
8021: FND_MESSAGE.Set_Name('FND', 'SQL_PLSQL_ERROR');
8022: FND_MESSAGE.Set_Token('ROUTINE', l_api_name);
8023: FND_MESSAGE.Set_Token('ERRNO', 'IBE_ST_INVALID_OPERATION');
8024: FND_MESSAGE.Set_Token('REASON', 'quote header id is null');
8025: FND_MSG_PUB.Add;
8026: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
8027: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME,l_api_name);
8028: END IF;
8029: RAISE FND_API.G_EXC_ERROR;
8030: END IF;
8031:
8032: IF l_line_qty_size>0 AND l_line_qty_size = l_line_rec_size THEN
8033: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8029: RAISE FND_API.G_EXC_ERROR;
8030: END IF;
8031:
8032: IF l_line_qty_size>0 AND l_line_qty_size = l_line_rec_size THEN
8033: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8034: IBE_UTIL.debug('Need to update quantity');
8035: END IF;
8036: ELSIF l_line_qty_size=0 THEN
8037: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8033: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8034: IBE_UTIL.debug('Need to update quantity');
8035: END IF;
8036: ELSIF l_line_qty_size=0 THEN
8037: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8038: IBE_UTIL.debug('No need to update quantity');
8039: END IF;
8040: ELSE
8041: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8037: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8038: IBE_UTIL.debug('No need to update quantity');
8039: END IF;
8040: ELSE
8041: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8042: IBE_UTIL.debug('Invalid input parameters, size of line records does not match size of line quantities');
8043: END IF;
8044: x_return_status := FND_API.G_RET_STS_ERROR;
8045: FND_MESSAGE.Set_Name('FND', 'SQL_PLSQL_ERROR');
8040: ELSE
8041: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8042: IBE_UTIL.debug('Invalid input parameters, size of line records does not match size of line quantities');
8043: END IF;
8044: x_return_status := FND_API.G_RET_STS_ERROR;
8045: FND_MESSAGE.Set_Name('FND', 'SQL_PLSQL_ERROR');
8046: FND_MESSAGE.Set_Token('ROUTINE', l_api_name);
8047: FND_MESSAGE.Set_Token('ERRNO', 'IBE_ST_INVALID_OPERATION');
8048: FND_MESSAGE.Set_Token('REASON', 'size of line records does not match size of line quantities');
8049: FND_MSG_PUB.Add;
8050: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
8051: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME,l_api_name);
8052: END IF;
8053: RAISE FND_API.G_EXC_ERROR;
8054: END IF;
8055:
8056: -- update quantities
8057: IF l_line_qty_size>0 THEN
8054: END IF;
8055:
8056: -- update quantities
8057: IF l_line_qty_size>0 THEN
8058: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8059: IBE_UTIL.debug('updating quantities, l_line_rec_index='||l_line_rec_index);
8060: END IF;
8061: FOR l_line_rec_index IN 1..l_line_qty_size LOOP
8062: l_quote_line_tbl(l_line_rec_index).quote_header_id := p_quote_header_id;
8062: l_quote_line_tbl(l_line_rec_index).quote_header_id := p_quote_header_id;
8063: l_quote_line_tbl(l_line_rec_index).quote_line_id := p_quote_line_id_tbl(l_line_rec_index);
8064: l_quote_line_tbl(l_line_rec_index).quantity := p_line_quantity_tbl(l_line_rec_index);
8065: l_quote_line_tbl(l_line_rec_index).operation_code := 'UPDATE';
8066: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8067: IBE_UTIL.debug('l_line_rec_index='||l_line_rec_index);
8068: IBE_UTIL.debug('quote_line_id='||l_quote_line_tbl(l_line_rec_index).quote_line_id);
8069: IBE_UTIL.debug('quantity='||l_quote_line_tbl(l_line_rec_index).quantity);
8070: END IF;
8069: IBE_UTIL.debug('quantity='||l_quote_line_tbl(l_line_rec_index).quantity);
8070: END IF;
8071: END LOOP;
8072: l_line_rec_index := l_line_rec_index + 1;
8073: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8074: IBE_UTIL.debug('quantities updated, l_line_rec_index='||l_line_rec_index);
8075: END IF;
8076: ELSIF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8077: IBE_UTIL.debug('no quantity updated, l_line_rec_index='||l_line_rec_index);
8072: l_line_rec_index := l_line_rec_index + 1;
8073: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8074: IBE_UTIL.debug('quantities updated, l_line_rec_index='||l_line_rec_index);
8075: END IF;
8076: ELSIF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8077: IBE_UTIL.debug('no quantity updated, l_line_rec_index='||l_line_rec_index);
8078: END IF;
8079:
8080: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8076: ELSIF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8077: IBE_UTIL.debug('no quantity updated, l_line_rec_index='||l_line_rec_index);
8078: END IF;
8079:
8080: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8081: IBE_UTIL.debug('updating cart level support...');
8082: IBE_UTIL.debug('checking existing cart level services...');
8083: END IF;
8084:
8082: IBE_UTIL.debug('checking existing cart level services...');
8083: END IF;
8084:
8085: FOR rec_svc_line IN c_get_svc_lines(p_quote_header_id) LOOP
8086: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8087: IBE_UTIL.debug('found service line:');
8088: IBE_UTIL.debug('service_ref_line_id='||rec_svc_line.service_ref_line_id);
8089: IBE_UTIL.debug('quote_line_id='||rec_svc_line.quote_line_id);
8090: IBE_UTIL.debug('l_curr_sva_line_id='||l_curr_sva_line_id);
8090: IBE_UTIL.debug('l_curr_sva_line_id='||l_curr_sva_line_id);
8091: END IF;
8092: IF l_curr_sva_line_id IS NULL OR l_curr_sva_line_id <> rec_svc_line.service_ref_line_id THEN
8093: -- start a new sva line
8094: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8095: IBE_UTIL.debug('starts a new SVA line, l_curr_sva_line_id='||l_curr_sva_line_id);
8096: END IF;
8097:
8098: IF l_curr_sva_line_id IS NOT NULL AND l_new_service_id_tbl IS NOT NULL THEN
8097:
8098: IF l_curr_sva_line_id IS NOT NULL AND l_new_service_id_tbl IS NOT NULL THEN
8099: -- not the first sva line, add new services to previous SVA line first
8100: IF l_new_service_id_tbl.COUNT >0 THEN
8101: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8102: IBE_UTIL.debug('not the first sva line');
8103: IBE_UTIL.debug('adding new services to previous SVA line...:');
8104: IBE_UTIL.debug('l_line_rec_index='||l_line_rec_index);
8105: IBE_UTIL.debug('l_dtl_rec_index='||l_dtl_rec_index);
8117: px_quote_line_tbl =>l_quote_line_tbl,
8118: px_line_rec_index =>l_line_rec_index,
8119: px_quote_line_dtl_tbl =>l_quote_line_dtl_tbl,
8120: px_dtl_rec_index =>l_dtl_rec_index);
8121: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8122: IBE_UTIL.debug('new services added:');
8123: IBE_UTIL.debug('l_line_rec_index='||l_line_rec_index);
8124: IBE_UTIL.debug('l_dtl_rec_index='||l_dtl_rec_index);
8125: END IF;
8122: IBE_UTIL.debug('new services added:');
8123: IBE_UTIL.debug('l_line_rec_index='||l_line_rec_index);
8124: IBE_UTIL.debug('l_dtl_rec_index='||l_dtl_rec_index);
8125: END IF;
8126: ELSIF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8127: IBE_UTIL.debug('no new service need to be added.');
8128: END IF;
8129: END IF;
8130:
8128: END IF;
8129: END IF;
8130:
8131: -- move to the new line
8132: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8133: IBE_UTIL.debug('initializing the new SVA line...');
8134: END IF;
8135: l_curr_sva_line_id := rec_svc_line.service_ref_line_id;
8136: l_sva_line_size := l_sva_line_size + 1;
8135: l_curr_sva_line_id := rec_svc_line.service_ref_line_id;
8136: l_sva_line_size := l_sva_line_size + 1;
8137: l_map_index := 1;
8138:
8139: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8140: IBE_UTIL.debug('l_sva_line_size='||l_sva_line_size);
8141: IBE_UTIL.debug('checking if need to update quantity...');
8142: END IF;
8143: l_curr_line_qty := NULL;
8147: IF l_quote_line_id_tbl(i) = l_curr_sva_line_id THEN
8148: l_curr_line_qty := p_line_quantity_tbl(i);
8149: l_quote_line_id_tbl.DELETE(i);
8150: l_line_quantity_tbl.DELETE(i);
8151: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8152: IBE_UTIL.debug('a new quantity is entered, l_curr_line_qty='||l_curr_line_qty);
8153: END IF;
8154: EXIT;
8155: ELSE
8157: END IF;
8158: END LOOP;
8159: END IF;
8160: IF l_curr_line_qty IS NULL THEN
8161: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8162: IBE_UTIL.debug('no quantity entered, loading from db...');
8163: END IF;
8164: OPEN c_get_line_qty(l_curr_sva_line_id);
8165: FETCH c_get_line_qty into l_curr_line_qty;
8163: END IF;
8164: OPEN c_get_line_qty(l_curr_sva_line_id);
8165: FETCH c_get_line_qty into l_curr_line_qty;
8166: CLOSE c_get_line_qty;
8167: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8168: IBE_UTIL.debug('quantity loaded, l_curr_line_qty='||l_curr_line_qty);
8169: END IF;
8170: END IF;
8171: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8167: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8168: IBE_UTIL.debug('quantity loaded, l_curr_line_qty='||l_curr_line_qty);
8169: END IF;
8170: END IF;
8171: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8172: IBE_UTIL.debug('new SVA line initialized, l_sva_line_size='||l_sva_line_size);
8173: END IF;
8174: ELSE
8175: l_map_index := l_map_index + 1;
8172: IBE_UTIL.debug('new SVA line initialized, l_sva_line_size='||l_sva_line_size);
8173: END IF;
8174: ELSE
8175: l_map_index := l_map_index + 1;
8176: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8177: IBE_UTIL.debug('remains in the same SVA line');
8178: END IF;
8179: END IF;
8180:
8177: IBE_UTIL.debug('remains in the same SVA line');
8178: END IF;
8179: END IF;
8180:
8181: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8182: IBE_UTIL.debug('ready to processe current svc line, l_line_rec_index='||l_line_rec_index);
8183: IBE_UTIL.debug('l_line_rec_index='||l_line_rec_index ||', l_dtl_rec_index='||l_dtl_rec_index);
8184: IBE_UTIL.debug('l_map_index='||l_map_index);
8185: END IF;
8184: IBE_UTIL.debug('l_map_index='||l_map_index);
8185: END IF;
8186:
8187: IF l_sva_line_size = 1 THEN
8188: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8189: IBE_UTIL.debug('The first SVA line detected');
8190: END IF;
8191: IF l_deleted_svc_map_tbl IS NULL THEN
8192: l_deleted_svc_map_tbl := JTF_VARCHAR2_TABLE_100();
8193: END IF;
8194: l_deleted_svc_map_tbl.EXTEND;
8195: l_deleted_svc_map_tbl(l_map_index) := 'DELETE';
8196: IF l_new_service_id_tbl IS NOT NULL AND l_new_service_id_tbl.count >0 THEN
8197: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8198: IBE_UTIL.debug('populating l_deleted_svc_map_tbl table,l_map_index='||l_map_index);
8199: END IF;
8200: i := l_new_service_id_tbl.FIRST;
8201: WHILE i <= l_new_service_id_tbl.LAST LOOP
8200: i := l_new_service_id_tbl.FIRST;
8201: WHILE i <= l_new_service_id_tbl.LAST LOOP
8202: IF rec_svc_line.inventory_item_id = l_new_service_id_tbl(i) THEN
8203: l_deleted_svc_map_tbl(l_map_index) := 'KEEP'; -- keep the svc item
8204: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8205: IBE_UTIL.debug('skipping svc line, inventory_item_id='||rec_svc_line.inventory_item_id);
8206: END IF;
8207: l_new_service_id_tbl.DELETE(i);
8208: EXIT;
8209: ELSE
8210: i := l_new_service_id_tbl.NEXT(i);
8211: END IF;
8212: END LOOP;
8213: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8214: IBE_UTIL.debug('l_deleted_svc_map_tbl('||l_map_index||')='||l_deleted_svc_map_tbl(l_map_index));
8215: END IF;
8216: END IF;
8217: END IF;
8215: END IF;
8216: END IF;
8217: END IF;
8218:
8219: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8220: IBE_UTIL.debug('applying l_deleted_svc_map_tbl table, service item='||rec_svc_line.inventory_item_id);
8221: IBE_UTIL.debug('l_map_index='||l_map_index||', opcode='||l_deleted_svc_map_tbl(l_map_index));
8222: END IF;
8223: IF l_deleted_svc_map_tbl(l_map_index) = 'DELETE' THEN
8220: IBE_UTIL.debug('applying l_deleted_svc_map_tbl table, service item='||rec_svc_line.inventory_item_id);
8221: IBE_UTIL.debug('l_map_index='||l_map_index||', opcode='||l_deleted_svc_map_tbl(l_map_index));
8222: END IF;
8223: IF l_deleted_svc_map_tbl(l_map_index) = 'DELETE' THEN
8224: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8225: IBE_UTIL.debug('deleting svc line, inventory_item_id='||rec_svc_line.inventory_item_id);
8226: END IF;
8227: l_quote_line_tbl(l_line_rec_index).operation_code := 'DELETE';
8228: l_quote_line_tbl(l_line_rec_index).quote_line_id := rec_svc_line.quote_line_id;
8227: l_quote_line_tbl(l_line_rec_index).operation_code := 'DELETE';
8228: l_quote_line_tbl(l_line_rec_index).quote_line_id := rec_svc_line.quote_line_id;
8229: l_quote_line_tbl(l_line_rec_index).quote_header_id := p_quote_header_id;
8230: l_line_rec_index := l_line_rec_index + 1;
8231: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8232: IBE_UTIL.debug('svc line deleted, l_line_rec_index='||l_line_rec_index);
8233: END IF;
8234: ELSIF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8235: IBE_UTIL.debug('svc line skipped (no change)');
8230: l_line_rec_index := l_line_rec_index + 1;
8231: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8232: IBE_UTIL.debug('svc line deleted, l_line_rec_index='||l_line_rec_index);
8233: END IF;
8234: ELSIF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8235: IBE_UTIL.debug('svc line skipped (no change)');
8236: END IF;
8237: EXIT WHEN c_get_svc_lines%NOTFOUND;
8238: END LOOP;
8238: END LOOP;
8239:
8240: IF l_sva_line_size > 0 AND l_new_service_id_tbl IS NOT NULL THEN
8241: -- add new services the last line if exist
8242: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8243: IBE_UTIL.debug('the last SVA line detected,l_sva_line_size='||l_sva_line_size);
8244: END IF;
8245: IF l_new_service_id_tbl.COUNT >0 THEN
8246: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8242: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8243: IBE_UTIL.debug('the last SVA line detected,l_sva_line_size='||l_sva_line_size);
8244: END IF;
8245: IF l_new_service_id_tbl.COUNT >0 THEN
8246: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8247: IBE_UTIL.debug('adding new services the last SVA line,l_new_service_id_tbl.COUNT='||l_new_service_id_tbl.COUNT);
8248: END IF;
8249: ADD_CART_LEVEL_SERVICES(
8250: p_quote_header_id =>p_quote_header_id,
8259: px_quote_line_tbl =>l_quote_line_tbl,
8260: px_line_rec_index =>l_line_rec_index,
8261: px_quote_line_dtl_tbl =>l_quote_line_dtl_tbl,
8262: px_dtl_rec_index =>l_dtl_rec_index);
8263: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8264: IBE_UTIL.debug('new services added to the last SVA line,l_line_rec_index='||l_line_rec_index);
8265: IBE_UTIL.debug('l_dtl_rec_index='||l_dtl_rec_index);
8266: END IF;
8267: ELSIF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8263: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8264: IBE_UTIL.debug('new services added to the last SVA line,l_line_rec_index='||l_line_rec_index);
8265: IBE_UTIL.debug('l_dtl_rec_index='||l_dtl_rec_index);
8266: END IF;
8267: ELSIF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8268: IBE_UTIL.debug('no new service need to be added to the last SVA line.');
8269: END IF;
8270: ELSIF l_new_service_id_tbl IS NOT NULL AND l_new_service_id_tbl.COUNT >0 THEN
8271: -- no previous cart level services found,retrieve sva lines
8268: IBE_UTIL.debug('no new service need to be added to the last SVA line.');
8269: END IF;
8270: ELSIF l_new_service_id_tbl IS NOT NULL AND l_new_service_id_tbl.COUNT >0 THEN
8271: -- no previous cart level services found,retrieve sva lines
8272: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8273: IBE_UTIL.debug('Current support level is NONE, directly adding new services...');
8274: IBE_UTIL.debug('Retrieving SVA lines, l_new_service_id_tbl.COUNT'||l_new_service_id_tbl.COUNT);
8275: END IF;
8276: FOR rec_sva_line IN c_get_sva_lines(p_quote_header_id) LOOP
8274: IBE_UTIL.debug('Retrieving SVA lines, l_new_service_id_tbl.COUNT'||l_new_service_id_tbl.COUNT);
8275: END IF;
8276: FOR rec_sva_line IN c_get_sva_lines(p_quote_header_id) LOOP
8277: l_curr_sva_line_id := rec_sva_line.quote_line_id;
8278: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8279: IBE_UTIL.debug('found SVA line, l_curr_sva_line_id='||l_curr_sva_line_id);
8280: IBE_UTIL.debug('checking quantity...');
8281: END IF;
8282: l_curr_line_qty := NULL;
8286: IF l_quote_line_id_tbl(i) = l_curr_sva_line_id THEN
8287: l_curr_line_qty := p_line_quantity_tbl(i);
8288: l_quote_line_id_tbl.DELETE(i);
8289: l_line_quantity_tbl.DELETE(i);
8290: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8291: IBE_UTIL.debug('a new quantity is entered, l_curr_line_qty='||l_curr_line_qty);
8292: END IF;
8293: EXIT;
8294: ELSE
8297: END LOOP;
8298: END IF;
8299: IF l_curr_line_qty IS NULL THEN
8300: l_curr_line_qty := rec_sva_line.quantity;
8301: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8302: IBE_UTIL.debug('no quantity entered, default from db: '||l_curr_line_qty);
8303: END IF;
8304: END IF;
8305:
8302: IBE_UTIL.debug('no quantity entered, default from db: '||l_curr_line_qty);
8303: END IF;
8304: END IF;
8305:
8306: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8307: IBE_UTIL.debug('before adding new services, l_curr_sva_line_id='||l_curr_sva_line_id);
8308: IBE_UTIL.debug('l_line_rec_index='||l_line_rec_index);
8309: IBE_UTIL.debug('l_dtl_rec_index='||l_dtl_rec_index);
8310: END IF;
8321: px_quote_line_tbl =>l_quote_line_tbl,
8322: px_line_rec_index =>l_line_rec_index,
8323: px_quote_line_dtl_tbl =>l_quote_line_dtl_tbl,
8324: px_dtl_rec_index =>l_dtl_rec_index);
8325: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8326: IBE_UTIL.debug('new services added:');
8327: IBE_UTIL.debug('l_line_rec_index='||l_line_rec_index);
8328: IBE_UTIL.debug('l_dtl_rec_index='||l_dtl_rec_index);
8329: END IF;
8331: END LOOP;
8332: END IF;
8333:
8334: IF l_quote_line_tbl IS NULL OR l_quote_line_tbl.count=0 THEN
8335: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8336: IBE_UTIL.debug('nothing to update, returning...');
8337: END IF;
8338: RETURN;
8339: END IF;
8337: END IF;
8338: RETURN;
8339: END IF;
8340:
8341: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8342: IBE_UTIL.debug('setup control record...');
8343: END IF;
8344: l_control_rec.pricing_request_type := 'ASO';
8345: l_control_rec.header_pricing_event := p_header_pricing_event;
8345: l_control_rec.header_pricing_event := p_header_pricing_event;
8346: l_control_rec.calculate_tax_flag := 'Y';
8347: l_control_rec.calculate_freight_charge_flag := 'Y';
8348:
8349: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8350: IBE_UTIL.debug('header_pricing_event='||p_header_pricing_event);
8351: IBE_UTIL.debug('setup header record...');
8352: END IF;
8353: l_quote_header_rec.pricing_status_indicator := 'C';
8363: l_sharee_cust_account_id := p_cust_account_id;
8364: END IF;
8365: l_quote_header_rec.last_update_date := p_last_update_date;
8366:
8367: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8368: IBE_UTIL.debug('quote_header_id='||p_quote_header_id);
8369: IBE_UTIL.debug('currency_code='||p_currency_code);
8370: IBE_UTIL.debug('price_list_id='||p_price_list_id);
8371: IBE_UTIL.debug('p_sharee_number='||p_sharee_number);
8378: IBE_UTIL.debug('p_minisite_id='||p_minisite_id);
8379: IBE_UTIL.debug('p_save_type='||p_save_type);
8380: END IF;
8381: SAVE(p_api_version_number => p_api_version
8382: ,p_init_msg_list => FND_API.G_FALSE
8383: ,p_commit => FND_API.G_FALSE
8384: ,p_auto_update_active_quote => FND_API.G_FALSE
8385: ,p_combinesameitem => 1
8386:
8379: IBE_UTIL.debug('p_save_type='||p_save_type);
8380: END IF;
8381: SAVE(p_api_version_number => p_api_version
8382: ,p_init_msg_list => FND_API.G_FALSE
8383: ,p_commit => FND_API.G_FALSE
8384: ,p_auto_update_active_quote => FND_API.G_FALSE
8385: ,p_combinesameitem => 1
8386:
8387: ,p_sharee_number => p_sharee_number
8380: END IF;
8381: SAVE(p_api_version_number => p_api_version
8382: ,p_init_msg_list => FND_API.G_FALSE
8383: ,p_commit => FND_API.G_FALSE
8384: ,p_auto_update_active_quote => FND_API.G_FALSE
8385: ,p_combinesameitem => 1
8386:
8387: ,p_sharee_number => p_sharee_number
8388: ,p_sharee_party_id => l_sharee_party_id
8398: ,x_last_update_date => x_last_update_date
8399: ,x_return_status => x_return_status
8400: ,x_msg_count => x_msg_count
8401: ,x_msg_data => x_msg_data);
8402: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8403: IBE_UTIL.debug('returned from IBE_QUOTE_SAVE_PVT.SAVE');
8404: IBE_UTIL.debug('l_quote_header_id='||l_quote_header_id);
8405: IBE_UTIL.debug('x_last_update_date='||x_last_update_date);
8406: IBE_UTIL.debug('x_return_status='||x_return_status);
8408: IBE_UTIL.debug('x_msg_data='||x_msg_data);
8409: IBE_UTIL.debug(G_PKG_NAME||'.'||l_api_name||' End');
8410: END IF;
8411: EXCEPTION
8412: WHEN FND_API.G_EXC_ERROR THEN
8413: ROLLBACK TO UPDATE_SUPPORT_LEVEL_AND_QTY;
8414: x_return_status := FND_API.G_RET_STS_ERROR;
8415: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
8416: p_count => x_msg_count,
8410: END IF;
8411: EXCEPTION
8412: WHEN FND_API.G_EXC_ERROR THEN
8413: ROLLBACK TO UPDATE_SUPPORT_LEVEL_AND_QTY;
8414: x_return_status := FND_API.G_RET_STS_ERROR;
8415: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
8416: p_count => x_msg_count,
8417: p_data => x_msg_data);
8418:
8411: EXCEPTION
8412: WHEN FND_API.G_EXC_ERROR THEN
8413: ROLLBACK TO UPDATE_SUPPORT_LEVEL_AND_QTY;
8414: x_return_status := FND_API.G_RET_STS_ERROR;
8415: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
8416: p_count => x_msg_count,
8417: p_data => x_msg_data);
8418:
8419: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
8415: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
8416: p_count => x_msg_count,
8417: p_data => x_msg_data);
8418:
8419: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
8420: ROLLBACK TO UPDATE_SUPPORT_LEVEL_AND_QTY;
8421: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8422: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
8423: p_count => x_msg_count,
8417: p_data => x_msg_data);
8418:
8419: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
8420: ROLLBACK TO UPDATE_SUPPORT_LEVEL_AND_QTY;
8421: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8422: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
8423: p_count => x_msg_count,
8424: p_data => x_msg_data);
8425:
8418:
8419: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
8420: ROLLBACK TO UPDATE_SUPPORT_LEVEL_AND_QTY;
8421: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8422: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
8423: p_count => x_msg_count,
8424: p_data => x_msg_data);
8425:
8426: WHEN OTHERS THEN
8424: p_data => x_msg_data);
8425:
8426: WHEN OTHERS THEN
8427: ROLLBACK TO UPDATE_SUPPORT_LEVEL_AND_QTY;
8428: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8429: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
8430: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME,l_api_name);
8431: END IF;
8432: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
8428: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8429: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
8430: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME,l_api_name);
8431: END IF;
8432: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
8433: p_count => x_msg_count,
8434: p_data => x_msg_data);
8435: END UPDATE_SUPPORT_AND_QUANTITY;
8436: