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(
373: + l_qte_line_rec.quantity;
374: l_qte_line_rec.operation_code := 'UPDATE';
375:
376: l_qte_line_dtl_rec.service_ref_qte_line_index
377: := FND_API.G_MISS_NUM;
378: l_qte_line_dtl_rec.qte_line_index
379: := FND_API.G_MISS_NUM;
380: l_qte_line_dtl_rec.operation_code
381: := 'UPDATE';
375:
376: l_qte_line_dtl_rec.service_ref_qte_line_index
377: := FND_API.G_MISS_NUM;
378: l_qte_line_dtl_rec.qte_line_index
379: := FND_API.G_MISS_NUM;
380: l_qte_line_dtl_rec.operation_code
381: := 'UPDATE';
382: l_qte_line_dtl_rec.quote_line_id
383: := l_qte_line_rec.quote_line_id;
399: END updateserviceline;
400:
401: PROCEDURE header_agreements(
402: p_api_version IN NUMBER := 1 ,
403: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE ,
404: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
405: x_return_status OUT NOCOPY VARCHAR2 ,
406: x_msg_count OUT NOCOPY NUMBER ,
407: x_msg_data OUT NOCOPY VARCHAR2 ,
400:
401: PROCEDURE header_agreements(
402: p_api_version IN NUMBER := 1 ,
403: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE ,
404: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
405: x_return_status OUT NOCOPY VARCHAR2 ,
406: x_msg_count OUT NOCOPY NUMBER ,
407: x_msg_data OUT NOCOPY VARCHAR2 ,
408: p_qte_header_rec IN aso_quote_pub.Qte_Header_Rec_Type ,
422:
423: L_API_NAME CONSTANT VARCHAR2(30) := 'handle_header_agreements';
424: L_API_VERSION CONSTANT NUMBER := 1.0;
425: l_payment_id number := null;
426: l_payment_term_id number := fnd_api.g_miss_num;
427: l_hdr_payment_tbl aso_quote_pub.Payment_Tbl_Type;
428: counter number;
429: rec_term_id c_term_id%rowtype;
430: rec_payment_id c_payment_id%rowtype;
432: begin
433: -- Standard Start of API savepoint
434: SAVEPOINT handle_header_agreements_pvt;
435: -- Standard call to check for call compatibility.
436: IF NOT FND_API.Compatible_API_Call(L_API_VERSION,
437: p_api_version,
438: L_API_NAME ,
439: G_PKG_NAME )
440: THEN
437: p_api_version,
438: L_API_NAME ,
439: G_PKG_NAME )
440: THEN
441: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
442: END IF;
443: -- Initialize message list if p_init_msg_list is set to TRUE.
444: IF FND_API.To_Boolean(p_init_msg_list) THEN
445: FND_Msg_Pub.initialize;
440: THEN
441: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
442: END IF;
443: -- Initialize message list if p_init_msg_list is set to TRUE.
444: IF FND_API.To_Boolean(p_init_msg_list) THEN
445: FND_Msg_Pub.initialize;
446: END IF;
447: -- Initialize API return status to success
448: x_return_status := FND_API.G_RET_STS_SUCCESS;
444: IF FND_API.To_Boolean(p_init_msg_list) THEN
445: FND_Msg_Pub.initialize;
446: END IF;
447: -- Initialize API return status to success
448: x_return_status := FND_API.G_RET_STS_SUCCESS;
449: -- API body
450:
451: l_hdr_payment_tbl := p_hdr_payment_tbl;
452: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
453: ibe_util.debug('Incoming header payment rec has '||p_hdr_payment_tbl.count||' records');
454: ibe_util.debug('Incoming agreementId is '||p_qte_header_rec.contract_id );
455: END IF;
456:
457: if(p_qte_header_rec.contract_id is null or p_qte_header_rec.contract_id <> fnd_api.g_miss_num) then
458: if(p_qte_header_rec.contract_id is not null
459: and p_qte_header_rec.contract_id <> fnd_api.g_miss_num) then
460: for rec_term_id in c_term_id(p_qte_header_rec.contract_id) loop
461: l_payment_term_id := rec_term_id.term_id;
455: END IF;
456:
457: if(p_qte_header_rec.contract_id is null or p_qte_header_rec.contract_id <> fnd_api.g_miss_num) then
458: if(p_qte_header_rec.contract_id is not null
459: and p_qte_header_rec.contract_id <> fnd_api.g_miss_num) then
460: for rec_term_id in c_term_id(p_qte_header_rec.contract_id) loop
461: l_payment_term_id := rec_term_id.term_id;
462: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
463: ibe_util.debug('payment term id when contract id is not null and not g_miss '||l_payment_term_id);
476: if(p_hdr_payment_tbl.count>0) then
477: for counter in 1..p_hdr_payment_tbl.count loop
478: if (p_hdr_payment_tbl(counter).quote_header_id = p_qte_header_rec.quote_header_id
479: and (p_hdr_payment_tbl(counter).quote_line_id is null or
480: p_hdr_payment_tbl(counter).quote_line_id = fnd_api.g_miss_num) ) then
481: if(p_hdr_payment_tbl(counter).operation_code <> 'DELETE') then
482: l_hdr_payment_tbl(counter).payment_term_id := l_payment_term_id;
483: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
484: ibe_util.debug('header_payment_tbl.payment_term_id '||l_payment_term_id);
528:
529: -- End of API body.
530:
531: -- Standard check of p_commit.
532: IF FND_API.To_Boolean(p_commit) THEN
533: COMMIT WORK;
534: END IF;
535: -- Standard call to get message count and if count is 1, get message info.
536: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
532: IF FND_API.To_Boolean(p_commit) THEN
533: COMMIT WORK;
534: END IF;
535: -- Standard call to get message count and if count is 1, get message info.
536: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
537: p_count => x_msg_count ,
538: p_data => x_msg_data);
539:
540: EXCEPTION
537: p_count => x_msg_count ,
538: p_data => x_msg_data);
539:
540: EXCEPTION
541: WHEN FND_API.G_EXC_ERROR THEN
542: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
543: ibe_util.debug('Expected error in IBE_QUOTE_SAVE_PVT.header_agreements');
544: END IF;
545: ROLLBACK TO handle_header_agreements_pvt;
542: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
543: ibe_util.debug('Expected error in IBE_QUOTE_SAVE_PVT.header_agreements');
544: END IF;
545: ROLLBACK TO handle_header_agreements_pvt;
546: x_return_status := FND_API.G_RET_STS_ERROR;
547: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
548: p_count => x_msg_count ,
549: p_data => x_msg_data);
550: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
543: ibe_util.debug('Expected error in IBE_QUOTE_SAVE_PVT.header_agreements');
544: END IF;
545: ROLLBACK TO handle_header_agreements_pvt;
546: x_return_status := FND_API.G_RET_STS_ERROR;
547: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
548: p_count => x_msg_count ,
549: p_data => x_msg_data);
550: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
551: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
546: x_return_status := FND_API.G_RET_STS_ERROR;
547: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
548: p_count => x_msg_count ,
549: p_data => x_msg_data);
550: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
551: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
552: ibe_util.debug('Unexpected error in IBE_QUOTE_SAVE_PVT.header_agreements');
553: END IF;
554: ROLLBACK TO handle_header_agreements_pvt;
551: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
552: ibe_util.debug('Unexpected error in IBE_QUOTE_SAVE_PVT.header_agreements');
553: END IF;
554: ROLLBACK TO handle_header_agreements_pvt;
555: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
556: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
557: p_count => x_msg_count ,
558: p_data => x_msg_data);
559: WHEN OTHERS THEN
552: ibe_util.debug('Unexpected error in IBE_QUOTE_SAVE_PVT.header_agreements');
553: END IF;
554: ROLLBACK TO handle_header_agreements_pvt;
555: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
556: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
557: p_count => x_msg_count ,
558: p_data => x_msg_data);
559: WHEN OTHERS THEN
560: ROLLBACK TO handle_header_agreements_pvt;
557: p_count => x_msg_count ,
558: p_data => x_msg_data);
559: WHEN OTHERS THEN
560: ROLLBACK TO handle_header_agreements_pvt;
561: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
562: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
563: ibe_util.debug('Unknown error in IBE_QUOTE_SAVE_PVT.header_agreements');
564: END IF;
565: IF FND_Msg_Pub.Check_Msg_Level( FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR ) THEN
566: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
567: L_API_NAME);
568: END IF;
569:
570: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
571: p_count => x_msg_count ,
572: p_data => x_msg_data);
573:
574: end header_agreements;
574: end header_agreements;
575:
576: PROCEDURE Default_Header_Record(
577: p_qte_header_rec IN ASO_Quote_Pub.Qte_Header_Rec_Type ,
578: p_auto_update_active_quote IN VARCHAR2 := FND_API.G_TRUE ,
579: p_hdr_payment_tbl IN aso_quote_pub.Payment_Tbl_Type ,
580: x_hdr_payment_tbl OUT NOCOPY aso_quote_pub.Payment_Tbl_Type ,
581: x_qte_header_rec OUT NOCOPY ASO_Quote_Pub.Qte_Header_Rec_Type,
582: x_return_status OUT NOCOPY VARCHAR2 ,
592: l_quote_source_code VARCHAR2(240);
593: l_resource_id NUMBER := NULL;
594: l_publish_flag VARCHAR2(1);
595: l_price_list_id NUMBER;
596: l_agmt_associated VARCHAR2(1):= FND_API.G_FALSE;
597: l_org_payment_id NUMBER := NULL;
598: l_installment_options VARCHAR2(30) := NULL;
599:
600:
605: --DBMS_OUTPUT.PUT_line('p_qte_header_rec.quote_header_id '||p_qte_header_rec.quote_header_id);
606: x_qte_header_rec := p_qte_header_rec;
607: x_hdr_payment_tbl := p_hdr_payment_tbl;
608: -- need get active cart for account user (ignore passed in value)
609: IF p_qte_header_rec.quote_header_id = FND_API.G_MISS_NUM
610:
611: AND p_qte_header_rec.quote_source_code = 'IStore Account'
612: AND (p_qte_header_rec.quote_name = 'IBE_PRMT_SC_UNNAMED' --MANNAMRA: Changed default quote name value from IBEACTIVECART to IBE_PRMT_SC_UNNAMED
613: --09/16/02
610:
611: AND p_qte_header_rec.quote_source_code = 'IStore Account'
612: AND (p_qte_header_rec.quote_name = 'IBE_PRMT_SC_UNNAMED' --MANNAMRA: Changed default quote name value from IBEACTIVECART to IBE_PRMT_SC_UNNAMED
613: --09/16/02
614: OR p_qte_header_rec.quote_name = FND_API.G_MISS_CHAR) THEN
615: --DBMS_OUTPUT.PUT_line('passed in qte_header_id is g_miss ');
616: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
617: IBE_Util.Debug(' need to get active cart');
618: END IF;
621: p_party_id => p_qte_header_rec.party_id,
622: p_cust_account_id => p_qte_header_rec.cust_account_id);
623: -- create quote
624: IF x_qte_header_rec.quote_header_id = 0 THEN
625: x_qte_header_rec.quote_header_id := FND_API.G_MISS_NUM;
626: -- if create quote and contract_id(agreement_id) is not set
627: -- then check if there is user default agreement
628: IF x_qte_header_rec.contract_id = FND_API.G_MISS_NUM THEN
629: x_qte_header_rec.contract_id := NVL(FND_Profile.Value('IBE_USER_DEFAULT_AGREEMENT'),
624: IF x_qte_header_rec.quote_header_id = 0 THEN
625: x_qte_header_rec.quote_header_id := FND_API.G_MISS_NUM;
626: -- if create quote and contract_id(agreement_id) is not set
627: -- then check if there is user default agreement
628: IF x_qte_header_rec.contract_id = FND_API.G_MISS_NUM THEN
629: x_qte_header_rec.contract_id := NVL(FND_Profile.Value('IBE_USER_DEFAULT_AGREEMENT'),
630: FND_API.G_MISS_NUM);
631: END IF;
632: -- update quote
626: -- if create quote and contract_id(agreement_id) is not set
627: -- then check if there is user default agreement
628: IF x_qte_header_rec.contract_id = FND_API.G_MISS_NUM THEN
629: x_qte_header_rec.contract_id := NVL(FND_Profile.Value('IBE_USER_DEFAULT_AGREEMENT'),
630: FND_API.G_MISS_NUM);
631: END IF;
632: -- update quote
633: /*A quote header_id is passed in during every update quote operation*/
634: ELSE
631: END IF;
632: -- update quote
633: /*A quote header_id is passed in during every update quote operation*/
634: ELSE
635: IF NOT FND_API.To_Boolean(p_auto_update_active_quote) THEN
636: IF FND_Msg_Pub.Check_Msg_Level(FND_Msg_Pub.G_MSG_LVL_ERROR) THEN
637: FND_Message.Set_Name('IBE', 'IBE_SC_QUOTE_NEED_REFRESH');
638: FND_Msg_Pub.Add;
639: END IF;
637: FND_Message.Set_Name('IBE', 'IBE_SC_QUOTE_NEED_REFRESH');
638: FND_Msg_Pub.Add;
639: END IF;
640:
641: RAISE FND_API.G_EXC_ERROR; -- need error message
642: END IF;
643: END IF;
644: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
645: IBE_Util.Debug('after get active cart id = '|| x_qte_header_rec.quote_header_id);
646: END IF;
647: END IF;
648:
649: -- if contract_id is set, then overwrite price_list_id field
650: IF x_qte_header_rec.contract_id <> FND_API.G_MISS_NUM THEN
651: -- if contract_id is null it is because the user wants to set to null.
652: -- just use price_list_id that is set.
653: IF x_qte_header_rec.contract_id IS NULL THEN
654: NULL;
658: INTO x_qte_header_rec.price_list_id
659: FROM OE_Agreements_B
660: WHERE agreement_id = x_qte_header_rec.contract_id;
661:
662: l_agmt_associated := FND_API.G_TRUE;
663: END IF;
664: END IF;
665:
666: -- only set expiration date, default order_type_id, quote_category_code and quote_name
665:
666: -- only set expiration date, default order_type_id, quote_category_code and quote_name
667: -- when quote_header_id is null
668:
669: IF (x_qte_header_rec.quote_header_id = FND_API.G_MISS_NUM or x_qte_header_rec.quote_header_id is null) THEN
670:
671: IF x_qte_header_rec.quote_name = FND_API.G_MISS_CHAR
672: AND (x_qte_header_rec.quote_source_code = 'IStore Walkin'
673: OR x_qte_header_rec.quote_source_code = 'IStore Account'
667: -- when quote_header_id is null
668:
669: IF (x_qte_header_rec.quote_header_id = FND_API.G_MISS_NUM or x_qte_header_rec.quote_header_id is null) THEN
670:
671: IF x_qte_header_rec.quote_name = FND_API.G_MISS_CHAR
672: AND (x_qte_header_rec.quote_source_code = 'IStore Walkin'
673: OR x_qte_header_rec.quote_source_code = 'IStore Account'
674: OR x_qte_header_rec.quote_source_code = 'IStore InstallBase'
675: OR x_qte_header_rec.quote_source_code = 'IStore ProcPunchout') THEN
700: WHERE quote_header_id = x_qte_header_rec.quote_header_id;
701: --DBMS_OUTPUT.PUT_line('after select statement ');
702: -- set last_update_date
703: --Removing this check because this is already being done in validate_user_update
704: --IF x_qte_header_rec.last_update_date = FND_API.G_MISS_DATE THEN
705: x_qte_header_rec.last_update_date := l_last_update_date;
706: --END IF;
707:
708: IF x_qte_header_rec.party_id = FND_API.G_MISS_NUM THEN
704: --IF x_qte_header_rec.last_update_date = FND_API.G_MISS_DATE THEN
705: x_qte_header_rec.last_update_date := l_last_update_date;
706: --END IF;
707:
708: IF x_qte_header_rec.party_id = FND_API.G_MISS_NUM THEN
709: x_qte_header_rec.party_id := l_party_id;
710: END IF;
711:
712: IF x_qte_header_rec.cust_account_id = FND_API.G_MISS_NUM THEN
708: IF x_qte_header_rec.party_id = FND_API.G_MISS_NUM THEN
709: x_qte_header_rec.party_id := l_party_id;
710: END IF;
711:
712: IF x_qte_header_rec.cust_account_id = FND_API.G_MISS_NUM THEN
713: x_qte_header_rec.cust_account_id := l_cust_account_id;
714: END IF;
715:
716: /* Check if the quote_header_id is for a published quote then keep the price_list_id as whatever in the DB.
716: /* Check if the quote_header_id is for a published quote then keep the price_list_id as whatever in the DB.
717: Ideally we do not want to change the price list id put in by the Sales Rep for Update of published Quotes.
718: This is true only when the agreement is not associated to the quote.*/
719: IF (l_resource_id is not null AND nvl(l_publish_flag,'N')='Y'
720: AND l_agmt_associated = FND_API.G_FALSE AND l_price_list_id is not null) THEN
721: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
722: 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);
723: END IF;
724: x_qte_header_rec.price_list_id := l_price_list_id;
725: END IF;
726:
727: /* if agreement_id in DB is not null and the current record
728: does not have it set, use the value from DB.*/
729: IF x_qte_header_rec.contract_id = FND_API.G_MISS_NUM
730: AND l_contract_id IS NOT NULL THEN
731: x_qte_header_rec.contract_id := l_contract_id;
732:
733: SELECT price_list_id
737: END IF;
738: --DBMS_OUTPUT.PUT_line('BEFORE header agreements ');
739: header_agreements(
740: p_api_version => 1.0 ,
741: p_init_msg_list => FND_API.G_TRUE ,
742: p_commit => FND_API.G_FALSE ,
743: x_return_status => x_return_status ,
744: x_msg_count => x_msg_count ,
745: x_msg_data => x_msg_data ,
738: --DBMS_OUTPUT.PUT_line('BEFORE header agreements ');
739: header_agreements(
740: p_api_version => 1.0 ,
741: p_init_msg_list => FND_API.G_TRUE ,
742: p_commit => FND_API.G_FALSE ,
743: x_return_status => x_return_status ,
744: x_msg_count => x_msg_count ,
745: x_msg_data => x_msg_data ,
746: p_qte_header_rec => x_qte_header_rec ,
747: p_hdr_payment_tbl => p_hdr_payment_tbl,
748: x_hdr_payment_tbl => x_hdr_payment_tbl);
749: --DBMS_OUTPUT.PUT_line('AFTER header agreements ');
750:
751: IF x_qte_header_rec.quote_source_code = FND_API.G_MISS_CHAR THEN
752: x_qte_header_rec.quote_source_code := l_quote_source_code;
753: END IF;
754:
755: -- expiration date doesn't change from 1st one set for sales rep
754:
755: -- expiration date doesn't change from 1st one set for sales rep
756: -- for self service, we want to avoid expiring the quote
757: /*
758: IF (x_qte_header_rec.resource_id = FND_API.G_MISS_NUM) AND
759: (l_resource_id is null) THEN
760: -- temporary way to have non-expiring self service quotes
761: x_qte_header_rec.quote_expiration_date := SYSDATE + 10000;
762: END IF;
770: -- default payment term id if pay now is enabled
771: IF x_hdr_payment_tbl.count=0 THEN
772: IBE_Util.Debug('no header payment record passed down so far.');
773: IBE_Util.Debug('checking if PAY NOW is turned on...');
774: IF x_qte_header_rec.org_id is NULL OR x_qte_header_rec.org_id=FND_API.G_MISS_NUM THEN
775: IBE_Util.Debug('x_qte_header_rec.org_id is null or GMISS');
776: l_installment_options := oe_sys_parameters.value(
777: param_name => 'INSTALLMENT_OPTIONS');
778: ELSE
784: IBE_Util.Debug('OM parameter INSTALLMENT_OPTIONS='||l_installment_options);
785:
786: IF NVL(l_installment_options,'NONE')='ENABLE_PAY_NOW' THEN
787: IBE_Util.Debug('Pay Now is enabled.');
788: IF x_qte_header_rec.quote_header_id is null OR x_qte_header_rec.quote_header_id=FND_API.G_MISS_NUM THEN
789: IBE_Util.Debug('it is a new cart.');
790: ELSE
791: IBE_Util.Debug('existing cart,x_qte_header_rec.quote_header_id='|| x_qte_header_rec.quote_header_id);
792: IBE_Util.Debug('checking if a header payment record is already present...');
798: WHEN NO_DATA_FOUND THEN
799: l_org_payment_id := NULL;
800: IBE_Util.Debug('no header payment record found');
801: WHEN TOO_MANY_ROWS THEN
802: l_org_payment_id := FND_API.G_MISS_NUM;
803: IBE_Util.Debug('too many header payment records found');
804: END;
805: END IF;
806:
830: procedure setLineDefaultVal(
831: p_quote_header_id in number
832: ,p_qte_line_tbl in ASO_Quote_Pub.QTE_LINE_TBL_TYPE
833: ,p_qte_line_dtl_tbl IN ASO_Quote_Pub.Qte_Line_Dtl_Tbl_Type
834: ,p_combinesameitem in VARCHAR2 := FND_API.G_MISS_CHAR
835: ,x_qte_line_tbl out nocopy ASO_Quote_Pub.QTE_LINE_TBL_TYPE
836: ,x_qte_line_dtl_tbl OUT NOCOPY ASO_Quote_Pub.QTE_LINE_DTL_TBL_TYPE
837: )
838: is
837: )
838: is
839: l_length NUMBER :=0;
840:
841: l_combinesameitem VARCHAR2(2) := FND_API.G_MISS_CHAR;
842: l_quantity NUMBER;
843: l_marketing_source_code_id NUMBER;
844: l_quote_line_id NUMBER;
845: l_item_type_code VARCHAR2(30);
908: end if;
909: end loop;
910: close c_checkForPRG;
911:
912: IF (p_combinesameitem = FND_API.G_MISS_CHAR) THEN
913: l_combinesameitem := FND_Profile.Value('IBE_SC_MERGE_SHOPCART_LINES');
914: Else
915: l_combinesameitem := p_combinesameitem;
916: END IF;
936: FOR i in 1..p_qte_line_tbl.count LOOP
937:
938: -- set quote_header_id
939: if ((x_qte_line_tbl(i).quote_header_id is null
940: or x_qte_line_tbl(i).quote_header_id = FND_API.G_MISS_NUM)
941: and (p_quote_header_id is not null
942: and p_quote_header_id <> FND_API.G_MISS_NUM)) then
943: x_qte_line_tbl(i).quote_header_id := p_quote_header_id;
944:
938: -- set quote_header_id
939: if ((x_qte_line_tbl(i).quote_header_id is null
940: or x_qte_line_tbl(i).quote_header_id = FND_API.G_MISS_NUM)
941: and (p_quote_header_id is not null
942: and p_quote_header_id <> FND_API.G_MISS_NUM)) then
943: x_qte_line_tbl(i).quote_header_id := p_quote_header_id;
944:
945: if ((x_qte_line_tbl(i).quote_line_id is null
946: or x_qte_line_tbl(i).quote_line_id = FND_API.G_MISS_NUM)
942: and p_quote_header_id <> FND_API.G_MISS_NUM)) then
943: x_qte_line_tbl(i).quote_header_id := p_quote_header_id;
944:
945: if ((x_qte_line_tbl(i).quote_line_id is null
946: or x_qte_line_tbl(i).quote_line_id = FND_API.G_MISS_NUM)
947: and (x_qte_line_tbl(i).operation_code is null
948: or x_qte_line_tbl(i).operation_code = FND_API.G_MISS_CHAR)) then
949:
950: x_qte_line_tbl(i).operation_code := 'CREATE';
944:
945: if ((x_qte_line_tbl(i).quote_line_id is null
946: or x_qte_line_tbl(i).quote_line_id = FND_API.G_MISS_NUM)
947: and (x_qte_line_tbl(i).operation_code is null
948: or x_qte_line_tbl(i).operation_code = FND_API.G_MISS_CHAR)) then
949:
950: x_qte_line_tbl(i).operation_code := 'CREATE';
951: END IF;
952: END IF;
966:
967: -- combine same item
968: IF l_combinesameitem = 'Y'
969: and p_quote_header_id is not null
970: and p_quote_header_id <> FND_API.G_MISS_NUM
971: and x_qte_line_tbl(i).operation_code = 'CREATE'
972: and l_found_PRG = 'N' THEN
973:
974: /*
1014: ,x_qte_line_dtl_tbl_service_db => l_qte_line_dtl_tbl_service_db);
1015:
1016: --- doing merge
1017: IF l_qte_line_rec_db.quote_line_id is not null
1018: and l_qte_line_rec_db.quote_line_id <> FND_API.G_MISS_NUM THEN
1019: --- setup servicable item
1020: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1021: IBE_Util.Debug('merge serviceable line_id'
1022: || l_qte_line_rec_db.quote_line_id);
1069: -- 9/2/03: For Merging, SVA Case, don't compare SRV's
1070: -- so, handle SVA case just like STD case
1071: ELSE
1072: */
1073: l_quote_line_id := FND_API.G_MISS_NUM;
1074: l_item_type_code := FND_API.G_MISS_CHAR;
1075: l_quantity := FND_API.G_MISS_NUM;
1076: l_marketing_source_code_id := FND_API.G_MISS_NUM;
1077: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1070: -- so, handle SVA case just like STD case
1071: ELSE
1072: */
1073: l_quote_line_id := FND_API.G_MISS_NUM;
1074: l_item_type_code := FND_API.G_MISS_CHAR;
1075: l_quantity := FND_API.G_MISS_NUM;
1076: l_marketing_source_code_id := FND_API.G_MISS_NUM;
1077: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1078: IBE_Util.Debug('Calling the item cursor in MergeLines with uom_code'||x_qte_line_tbl(i).uom_code);
1071: ELSE
1072: */
1073: l_quote_line_id := FND_API.G_MISS_NUM;
1074: l_item_type_code := FND_API.G_MISS_CHAR;
1075: l_quantity := FND_API.G_MISS_NUM;
1076: l_marketing_source_code_id := FND_API.G_MISS_NUM;
1077: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1078: IBE_Util.Debug('Calling the item cursor in MergeLines with uom_code'||x_qte_line_tbl(i).uom_code);
1079: END IF;
1072: */
1073: l_quote_line_id := FND_API.G_MISS_NUM;
1074: l_item_type_code := FND_API.G_MISS_CHAR;
1075: l_quantity := FND_API.G_MISS_NUM;
1076: l_marketing_source_code_id := FND_API.G_MISS_NUM;
1077: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1078: IBE_Util.Debug('Calling the item cursor in MergeLines with uom_code'||x_qte_line_tbl(i).uom_code);
1079: END IF;
1080: open c_getlineinfo(p_quote_header_id
1099: x_qte_line_tbl(i).quote_line_id := l_quote_line_id;
1100:
1101: -- Fix for Bug#6015035, scnagara
1102: -- Added setting of dff attributes to G_MISS_CHAR when merge profile is on
1103: x_qte_line_tbl(i).ATTRIBUTE_CATEGORY := FND_API.G_MISS_CHAR;
1104: x_qte_line_tbl(i).ATTRIBUTE1 := FND_API.G_MISS_CHAR;
1105: x_qte_line_tbl(i).ATTRIBUTE2 := FND_API.G_MISS_CHAR;
1106: x_qte_line_tbl(i).ATTRIBUTE3 := FND_API.G_MISS_CHAR;
1107: x_qte_line_tbl(i).ATTRIBUTE4 := FND_API.G_MISS_CHAR;
1100:
1101: -- Fix for Bug#6015035, scnagara
1102: -- Added setting of dff attributes to G_MISS_CHAR when merge profile is on
1103: x_qte_line_tbl(i).ATTRIBUTE_CATEGORY := FND_API.G_MISS_CHAR;
1104: x_qte_line_tbl(i).ATTRIBUTE1 := FND_API.G_MISS_CHAR;
1105: x_qte_line_tbl(i).ATTRIBUTE2 := FND_API.G_MISS_CHAR;
1106: x_qte_line_tbl(i).ATTRIBUTE3 := FND_API.G_MISS_CHAR;
1107: x_qte_line_tbl(i).ATTRIBUTE4 := FND_API.G_MISS_CHAR;
1108: x_qte_line_tbl(i).ATTRIBUTE5 := FND_API.G_MISS_CHAR;
1101: -- Fix for Bug#6015035, scnagara
1102: -- Added setting of dff attributes to G_MISS_CHAR when merge profile is on
1103: x_qte_line_tbl(i).ATTRIBUTE_CATEGORY := FND_API.G_MISS_CHAR;
1104: x_qte_line_tbl(i).ATTRIBUTE1 := FND_API.G_MISS_CHAR;
1105: x_qte_line_tbl(i).ATTRIBUTE2 := FND_API.G_MISS_CHAR;
1106: x_qte_line_tbl(i).ATTRIBUTE3 := FND_API.G_MISS_CHAR;
1107: x_qte_line_tbl(i).ATTRIBUTE4 := FND_API.G_MISS_CHAR;
1108: x_qte_line_tbl(i).ATTRIBUTE5 := FND_API.G_MISS_CHAR;
1109: x_qte_line_tbl(i).ATTRIBUTE6 := FND_API.G_MISS_CHAR;
1102: -- Added setting of dff attributes to G_MISS_CHAR when merge profile is on
1103: x_qte_line_tbl(i).ATTRIBUTE_CATEGORY := FND_API.G_MISS_CHAR;
1104: x_qte_line_tbl(i).ATTRIBUTE1 := FND_API.G_MISS_CHAR;
1105: x_qte_line_tbl(i).ATTRIBUTE2 := FND_API.G_MISS_CHAR;
1106: x_qte_line_tbl(i).ATTRIBUTE3 := FND_API.G_MISS_CHAR;
1107: x_qte_line_tbl(i).ATTRIBUTE4 := FND_API.G_MISS_CHAR;
1108: x_qte_line_tbl(i).ATTRIBUTE5 := FND_API.G_MISS_CHAR;
1109: x_qte_line_tbl(i).ATTRIBUTE6 := FND_API.G_MISS_CHAR;
1110: x_qte_line_tbl(i).ATTRIBUTE7 := FND_API.G_MISS_CHAR;
1103: x_qte_line_tbl(i).ATTRIBUTE_CATEGORY := FND_API.G_MISS_CHAR;
1104: x_qte_line_tbl(i).ATTRIBUTE1 := FND_API.G_MISS_CHAR;
1105: x_qte_line_tbl(i).ATTRIBUTE2 := FND_API.G_MISS_CHAR;
1106: x_qte_line_tbl(i).ATTRIBUTE3 := FND_API.G_MISS_CHAR;
1107: x_qte_line_tbl(i).ATTRIBUTE4 := FND_API.G_MISS_CHAR;
1108: x_qte_line_tbl(i).ATTRIBUTE5 := FND_API.G_MISS_CHAR;
1109: x_qte_line_tbl(i).ATTRIBUTE6 := FND_API.G_MISS_CHAR;
1110: x_qte_line_tbl(i).ATTRIBUTE7 := FND_API.G_MISS_CHAR;
1111: x_qte_line_tbl(i).ATTRIBUTE8 := FND_API.G_MISS_CHAR;
1104: x_qte_line_tbl(i).ATTRIBUTE1 := FND_API.G_MISS_CHAR;
1105: x_qte_line_tbl(i).ATTRIBUTE2 := FND_API.G_MISS_CHAR;
1106: x_qte_line_tbl(i).ATTRIBUTE3 := FND_API.G_MISS_CHAR;
1107: x_qte_line_tbl(i).ATTRIBUTE4 := FND_API.G_MISS_CHAR;
1108: x_qte_line_tbl(i).ATTRIBUTE5 := FND_API.G_MISS_CHAR;
1109: x_qte_line_tbl(i).ATTRIBUTE6 := FND_API.G_MISS_CHAR;
1110: x_qte_line_tbl(i).ATTRIBUTE7 := FND_API.G_MISS_CHAR;
1111: x_qte_line_tbl(i).ATTRIBUTE8 := FND_API.G_MISS_CHAR;
1112: x_qte_line_tbl(i).ATTRIBUTE9 := FND_API.G_MISS_CHAR;
1105: x_qte_line_tbl(i).ATTRIBUTE2 := FND_API.G_MISS_CHAR;
1106: x_qte_line_tbl(i).ATTRIBUTE3 := FND_API.G_MISS_CHAR;
1107: x_qte_line_tbl(i).ATTRIBUTE4 := FND_API.G_MISS_CHAR;
1108: x_qte_line_tbl(i).ATTRIBUTE5 := FND_API.G_MISS_CHAR;
1109: x_qte_line_tbl(i).ATTRIBUTE6 := FND_API.G_MISS_CHAR;
1110: x_qte_line_tbl(i).ATTRIBUTE7 := FND_API.G_MISS_CHAR;
1111: x_qte_line_tbl(i).ATTRIBUTE8 := FND_API.G_MISS_CHAR;
1112: x_qte_line_tbl(i).ATTRIBUTE9 := FND_API.G_MISS_CHAR;
1113: x_qte_line_tbl(i).ATTRIBUTE10 := FND_API.G_MISS_CHAR;
1106: x_qte_line_tbl(i).ATTRIBUTE3 := FND_API.G_MISS_CHAR;
1107: x_qte_line_tbl(i).ATTRIBUTE4 := FND_API.G_MISS_CHAR;
1108: x_qte_line_tbl(i).ATTRIBUTE5 := FND_API.G_MISS_CHAR;
1109: x_qte_line_tbl(i).ATTRIBUTE6 := FND_API.G_MISS_CHAR;
1110: x_qte_line_tbl(i).ATTRIBUTE7 := FND_API.G_MISS_CHAR;
1111: x_qte_line_tbl(i).ATTRIBUTE8 := FND_API.G_MISS_CHAR;
1112: x_qte_line_tbl(i).ATTRIBUTE9 := FND_API.G_MISS_CHAR;
1113: x_qte_line_tbl(i).ATTRIBUTE10 := FND_API.G_MISS_CHAR;
1114: x_qte_line_tbl(i).ATTRIBUTE11 := FND_API.G_MISS_CHAR;
1107: x_qte_line_tbl(i).ATTRIBUTE4 := FND_API.G_MISS_CHAR;
1108: x_qte_line_tbl(i).ATTRIBUTE5 := FND_API.G_MISS_CHAR;
1109: x_qte_line_tbl(i).ATTRIBUTE6 := FND_API.G_MISS_CHAR;
1110: x_qte_line_tbl(i).ATTRIBUTE7 := FND_API.G_MISS_CHAR;
1111: x_qte_line_tbl(i).ATTRIBUTE8 := FND_API.G_MISS_CHAR;
1112: x_qte_line_tbl(i).ATTRIBUTE9 := FND_API.G_MISS_CHAR;
1113: x_qte_line_tbl(i).ATTRIBUTE10 := FND_API.G_MISS_CHAR;
1114: x_qte_line_tbl(i).ATTRIBUTE11 := FND_API.G_MISS_CHAR;
1115: x_qte_line_tbl(i).ATTRIBUTE12 := FND_API.G_MISS_CHAR;
1108: x_qte_line_tbl(i).ATTRIBUTE5 := FND_API.G_MISS_CHAR;
1109: x_qte_line_tbl(i).ATTRIBUTE6 := FND_API.G_MISS_CHAR;
1110: x_qte_line_tbl(i).ATTRIBUTE7 := FND_API.G_MISS_CHAR;
1111: x_qte_line_tbl(i).ATTRIBUTE8 := FND_API.G_MISS_CHAR;
1112: x_qte_line_tbl(i).ATTRIBUTE9 := FND_API.G_MISS_CHAR;
1113: x_qte_line_tbl(i).ATTRIBUTE10 := FND_API.G_MISS_CHAR;
1114: x_qte_line_tbl(i).ATTRIBUTE11 := FND_API.G_MISS_CHAR;
1115: x_qte_line_tbl(i).ATTRIBUTE12 := FND_API.G_MISS_CHAR;
1116: x_qte_line_tbl(i).ATTRIBUTE13 := FND_API.G_MISS_CHAR;
1109: x_qte_line_tbl(i).ATTRIBUTE6 := FND_API.G_MISS_CHAR;
1110: x_qte_line_tbl(i).ATTRIBUTE7 := FND_API.G_MISS_CHAR;
1111: x_qte_line_tbl(i).ATTRIBUTE8 := FND_API.G_MISS_CHAR;
1112: x_qte_line_tbl(i).ATTRIBUTE9 := FND_API.G_MISS_CHAR;
1113: x_qte_line_tbl(i).ATTRIBUTE10 := FND_API.G_MISS_CHAR;
1114: x_qte_line_tbl(i).ATTRIBUTE11 := FND_API.G_MISS_CHAR;
1115: x_qte_line_tbl(i).ATTRIBUTE12 := FND_API.G_MISS_CHAR;
1116: x_qte_line_tbl(i).ATTRIBUTE13 := FND_API.G_MISS_CHAR;
1117: x_qte_line_tbl(i).ATTRIBUTE14 := FND_API.G_MISS_CHAR;
1110: x_qte_line_tbl(i).ATTRIBUTE7 := FND_API.G_MISS_CHAR;
1111: x_qte_line_tbl(i).ATTRIBUTE8 := FND_API.G_MISS_CHAR;
1112: x_qte_line_tbl(i).ATTRIBUTE9 := FND_API.G_MISS_CHAR;
1113: x_qte_line_tbl(i).ATTRIBUTE10 := FND_API.G_MISS_CHAR;
1114: x_qte_line_tbl(i).ATTRIBUTE11 := FND_API.G_MISS_CHAR;
1115: x_qte_line_tbl(i).ATTRIBUTE12 := FND_API.G_MISS_CHAR;
1116: x_qte_line_tbl(i).ATTRIBUTE13 := FND_API.G_MISS_CHAR;
1117: x_qte_line_tbl(i).ATTRIBUTE14 := FND_API.G_MISS_CHAR;
1118: x_qte_line_tbl(i).ATTRIBUTE15 := FND_API.G_MISS_CHAR;
1111: x_qte_line_tbl(i).ATTRIBUTE8 := FND_API.G_MISS_CHAR;
1112: x_qte_line_tbl(i).ATTRIBUTE9 := FND_API.G_MISS_CHAR;
1113: x_qte_line_tbl(i).ATTRIBUTE10 := FND_API.G_MISS_CHAR;
1114: x_qte_line_tbl(i).ATTRIBUTE11 := FND_API.G_MISS_CHAR;
1115: x_qte_line_tbl(i).ATTRIBUTE12 := FND_API.G_MISS_CHAR;
1116: x_qte_line_tbl(i).ATTRIBUTE13 := FND_API.G_MISS_CHAR;
1117: x_qte_line_tbl(i).ATTRIBUTE14 := FND_API.G_MISS_CHAR;
1118: x_qte_line_tbl(i).ATTRIBUTE15 := FND_API.G_MISS_CHAR;
1119: -- End Fix for Bug#6015035, scnagara
1112: x_qte_line_tbl(i).ATTRIBUTE9 := FND_API.G_MISS_CHAR;
1113: x_qte_line_tbl(i).ATTRIBUTE10 := FND_API.G_MISS_CHAR;
1114: x_qte_line_tbl(i).ATTRIBUTE11 := FND_API.G_MISS_CHAR;
1115: x_qte_line_tbl(i).ATTRIBUTE12 := FND_API.G_MISS_CHAR;
1116: x_qte_line_tbl(i).ATTRIBUTE13 := FND_API.G_MISS_CHAR;
1117: x_qte_line_tbl(i).ATTRIBUTE14 := FND_API.G_MISS_CHAR;
1118: x_qte_line_tbl(i).ATTRIBUTE15 := FND_API.G_MISS_CHAR;
1119: -- End Fix for Bug#6015035, scnagara
1120:
1113: x_qte_line_tbl(i).ATTRIBUTE10 := FND_API.G_MISS_CHAR;
1114: x_qte_line_tbl(i).ATTRIBUTE11 := FND_API.G_MISS_CHAR;
1115: x_qte_line_tbl(i).ATTRIBUTE12 := FND_API.G_MISS_CHAR;
1116: x_qte_line_tbl(i).ATTRIBUTE13 := FND_API.G_MISS_CHAR;
1117: x_qte_line_tbl(i).ATTRIBUTE14 := FND_API.G_MISS_CHAR;
1118: x_qte_line_tbl(i).ATTRIBUTE15 := FND_API.G_MISS_CHAR;
1119: -- End Fix for Bug#6015035, scnagara
1120:
1121: --Fix for bug 2727665
1114: x_qte_line_tbl(i).ATTRIBUTE11 := FND_API.G_MISS_CHAR;
1115: x_qte_line_tbl(i).ATTRIBUTE12 := FND_API.G_MISS_CHAR;
1116: x_qte_line_tbl(i).ATTRIBUTE13 := FND_API.G_MISS_CHAR;
1117: x_qte_line_tbl(i).ATTRIBUTE14 := FND_API.G_MISS_CHAR;
1118: x_qte_line_tbl(i).ATTRIBUTE15 := FND_API.G_MISS_CHAR;
1119: -- End Fix for Bug#6015035, scnagara
1120:
1121: --Fix for bug 2727665
1122: x_qte_line_tbl(i).item_type_code := l_item_type_code;
1138: -- set line_category_code
1139:
1140: IF ( (x_qte_line_tbl(i).operation_code = 'CREATE')
1141: or (x_qte_line_tbl(i).operation_code is null)
1142: or (x_qte_line_tbl(i).operation_code = FND_API.G_MISS_CHAR))
1143: and ((x_qte_line_tbl(i).line_category_code is null )
1144: or (x_qte_line_tbl(i).line_category_code = FND_API.G_MISS_CHAR)) then
1145: x_qte_line_tbl(i).line_category_code := 'ORDER';
1146: END IF;
1140: IF ( (x_qte_line_tbl(i).operation_code = 'CREATE')
1141: or (x_qte_line_tbl(i).operation_code is null)
1142: or (x_qte_line_tbl(i).operation_code = FND_API.G_MISS_CHAR))
1143: and ((x_qte_line_tbl(i).line_category_code is null )
1144: or (x_qte_line_tbl(i).line_category_code = FND_API.G_MISS_CHAR)) then
1145: x_qte_line_tbl(i).line_category_code := 'ORDER';
1146: END IF;
1147:
1148: IF (((x_qte_line_tbl(i).operation_code = 'CREATE')
1146: END IF;
1147:
1148: IF (((x_qte_line_tbl(i).operation_code = 'CREATE')
1149: or (x_qte_line_tbl(i).operation_code is null)
1150: or (x_qte_line_tbl(i).operation_code = FND_API.G_MISS_CHAR))
1151: and (x_qte_line_tbl(i).item_type_code = 'SRV' )
1152: and ((x_qte_line_tbl(i).start_date_active is null )
1153: or (x_qte_line_tbl(i).start_date_active = FND_API.G_MISS_DATE))) THEN
1154: x_qte_line_tbl(i).start_date_active := sysdate;
1149: or (x_qte_line_tbl(i).operation_code is null)
1150: or (x_qte_line_tbl(i).operation_code = FND_API.G_MISS_CHAR))
1151: and (x_qte_line_tbl(i).item_type_code = 'SRV' )
1152: and ((x_qte_line_tbl(i).start_date_active is null )
1153: or (x_qte_line_tbl(i).start_date_active = FND_API.G_MISS_DATE))) THEN
1154: x_qte_line_tbl(i).start_date_active := sysdate;
1155: END IF;
1156:
1157: END LOOP;
1162: END setLineDefaultVal;
1163:
1164: PROCEDURE DeleteSharees(
1165: p_api_version_number IN NUMBER
1166: ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
1167: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
1168: ,p_Quote_HEADER_ID IN NUMBER
1169: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
1170: ,X_Return_Status OUT NOCOPY VARCHAR2
1163:
1164: PROCEDURE DeleteSharees(
1165: p_api_version_number IN NUMBER
1166: ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
1167: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
1168: ,p_Quote_HEADER_ID IN NUMBER
1169: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
1170: ,X_Return_Status OUT NOCOPY VARCHAR2
1171: ,X_Msg_Count OUT NOCOPY NUMBER
1165: p_api_version_number IN NUMBER
1166: ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
1167: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
1168: ,p_Quote_HEADER_ID IN NUMBER
1169: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
1170: ,X_Return_Status OUT NOCOPY VARCHAR2
1171: ,X_Msg_Count OUT NOCOPY NUMBER
1172: ,X_Msg_Data OUT NOCOPY VARCHAR2
1173: )
1192: BEGIN
1193: -- Standard Start of API savepoint
1194: SAVEPOINT DELETESHAREES_pvt;
1195: -- Standard call to check for call compatibility.
1196: IF NOT FND_API.Compatible_API_Call (l_api_version,
1197: P_Api_Version_Number,
1198: l_api_name,
1199: G_PKG_NAME )
1200: THEN
1197: P_Api_Version_Number,
1198: l_api_name,
1199: G_PKG_NAME )
1200: THEN
1201: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1202: END IF;
1203: -- Initialize message list if p_init_msg_list is set to TRUE.
1204: IF FND_API.To_Boolean( p_init_msg_list ) THEN
1205: FND_Msg_Pub.initialize;
1200: THEN
1201: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1202: END IF;
1203: -- Initialize message list if p_init_msg_list is set to TRUE.
1204: IF FND_API.To_Boolean( p_init_msg_list ) THEN
1205: FND_Msg_Pub.initialize;
1206: END IF;
1207: -- Initialize API return status to success
1208: x_return_status := FND_API.G_RET_STS_SUCCESS;
1204: IF FND_API.To_Boolean( p_init_msg_list ) THEN
1205: FND_Msg_Pub.initialize;
1206: END IF;
1207: -- Initialize API return status to success
1208: x_return_status := FND_API.G_RET_STS_SUCCESS;
1209:
1210: IF FND_API.To_Boolean(p_init_msg_list) THEN
1211: FND_Msg_Pub.initialize;
1212: END IF;
1206: END IF;
1207: -- Initialize API return status to success
1208: x_return_status := FND_API.G_RET_STS_SUCCESS;
1209:
1210: IF FND_API.To_Boolean(p_init_msg_list) THEN
1211: FND_Msg_Pub.initialize;
1212: END IF;
1213:
1214: -- API body
1239: x_return_status => x_return_status ,
1240: x_msg_count => x_msg_count ,
1241: x_msg_data => x_msg_data );
1242:
1243: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1244: RAISE FND_API.G_EXC_ERROR;
1245: END IF;
1246: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1247: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1240: x_msg_count => x_msg_count ,
1241: x_msg_data => x_msg_data );
1242:
1243: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1244: RAISE FND_API.G_EXC_ERROR;
1245: END IF;
1246: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1247: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1248: END IF;
1242:
1243: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1244: RAISE FND_API.G_EXC_ERROR;
1245: END IF;
1246: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1247: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1248: END IF;
1249: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1250: IBE_UTIL.DEBUG('DeleteSharees:Done calling delete_recipient');
1243: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1244: RAISE FND_API.G_EXC_ERROR;
1245: END IF;
1246: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1247: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1248: END IF;
1249: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1250: IBE_UTIL.DEBUG('DeleteSharees:Done calling delete_recipient');
1251: END IF;
1253: END LOOP;
1254:
1255: -- End of API body.
1256: -- Standard check of p_commit.
1257: IF FND_API.To_Boolean( p_commit ) THEN
1258: COMMIT WORK;
1259: END IF;
1260:
1261: -- Standard call to get message count and if count is 1, get message info.
1258: COMMIT WORK;
1259: END IF;
1260:
1261: -- Standard call to get message count and if count is 1, get message info.
1262: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
1263: p_count => x_msg_count ,
1264: p_data => x_msg_data);
1265: EXCEPTION
1266: WHEN FND_API.G_EXC_ERROR THEN
1262: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
1263: p_count => x_msg_count ,
1264: p_data => x_msg_data);
1265: EXCEPTION
1266: WHEN FND_API.G_EXC_ERROR THEN
1267: ROLLBACK TO DELETESHAREES_pvt;
1268: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1269: IBE_UTIL.DEBUG('Expected error in IBE_QUOTE_SAVE_PVT.DeleteSharees');
1270: END IF;
1267: ROLLBACK TO DELETESHAREES_pvt;
1268: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1269: IBE_UTIL.DEBUG('Expected error in IBE_QUOTE_SAVE_PVT.DeleteSharees');
1270: END IF;
1271: x_return_status := FND_API.G_RET_STS_ERROR;
1272: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
1273: p_count => x_msg_count ,
1274: p_data => x_msg_data);
1275:
1268: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1269: IBE_UTIL.DEBUG('Expected error in IBE_QUOTE_SAVE_PVT.DeleteSharees');
1270: END IF;
1271: x_return_status := FND_API.G_RET_STS_ERROR;
1272: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
1273: p_count => x_msg_count ,
1274: p_data => x_msg_data);
1275:
1276: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1272: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
1273: p_count => x_msg_count ,
1274: p_data => x_msg_data);
1275:
1276: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1277: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1278: IBE_UTIL.DEBUG('Unexpected error in IBE_QUOTE_SAVE_PVT.DeleteSharees');
1279: END IF;
1280: ROLLBACK TO DELETESHAREES_pvt;
1277: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1278: IBE_UTIL.DEBUG('Unexpected error in IBE_QUOTE_SAVE_PVT.DeleteSharees');
1279: END IF;
1280: ROLLBACK TO DELETESHAREES_pvt;
1281: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1282: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
1283: p_count => x_msg_count ,
1284: p_data => x_msg_data);
1285: WHEN OTHERS THEN
1278: IBE_UTIL.DEBUG('Unexpected error in IBE_QUOTE_SAVE_PVT.DeleteSharees');
1279: END IF;
1280: ROLLBACK TO DELETESHAREES_pvt;
1281: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1282: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
1283: p_count => x_msg_count ,
1284: p_data => x_msg_data);
1285: WHEN OTHERS THEN
1286: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1286: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1287: IBE_UTIL.DEBUG('Unknown error in IBE_QUOTE_SAVE_PVT.DeleteSharees');
1288: END IF;
1289: ROLLBACK TO DELETESHAREES_pvt;
1290: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1291: IF FND_Msg_Pub.Check_Msg_Level(FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
1292: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
1293: l_api_name);
1294: END IF;
1291: IF FND_Msg_Pub.Check_Msg_Level(FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
1292: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
1293: l_api_name);
1294: END IF;
1295: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
1296: p_count => x_msg_count ,
1297: p_data => x_msg_data);
1298: END DeleteSharees;
1299:
1299:
1300:
1301: PROCEDURE Delete(
1302: p_api_version_number IN NUMBER := 1 ,
1303: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE ,
1304: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
1305: x_return_status OUT NOCOPY VARCHAR2 ,
1306: x_msg_count OUT NOCOPY NUMBER ,
1307: x_msg_data OUT NOCOPY VARCHAR2 ,
1300:
1301: PROCEDURE Delete(
1302: p_api_version_number IN NUMBER := 1 ,
1303: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE ,
1304: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
1305: x_return_status OUT NOCOPY VARCHAR2 ,
1306: x_msg_count OUT NOCOPY NUMBER ,
1307: x_msg_data OUT NOCOPY VARCHAR2 ,
1308: p_quote_header_id IN NUMBER ,
1305: x_return_status OUT NOCOPY VARCHAR2 ,
1306: x_msg_count OUT NOCOPY NUMBER ,
1307: x_msg_data OUT NOCOPY VARCHAR2 ,
1308: p_quote_header_id IN NUMBER ,
1309: p_expunge_flag IN VARCHAR2 := FND_API.G_TRUE ,
1310: p_minisite_id IN NUMBER :=FND_API.G_MISS_NUM ,
1311: p_last_update_date IN DATE := FND_API.G_MISS_DATE,
1312: p_Quote_access_tbl IN IBE_QUOTE_SAVESHARE_pvt.QUOTE_ACCESS_TBL_TYPE
1313: := IBE_QUOTE_SAVESHARE_pvt.G_miss_quote_access_Tbl ,
1306: x_msg_count OUT NOCOPY NUMBER ,
1307: x_msg_data OUT NOCOPY VARCHAR2 ,
1308: p_quote_header_id IN NUMBER ,
1309: p_expunge_flag IN VARCHAR2 := FND_API.G_TRUE ,
1310: p_minisite_id IN NUMBER :=FND_API.G_MISS_NUM ,
1311: p_last_update_date IN DATE := FND_API.G_MISS_DATE,
1312: p_Quote_access_tbl IN IBE_QUOTE_SAVESHARE_pvt.QUOTE_ACCESS_TBL_TYPE
1313: := IBE_QUOTE_SAVESHARE_pvt.G_miss_quote_access_Tbl ,
1314: p_notes IN VARCHAR2 := FND_API.G_MISS_CHAR,
1307: x_msg_data OUT NOCOPY VARCHAR2 ,
1308: p_quote_header_id IN NUMBER ,
1309: p_expunge_flag IN VARCHAR2 := FND_API.G_TRUE ,
1310: p_minisite_id IN NUMBER :=FND_API.G_MISS_NUM ,
1311: p_last_update_date IN DATE := FND_API.G_MISS_DATE,
1312: p_Quote_access_tbl IN IBE_QUOTE_SAVESHARE_pvt.QUOTE_ACCESS_TBL_TYPE
1313: := IBE_QUOTE_SAVESHARE_pvt.G_miss_quote_access_Tbl ,
1314: p_notes IN VARCHAR2 := FND_API.G_MISS_CHAR,
1315: -- in even that we are deleting a shared cart
1310: p_minisite_id IN NUMBER :=FND_API.G_MISS_NUM ,
1311: p_last_update_date IN DATE := FND_API.G_MISS_DATE,
1312: p_Quote_access_tbl IN IBE_QUOTE_SAVESHARE_pvt.QUOTE_ACCESS_TBL_TYPE
1313: := IBE_QUOTE_SAVESHARE_pvt.G_miss_quote_access_Tbl ,
1314: p_notes IN VARCHAR2 := FND_API.G_MISS_CHAR,
1315: -- in even that we are deleting a shared cart
1316: -- could be owner or admin recipient
1317: p_initiator_party_id IN NUMBER :=FND_API.G_MISS_NUM ,
1318: p_initiator_account_id IN NUMBER :=FND_API.G_MISS_NUM
1313: := IBE_QUOTE_SAVESHARE_pvt.G_miss_quote_access_Tbl ,
1314: p_notes IN VARCHAR2 := FND_API.G_MISS_CHAR,
1315: -- in even that we are deleting a shared cart
1316: -- could be owner or admin recipient
1317: p_initiator_party_id IN NUMBER :=FND_API.G_MISS_NUM ,
1318: p_initiator_account_id IN NUMBER :=FND_API.G_MISS_NUM
1319: )
1320: IS
1321: l_api_name CONSTANT VARCHAR2(30) := 'DELETE';
1314: p_notes IN VARCHAR2 := FND_API.G_MISS_CHAR,
1315: -- in even that we are deleting a shared cart
1316: -- could be owner or admin recipient
1317: p_initiator_party_id IN NUMBER :=FND_API.G_MISS_NUM ,
1318: p_initiator_account_id IN NUMBER :=FND_API.G_MISS_NUM
1319: )
1320: IS
1321: l_api_name CONSTANT VARCHAR2(30) := 'DELETE';
1322: l_api_version CONSTANT NUMBER := 1.0;
1328: l_last_update_date DATE;
1329: l_quote_recip_id NUMBER;
1330: l_party_id NUMBER;
1331: l_cust_account_id NUMBER;
1332: l_retrieval_number NUMBER := FND_API.G_MISS_NUM;
1333:
1334: cursor c_get_quote_status is
1335: select quote_status_id
1336: from aso_quote_statuses_vl
1359: --DBMS_OUTPUT.PUT_line('Begin IBE_Quote_Save_pvt.Delete()');
1360: -- Standard Start of API savepoint
1361: SAVEPOINT DELETE_pvt;
1362: -- Standard call to check for call compatibility.
1363: IF NOT FND_API.Compatible_API_Call (l_api_version,
1364: P_Api_Version_Number,
1365: l_api_name,
1366: G_PKG_NAME )
1367: THEN
1364: P_Api_Version_Number,
1365: l_api_name,
1366: G_PKG_NAME )
1367: THEN
1368: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1369: END IF;
1370: -- Initialize message list if p_init_msg_list is set to TRUE.
1371: IF FND_API.To_Boolean( p_init_msg_list ) THEN
1372: FND_Msg_Pub.initialize;
1367: THEN
1368: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1369: END IF;
1370: -- Initialize message list if p_init_msg_list is set to TRUE.
1371: IF FND_API.To_Boolean( p_init_msg_list ) THEN
1372: FND_Msg_Pub.initialize;
1373: END IF;
1374: -- Initialize API return status to success
1375: x_return_status := FND_API.G_RET_STS_SUCCESS;
1371: IF FND_API.To_Boolean( p_init_msg_list ) THEN
1372: FND_Msg_Pub.initialize;
1373: END IF;
1374: -- Initialize API return status to success
1375: x_return_status := FND_API.G_RET_STS_SUCCESS;
1376:
1377: -- API body
1378:
1379: -- get quote owner partyid
1383: exit when c_get_party_id%notfound;
1384: end loop;
1385: -- if initiator is specified, and owner is not initiator,
1386: -- send a retieval number here and to the save call (if expunge=F)
1387: if ((p_initiator_party_id <> FND_API.G_MISS_NUM) and l_party_id <> p_initiator_party_id) then
1388: select quote_sharee_number into l_retrieval_number
1389: from ibe_sh_quote_access
1390: where party_id = p_initiator_party_id
1391: and quote_header_id = p_quote_header_id
1399: -- if there is no qte access tbl, then we're in the owner only flow
1400: IF (nvl(p_Quote_access_tbl.count,0) = 0) THEN
1401: IBE_Quote_Misc_pvt.Validate_User_Update
1402: (
1403: p_init_msg_list => FND_API.G_TRUE
1404: ,p_quote_header_id => p_quote_header_id
1405: ,p_validate_user => FND_API.G_TRUE
1406: ,p_quote_retrieval_number => l_retrieval_number
1407: ,p_privilege_type_code => 'A'
1401: IBE_Quote_Misc_pvt.Validate_User_Update
1402: (
1403: p_init_msg_list => FND_API.G_TRUE
1404: ,p_quote_header_id => p_quote_header_id
1405: ,p_validate_user => FND_API.G_TRUE
1406: ,p_quote_retrieval_number => l_retrieval_number
1407: ,p_privilege_type_code => 'A'
1408: ,p_save_type => OP_DELETE_CART
1409: ,p_last_update_date => p_last_update_date
1411: ,x_msg_count => x_msg_count
1412: ,x_msg_data => x_msg_data
1413:
1414: );
1415: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1416: RAISE FND_API.G_EXC_ERROR;
1417: END IF;
1418: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1419: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1412: ,x_msg_data => x_msg_data
1413:
1414: );
1415: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1416: RAISE FND_API.G_EXC_ERROR;
1417: END IF;
1418: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1419: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1420: END IF;
1414: );
1415: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1416: RAISE FND_API.G_EXC_ERROR;
1417: END IF;
1418: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1419: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1420: END IF;
1421: --DBMS_OUTPUT.PUT_line('validate_user_update start end ');
1422: END IF;
1415: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1416: RAISE FND_API.G_EXC_ERROR;
1417: END IF;
1418: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1419: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1420: END IF;
1421: --DBMS_OUTPUT.PUT_line('validate_user_update start end ');
1422: END IF;
1423:
1435: IF FND_Msg_Pub.Check_Msg_Level (FND_Msg_Pub.G_MSG_LVL_ERROR) THEN
1436: FND_Message.Set_Name('IBE', 'IBE_SC_NO_QUOTE_EXIST');
1437: FND_Msg_Pub.Add;
1438: END IF;
1439: RAISE FND_API.G_EXC_ERROR;
1440: ELSIF (l_quote_status = 'ORDERED') THEN
1441: --DBMS_OUTPUT.PUT_line('Quote ordered ');
1442: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1443: IBE_UTIL.DEBUG('Quote ordered ');
1445: IF FND_Msg_Pub.Check_Msg_Level (FND_Msg_Pub.G_MSG_LVL_ERROR) THEN
1446: FND_Message.Set_Name('IBE', 'IBE_SC_QUOTE_IS_ORDERED');
1447: FND_Msg_Pub.Add;
1448: END IF;
1449: RAISE FND_API.G_EXC_ERROR;
1450: END IF;
1451: --Removing this validation because this is aleady being done in validate_user_update
1452: /* -- validate last_update_date
1453: IF (p_last_update_date is not null
1450: END IF;
1451: --Removing this validation because this is aleady being done in validate_user_update
1452: /* -- validate last_update_date
1453: IF (p_last_update_date is not null
1454: and p_last_update_date <> FND_API.G_MISS_DATE) THEN
1455: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1456: IBE_UTIL.DEBUG('validate last_update_date ');
1457: END IF;
1458: IBE_Quote_Misc_pvt.validateQuoteLastUpdateDate
1462: ,X_Return_Status => x_return_status
1463: ,X_Msg_Count => x_msg_count
1464: ,X_Msg_Data => x_msg_data
1465: );
1466: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1467: RAISE FND_API.G_EXC_ERROR;
1468: END IF;
1469: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1470: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1463: ,X_Msg_Count => x_msg_count
1464: ,X_Msg_Data => x_msg_data
1465: );
1466: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1467: RAISE FND_API.G_EXC_ERROR;
1468: END IF;
1469: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1470: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1471: END IF;
1465: );
1466: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1467: RAISE FND_API.G_EXC_ERROR;
1468: END IF;
1469: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1470: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1471: END IF;
1472: END IF;*/
1473:
1466: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1467: RAISE FND_API.G_EXC_ERROR;
1468: END IF;
1469: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1470: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1471: END IF;
1472: END IF;*/
1473:
1474: -- makulkar: Moving the deactivate quote code before expunge flag check. Bug 3715127.
1487: P_minisite_id => p_minisite_id ,
1488: p_notes => p_notes ,
1489: p_quote_access_tbl => p_quote_access_tbl ,
1490: p_api_version => p_api_version_number ,
1491: p_init_msg_list => fnd_api.g_false ,
1492: p_commit => fnd_api.g_false ,
1493: x_return_status => x_return_status ,
1494: x_msg_count => x_msg_count ,
1495: x_msg_data => x_msg_data );
1488: p_notes => p_notes ,
1489: p_quote_access_tbl => p_quote_access_tbl ,
1490: p_api_version => p_api_version_number ,
1491: p_init_msg_list => fnd_api.g_false ,
1492: p_commit => fnd_api.g_false ,
1493: x_return_status => x_return_status ,
1494: x_msg_count => x_msg_count ,
1495: x_msg_data => x_msg_data );
1496:
1494: x_msg_count => x_msg_count ,
1495: x_msg_data => x_msg_data );
1496:
1497:
1498: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1499: RAISE FND_API.G_EXC_ERROR;
1500: END IF;
1501:
1502: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1495: x_msg_data => x_msg_data );
1496:
1497:
1498: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1499: RAISE FND_API.G_EXC_ERROR;
1500: END IF;
1501:
1502: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1503: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1498: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1499: RAISE FND_API.G_EXC_ERROR;
1500: END IF;
1501:
1502: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1503: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1504: END IF;
1505:
1506: --DBMS_OUTPUT.PUT_line('Done calling IBE_QUOTE_SAVESHARE_V2_PVT.Stop_sharing ');
1499: RAISE FND_API.G_EXC_ERROR;
1500: END IF;
1501:
1502: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1503: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1504: END IF;
1505:
1506: --DBMS_OUTPUT.PUT_line('Done calling IBE_QUOTE_SAVESHARE_V2_PVT.Stop_sharing ');
1507: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1517: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1518: IBE_UTIL.DEBUG('expunge flag is: '||p_expunge_flag);
1519: END IF;
1520: --dbms_output.put_line('expunge flag is: '||p_expunge_flag);
1521: IF(p_expunge_flag = FND_API.G_TRUE ) THEN
1522: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1523: IBE_Util.Debug('Expunge flag is true') ;
1524: END IF;
1525: --DBMS_OUTPUT.PUT_line('Expunge flag is true');
1530:
1531:
1532: ASO_Quote_Pub.Delete_quote(
1533: P_Api_Version_Number => P_Api_Version_Number
1534: ,P_Init_Msg_List => FND_API.G_FALSE
1535: ,P_Commit => FND_API.G_FALSE
1536: ,P_qte_header_id => P_Quote_Header_Id
1537: ,x_Return_Status => x_return_status
1538: ,x_Msg_Count => x_msg_count
1531:
1532: ASO_Quote_Pub.Delete_quote(
1533: P_Api_Version_Number => P_Api_Version_Number
1534: ,P_Init_Msg_List => FND_API.G_FALSE
1535: ,P_Commit => FND_API.G_FALSE
1536: ,P_qte_header_id => P_Quote_Header_Id
1537: ,x_Return_Status => x_return_status
1538: ,x_Msg_Count => x_msg_count
1539: ,x_Msg_Data => x_msg_data );
1543: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1544: IBE_Util.Debug('ASO_Quote_Pub.Delete_Quote() finishes');
1545: END IF;
1546: --DBMS_OUTPUT.PUT_line('ASO_Quote_Pub.Delete_Quote() finishes');
1547: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1548: RAISE FND_API.G_EXC_ERROR;
1549: END IF;
1550:
1551: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1544: IBE_Util.Debug('ASO_Quote_Pub.Delete_Quote() finishes');
1545: END IF;
1546: --DBMS_OUTPUT.PUT_line('ASO_Quote_Pub.Delete_Quote() finishes');
1547: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1548: RAISE FND_API.G_EXC_ERROR;
1549: END IF;
1550:
1551: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1552: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1547: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1548: RAISE FND_API.G_EXC_ERROR;
1549: END IF;
1550:
1551: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1552: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1553: END IF;
1554:
1555: ELSE
1548: RAISE FND_API.G_EXC_ERROR;
1549: END IF;
1550:
1551: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1552: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1553: END IF;
1554:
1555: ELSE
1556: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1579: END IF;
1580: --DBMS_OUTPUT.PUT_line('calling save ');
1581: ibe_quote_save_pvt.save(
1582: p_api_version_number => p_api_version_number ,
1583: p_init_msg_list => fnd_api.g_false ,
1584: p_commit => fnd_api.g_false ,
1585: p_sharee_Number => l_retrieval_number ,
1586: p_save_type => OP_DELETE_CART ,
1587: p_qte_header_rec => l_Quote_header_rec ,
1580: --DBMS_OUTPUT.PUT_line('calling save ');
1581: ibe_quote_save_pvt.save(
1582: p_api_version_number => p_api_version_number ,
1583: p_init_msg_list => fnd_api.g_false ,
1584: p_commit => fnd_api.g_false ,
1585: p_sharee_Number => l_retrieval_number ,
1586: p_save_type => OP_DELETE_CART ,
1587: p_qte_header_rec => l_Quote_header_rec ,
1588: x_quote_header_id => l_quote_header_id ,
1591: x_return_status => x_return_status ,
1592: x_msg_count => x_msg_count ,
1593: x_msg_data => x_msg_data);
1594:
1595: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1596: RAISE FND_API.G_EXC_ERROR;
1597: END IF;
1598:
1599: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1592: x_msg_count => x_msg_count ,
1593: x_msg_data => x_msg_data);
1594:
1595: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1596: RAISE FND_API.G_EXC_ERROR;
1597: END IF;
1598:
1599: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1600: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1595: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1596: RAISE FND_API.G_EXC_ERROR;
1597: END IF;
1598:
1599: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1600: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1601: END IF;
1602: --DBMS_OUTPUT.PUT_line('Done calling save ');
1603: END IF; --expunge_flag check
1596: RAISE FND_API.G_EXC_ERROR;
1597: END IF;
1598:
1599: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1600: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1601: END IF;
1602: --DBMS_OUTPUT.PUT_line('Done calling save ');
1603: END IF; --expunge_flag check
1604:
1604:
1605: -- End of API body.
1606:
1607: -- Standard check of p_commit.
1608: IF FND_API.To_Boolean( p_commit ) THEN
1609: COMMIT WORK;
1610: END IF;
1611:
1612: -- Standard call to get message count and if count is 1, get message info.
1609: COMMIT WORK;
1610: END IF;
1611:
1612: -- Standard call to get message count and if count is 1, get message info.
1613: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
1614: p_count => x_msg_count ,
1615: p_data => x_msg_data);
1616: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1617: IBE_Util.Debug('End IBE_Quote_Save_pvt.Delete()');
1617: IBE_Util.Debug('End IBE_Quote_Save_pvt.Delete()');
1618: END IF;
1619: -- IBE_Util.Disable_Debug;
1620: EXCEPTION
1621: WHEN FND_API.G_EXC_ERROR THEN
1622: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1623: IBE_Util.Debug('Expected error: End IBE_Quote_Save_pvt.Delete()');
1624: END IF;
1625:
1623: IBE_Util.Debug('Expected error: End IBE_Quote_Save_pvt.Delete()');
1624: END IF;
1625:
1626: ROLLBACK TO DELETE_pvt;
1627: x_return_status := FND_API.G_RET_STS_ERROR;
1628: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
1629: p_count => x_msg_count ,
1630: p_data => x_msg_data);
1631: --IBE_Util.Disable_Debug;
1624: END IF;
1625:
1626: ROLLBACK TO DELETE_pvt;
1627: x_return_status := FND_API.G_RET_STS_ERROR;
1628: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
1629: p_count => x_msg_count ,
1630: p_data => x_msg_data);
1631: --IBE_Util.Disable_Debug;
1632: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1628: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
1629: p_count => x_msg_count ,
1630: p_data => x_msg_data);
1631: --IBE_Util.Disable_Debug;
1632: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1633: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1634: IBE_Util.Debug('Unexpected error: End IBE_Quote_Save_pvt.Delete()');
1635: END IF;
1636: ROLLBACK TO DELETE_pvt;
1633: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1634: IBE_Util.Debug('Unexpected error: End IBE_Quote_Save_pvt.Delete()');
1635: END IF;
1636: ROLLBACK TO DELETE_pvt;
1637: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1638: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
1639: p_count => x_msg_count ,
1640: p_data => x_msg_data);
1641: -- IBE_Util.Disable_Debug;
1634: IBE_Util.Debug('Unexpected error: End IBE_Quote_Save_pvt.Delete()');
1635: END IF;
1636: ROLLBACK TO DELETE_pvt;
1637: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1638: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
1639: p_count => x_msg_count ,
1640: p_data => x_msg_data);
1641: -- IBE_Util.Disable_Debug;
1642: WHEN OTHERS THEN
1643: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1644: IBE_Util.Debug('Unknown error: End IBE_Quote_Save_pvt.Delete()');
1645: END IF;
1646: ROLLBACK TO DELETE_pvt;
1647: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1648: IF FND_Msg_Pub.Check_Msg_Level(FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
1649: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
1650: l_api_name);
1651: END IF;
1648: IF FND_Msg_Pub.Check_Msg_Level(FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
1649: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
1650: l_api_name);
1651: END IF;
1652: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
1653: p_count => x_msg_count ,
1654: p_data => x_msg_data);
1655: --IBE_Util.Disable_Debug;
1656: END DELETE;
1657:
1658:
1659: PROCEDURE DeleteAllLines(
1660: p_api_version_number IN NUMBER := 1 ,
1661: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE ,
1662: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
1663: x_return_status OUT NOCOPY VARCHAR2 ,
1664: x_msg_count OUT NOCOPY NUMBER ,
1665: x_msg_data OUT NOCOPY VARCHAR2 ,
1658:
1659: PROCEDURE DeleteAllLines(
1660: p_api_version_number IN NUMBER := 1 ,
1661: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE ,
1662: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
1663: x_return_status OUT NOCOPY VARCHAR2 ,
1664: x_msg_count OUT NOCOPY NUMBER ,
1665: x_msg_data OUT NOCOPY VARCHAR2 ,
1666: p_quote_header_id IN NUMBER ,
1663: x_return_status OUT NOCOPY VARCHAR2 ,
1664: x_msg_count OUT NOCOPY NUMBER ,
1665: x_msg_data OUT NOCOPY VARCHAR2 ,
1666: p_quote_header_id IN NUMBER ,
1667: p_last_update_date IN DATE := FND_API.G_MISS_DATE,
1668: p_sharee_number IN NUMBER := FND_API.G_MISS_NUM ,
1669: x_quote_header_id OUT NOCOPY NUMBER ,
1670: x_last_update_date OUT NOCOPY DATE
1671: )
1664: x_msg_count OUT NOCOPY NUMBER ,
1665: x_msg_data OUT NOCOPY VARCHAR2 ,
1666: p_quote_header_id IN NUMBER ,
1667: p_last_update_date IN DATE := FND_API.G_MISS_DATE,
1668: p_sharee_number IN NUMBER := FND_API.G_MISS_NUM ,
1669: x_quote_header_id OUT NOCOPY NUMBER ,
1670: x_last_update_date OUT NOCOPY DATE
1671: )
1672: is
1690: BEGIN
1691: -- Standard Start of API savepoint
1692: SAVEPOINT DELETEALLLINES_pvt;
1693: -- Standard call to check for call compatibility.
1694: IF NOT FND_API.Compatible_API_Call (l_api_version,
1695: P_Api_Version_Number,
1696: l_api_name,
1697: G_PKG_NAME )
1698: THEN
1695: P_Api_Version_Number,
1696: l_api_name,
1697: G_PKG_NAME )
1698: THEN
1699: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1700: END IF;
1701: -- Initialize message list if p_init_msg_list is set to TRUE.
1702: IF FND_API.To_Boolean( p_init_msg_list ) THEN
1703: FND_Msg_Pub.initialize;
1698: THEN
1699: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1700: END IF;
1701: -- Initialize message list if p_init_msg_list is set to TRUE.
1702: IF FND_API.To_Boolean( p_init_msg_list ) THEN
1703: FND_Msg_Pub.initialize;
1704: END IF;
1705: -- Initialize API return status to success
1706: x_return_status := FND_API.G_RET_STS_SUCCESS;
1702: IF FND_API.To_Boolean( p_init_msg_list ) THEN
1703: FND_Msg_Pub.initialize;
1704: END IF;
1705: -- Initialize API return status to success
1706: x_return_status := FND_API.G_RET_STS_SUCCESS;
1707:
1708: -- API body
1709:
1710: -- User Authentication
1711: IBE_Quote_Misc_pvt.Validate_User_Update
1712: ( p_init_msg_list => p_init_msg_list
1713: ,p_quote_header_id => p_quote_header_id
1714: ,p_quote_retrieval_number => p_sharee_number
1715: ,p_validate_user => FND_API.G_TRUE
1716: ,x_return_status => x_return_status
1717: ,x_msg_count => x_msg_count
1718: ,x_msg_data => x_msg_data
1719: );
1716: ,x_return_status => x_return_status
1717: ,x_msg_count => x_msg_count
1718: ,x_msg_data => x_msg_data
1719: );
1720: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1721: RAISE FND_API.G_EXC_ERROR;
1722: END IF;
1723: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1724: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1717: ,x_msg_count => x_msg_count
1718: ,x_msg_data => x_msg_data
1719: );
1720: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1721: RAISE FND_API.G_EXC_ERROR;
1722: END IF;
1723: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1724: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1725: END IF;
1719: );
1720: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1721: RAISE FND_API.G_EXC_ERROR;
1722: END IF;
1723: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1724: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1725: END IF;
1726:
1727: -- 8/24/2002
1720: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1721: RAISE FND_API.G_EXC_ERROR;
1722: END IF;
1723: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1724: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1725: END IF;
1726:
1727: -- 8/24/2002
1728:
1740: close c_getlineids;
1741:
1742: l_control_rec.pricing_request_type := 'ASO';
1743: l_control_rec.header_pricing_event := FND_Profile.Value('IBE_INCART_PRICING_EVENT');
1744: l_control_rec.line_pricing_event := FND_API.G_MISS_CHAR;
1745: l_control_rec.calculate_freight_charge_flag := 'Y';
1746: l_control_rec.calculate_tax_flag := 'Y';
1747:
1748: ibe_quote_save_pvt.SAVE
1746: l_control_rec.calculate_tax_flag := 'Y';
1747:
1748: ibe_quote_save_pvt.SAVE
1749: ( p_api_version_number => p_api_version_number
1750: ,p_init_msg_list => FND_API.G_FALSE
1751: ,p_commit => FND_API.G_FALSE
1752: ,p_sharee_Number => p_sharee_Number
1753: ,p_qte_header_rec => l_qte_header_rec
1754: ,p_qte_line_tbl => l_qte_line_tbl
1747:
1748: ibe_quote_save_pvt.SAVE
1749: ( p_api_version_number => p_api_version_number
1750: ,p_init_msg_list => FND_API.G_FALSE
1751: ,p_commit => FND_API.G_FALSE
1752: ,p_sharee_Number => p_sharee_Number
1753: ,p_qte_header_rec => l_qte_header_rec
1754: ,p_qte_line_tbl => l_qte_line_tbl
1755: ,p_control_rec => l_control_rec
1758: ,x_return_status => x_return_status
1759: ,x_msg_count => x_msg_count
1760: ,x_msg_data => x_msg_data
1761: );
1762: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1763: RAISE FND_API.G_EXC_ERROR;
1764: END IF;
1765: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1766: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1759: ,x_msg_count => x_msg_count
1760: ,x_msg_data => x_msg_data
1761: );
1762: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1763: RAISE FND_API.G_EXC_ERROR;
1764: END IF;
1765: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1766: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1767: END IF;
1761: );
1762: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1763: RAISE FND_API.G_EXC_ERROR;
1764: END IF;
1765: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1766: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1767: END IF;
1768:
1769: -- End of API body.
1762: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1763: RAISE FND_API.G_EXC_ERROR;
1764: END IF;
1765: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1766: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1767: END IF;
1768:
1769: -- End of API body.
1770: -- Standard check of p_commit.
1767: END IF;
1768:
1769: -- End of API body.
1770: -- Standard check of p_commit.
1771: IF FND_API.To_Boolean( p_commit ) THEN
1772: COMMIT WORK;
1773: END IF;
1774:
1775: -- Standard call to get message count and if count is 1, get message info.
1773: END IF;
1774:
1775: -- Standard call to get message count and if count is 1, get message info.
1776:
1777: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
1778: p_count => x_msg_count ,
1779: p_data => x_msg_data);
1780:
1781: EXCEPTION
1778: p_count => x_msg_count ,
1779: p_data => x_msg_data);
1780:
1781: EXCEPTION
1782: WHEN FND_API.G_EXC_ERROR THEN
1783: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1784: IBE_Util.Debug('Expected error: IBE_Quote_Save_pvt.DeleteAllLines()');
1785: END IF;
1786: ROLLBACK TO DELETEALLLINES_pvt;
1783: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1784: IBE_Util.Debug('Expected error: IBE_Quote_Save_pvt.DeleteAllLines()');
1785: END IF;
1786: ROLLBACK TO DELETEALLLINES_pvt;
1787: x_return_status := FND_API.G_RET_STS_ERROR;
1788: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
1789: p_count => x_msg_count ,
1790: p_data => x_msg_data);
1791:
1784: IBE_Util.Debug('Expected error: IBE_Quote_Save_pvt.DeleteAllLines()');
1785: END IF;
1786: ROLLBACK TO DELETEALLLINES_pvt;
1787: x_return_status := FND_API.G_RET_STS_ERROR;
1788: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
1789: p_count => x_msg_count ,
1790: p_data => x_msg_data);
1791:
1792: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1788: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
1789: p_count => x_msg_count ,
1790: p_data => x_msg_data);
1791:
1792: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1793: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1794: IBE_Util.Debug('Unexpected error:IBE_Quote_Save_pvt.DeleteAllLines()');
1795: END IF;
1796:
1794: IBE_Util.Debug('Unexpected error:IBE_Quote_Save_pvt.DeleteAllLines()');
1795: END IF;
1796:
1797: ROLLBACK TO DELETEALLLINES_pvt;
1798: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1799: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
1800: p_count => x_msg_count,
1801: p_data => x_msg_data);
1802: WHEN OTHERS THEN
1795: END IF;
1796:
1797: ROLLBACK TO DELETEALLLINES_pvt;
1798: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1799: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
1800: p_count => x_msg_count,
1801: p_data => x_msg_data);
1802: WHEN OTHERS THEN
1803: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
1804: IBE_Util.Debug('Unknown error: IBE_Quote_Save_pvt.DeleteAllLines()');
1805: END IF;
1806:
1807: ROLLBACK TO DELETEALLLINES_pvt;
1808: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1809:
1810: IF FND_Msg_Pub.Check_Msg_Level(FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
1811: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
1812: l_api_name);
1810: IF FND_Msg_Pub.Check_Msg_Level(FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
1811: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
1812: l_api_name);
1813: END IF;
1814: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
1815: p_count => x_msg_count ,
1816: p_data => x_msg_data);
1817: END DeleteAllLines;
1818:
1820: PROCEDURE Set_Last_Update_Date(p_qte_header_id IN NUMBER,
1821: px_last_update_date OUT NOCOPY DATE)
1822: IS
1823: BEGIN
1824: IF p_qte_header_id <> FND_API.G_MISS_NUM THEN
1825: px_last_update_date := IBE_Quote_Misc_pvt.getQuoteLastUpdateDate(p_qte_header_id);
1826: END IF;
1827: END Set_Last_Update_Date;
1828:
1829: -- formerly AddItemsToCart; the original addItemsToCart
1830: -- this is the one that handles adding of std, services, cartlevel services
1831: PROCEDURE AddItemsToCart_orig(
1832: P_Api_Version_Number IN NUMBER
1833: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
1834: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
1835: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
1836: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
1837: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
1830: -- this is the one that handles adding of std, services, cartlevel services
1831: PROCEDURE AddItemsToCart_orig(
1832: P_Api_Version_Number IN NUMBER
1833: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
1834: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
1835: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
1836: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
1837: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
1838: ,p_sharee_cust_account_id IN Number := FND_API.G_MISS_NUM
1831: PROCEDURE AddItemsToCart_orig(
1832: P_Api_Version_Number IN NUMBER
1833: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
1834: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
1835: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
1836: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
1837: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
1838: ,p_sharee_cust_account_id IN Number := FND_API.G_MISS_NUM
1839: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
1832: P_Api_Version_Number IN NUMBER
1833: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
1834: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
1835: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
1836: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
1837: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
1838: ,p_sharee_cust_account_id IN Number := FND_API.G_MISS_NUM
1839: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
1840: ,p_changeowner IN VARCHAR2 := FND_API.G_FALSE
1833: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
1834: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
1835: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
1836: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
1837: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
1838: ,p_sharee_cust_account_id IN Number := FND_API.G_MISS_NUM
1839: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
1840: ,p_changeowner IN VARCHAR2 := FND_API.G_FALSE
1841: ,p_Control_Rec IN ASO_Quote_Pub.Control_Rec_Type
1834: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
1835: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
1836: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
1837: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
1838: ,p_sharee_cust_account_id IN Number := FND_API.G_MISS_NUM
1839: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
1840: ,p_changeowner IN VARCHAR2 := FND_API.G_FALSE
1841: ,p_Control_Rec IN ASO_Quote_Pub.Control_Rec_Type
1842: := ASO_Quote_Pub.G_Miss_Control_Rec
1835: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
1836: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
1837: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
1838: ,p_sharee_cust_account_id IN Number := FND_API.G_MISS_NUM
1839: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
1840: ,p_changeowner IN VARCHAR2 := FND_API.G_FALSE
1841: ,p_Control_Rec IN ASO_Quote_Pub.Control_Rec_Type
1842: := ASO_Quote_Pub.G_Miss_Control_Rec
1843: ,p_ql_line_codes IN jtf_number_table := NULL
1836: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
1837: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
1838: ,p_sharee_cust_account_id IN Number := FND_API.G_MISS_NUM
1839: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
1840: ,p_changeowner IN VARCHAR2 := FND_API.G_FALSE
1841: ,p_Control_Rec IN ASO_Quote_Pub.Control_Rec_Type
1842: := ASO_Quote_Pub.G_Miss_Control_Rec
1843: ,p_ql_line_codes IN jtf_number_table := NULL
1844: ,p_Qte_Header_Rec IN ASO_Quote_Pub.Qte_Header_Rec_Type
1987: rec_service c_getServiceInvId%rowtype;
1988: rec_itemInfo c_getItemInfo%rowtype;
1989: rec_find_service c_find_service%rowtype;
1990:
1991: l_combinesameitem VARCHAR2(2) := FND_API.G_MISS_CHAR;
1992:
1993: --maithili added for R12
1994: Cursor c_get_Marketing_source(p_quote_header_id NUMBER) is
1995: select marketing_source_code_id
2023: -- Standard Start of API savepoint
2024: SAVEPOINT AddItemsToCartorig_pvt;
2025:
2026: -- Standard call to check for call compatibility.
2027: IF NOT FND_API.Compatible_API_Call(L_API_VERSION,
2028: P_Api_Version_Number,
2029: L_API_NAME ,
2030: G_PKG_NAME )
2031: THEN
2028: P_Api_Version_Number,
2029: L_API_NAME ,
2030: G_PKG_NAME )
2031: THEN
2032: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2033: END IF;
2034:
2035: -- Initialize message list if p_init_msg_list is set to TRUE.
2036: IF FND_API.To_Boolean(p_init_msg_list) THEN
2032: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2033: END IF;
2034:
2035: -- Initialize message list if p_init_msg_list is set to TRUE.
2036: IF FND_API.To_Boolean(p_init_msg_list) THEN
2037: FND_Msg_Pub.initialize;
2038: END IF;
2039:
2040: -- Initialize API return status to success
2037: FND_Msg_Pub.initialize;
2038: END IF;
2039:
2040: -- Initialize API return status to success
2041: x_return_status := FND_API.G_RET_STS_SUCCESS;
2042:
2043: -- API body
2044:
2045: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
2103: --Cart level support logic
2104: IF (l_isCartSupp = 'Y') THEN
2105:
2106: IF ((p_Qte_Header_Rec.quote_header_id is not null)
2107: and (p_Qte_Header_Rec.quote_header_id <> FND_API.G_MISS_NUM) ) THEN
2108: --Check the number of quote lines in the quote
2109: SELECT COUNT(*) INTO l_numLines
2110: FROM aso_quote_lines
2111: WHERE quote_header_id = p_Qte_Header_Rec.quote_header_id;
2125: IBE_Util.Debug('l_isCartEmpty='||l_isCartEmpty);
2126: END IF;
2127:
2128: IF ((p_Qte_Header_Rec.quote_header_id is not null)
2129: and (p_Qte_Header_Rec.quote_header_id <> FND_API.G_MISS_NUM) ) THEN
2130: --Get the number of serviceable items in the quote
2131: SELECT COUNT(*) INTO l_numLines
2132: FROM aso_quote_lines
2133: WHERE quote_header_id = p_Qte_Header_Rec.quote_header_id and
2143: IBE_Util.Debug('l_hasSVA='||l_hasSVA);
2144: END IF;
2145:
2146: -- added 8/4/03: if merge case, we might not want to pass SRV info down
2147: IF (p_combinesameitem = FND_API.G_MISS_CHAR) THEN
2148: l_combinesameitem := FND_Profile.Value('IBE_SC_MERGE_SHOPCART_LINES');
2149: Else
2150: l_combinesameitem := p_combinesameitem;
2151: END IF;
2160:
2161: -- added 8/4/03: if merge case, we might not want to pass SRV info down
2162: l_numLines := 0;
2163: IF ((p_Qte_Header_Rec.quote_header_id is not null)
2164: and (p_Qte_Header_Rec.quote_header_id <> FND_API.G_MISS_NUM) ) THEN
2165: SELECT COUNT(inventory_item_id) INTO l_numLines
2166: FROM aso_quote_lines
2167: WHERE quote_header_id = p_Qte_Header_Rec.quote_header_id and
2168: inventory_item_id = l_Qte_Line_Tbl(i).inventory_item_id;
2379: and (p_Qte_Line_Dtl_Tbl(i).operation_code = 'CREATE') THEN
2380:
2381:
2382: IF(p_Qte_Line_Dtl_Tbl(i).service_ref_line_id is not null and
2383: p_Qte_Line_Dtl_Tbl(i).service_ref_line_id <> FND_API.g_miss_num) THEN
2384:
2385: FOR rec_find_service in c_find_service(p_Qte_Line_Dtl_Tbl(i).service_ref_line_id) LOOP
2386: l_quote_line_id := rec_find_service.quote_line_id;
2387: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
2441: ,x_payment_tbl => lx_Hd_Payment_Tbl
2442: ,x_hd_shipment_tbl => lx_Hd_Shipment_Tbl
2443: ,x_hd_tax_dtl_tbl => lx_Hd_Tax_Detail_Tbl);
2444: lx_qte_header_rec.quote_source_code := 'IStore Oneclick';
2445: l_attach_contract := FND_API.G_TRUE;
2446:
2447: END IF; --(p_save_type = 'SAVE_EXPRESSORDER')
2448:
2449: -- added 8/11/02: for Default Feature: we have to detect the case where we're defaulting:
2449: -- added 8/11/02: for Default Feature: we have to detect the case where we're defaulting:
2450: -- 1) We're creating an Account Active Cart
2451: -- 2) There's no other Account Active Cart for this particular user
2452: -- *Note that these conditions are copied from default_header_rec procedure
2453: IF p_qte_header_rec.quote_header_id = FND_API.G_MISS_NUM
2454: AND p_qte_header_rec.quote_source_code = 'IStore Account'
2455: AND (p_qte_header_rec.quote_name = 'IBE_PRMT_SC_UNNAMED' --MANNAMRA: 16/09/02:Changed IBEACTIVECART to IBEUNNAMED
2456: OR p_qte_header_rec.quote_name = FND_API.G_MISS_CHAR)
2457: AND (p_save_flag <> SAVE_EXPRESSORDER) THEN --Defaulting not required for express check out carts
2452: -- *Note that these conditions are copied from default_header_rec procedure
2453: IF p_qte_header_rec.quote_header_id = FND_API.G_MISS_NUM
2454: AND p_qte_header_rec.quote_source_code = 'IStore Account'
2455: AND (p_qte_header_rec.quote_name = 'IBE_PRMT_SC_UNNAMED' --MANNAMRA: 16/09/02:Changed IBEACTIVECART to IBEUNNAMED
2456: OR p_qte_header_rec.quote_name = FND_API.G_MISS_CHAR)
2457: AND (p_save_flag <> SAVE_EXPRESSORDER) THEN --Defaulting not required for express check out carts
2458:
2459: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
2460: IBE_Util.Debug(' need to get active cart');
2496: ,X_Msg_Count => x_Msg_Count
2497: ,X_Msg_Data => x_Msg_Data
2498: );
2499:
2500: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2501: RAISE FND_API.G_EXC_ERROR;
2502: END IF;
2503: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2504: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2497: ,X_Msg_Data => x_Msg_Data
2498: );
2499:
2500: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2501: RAISE FND_API.G_EXC_ERROR;
2502: END IF;
2503: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2504: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2505: END IF;
2499:
2500: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2501: RAISE FND_API.G_EXC_ERROR;
2502: END IF;
2503: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2504: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2505: END IF;
2506:
2507: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
2500: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2501: RAISE FND_API.G_EXC_ERROR;
2502: END IF;
2503: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2504: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2505: END IF;
2506:
2507: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
2508: IBE_Util.Debug('Back from calling getHdrDefaultValues');
2516: IBE_Util.Debug('Mkt Source code check, lx_Qte_Header_Rec.marketing_source_code_id'||lx_Qte_Header_Rec.marketing_source_code_id);
2517: IBE_Util.Debug('Mkt Source code check, lx_Qte_Header_Rec.quote_header_id'||lx_Qte_Header_Rec.quote_header_id);
2518: END IF;
2519: IF lx_Qte_Header_Rec.marketing_source_code_id is not null and
2520: lx_Qte_Header_Rec.marketing_source_code_id <> fnd_api.g_miss_num and
2521: lx_Qte_Header_Rec.quote_header_id is not null and
2522: lx_Qte_Header_Rec.quote_header_id <> fnd_api.g_miss_num THEN
2523:
2524: OPEN c_get_marketing_source(lx_Qte_Header_Rec.quote_header_id);
2518: END IF;
2519: IF lx_Qte_Header_Rec.marketing_source_code_id is not null and
2520: lx_Qte_Header_Rec.marketing_source_code_id <> fnd_api.g_miss_num and
2521: lx_Qte_Header_Rec.quote_header_id is not null and
2522: lx_Qte_Header_Rec.quote_header_id <> fnd_api.g_miss_num THEN
2523:
2524: OPEN c_get_marketing_source(lx_Qte_Header_Rec.quote_header_id);
2525: FETCH c_get_marketing_source into l_marketing_source_code_id;
2526: CLOSE c_get_marketing_source;
2529: IBE_Util.Debug('l_marketing_source_code_id'||l_marketing_source_code_id);
2530: END IF;
2531:
2532: IF (l_marketing_source_code_id is not null) THEN
2533: lx_Qte_Header_Rec.marketing_source_code_id := FND_API.G_MISS_NUM;
2534: END IF;
2535: END IF;
2536: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
2537: IBE_Util.Debug('After Mkt Source code check, lx_Qte_Header_Rec.marketing_source_code_id'||lx_Qte_Header_Rec.marketing_source_code_id);
2559: END LOOP;
2560:
2561: FOR i IN 1..l_Hd_Price_Attributes_Tbl_temp.count LOOP
2562: If l_Hd_Price_Attributes_Tbl_temp(i).pricing_attribute1 IS NOT NULL
2563: AND l_Hd_Price_Attributes_Tbl_temp(i).pricing_attribute1 <> FND_API.G_MISS_CHAR THEN
2564: For j IN 1..l_Hd_Price_Attributes_Tbl_DB.count LOOP
2565: If l_Hd_Price_Attributes_Tbl_DB(j).pricing_attribute1 IS NOT NULL AND
2566: l_Hd_Price_Attributes_Tbl_temp(i).pricing_attribute1 = l_Hd_Price_Attributes_Tbl_DB(j).pricing_attribute1 THEN
2567: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
2566: l_Hd_Price_Attributes_Tbl_temp(i).pricing_attribute1 = l_Hd_Price_Attributes_Tbl_DB(j).pricing_attribute1 THEN
2567: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
2568: IBE_UTIL.debug('Duplicate Promo code = '|| l_Hd_Price_Attributes_Tbl_temp(i).pricing_attribute1||' found, setting pricing attribute rec to G_MISS_CHAR' );
2569: END IF;
2570: lx_Hd_Price_Attributes_Tbl(i).pricing_attribute1 := FND_API.G_MISS_CHAR;
2571: lx_Hd_Price_Attributes_Tbl(i).flex_title := FND_API.G_MISS_CHAR;
2572: lx_Hd_Price_Attributes_Tbl(i).pricing_context := FND_API.G_MISS_CHAR ;
2573: lx_Hd_Price_Attributes_Tbl(i).quote_header_id := FND_API.G_MISS_NUM;
2574: lx_Hd_Price_Attributes_Tbl(i).operation_code := FND_API.G_MISS_CHAR;
2567: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
2568: IBE_UTIL.debug('Duplicate Promo code = '|| l_Hd_Price_Attributes_Tbl_temp(i).pricing_attribute1||' found, setting pricing attribute rec to G_MISS_CHAR' );
2569: END IF;
2570: lx_Hd_Price_Attributes_Tbl(i).pricing_attribute1 := FND_API.G_MISS_CHAR;
2571: lx_Hd_Price_Attributes_Tbl(i).flex_title := FND_API.G_MISS_CHAR;
2572: lx_Hd_Price_Attributes_Tbl(i).pricing_context := FND_API.G_MISS_CHAR ;
2573: lx_Hd_Price_Attributes_Tbl(i).quote_header_id := FND_API.G_MISS_NUM;
2574: lx_Hd_Price_Attributes_Tbl(i).operation_code := FND_API.G_MISS_CHAR;
2575: END If;
2568: IBE_UTIL.debug('Duplicate Promo code = '|| l_Hd_Price_Attributes_Tbl_temp(i).pricing_attribute1||' found, setting pricing attribute rec to G_MISS_CHAR' );
2569: END IF;
2570: lx_Hd_Price_Attributes_Tbl(i).pricing_attribute1 := FND_API.G_MISS_CHAR;
2571: lx_Hd_Price_Attributes_Tbl(i).flex_title := FND_API.G_MISS_CHAR;
2572: lx_Hd_Price_Attributes_Tbl(i).pricing_context := FND_API.G_MISS_CHAR ;
2573: lx_Hd_Price_Attributes_Tbl(i).quote_header_id := FND_API.G_MISS_NUM;
2574: lx_Hd_Price_Attributes_Tbl(i).operation_code := FND_API.G_MISS_CHAR;
2575: END If;
2576: END LOOP; -- for j loop
2569: END IF;
2570: lx_Hd_Price_Attributes_Tbl(i).pricing_attribute1 := FND_API.G_MISS_CHAR;
2571: lx_Hd_Price_Attributes_Tbl(i).flex_title := FND_API.G_MISS_CHAR;
2572: lx_Hd_Price_Attributes_Tbl(i).pricing_context := FND_API.G_MISS_CHAR ;
2573: lx_Hd_Price_Attributes_Tbl(i).quote_header_id := FND_API.G_MISS_NUM;
2574: lx_Hd_Price_Attributes_Tbl(i).operation_code := FND_API.G_MISS_CHAR;
2575: END If;
2576: END LOOP; -- for j loop
2577: END IF; -- for checking not null check for temp array
2570: lx_Hd_Price_Attributes_Tbl(i).pricing_attribute1 := FND_API.G_MISS_CHAR;
2571: lx_Hd_Price_Attributes_Tbl(i).flex_title := FND_API.G_MISS_CHAR;
2572: lx_Hd_Price_Attributes_Tbl(i).pricing_context := FND_API.G_MISS_CHAR ;
2573: lx_Hd_Price_Attributes_Tbl(i).quote_header_id := FND_API.G_MISS_NUM;
2574: lx_Hd_Price_Attributes_Tbl(i).operation_code := FND_API.G_MISS_CHAR;
2575: END If;
2576: END LOOP; -- for j loop
2577: END IF; -- for checking not null check for temp array
2578: END LOOP;
2639: ,X_Msg_Count => x_Msg_Count
2640: ,X_Msg_Data => x_Msg_Data
2641: );
2642:
2643: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2644: RAISE FND_API.G_EXC_ERROR;
2645: END IF;
2646: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2647: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2640: ,X_Msg_Data => x_Msg_Data
2641: );
2642:
2643: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2644: RAISE FND_API.G_EXC_ERROR;
2645: END IF;
2646: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2647: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2648: END IF;
2642:
2643: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2644: RAISE FND_API.G_EXC_ERROR;
2645: END IF;
2646: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2647: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2648: END IF;
2649:
2650: lx_Qte_Header_Rec := lx_Qte_Header_Rec_tmp;
2643: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2644: RAISE FND_API.G_EXC_ERROR;
2645: END IF;
2646: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2647: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2648: END IF;
2649:
2650: lx_Qte_Header_Rec := lx_Qte_Header_Rec_tmp;
2651: lx_Hd_Price_Attributes_Tbl := lx_Hd_Price_Attributes_Tbl_tmp;
2656: lx_Price_Adjustment_Tbl := lx_Price_Adjustment_Tbl;
2657: lx_Price_Adj_Attr_Tbl := lx_Price_Adj_Attr_Tbl_tmp;
2658: lx_Price_Adj_Rltship_Tbl := lx_Price_Adj_Rltship_Tbl_tmp;
2659:
2660: IF(l_attach_contract = FND_API.G_TRUE) THEN
2661: IF (FND_Profile.Value('OKC_ENABLE_SALES_CONTRACTS') = 'Y' ) THEN --Only if contracts is enabled
2662:
2663: --instantiate a contract and associate to the quote
2664: /*mannamra: Chnages for MOAC : Bug 4682364*/
2680: END IF;
2681:
2682: OKC_TERMS_UTIL_GRP.get_translated_template(
2683: p_api_version => 1.0,
2684: p_init_msg_list => FND_API.g_false,
2685: p_template_id => l_contract_template_id, --this variable will have the translated template ID
2686: p_language => userenv('LANG'),
2687: p_document_type => 'QUOTE',
2688: x_template_id => l_trans_Contract_templ_id,
2689: x_return_status => x_return_status,
2690: x_msg_count => x_msg_count,
2691: x_msg_data => x_msg_data ) ;
2692:
2693: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2694: RAISE FND_API.G_EXC_ERROR;
2695: END IF;
2696: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2697: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2690: x_msg_count => x_msg_count,
2691: x_msg_data => x_msg_data ) ;
2692:
2693: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2694: RAISE FND_API.G_EXC_ERROR;
2695: END IF;
2696: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2697: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2698: END IF;
2692:
2693: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2694: RAISE FND_API.G_EXC_ERROR;
2695: END IF;
2696: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2697: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2698: END IF;
2699:
2700: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
2693: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2694: RAISE FND_API.G_EXC_ERROR;
2695: END IF;
2696: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2697: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2698: END IF;
2699:
2700: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
2701: IBE_UTIL.debug('l_trans_Contract_templ_id = '||l_trans_Contract_templ_id);
2715:
2716: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
2717: IBE_UTIL.debug('After copy_terms api, return status = '||x_return_status);
2718: END IF;
2719: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2720: RAISE FND_API.G_EXC_ERROR;
2721: END IF;
2722: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2723: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2716: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
2717: IBE_UTIL.debug('After copy_terms api, return status = '||x_return_status);
2718: END IF;
2719: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2720: RAISE FND_API.G_EXC_ERROR;
2721: END IF;
2722: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2723: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2724: END IF; --IF (l_contract_template_id is not null
2718: END IF;
2719: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2720: RAISE FND_API.G_EXC_ERROR;
2721: END IF;
2722: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2723: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2724: END IF; --IF (l_contract_template_id is not null
2725: END IF; --IF (FND_Profile.Value('OKC_ENABLE_SALES_CONTRACTS') = 'Y'
2726: END IF;
2719: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2720: RAISE FND_API.G_EXC_ERROR;
2721: END IF;
2722: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2723: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2724: END IF; --IF (l_contract_template_id is not null
2725: END IF; --IF (FND_Profile.Value('OKC_ENABLE_SALES_CONTRACTS') = 'Y'
2726: END IF;
2727: END IF; --if l_attach_contract is true;
2727: END IF; --if l_attach_contract is true;
2728:
2729: -- End of API body.
2730: -- Standard check of p_commit.
2731: IF FND_API.To_Boolean( p_commit ) THEN
2732: COMMIT WORK;
2733: END IF;
2734:
2735: -- Standard call to get message count and if count is 1, get message info.
2732: COMMIT WORK;
2733: END IF;
2734:
2735: -- Standard call to get message count and if count is 1, get message info.
2736: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
2737: p_count => x_msg_count ,
2738: p_data => x_msg_data);
2739:
2740: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
2742: END IF;
2743: -- IBE_Util.Disable_Debug;
2744:
2745: EXCEPTION
2746: WHEN FND_API.G_EXC_ERROR THEN
2747: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
2748: IBE_Util.Debug('Expected error: IBE_Quote_Save_pvt.AddItemsToCart_orig()');
2749: END IF;
2750:
2748: IBE_Util.Debug('Expected error: IBE_Quote_Save_pvt.AddItemsToCart_orig()');
2749: END IF;
2750:
2751: ROLLBACK TO AddItemsToCartorig_pvt;
2752: x_return_status := FND_API.G_RET_STS_ERROR;
2753: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
2754: p_count => x_msg_count ,
2755: p_data => x_msg_data);
2756: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2749: END IF;
2750:
2751: ROLLBACK TO AddItemsToCartorig_pvt;
2752: x_return_status := FND_API.G_RET_STS_ERROR;
2753: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
2754: p_count => x_msg_count ,
2755: p_data => x_msg_data);
2756: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2757: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
2752: x_return_status := FND_API.G_RET_STS_ERROR;
2753: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
2754: p_count => x_msg_count ,
2755: p_data => x_msg_data);
2756: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2757: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
2758: IBE_Util.Debug('Unexpected error: IBE_Quote_Save_pvt.AddItemsToCart_orig()');
2759: END IF;
2760:
2758: IBE_Util.Debug('Unexpected error: IBE_Quote_Save_pvt.AddItemsToCart_orig()');
2759: END IF;
2760:
2761: ROLLBACK TO AddItemsToCartorig_pvt;
2762: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2763: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
2764: p_count => x_msg_count ,
2765: p_data => x_msg_data);
2766: WHEN OTHERS THEN
2759: END IF;
2760:
2761: ROLLBACK TO AddItemsToCartorig_pvt;
2762: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2763: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
2764: p_count => x_msg_count ,
2765: p_data => x_msg_data);
2766: WHEN OTHERS THEN
2767: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
2768: IBE_Util.Debug('Unknown error: IBE_Quote_Save_pvt.AddItemsToCart_orig()');
2769: END IF;
2770:
2771: ROLLBACK TO AddItemsToCartorig_pvt;
2772: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2773: IF FND_Msg_Pub.Check_Msg_Level(FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
2774: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
2775: l_api_name);
2776: END IF;
2773: IF FND_Msg_Pub.Check_Msg_Level(FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
2774: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
2775: l_api_name);
2776: END IF;
2777: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
2778: p_count => x_msg_count ,
2779: p_data => x_msg_data);
2780:
2781: END AddItemsToCart_orig;
2851: -- same signature, but expanded to match the original addItemsToCart
2852: -- this should be the main entry point for all item types as it internally calls addItemsToCart_orig
2853: PROCEDURE AddItemsToCart(
2854: P_Api_Version_Number IN NUMBER
2855: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
2856: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
2857: -- this flag is no longer used or supported; rather items will come in with a line code indicating it is a bundle
2858: ,p_Bundle_Flag IN VARCHAR2 := FND_API.G_FALSE
2859: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
2852: -- this should be the main entry point for all item types as it internally calls addItemsToCart_orig
2853: PROCEDURE AddItemsToCart(
2854: P_Api_Version_Number IN NUMBER
2855: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
2856: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
2857: -- this flag is no longer used or supported; rather items will come in with a line code indicating it is a bundle
2858: ,p_Bundle_Flag IN VARCHAR2 := FND_API.G_FALSE
2859: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
2860: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
2854: P_Api_Version_Number IN NUMBER
2855: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
2856: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
2857: -- this flag is no longer used or supported; rather items will come in with a line code indicating it is a bundle
2858: ,p_Bundle_Flag IN VARCHAR2 := FND_API.G_FALSE
2859: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
2860: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
2861: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
2862: ,p_sharee_cust_account_id IN Number := FND_API.G_MISS_NUM
2855: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
2856: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
2857: -- this flag is no longer used or supported; rather items will come in with a line code indicating it is a bundle
2858: ,p_Bundle_Flag IN VARCHAR2 := FND_API.G_FALSE
2859: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
2860: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
2861: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
2862: ,p_sharee_cust_account_id IN Number := FND_API.G_MISS_NUM
2863: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
2856: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
2857: -- this flag is no longer used or supported; rather items will come in with a line code indicating it is a bundle
2858: ,p_Bundle_Flag IN VARCHAR2 := FND_API.G_FALSE
2859: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
2860: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
2861: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
2862: ,p_sharee_cust_account_id IN Number := FND_API.G_MISS_NUM
2863: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
2864: ,p_changeowner IN VARCHAR2 := FND_API.G_FALSE
2857: -- this flag is no longer used or supported; rather items will come in with a line code indicating it is a bundle
2858: ,p_Bundle_Flag IN VARCHAR2 := FND_API.G_FALSE
2859: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
2860: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
2861: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
2862: ,p_sharee_cust_account_id IN Number := FND_API.G_MISS_NUM
2863: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
2864: ,p_changeowner IN VARCHAR2 := FND_API.G_FALSE
2865: ,p_Control_Rec IN ASO_Quote_Pub.Control_Rec_Type
2858: ,p_Bundle_Flag IN VARCHAR2 := FND_API.G_FALSE
2859: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
2860: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
2861: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
2862: ,p_sharee_cust_account_id IN Number := FND_API.G_MISS_NUM
2863: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
2864: ,p_changeowner IN VARCHAR2 := FND_API.G_FALSE
2865: ,p_Control_Rec IN ASO_Quote_Pub.Control_Rec_Type
2866: := ASO_Quote_Pub.G_Miss_Control_Rec
2859: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
2860: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
2861: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
2862: ,p_sharee_cust_account_id IN Number := FND_API.G_MISS_NUM
2863: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
2864: ,p_changeowner IN VARCHAR2 := FND_API.G_FALSE
2865: ,p_Control_Rec IN ASO_Quote_Pub.Control_Rec_Type
2866: := ASO_Quote_Pub.G_Miss_Control_Rec
2867: ,p_ql_line_codes IN jtf_number_table := NULL
2860: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
2861: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
2862: ,p_sharee_cust_account_id IN Number := FND_API.G_MISS_NUM
2863: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
2864: ,p_changeowner IN VARCHAR2 := FND_API.G_FALSE
2865: ,p_Control_Rec IN ASO_Quote_Pub.Control_Rec_Type
2866: := ASO_Quote_Pub.G_Miss_Control_Rec
2867: ,p_ql_line_codes IN jtf_number_table := NULL
2868: ,p_Qte_Header_Rec IN ASO_Quote_Pub.Qte_Header_Rec_Type
2942: l_input_selection cz_cf_api.input_selection;
2943: l_cfg_input_list cz_cf_api.cfg_input_list;
2944: lx_cfg_output_pieces cz_cf_api.cfg_output_pieces;
2945: l_validation_status number;
2946: l_config_header_id number := fnd_api.g_miss_num;
2947: l_config_rev_num number;
2948: l_complete_config_flag varchar2(5);
2949: l_valid_config_flag varchar2(5);
2950: l_servlet_url varchar2(2000);
2966:
2967: -- Standard Start of API savepoint
2968: SAVEPOINT ADDITEMSTOCART_pvt;
2969: -- Standard call to check for call compatibility.
2970: IF NOT FND_API.Compatible_API_Call (l_api_version,
2971: P_Api_Version_Number,
2972: l_api_name,
2973: G_PKG_NAME )
2974: THEN
2971: P_Api_Version_Number,
2972: l_api_name,
2973: G_PKG_NAME )
2974: THEN
2975: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2976: END IF;
2977: -- Initialize message list if p_init_msg_list is set to TRUE.
2978: IF FND_API.To_Boolean( p_init_msg_list ) THEN
2979: FND_Msg_Pub.initialize;
2974: THEN
2975: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2976: END IF;
2977: -- Initialize message list if p_init_msg_list is set to TRUE.
2978: IF FND_API.To_Boolean( p_init_msg_list ) THEN
2979: FND_Msg_Pub.initialize;
2980: END IF;
2981:
2982: -- Initialize API return status to success
2979: FND_Msg_Pub.initialize;
2980: END IF;
2981:
2982: -- Initialize API return status to success
2983: x_return_status := FND_API.G_RET_STS_SUCCESS;
2984: -- API body
2985:
2986: -- User Authentication
2987: IBE_Quote_Misc_pvt.Validate_User_Update
2989: ,p_quote_header_id => p_Qte_Header_Rec.quote_header_id
2990: ,p_party_id => p_Qte_Header_Rec.party_id
2991: ,p_cust_account_id => p_Qte_Header_Rec.cust_account_id
2992: ,p_quote_retrieval_number => p_sharee_Number
2993: ,p_validate_user => FND_API.G_TRUE
2994: ,P_save_type => P_save_flag
2995: ,p_last_update_date => p_Qte_Header_Rec.last_update_date
2996: ,x_return_status => x_return_status
2997: ,x_msg_count => lx_msg_count
2997: ,x_msg_count => lx_msg_count
2998: ,x_msg_data => lx_msg_data
2999: );
3000:
3001: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3002: RAISE FND_API.G_EXC_ERROR;
3003: END IF;
3004:
3005: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2998: ,x_msg_data => lx_msg_data
2999: );
3000:
3001: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3002: RAISE FND_API.G_EXC_ERROR;
3003: END IF;
3004:
3005: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3006: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3001: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3002: RAISE FND_API.G_EXC_ERROR;
3003: END IF;
3004:
3005: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3006: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3007: END IF;
3008:
3009: /*Check whether we have any model bundles or not*/
3002: RAISE FND_API.G_EXC_ERROR;
3003: END IF;
3004:
3005: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3006: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3007: END IF;
3008:
3009: /*Check whether we have any model bundles or not*/
3010: if (p_ql_line_codes is not null) then
3028: -- as we will have no subsequent call to aso to price
3029: l_control_rec := p_control_rec;
3030: else
3031: /*Turn off the control record values here to avoid pricing until the last bundle loop*/
3032: l_control_rec.pricing_request_type := fnd_api.g_miss_char;
3033: l_control_rec.header_pricing_event := fnd_api.g_miss_char;
3034: l_control_rec.line_pricing_event := fnd_api.g_miss_char;
3035: l_control_rec.Calculate_tax_flag := 'N';
3036: l_control_rec.Calculate_freight_charge_flag := 'N';
3029: l_control_rec := p_control_rec;
3030: else
3031: /*Turn off the control record values here to avoid pricing until the last bundle loop*/
3032: l_control_rec.pricing_request_type := fnd_api.g_miss_char;
3033: l_control_rec.header_pricing_event := fnd_api.g_miss_char;
3034: l_control_rec.line_pricing_event := fnd_api.g_miss_char;
3035: l_control_rec.Calculate_tax_flag := 'N';
3036: l_control_rec.Calculate_freight_charge_flag := 'N';
3037: end if;
3030: else
3031: /*Turn off the control record values here to avoid pricing until the last bundle loop*/
3032: l_control_rec.pricing_request_type := fnd_api.g_miss_char;
3033: l_control_rec.header_pricing_event := fnd_api.g_miss_char;
3034: l_control_rec.line_pricing_event := fnd_api.g_miss_char;
3035: l_control_rec.Calculate_tax_flag := 'N';
3036: l_control_rec.Calculate_freight_charge_flag := 'N';
3037: end if;
3038: -- Compulsory call to AddItemsToCart_orig - this call will take care of all
3082: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3083: IBE_Util.Debug('End IBE_Quote_Save_pvt.AddItemsToCart_orig() : ' || x_return_status);
3084: END IF;
3085:
3086: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3087: RAISE FND_API.G_EXC_ERROR;
3088: END IF;
3089:
3090: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3083: IBE_Util.Debug('End IBE_Quote_Save_pvt.AddItemsToCart_orig() : ' || x_return_status);
3084: END IF;
3085:
3086: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3087: RAISE FND_API.G_EXC_ERROR;
3088: END IF;
3089:
3090: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3091: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3086: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3087: RAISE FND_API.G_EXC_ERROR;
3088: END IF;
3089:
3090: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3091: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3092: END IF;
3093:
3094: if (l_number_of_bundles > 0) then
3087: RAISE FND_API.G_EXC_ERROR;
3088: END IF;
3089:
3090: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3091: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3092: END IF;
3093:
3094: if (l_number_of_bundles > 0) then
3095: l_bundle_counter := 0;
3145: FND_Message.Set_Name('IBE','IBE_DSP_GENERIC_ERROR_TXT');
3146: FND_Message.Set_Token('IBE_DSP_GENERIC_ERROR_TXT',lx_xml_from_validate);
3147: FND_Msg_Pub.Add;
3148: END IF;
3149: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3150: END IF;
3151:
3152:
3153: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3190: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3191: IBE_Util.Debug('End ASO_CFG_PUB.get_config_details : ' || x_return_status);
3192: END IF;
3193:
3194: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3195: RAISE FND_API.G_EXC_ERROR;
3196: END IF;
3197:
3198: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3191: IBE_Util.Debug('End ASO_CFG_PUB.get_config_details : ' || x_return_status);
3192: END IF;
3193:
3194: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3195: RAISE FND_API.G_EXC_ERROR;
3196: END IF;
3197:
3198: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3199: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3194: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3195: RAISE FND_API.G_EXC_ERROR;
3196: END IF;
3197:
3198: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3199: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3200: END IF;
3201: end if; -- end if bundle
3202: end loop; -- end bundle loop over line records from the 1st call to add models
3195: RAISE FND_API.G_EXC_ERROR;
3196: END IF;
3197:
3198: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3199: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3200: END IF;
3201: end if; -- end if bundle
3202: end loop; -- end bundle loop over line records from the 1st call to add models
3203: end if; -- end if l_have_bundle_Flag = true
3205: IBE_Util.Debug('End IBE_Quote_Save_pvt.AddItemsToCart() (new one)');
3206: END IF;
3207:
3208: EXCEPTION
3209: WHEN FND_API.G_EXC_ERROR THEN
3210: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3211: IBE_Util.Debug('Expected error: IBE_Quote_Save_pvt.AddItemsToCart() (new one)');
3212: END IF;
3213:
3211: IBE_Util.Debug('Expected error: IBE_Quote_Save_pvt.AddItemsToCart() (new one)');
3212: END IF;
3213:
3214: ROLLBACK TO ADDITEMSTOCART_pvt;
3215: x_return_status := FND_API.G_RET_STS_ERROR;
3216: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
3217: p_count => x_msg_count ,
3218: p_data => x_msg_data);
3219:
3212: END IF;
3213:
3214: ROLLBACK TO ADDITEMSTOCART_pvt;
3215: x_return_status := FND_API.G_RET_STS_ERROR;
3216: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
3217: p_count => x_msg_count ,
3218: p_data => x_msg_data);
3219:
3220: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3216: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
3217: p_count => x_msg_count ,
3218: p_data => x_msg_data);
3219:
3220: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3221: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3222: IBE_Util.Debug('Unexpected error: IBE_Quote_Save_pvt.AddItemsToCart() (new one)');
3223: END IF;
3224: ROLLBACK TO ADDITEMSTOCART_pvt;
3221: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3222: IBE_Util.Debug('Unexpected error: IBE_Quote_Save_pvt.AddItemsToCart() (new one)');
3223: END IF;
3224: ROLLBACK TO ADDITEMSTOCART_pvt;
3225: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3226: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
3227: p_count => x_msg_count ,
3228: p_data => x_msg_data);
3229:
3222: IBE_Util.Debug('Unexpected error: IBE_Quote_Save_pvt.AddItemsToCart() (new one)');
3223: END IF;
3224: ROLLBACK TO ADDITEMSTOCART_pvt;
3225: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3226: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
3227: p_count => x_msg_count ,
3228: p_data => x_msg_data);
3229:
3230: WHEN OTHERS THEN
3231: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3232: IBE_Util.Debug('Unknown error: IBE_Quote_Save_pvt.AddItemsToCart) (new one)');
3233: END IF;
3234: ROLLBACK TO ADDITEMSTOCART_pvt;
3235: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3236: IF FND_Msg_Pub.Check_Msg_Level(FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
3237: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
3238: l_api_name);
3239: END IF;
3236: IF FND_Msg_Pub.Check_Msg_Level(FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
3237: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
3238: l_api_name);
3239: END IF;
3240: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
3241: p_count => x_msg_count ,
3242: p_data => x_msg_data);
3243: END AddItemsToCart;
3244:
3260: and quote_line_id = p_quote_line_id;
3261:
3262: rec_term_pricelist c_term_pricelist%rowtype;
3263: rec_payment_id c_payment_id%rowtype;
3264: l_price_list_id number := fnd_api.g_miss_num;
3265: l_term_id number := fnd_api.g_miss_num;
3266: l_payment_id number := fnd_api.g_miss_num;
3267:
3268: l_ql_loop_counter number := 1; /* Loop counter for Quote line table*/
3261:
3262: rec_term_pricelist c_term_pricelist%rowtype;
3263: rec_payment_id c_payment_id%rowtype;
3264: l_price_list_id number := fnd_api.g_miss_num;
3265: l_term_id number := fnd_api.g_miss_num;
3266: l_payment_id number := fnd_api.g_miss_num;
3267:
3268: l_ql_loop_counter number := 1; /* Loop counter for Quote line table*/
3269: l_pmt_loop_counter number := 1; /* Loop counter for input payment table*/
3262: rec_term_pricelist c_term_pricelist%rowtype;
3263: rec_payment_id c_payment_id%rowtype;
3264: l_price_list_id number := fnd_api.g_miss_num;
3265: l_term_id number := fnd_api.g_miss_num;
3266: l_payment_id number := fnd_api.g_miss_num;
3267:
3268: l_ql_loop_counter number := 1; /* Loop counter for Quote line table*/
3269: l_pmt_loop_counter number := 1; /* Loop counter for input payment table*/
3270: l_pmt_rec_counter number := 1; /* Loop counter for new payment table*/
3269: l_pmt_loop_counter number := 1; /* Loop counter for input payment table*/
3270: l_pmt_rec_counter number := 1; /* Loop counter for new payment table*/
3271: l_ln_payment_tbl ASO_Quote_Pub.Payment_Tbl_Type;
3272: l_qte_line_tbl ASO_Quote_Pub.Qte_Line_Tbl_Type;
3273: l_found_input_rec varchar2(5) := FND_API.G_FALSE;
3274:
3275: begin
3276:
3277: l_Qte_Line_Tbl := p_qte_line_tbl;
3295: ibe_util.debug('Agreement Id detected is : '||l_qte_line_tbl(l_ql_loop_counter).agreement_id);
3296: END IF;
3297:
3298: if ((l_qte_line_tbl(l_ql_loop_counter).agreement_id is not null)
3299: and (l_qte_line_tbl(l_ql_loop_counter).agreement_id <> fnd_api.g_miss_num)) then
3300: --if the agreement id has a value in the quote_line_tbl
3301: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3302: ibe_util.debug('Non Empty agreement value');
3303: END IF;
3321: END IF;
3322:
3323: -- this if goes to the end of the loop since we have no continue operator
3324: if ((l_qte_line_tbl(l_ql_loop_counter).agreement_id is null) or
3325: (l_qte_line_tbl(l_ql_loop_counter).agreement_id <> fnd_api.g_miss_num)) then
3326:
3327: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3328: ibe_util.debug('Processing agreement id info - either null or number');
3329: END IF;
3333: -- now deal with payment term id -
3334: /*Check for the presence of the payment record in the database(aso_payments),
3335: if the record is present then operation code in the l_ln_payment_tbl= 'UPDATE'
3336: else it is 'CREATE'*/
3337: l_payment_id := fnd_api.g_miss_num;
3338: for rec_payment_id in c_payment_id( l_qte_line_tbl(l_ql_loop_counter).quote_header_id,
3339: l_qte_line_tbl(l_ql_loop_counter).quote_line_id) loop
3340: l_payment_id := rec_payment_id.payment_id;
3341: exit when c_payment_id%notfound;
3344: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3345: ibe_util.debug('l_payment_id : '||l_payment_id );
3346: END IF;
3347: -- prep the current payment record
3348: l_found_input_rec := FND_API.G_FALSE;
3349: if (p_ln_payment_tbl.count > 0 ) then
3350: --loop through the payment table to identify the right qte_header_id and qte_line_id as in the line_record
3351: for l_pmt_loop_counter in 1..p_ln_payment_tbl.count loop
3352: if((p_ln_payment_tbl(l_pmt_loop_counter).quote_header_id = l_qte_line_tbl(l_ql_loop_counter).quote_header_id)
3353: and (p_ln_payment_tbl(l_pmt_loop_counter).quote_line_id = l_qte_line_tbl(l_ql_loop_counter).quote_line_id)) then
3354: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3355: ibe_util.debug('Found a passed in payment record.');
3356: END IF;
3357: l_found_input_rec := FND_API.G_TRUE;
3358: l_ln_payment_tbl(l_pmt_rec_counter) := p_ln_payment_tbl(l_pmt_loop_counter);
3359: l_ln_payment_tbl(l_pmt_rec_counter).payment_term_id := l_term_id;
3360: l_pmt_rec_counter := l_pmt_rec_counter + 1; --increment the payment table record counter
3361: end if;
3361: end if;
3362: end loop;
3363: end if;
3364:
3365: if ((l_found_input_rec = FND_API.G_FALSE) or
3366: (l_ln_payment_tbl(l_pmt_rec_counter).operation_code <> 'DELETE')) then
3367: if (l_payment_id <> fnd_api.g_miss_num ) then
3368: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3369: ibe_util.debug('Operation code is UPDATE');
3363: end if;
3364:
3365: if ((l_found_input_rec = FND_API.G_FALSE) or
3366: (l_ln_payment_tbl(l_pmt_rec_counter).operation_code <> 'DELETE')) then
3367: if (l_payment_id <> fnd_api.g_miss_num ) then
3368: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3369: ibe_util.debug('Operation code is UPDATE');
3370: END IF;
3371: l_ln_payment_tbl(l_pmt_rec_counter).operation_code := 'UPDATE';
3374: l_ln_payment_tbl(l_pmt_rec_counter).quote_line_id := l_qte_line_tbl(l_ql_loop_counter).quote_line_id;
3375: l_ln_payment_tbl(l_pmt_rec_counter).payment_term_id := l_term_id;
3376: l_pmt_rec_counter := l_pmt_rec_counter + 1; --increment the payment table record counter
3377: else
3378: if ((l_term_id is not null) and (l_term_id <> fnd_api.g_miss_num)) then
3379: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3380: ibe_util.debug('Operation code is CREATE');
3381: END IF;
3382: l_ln_payment_tbl(l_pmt_rec_counter).operation_code := 'CREATE';
3421: active carts and saved carts respectively.*/
3422:
3423: procedure GET_QUOTE_EXPIRATION_DATE(
3424: p_api_version IN NUMBER := 1.0 ,
3425: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE ,
3426: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
3427: x_return_status OUT NOCOPY VARCHAR2 ,
3428: x_msg_count OUT NOCOPY NUMBER ,
3429: x_msg_data OUT NOCOPY VARCHAR2 ,
3422:
3423: procedure GET_QUOTE_EXPIRATION_DATE(
3424: p_api_version IN NUMBER := 1.0 ,
3425: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE ,
3426: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
3427: x_return_status OUT NOCOPY VARCHAR2 ,
3428: x_msg_count OUT NOCOPY NUMBER ,
3429: x_msg_data OUT NOCOPY VARCHAR2 ,
3430: p_quote_header_rec IN aso_quote_pub.qte_header_rec_type ,
3440: l_api_version NUMBER := 1.0;
3441: Rec_check_resource_name c_check_resource_name%rowtype;
3442: L_db_resource_id number:= null;
3443: L_cart_name varchar2(2000);
3444: L_profile_value number:= fnd_api.g_miss_num;
3445: L_expiration_date date:= fnd_api.g_miss_date;
3446:
3447: Begin
3448:
3441: Rec_check_resource_name c_check_resource_name%rowtype;
3442: L_db_resource_id number:= null;
3443: L_cart_name varchar2(2000);
3444: L_profile_value number:= fnd_api.g_miss_num;
3445: L_expiration_date date:= fnd_api.g_miss_date;
3446:
3447: Begin
3448:
3449: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3453: -- Standard Start of API savepoint
3454: SAVEPOINT Get_quote_exp_date_pvt;
3455:
3456: -- Standard call to check for call compatibility.
3457: IF NOT FND_API.Compatible_API_Call(L_API_VERSION,
3458: p_api_version,
3459: L_API_NAME ,
3460: G_PKG_NAME )
3461: THEN
3458: p_api_version,
3459: L_API_NAME ,
3460: G_PKG_NAME )
3461: THEN
3462: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3463: END IF;
3464:
3465: -- Initialize message list if p_init_msg_list is set to TRUE.
3466: IF FND_API.To_Boolean(p_init_msg_list) THEN
3462: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3463: END IF;
3464:
3465: -- Initialize message list if p_init_msg_list is set to TRUE.
3466: IF FND_API.To_Boolean(p_init_msg_list) THEN
3467: FND_Msg_Pub.initialize;
3468: END IF;
3469:
3470: -- Initialize API return status to success
3467: FND_Msg_Pub.initialize;
3468: END IF;
3469:
3470: -- Initialize API return status to success
3471: x_return_status := FND_API.G_RET_STS_SUCCESS;
3472:
3473: --API Body
3474: x_expiration_date := fnd_api.g_miss_date;
3475: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3470: -- Initialize API return status to success
3471: x_return_status := FND_API.G_RET_STS_SUCCESS;
3472:
3473: --API Body
3474: x_expiration_date := fnd_api.g_miss_date;
3475: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3476: IBE_UTIL.debug('Incoming quote name into get_quote_exp_date is '||p_quote_header_rec.quote_name);
3477: END IF;
3478: --If no resource id in the quote header rec then check for one in the database
3475: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3476: IBE_UTIL.debug('Incoming quote name into get_quote_exp_date is '||p_quote_header_rec.quote_name);
3477: END IF;
3478: --If no resource id in the quote header rec then check for one in the database
3479: If p_quote_header_rec.resource_id = fnd_api.g_miss_num then
3480: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3481: IBE_UTIL.debug('No resource id in the incoming quote_header_rec');
3482: END IF;
3483:
3489: If (l_db_resource_id is null) then
3490: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3491: IBE_UTIL.debug('No resource id in the database for the given qte_hdr_id');
3492: END IF;
3493: If (((p_quote_header_rec.quote_name <> fnd_api.g_miss_char)
3494: and(p_quote_header_rec.quote_name is not null)
3495: and (p_quote_header_rec.quote_name<>'IBE_PRMT_SC_UNNAMED') --MANNAMRA: 16/09/02:Changed IBEACTIVECART to IBE_PRMT_SC_UNNAMED
3496: /* and(l_cart_name<> 'IBEACTIVECART') */
3497: )
3494: and(p_quote_header_rec.quote_name is not null)
3495: and (p_quote_header_rec.quote_name<>'IBE_PRMT_SC_UNNAMED') --MANNAMRA: 16/09/02:Changed IBEACTIVECART to IBE_PRMT_SC_UNNAMED
3496: /* and(l_cart_name<> 'IBEACTIVECART') */
3497: )
3498: or((p_quote_header_rec.quote_name = fnd_api.g_miss_char)
3499: and (l_cart_name is not null)
3500: and (l_cart_name <>'IBE_PRMT_SC_UNNAMED'))) then --MANNAMRA: 16/09/02:Changed IBEACTIVECART to IBE_PRMT_SC_UNNAMED
3501: L_profile_value := FND_Profile.Value('IBE_EXP_SAVE_CART');
3502: Else
3502: Else
3503: L_profile_value := FND_Profile.Value('IBE_EXP_ACTIVE_CART');
3504: End If;
3505:
3506: /*If((p_quote_header_rec.quote_name <> fnd_api.g_miss_char
3507: and p_quote_header_rec.quote_name <> 'IBEACTIVECART' )) then
3508: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3509: IBE_UTIL.debug('Using the IBE_EXP_SAVE_CART profile value');
3510: END IF;
3524: End if;
3525: End if;
3526:
3527: -- Standard check of p_commit.
3528: IF FND_API.To_Boolean(p_commit) THEN
3529: COMMIT WORK;
3530: END IF;
3531:
3532: -- Standard call to get message count and if count is 1, get message info.
3529: COMMIT WORK;
3530: END IF;
3531:
3532: -- Standard call to get message count and if count is 1, get message info.
3533: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
3534: p_count => x_msg_count ,
3535: p_data => x_msg_data);
3536:
3537: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3537: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3538: ibe_util.debug('End IBE_Quote_Save_pvt.GET_QUOTE_EXPIRATION_DATE()');
3539: END IF;
3540: EXCEPTION
3541: WHEN FND_API.G_EXC_ERROR THEN
3542: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3543: IBE_Util.Debug('Expected error: IBE_Quote_Save_pvt.Get_quote_expiration_date');
3544: END IF;
3545:
3543: IBE_Util.Debug('Expected error: IBE_Quote_Save_pvt.Get_quote_expiration_date');
3544: END IF;
3545:
3546: ROLLBACK TO Get_quote_exp_date_pvt;
3547: x_return_status := FND_API.G_RET_STS_ERROR;
3548: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
3549: p_count => x_msg_count ,
3550: p_data => x_msg_data);
3551: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3544: END IF;
3545:
3546: ROLLBACK TO Get_quote_exp_date_pvt;
3547: x_return_status := FND_API.G_RET_STS_ERROR;
3548: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
3549: p_count => x_msg_count ,
3550: p_data => x_msg_data);
3551: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3552: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3547: x_return_status := FND_API.G_RET_STS_ERROR;
3548: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
3549: p_count => x_msg_count ,
3550: p_data => x_msg_data);
3551: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3552: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3553: IBE_Util.Debug('Unexpected error: IBE_Quote_Save_pvt.Get_quote_expiration_date');
3554: END IF;
3555:
3553: IBE_Util.Debug('Unexpected error: IBE_Quote_Save_pvt.Get_quote_expiration_date');
3554: END IF;
3555:
3556: ROLLBACK TO Get_quote_exp_date_pvt;
3557: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3558: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
3559: p_count => x_msg_count ,
3560: p_data => x_msg_data);
3561: WHEN OTHERS THEN
3554: END IF;
3555:
3556: ROLLBACK TO Get_quote_exp_date_pvt;
3557: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3558: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
3559: p_count => x_msg_count ,
3560: p_data => x_msg_data);
3561: WHEN OTHERS THEN
3562: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3563: IBE_Util.Debug('Unknown error: IBE_Quote_Save_pvt.Get_quote_expiration_date');
3564: END IF;
3565:
3566: ROLLBACK TO Get_quote_exp_date_pvt;
3567: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3568: IF FND_Msg_Pub.Check_Msg_Level( FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR ) THEN
3569: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
3570: L_API_NAME);
3571: END IF;
3569: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
3570: L_API_NAME);
3571: END IF;
3572:
3573: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
3574: p_count => x_msg_count ,
3575: p_data => x_msg_data);
3576: End Get_Quote_expiration_date;
3577:
3576: End Get_Quote_expiration_date;
3577:
3578: procedure request_for_sales_assistance (
3579: P_Api_Version IN NUMBER ,
3580: p_Init_Msg_List IN VARCHAR2:= FND_API.G_FALSE ,
3581: p_Commit IN VARCHAR2:= FND_API.G_FALSE ,
3582: x_return_status OUT NOCOPY VARCHAR2 ,
3583: x_msg_count OUT NOCOPY NUMBER ,
3584: x_msg_data OUT NOCOPY VARCHAR2 ,
3577:
3578: procedure request_for_sales_assistance (
3579: P_Api_Version IN NUMBER ,
3580: p_Init_Msg_List IN VARCHAR2:= FND_API.G_FALSE ,
3581: p_Commit IN VARCHAR2:= FND_API.G_FALSE ,
3582: x_return_status OUT NOCOPY VARCHAR2 ,
3583: x_msg_count OUT NOCOPY NUMBER ,
3584: x_msg_data OUT NOCOPY VARCHAR2 ,
3585: x_last_update_date OUT NOCOPY Date ,
3584: x_msg_data OUT NOCOPY VARCHAR2 ,
3585: x_last_update_date OUT NOCOPY Date ,
3586: p_minisite_id IN NUMBER ,
3587: p_last_update_date IN Date ,
3588: p_quote_header_id IN NUMBER:= FND_API.G_MISS_NUM,
3589: p_party_id IN NUMBER:= FND_API.G_MISS_NUM,
3590: p_cust_account_id IN NUMBER:= FND_API.G_MISS_NUM,
3591: p_validate_user IN VARCHAR2:= FND_API.G_FALSE ,
3592: P_quote_name IN VARCHAR2 ,
3585: x_last_update_date OUT NOCOPY Date ,
3586: p_minisite_id IN NUMBER ,
3587: p_last_update_date IN Date ,
3588: p_quote_header_id IN NUMBER:= FND_API.G_MISS_NUM,
3589: p_party_id IN NUMBER:= FND_API.G_MISS_NUM,
3590: p_cust_account_id IN NUMBER:= FND_API.G_MISS_NUM,
3591: p_validate_user IN VARCHAR2:= FND_API.G_FALSE ,
3592: P_quote_name IN VARCHAR2 ,
3593: P_Reason_code IN VARCHAR2 ,
3586: p_minisite_id IN NUMBER ,
3587: p_last_update_date IN Date ,
3588: p_quote_header_id IN NUMBER:= FND_API.G_MISS_NUM,
3589: p_party_id IN NUMBER:= FND_API.G_MISS_NUM,
3590: p_cust_account_id IN NUMBER:= FND_API.G_MISS_NUM,
3591: p_validate_user IN VARCHAR2:= FND_API.G_FALSE ,
3592: P_quote_name IN VARCHAR2 ,
3593: P_Reason_code IN VARCHAR2 ,
3594: P_url IN VARCHAR2:= FND_API.G_MISS_CHAR,
3587: p_last_update_date IN Date ,
3588: p_quote_header_id IN NUMBER:= FND_API.G_MISS_NUM,
3589: p_party_id IN NUMBER:= FND_API.G_MISS_NUM,
3590: p_cust_account_id IN NUMBER:= FND_API.G_MISS_NUM,
3591: p_validate_user IN VARCHAR2:= FND_API.G_FALSE ,
3592: P_quote_name IN VARCHAR2 ,
3593: P_Reason_code IN VARCHAR2 ,
3594: P_url IN VARCHAR2:= FND_API.G_MISS_CHAR,
3595: P_COMMENTS IN VARCHAR2,
3590: p_cust_account_id IN NUMBER:= FND_API.G_MISS_NUM,
3591: p_validate_user IN VARCHAR2:= FND_API.G_FALSE ,
3592: P_quote_name IN VARCHAR2 ,
3593: P_Reason_code IN VARCHAR2 ,
3594: P_url IN VARCHAR2:= FND_API.G_MISS_CHAR,
3595: P_COMMENTS IN VARCHAR2,
3596: p_retrieval_number IN NUMBER := FND_API.G_MISS_NUM,
3597: p_contract_context IN VARCHAR2 :='N',
3598: p_notes IN VARCHAR2 := NULL) is
3592: P_quote_name IN VARCHAR2 ,
3593: P_Reason_code IN VARCHAR2 ,
3594: P_url IN VARCHAR2:= FND_API.G_MISS_CHAR,
3595: P_COMMENTS IN VARCHAR2,
3596: p_retrieval_number IN NUMBER := FND_API.G_MISS_NUM,
3597: p_contract_context IN VARCHAR2 :='N',
3598: p_notes IN VARCHAR2 := NULL) is
3599:
3600: Cursor c_find_resourceid(qte_hdr_id number) is
3638: l_api_version NUMBER := 1.0;
3639:
3640:
3641: l_salesrep_id VARCHAR2(50);
3642: L_resource_id Number := fnd_api.g_miss_num;
3643: l_salesrep_user_id Number := fnd_api.g_miss_num;
3644: l_salesrep_user_name Varchar2(100) :=fnd_api.g_miss_char;
3645: L_qte_hdr_rec ASO_Quote_Pub.Qte_Header_Rec_Type
3646: := ASO_Quote_Pub.G_MISS_Qte_Header_Rec;
3639:
3640:
3641: l_salesrep_id VARCHAR2(50);
3642: L_resource_id Number := fnd_api.g_miss_num;
3643: l_salesrep_user_id Number := fnd_api.g_miss_num;
3644: l_salesrep_user_name Varchar2(100) :=fnd_api.g_miss_char;
3645: L_qte_hdr_rec ASO_Quote_Pub.Qte_Header_Rec_Type
3646: := ASO_Quote_Pub.G_MISS_Qte_Header_Rec;
3647: l_status_id number;
3640:
3641: l_salesrep_id VARCHAR2(50);
3642: L_resource_id Number := fnd_api.g_miss_num;
3643: l_salesrep_user_id Number := fnd_api.g_miss_num;
3644: l_salesrep_user_name Varchar2(100) :=fnd_api.g_miss_char;
3645: L_qte_hdr_rec ASO_Quote_Pub.Qte_Header_Rec_Type
3646: := ASO_Quote_Pub.G_MISS_Qte_Header_Rec;
3647: l_status_id number;
3648: lx_quote_header_id number;
3674: -- Standard Start of API savepoint
3675: SAVEPOINT Req_for_sales_asst_pvt;
3676:
3677: -- Standard call to check for call compatibility.
3678: IF NOT FND_API.Compatible_API_Call(L_API_VERSION,
3679: p_api_version,
3680: L_API_NAME ,
3681: G_PKG_NAME )
3682: THEN
3679: p_api_version,
3680: L_API_NAME ,
3681: G_PKG_NAME )
3682: THEN
3683: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3684: END IF;
3685:
3686: -- Initialize message list if p_init_msg_list is set to TRUE.
3687: IF FND_API.To_Boolean(p_init_msg_list) THEN
3683: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3684: END IF;
3685:
3686: -- Initialize message list if p_init_msg_list is set to TRUE.
3687: IF FND_API.To_Boolean(p_init_msg_list) THEN
3688: FND_Msg_Pub.initialize;
3689: END IF;
3690: -- Initialize API return status to success
3691: x_return_status := FND_API.G_RET_STS_SUCCESS;
3687: IF FND_API.To_Boolean(p_init_msg_list) THEN
3688: FND_Msg_Pub.initialize;
3689: END IF;
3690: -- Initialize API return status to success
3691: x_return_status := FND_API.G_RET_STS_SUCCESS;
3692:
3693: --API Body
3694: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3695: IBE_UTIL.DEBUG('REQUEST_FOR_SALES_ASSISTANCE: Before Calling log_environment_info');
3712: ,x_return_status => lx_return_status
3713: ,x_msg_count => lx_msg_count
3714: ,x_msg_data => lx_msg_data
3715: );
3716: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
3717: RAISE FND_API.G_EXC_ERROR;
3718: END IF;
3719: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3720: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3713: ,x_msg_count => lx_msg_count
3714: ,x_msg_data => lx_msg_data
3715: );
3716: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
3717: RAISE FND_API.G_EXC_ERROR;
3718: END IF;
3719: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3720: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3721: END IF;
3715: );
3716: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
3717: RAISE FND_API.G_EXC_ERROR;
3718: END IF;
3719: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3720: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3721: END IF;
3722: --obtaining the resource id from the database
3723: For rec_find_resourceid in c_find_resourceid(p_quote_header_id) loop
3716: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
3717: RAISE FND_API.G_EXC_ERROR;
3718: END IF;
3719: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3720: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3721: END IF;
3722: --obtaining the resource id from the database
3723: For rec_find_resourceid in c_find_resourceid(p_quote_header_id) loop
3724: l_resource_id := rec_find_resourceid.resource_id ;
3804: IBE_UTIL.debug('Calling Save in request_for_sales_assist()');
3805: END IF;
3806: ibe_quote_save_pvt.save(
3807: p_api_version_number => 1.0 ,
3808: p_init_msg_list => FND_API.G_FALSE ,
3809: p_commit => FND_API.G_FALSE ,
3810: p_qte_header_rec => L_qte_hdr_rec ,
3811: p_save_type => SALES_ASSISTANCE ,
3812: p_sharee_Number => p_retrieval_number ,
3805: END IF;
3806: ibe_quote_save_pvt.save(
3807: p_api_version_number => 1.0 ,
3808: p_init_msg_list => FND_API.G_FALSE ,
3809: p_commit => FND_API.G_FALSE ,
3810: p_qte_header_rec => L_qte_hdr_rec ,
3811: p_save_type => SALES_ASSISTANCE ,
3812: p_sharee_Number => p_retrieval_number ,
3813: x_quote_header_id => lx_quote_header_id ,
3814: x_last_update_date => lx_last_update_date ,
3815: x_return_status => lx_return_status ,
3816: x_msg_count => lx_msg_count ,
3817: x_msg_data => lx_msg_data);
3818: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
3819: RAISE FND_API.G_EXC_ERROR;
3820: END IF;
3821: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3822: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3815: x_return_status => lx_return_status ,
3816: x_msg_count => lx_msg_count ,
3817: x_msg_data => lx_msg_data);
3818: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
3819: RAISE FND_API.G_EXC_ERROR;
3820: END IF;
3821: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3822: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3823: END IF;
3817: x_msg_data => lx_msg_data);
3818: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
3819: RAISE FND_API.G_EXC_ERROR;
3820: END IF;
3821: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3822: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3823: END IF;
3824: -- For the bug, 3014723, retrieve the resource_id from aso_quote_headers, instead of using the cached profile value.
3825: For rec_find_resourceid in c_find_resourceid(p_quote_header_id) loop
3818: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
3819: RAISE FND_API.G_EXC_ERROR;
3820: END IF;
3821: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3822: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3823: END IF;
3824: -- For the bug, 3014723, retrieve the resource_id from aso_quote_headers, instead of using the cached profile value.
3825: For rec_find_resourceid in c_find_resourceid(p_quote_header_id) loop
3826: l_resource_id := rec_find_resourceid.resource_id ;
3869: IF (l_contract_template_id is not null) THEN
3870:
3871: OKC_TERMS_UTIL_GRP.get_Translated_template(
3872: p_api_version => 1.0,
3873: p_init_msg_list => FND_API.g_false,
3874: p_template_id => l_contract_template_id,
3875: p_language => userenv('LANG'),
3876: p_document_type => 'QUOTE',
3877: --this variable will have the translated template ID
3878: x_template_id => l_trans_Contract_template_id,
3879: x_return_status => x_return_status,
3880: x_msg_count => x_msg_count,
3881: x_msg_data => x_msg_data ) ;
3882: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3883: RAISE FND_API.G_EXC_ERROR;
3884: END IF;
3885: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3886: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3879: x_return_status => x_return_status,
3880: x_msg_count => x_msg_count,
3881: x_msg_data => x_msg_data ) ;
3882: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3883: RAISE FND_API.G_EXC_ERROR;
3884: END IF;
3885: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3886: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3887: END IF;
3881: x_msg_data => x_msg_data ) ;
3882: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3883: RAISE FND_API.G_EXC_ERROR;
3884: END IF;
3885: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3886: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3887: END IF;
3888:
3889: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3882: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3883: RAISE FND_API.G_EXC_ERROR;
3884: END IF;
3885: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3886: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3887: END IF;
3888:
3889: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3890: IBE_UTIL.debug('l_trans_Contract_templ_id = '||l_trans_Contract_template_id);
3902: IBE_UTIL.debug('calling OKC_XPRT_INT_GRP.get_contract_terms...');
3903: END IF;
3904: OKC_XPRT_INT_GRP.get_contract_terms(
3905: p_api_version => 1.0
3906: ,p_init_msg_list => FND_API.g_false
3907: ,P_document_type => 'QUOTE'
3908: ,P_document_id => p_quote_header_id
3909: ,P_template_id => l_trans_Contract_template_id
3910: ,P_called_from_UI => 'N'
3916:
3917: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3918: IBE_UTIL.debug('After OKC_XPRT_INT_GRP.get_contract_terms, return status = '||lx_return_status);
3919: END IF;
3920: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
3921: RAISE FND_API.G_EXC_ERROR;
3922: END IF;
3923: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3924: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3917: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3918: IBE_UTIL.debug('After OKC_XPRT_INT_GRP.get_contract_terms, return status = '||lx_return_status);
3919: END IF;
3920: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
3921: RAISE FND_API.G_EXC_ERROR;
3922: END IF;
3923: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3924: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3925: END IF;
3919: END IF;
3920: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
3921: RAISE FND_API.G_EXC_ERROR;
3922: END IF;
3923: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3924: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3925: END IF;
3926:
3927: END IF; -- IF(upper(l_quote_status) <> 'APPROVED')
3920: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
3921: RAISE FND_API.G_EXC_ERROR;
3922: END IF;
3923: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3924: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3925: END IF;
3926:
3927: END IF; -- IF(upper(l_quote_status) <> 'APPROVED')
3928: END IF; --IF (l_contract_template_id is not null) THEN
3939: p_quote_header_id => p_quote_header_id,
3940: P_minisite_id => p_minisite_id ,
3941: p_url => p_url ,
3942: p_api_version => 1.0 ,
3943: p_init_msg_list => FND_API.G_FALSE ,
3944: p_commit => FND_API.G_FALSE ,
3945: x_return_status => lx_return_status ,
3946: x_msg_count => lx_msg_count ,
3947: x_msg_data => lx_msg_data );
3940: P_minisite_id => p_minisite_id ,
3941: p_url => p_url ,
3942: p_api_version => 1.0 ,
3943: p_init_msg_list => FND_API.G_FALSE ,
3944: p_commit => FND_API.G_FALSE ,
3945: x_return_status => lx_return_status ,
3946: x_msg_count => lx_msg_count ,
3947: x_msg_data => lx_msg_data );
3948:
3945: x_return_status => lx_return_status ,
3946: x_msg_count => lx_msg_count ,
3947: x_msg_data => lx_msg_data );
3948:
3949: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
3950: RAISE FND_API.G_EXC_ERROR;
3951: END IF;
3952: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3953: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3946: x_msg_count => lx_msg_count ,
3947: x_msg_data => lx_msg_data );
3948:
3949: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
3950: RAISE FND_API.G_EXC_ERROR;
3951: END IF;
3952: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3953: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3954: END IF;
3948:
3949: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
3950: RAISE FND_API.G_EXC_ERROR;
3951: END IF;
3952: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3953: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3954: END IF;
3955: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3956: IBE_UTIL.DEBUG('Done calling share_readonly');
3949: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
3950: RAISE FND_API.G_EXC_ERROR;
3951: END IF;
3952: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3953: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3954: END IF;
3955: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3956: IBE_UTIL.DEBUG('Done calling share_readonly');
3957: END IF;
3963: P_Quote_header_id => p_quote_header_id,
3964: P_Party_id => p_party_id ,
3965: P_Cust_account_id => p_cust_account_id ,
3966: p_api_version => p_api_version ,
3967: p_init_msg_list => fnd_api.g_false ,
3968: p_commit => fnd_api.g_false ,
3969: x_return_status => lx_return_status ,
3970: x_msg_count => lx_msg_count ,
3971: x_msg_data => lx_msg_data );
3964: P_Party_id => p_party_id ,
3965: P_Cust_account_id => p_cust_account_id ,
3966: p_api_version => p_api_version ,
3967: p_init_msg_list => fnd_api.g_false ,
3968: p_commit => fnd_api.g_false ,
3969: x_return_status => lx_return_status ,
3970: x_msg_count => lx_msg_count ,
3971: x_msg_data => lx_msg_data );
3972: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
3968: p_commit => fnd_api.g_false ,
3969: x_return_status => lx_return_status ,
3970: x_msg_count => lx_msg_count ,
3971: x_msg_data => lx_msg_data );
3972: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
3973: RAISE FND_API.G_EXC_ERROR;
3974: END IF;
3975:
3976: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3969: x_return_status => lx_return_status ,
3970: x_msg_count => lx_msg_count ,
3971: x_msg_data => lx_msg_data );
3972: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
3973: RAISE FND_API.G_EXC_ERROR;
3974: END IF;
3975:
3976: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3977: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3972: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
3973: RAISE FND_API.G_EXC_ERROR;
3974: END IF;
3975:
3976: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3977: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3978: END IF;
3979: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3980: IBE_UTIL.DEBUG('RSA:Deactivate owner cart after sharing:Done');
3973: RAISE FND_API.G_EXC_ERROR;
3974: END IF;
3975:
3976: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3977: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3978: END IF;
3979: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
3980: IBE_UTIL.DEBUG('RSA:Deactivate owner cart after sharing:Done');
3981: END IF;
4001: END IF;
4002: --Calling the workflow notification API. This API sends out an e-maiol each to the salesrep and the customer.
4003: IBE_WORKFLOW_pvt.NotifyForSalesAssistance(
4004: p_api_version => 1.0 ,
4005: p_init_msg_list => FND_API.G_FALSE ,
4006: p_quote_id => P_QUOTE_HEADER_ID ,
4007: p_customer_comments => P_COMMENTS ,
4008: p_salesrep_email_id => FND_API.G_MISS_CHAR ,
4009: p_salesrep_user_id => l_salesrep_user_id ,
4004: p_api_version => 1.0 ,
4005: p_init_msg_list => FND_API.G_FALSE ,
4006: p_quote_id => P_QUOTE_HEADER_ID ,
4007: p_customer_comments => P_COMMENTS ,
4008: p_salesrep_email_id => FND_API.G_MISS_CHAR ,
4009: p_salesrep_user_id => l_salesrep_user_id ,
4010: p_reason_code => P_Reason_code ,
4011: p_msite_id => p_minisite_id ,
4012: x_return_status => lx_return_status ,
4012: x_return_status => lx_return_status ,
4013: x_msg_count => lx_msg_count ,
4014: x_msg_data => lx_msg_data );
4015:
4016: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
4017: RAISE FND_API.G_EXC_ERROR;
4018: END IF;
4019: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4020: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4013: x_msg_count => lx_msg_count ,
4014: x_msg_data => lx_msg_data );
4015:
4016: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
4017: RAISE FND_API.G_EXC_ERROR;
4018: END IF;
4019: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4020: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4021: END IF;
4015:
4016: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
4017: RAISE FND_API.G_EXC_ERROR;
4018: END IF;
4019: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4020: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4021: END IF;
4022:
4023: --Bug 3204942 Start
4016: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
4017: RAISE FND_API.G_EXC_ERROR;
4018: END IF;
4019: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4020: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4021: END IF;
4022:
4023: --Bug 3204942 Start
4024: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
4037: p_note_status => 'I', --this is for note_status of Public
4038: x_jtf_note_id => lx_jtf_note_id,
4039: p_note_type => 'QOT_SALES_ASSIST' );
4040:
4041: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
4042: RAISE FND_API.G_EXC_ERROR;
4043: END IF;
4044: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4045: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4038: x_jtf_note_id => lx_jtf_note_id,
4039: p_note_type => 'QOT_SALES_ASSIST' );
4040:
4041: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
4042: RAISE FND_API.G_EXC_ERROR;
4043: END IF;
4044: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4045: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4046: END IF;
4040:
4041: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
4042: RAISE FND_API.G_EXC_ERROR;
4043: END IF;
4044: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4045: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4046: END IF;
4047: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
4048: IBE_UTIL.debug('After Calling the create_note API, note_id ='||lx_jtf_note_id);
4041: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
4042: RAISE FND_API.G_EXC_ERROR;
4043: END IF;
4044: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4045: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4046: END IF;
4047: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
4048: IBE_UTIL.debug('After Calling the create_note API, note_id ='||lx_jtf_note_id);
4049: END IF;
4050: END IF;
4051: --Bug 3204942 End
4052:
4053: -- Standard check of p_commit.
4054: IF FND_API.To_Boolean(p_commit) THEN
4055: COMMIT WORK;
4056: END IF;
4057:
4058: -- Standard call to get message count and if count is 1, get message info.
4055: COMMIT WORK;
4056: END IF;
4057:
4058: -- Standard call to get message count and if count is 1, get message info.
4059: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
4060: p_count => lx_msg_count ,
4061: p_data => lx_msg_data);
4062:
4063: EXCEPTION
4060: p_count => lx_msg_count ,
4061: p_data => lx_msg_data);
4062:
4063: EXCEPTION
4064: WHEN FND_API.G_EXC_ERROR THEN
4065: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
4066: IBE_Util.Debug('Expected error: IBE_Quote_Save_pvt.Request_for_sales_assistance');
4067: END IF;
4068:
4066: IBE_Util.Debug('Expected error: IBE_Quote_Save_pvt.Request_for_sales_assistance');
4067: END IF;
4068:
4069: ROLLBACK TO Req_for_sales_asst_pvt;
4070: x_return_status := FND_API.G_RET_STS_ERROR;
4071: Set_Last_Update_Date(p_quote_header_id, x_last_update_date);
4072: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
4073: p_count => lx_msg_count ,
4074: p_data => lx_msg_data);
4068:
4069: ROLLBACK TO Req_for_sales_asst_pvt;
4070: x_return_status := FND_API.G_RET_STS_ERROR;
4071: Set_Last_Update_Date(p_quote_header_id, x_last_update_date);
4072: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
4073: p_count => lx_msg_count ,
4074: p_data => lx_msg_data);
4075: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4076: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
4071: Set_Last_Update_Date(p_quote_header_id, x_last_update_date);
4072: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
4073: p_count => lx_msg_count ,
4074: p_data => lx_msg_data);
4075: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4076: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
4077: IBE_Util.Debug('Unexpected error: IBE_Quote_Save_pvt.Request_for_sales_assistance');
4078: END IF;
4079:
4077: IBE_Util.Debug('Unexpected error: IBE_Quote_Save_pvt.Request_for_sales_assistance');
4078: END IF;
4079:
4080: ROLLBACK TO Req_for_sales_asst_pvt;
4081: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4082: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
4083: p_count => lx_msg_count ,
4084: p_data => lx_msg_data);
4085: WHEN OTHERS THEN
4078: END IF;
4079:
4080: ROLLBACK TO Req_for_sales_asst_pvt;
4081: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4082: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
4083: p_count => lx_msg_count ,
4084: p_data => lx_msg_data);
4085: WHEN OTHERS THEN
4086: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
4087: IBE_Util.Debug('Unknown error: IBE_Quote_Save_pvt.Request_for_sales_assistance');
4088: END IF;
4089:
4090: ROLLBACK TO Req_for_sales_asst_pvt;
4091: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4092: Set_Last_Update_Date(p_quote_header_id, x_last_update_date);
4093: IF FND_Msg_Pub.Check_Msg_Level( FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR ) THEN
4094: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
4095: L_API_NAME);
4094: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
4095: L_API_NAME);
4096: END IF;
4097:
4098: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
4099: p_count => lx_msg_count ,
4100: p_data => lx_msg_data);
4101:
4102: End request_for_sales_assistance;
4103:
4104: -- Overloaded SAVE to not handle any output record from OC.
4105: PROCEDURE Save(
4106: P_Api_Version_Number IN NUMBER
4107: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
4108: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
4109: ,p_auto_update_active_quote IN VARCHAR2 := FND_API.G_TRUE
4110: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
4111:
4104: -- Overloaded SAVE to not handle any output record from OC.
4105: PROCEDURE Save(
4106: P_Api_Version_Number IN NUMBER
4107: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
4108: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
4109: ,p_auto_update_active_quote IN VARCHAR2 := FND_API.G_TRUE
4110: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
4111:
4112: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
4105: PROCEDURE Save(
4106: P_Api_Version_Number IN NUMBER
4107: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
4108: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
4109: ,p_auto_update_active_quote IN VARCHAR2 := FND_API.G_TRUE
4110: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
4111:
4112: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
4113: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
4106: P_Api_Version_Number IN NUMBER
4107: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
4108: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
4109: ,p_auto_update_active_quote IN VARCHAR2 := FND_API.G_TRUE
4110: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
4111:
4112: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
4113: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
4114: ,p_sharee_cust_account_id IN Number := FND_API.G_MISS_NUM
4108: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
4109: ,p_auto_update_active_quote IN VARCHAR2 := FND_API.G_TRUE
4110: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
4111:
4112: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
4113: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
4114: ,p_sharee_cust_account_id IN Number := FND_API.G_MISS_NUM
4115: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
4116: ,p_changeowner IN VARCHAR2 := FND_API.G_FALSE
4109: ,p_auto_update_active_quote IN VARCHAR2 := FND_API.G_TRUE
4110: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
4111:
4112: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
4113: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
4114: ,p_sharee_cust_account_id IN Number := FND_API.G_MISS_NUM
4115: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
4116: ,p_changeowner IN VARCHAR2 := FND_API.G_FALSE
4117:
4110: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
4111:
4112: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
4113: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
4114: ,p_sharee_cust_account_id IN Number := FND_API.G_MISS_NUM
4115: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
4116: ,p_changeowner IN VARCHAR2 := FND_API.G_FALSE
4117:
4118: ,p_Control_Rec IN ASO_Quote_Pub.Control_Rec_Type
4111:
4112: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
4113: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
4114: ,p_sharee_cust_account_id IN Number := FND_API.G_MISS_NUM
4115: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
4116: ,p_changeowner IN VARCHAR2 := FND_API.G_FALSE
4117:
4118: ,p_Control_Rec IN ASO_Quote_Pub.Control_Rec_Type
4119: := ASO_Quote_Pub.G_Miss_Control_Rec
4112: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
4113: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
4114: ,p_sharee_cust_account_id IN Number := FND_API.G_MISS_NUM
4115: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
4116: ,p_changeowner IN VARCHAR2 := FND_API.G_FALSE
4117:
4118: ,p_Control_Rec IN ASO_Quote_Pub.Control_Rec_Type
4119: := ASO_Quote_Pub.G_Miss_Control_Rec
4120: ,p_Qte_Header_Rec IN ASO_Quote_Pub.Qte_Header_Rec_Type
4152: ,p_Ln_Freight_Charge_Tbl IN ASO_Quote_Pub.Freight_Charge_Tbl_Type
4153: := ASO_Quote_Pub.G_Miss_Freight_Charge_Tbl
4154: ,p_Ln_Tax_Detail_Tbl IN ASO_Quote_Pub.Tax_Detail_Tbl_Type
4155: := ASO_Quote_Pub.G_Miss_Tax_Detail_Tbl
4156: ,p_save_type IN NUMBER := FND_API.G_MISS_NUM
4157: ,x_quote_header_id OUT NOCOPY varchar2
4158: ,x_last_update_date OUT NOCOPY DATE
4159: ,X_Return_Status OUT NOCOPY VARCHAR2
4160: ,X_Msg_Count OUT NOCOPY NUMBER
4263:
4264:
4265: PROCEDURE Save(
4266: P_Api_Version_Number IN NUMBER
4267: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
4268: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
4269: ,p_auto_update_active_quote IN VARCHAR2 := FND_API.G_TRUE
4270: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
4271:
4264:
4265: PROCEDURE Save(
4266: P_Api_Version_Number IN NUMBER
4267: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
4268: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
4269: ,p_auto_update_active_quote IN VARCHAR2 := FND_API.G_TRUE
4270: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
4271:
4272: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
4265: PROCEDURE Save(
4266: P_Api_Version_Number IN NUMBER
4267: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
4268: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
4269: ,p_auto_update_active_quote IN VARCHAR2 := FND_API.G_TRUE
4270: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
4271:
4272: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
4273: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
4266: P_Api_Version_Number IN NUMBER
4267: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
4268: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
4269: ,p_auto_update_active_quote IN VARCHAR2 := FND_API.G_TRUE
4270: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
4271:
4272: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
4273: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
4274: ,p_sharee_cust_account_id IN Number := FND_API.G_MISS_NUM
4268: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
4269: ,p_auto_update_active_quote IN VARCHAR2 := FND_API.G_TRUE
4270: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
4271:
4272: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
4273: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
4274: ,p_sharee_cust_account_id IN Number := FND_API.G_MISS_NUM
4275: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
4276: ,p_changeowner IN VARCHAR2 := FND_API.G_FALSE
4269: ,p_auto_update_active_quote IN VARCHAR2 := FND_API.G_TRUE
4270: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
4271:
4272: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
4273: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
4274: ,p_sharee_cust_account_id IN Number := FND_API.G_MISS_NUM
4275: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
4276: ,p_changeowner IN VARCHAR2 := FND_API.G_FALSE
4277:
4270: ,p_combineSameItem IN VARCHAR2 := FND_API.G_MISS_CHAR
4271:
4272: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
4273: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
4274: ,p_sharee_cust_account_id IN Number := FND_API.G_MISS_NUM
4275: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
4276: ,p_changeowner IN VARCHAR2 := FND_API.G_FALSE
4277:
4278: ,p_Control_Rec IN ASO_Quote_Pub.Control_Rec_Type
4271:
4272: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
4273: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
4274: ,p_sharee_cust_account_id IN Number := FND_API.G_MISS_NUM
4275: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
4276: ,p_changeowner IN VARCHAR2 := FND_API.G_FALSE
4277:
4278: ,p_Control_Rec IN ASO_Quote_Pub.Control_Rec_Type
4279: := ASO_Quote_Pub.G_Miss_Control_Rec
4272: ,p_sharee_Number IN Number := FND_API.G_MISS_NUM
4273: ,p_sharee_party_id IN Number := FND_API.G_MISS_NUM
4274: ,p_sharee_cust_account_id IN Number := FND_API.G_MISS_NUM
4275: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
4276: ,p_changeowner IN VARCHAR2 := FND_API.G_FALSE
4277:
4278: ,p_Control_Rec IN ASO_Quote_Pub.Control_Rec_Type
4279: := ASO_Quote_Pub.G_Miss_Control_Rec
4280: ,p_Qte_Header_Rec IN ASO_Quote_Pub.Qte_Header_Rec_Type
4312: ,p_Ln_Freight_Charge_Tbl IN ASO_Quote_Pub.Freight_Charge_Tbl_Type
4313: := ASO_Quote_Pub.G_Miss_Freight_Charge_Tbl
4314: ,p_Ln_Tax_Detail_Tbl IN ASO_Quote_Pub.Tax_Detail_Tbl_Type
4315: := ASO_Quote_Pub.G_Miss_Tax_Detail_Tbl
4316: ,p_save_type IN NUMBER := FND_API.G_MISS_NUM
4317: ,x_quote_header_id OUT NOCOPY varchar2
4318: ,x_last_update_date OUT NOCOPY DATE
4319:
4320: ,x_Qte_Header_Rec IN OUT NOCOPY ASO_Quote_Pub.Qte_Header_Rec_Type
4372:
4373: l_temp_qte_line_tbl ASO_Quote_Pub.Qte_Line_Tbl_Type
4374: := ASO_Quote_Pub.g_miss_qte_line_tbl;
4375:
4376: l_match_found VARCHAR2(6) := FND_API.G_FALSE;
4377:
4378: l_combinesameitem VARCHAR2(2) := FND_API.G_MISS_CHAR;
4379:
4380: qte_id NUMBER; -- change line logic pricing Test
4374: := ASO_Quote_Pub.g_miss_qte_line_tbl;
4375:
4376: l_match_found VARCHAR2(6) := FND_API.G_FALSE;
4377:
4378: l_combinesameitem VARCHAR2(2) := FND_API.G_MISS_CHAR;
4379:
4380: qte_id NUMBER; -- change line logic pricing Test
4381: prc_sts_ind VARCHAR2(1);
4382: tax_sts_ind VARCHAR2(1);
4418:
4419: -- Standard Start of API savepoint
4420: SAVEPOINT SAVE_pvt;
4421: -- Standard call to check for call compatibility.
4422: IF NOT FND_API.Compatible_API_Call (l_api_version,
4423: P_Api_Version_Number,
4424: l_api_name,
4425: G_PKG_NAME )
4426: THEN
4423: P_Api_Version_Number,
4424: l_api_name,
4425: G_PKG_NAME )
4426: THEN
4427: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4428: END IF;
4429:
4430: -- Initialize message list if p_init_msg_list is set to TRUE.
4431: IF FND_API.To_Boolean( p_init_msg_list ) THEN
4427: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4428: END IF;
4429:
4430: -- Initialize message list if p_init_msg_list is set to TRUE.
4431: IF FND_API.To_Boolean( p_init_msg_list ) THEN
4432: FND_Msg_Pub.initialize;
4433: END IF;
4434:
4435: -- Initialize API return status to success
4432: FND_Msg_Pub.initialize;
4433: END IF;
4434:
4435: -- Initialize API return status to success
4436: x_return_status := FND_API.G_RET_STS_SUCCESS;
4437:
4438: -- API body
4439:
4440: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
4462: ,p_quote_header_id => p_Qte_Header_Rec.quote_header_id
4463: ,p_party_id => p_Qte_Header_Rec.party_id
4464: ,p_cust_account_id => p_Qte_Header_Rec.cust_account_id
4465: ,p_quote_retrieval_number => p_sharee_Number
4466: ,p_validate_user => FND_API.G_TRUE
4467: ,p_save_type => p_save_type
4468: ,p_last_update_date => p_Qte_Header_Rec.last_update_date
4469: ,x_return_status => x_return_status
4470: ,x_msg_count => x_msg_count
4469: ,x_return_status => x_return_status
4470: ,x_msg_count => x_msg_count
4471: ,x_msg_data => x_msg_data );
4472:
4473: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4474: -- so that we can get the quote last update date in the exception block
4475: l_qte_header_rec.quote_header_id := p_Qte_Header_Rec.quote_header_id;
4476: RAISE FND_API.G_EXC_ERROR;
4477: END IF;
4472:
4473: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4474: -- so that we can get the quote last update date in the exception block
4475: l_qte_header_rec.quote_header_id := p_Qte_Header_Rec.quote_header_id;
4476: RAISE FND_API.G_EXC_ERROR;
4477: END IF;
4478:
4479: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4480: -- so that we can get the quote last update date in the exception block
4475: l_qte_header_rec.quote_header_id := p_Qte_Header_Rec.quote_header_id;
4476: RAISE FND_API.G_EXC_ERROR;
4477: END IF;
4478:
4479: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4480: -- so that we can get the quote last update date in the exception block
4481: l_qte_header_rec.quote_header_id := p_Qte_Header_Rec.quote_header_id;
4482: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4483: END IF;
4478:
4479: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4480: -- so that we can get the quote last update date in the exception block
4481: l_qte_header_rec.quote_header_id := p_Qte_Header_Rec.quote_header_id;
4482: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4483: END IF;
4484: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
4485: IBE_UTIL.DEBUG('SAVE: Validate User End');
4486: END IF;
4494: l_is_quote_usable := IBE_QUOTE_MISC_PVT.is_quote_usable(p_qte_header_rec.quote_header_id,
4495: p_Qte_Header_Rec.party_id,
4496: p_Qte_Header_Rec.cust_account_id);
4497: --Raise an error f the above validation failed
4498: IF(l_is_quote_usable = FND_API.G_FALSE) THEN
4499: IF FND_Msg_Pub.Check_Msg_Level (FND_Msg_Pub.G_MSG_LVL_ERROR) THEN
4500: FND_Message.Set_Name('IBE', 'IBE_SC_CART_EXPIRED');
4501: FND_Msg_Pub.Add;
4502: END IF;
4499: IF FND_Msg_Pub.Check_Msg_Level (FND_Msg_Pub.G_MSG_LVL_ERROR) THEN
4500: FND_Message.Set_Name('IBE', 'IBE_SC_CART_EXPIRED');
4501: FND_Msg_Pub.Add;
4502: END IF;
4503: RAISE FND_API.G_EXC_ERROR;
4504: END IF;
4505: Default_Header_Record( p_qte_header_rec => p_qte_header_rec
4506: ,p_auto_update_active_quote => p_auto_update_active_quote
4507: ,x_qte_header_rec => l_qte_header_rec
4510: ,x_return_status => x_return_status
4511: ,x_msg_count => x_msg_count
4512: ,x_msg_data => x_msg_data );
4513: --DBMS_OUTPUT.PUT_line('after default_hdr_rec ');
4514: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4515: RAISE FND_API.G_EXC_ERROR;
4516: END IF;
4517:
4518: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4511: ,x_msg_count => x_msg_count
4512: ,x_msg_data => x_msg_data );
4513: --DBMS_OUTPUT.PUT_line('after default_hdr_rec ');
4514: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4515: RAISE FND_API.G_EXC_ERROR;
4516: END IF;
4517:
4518: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4519: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4514: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4515: RAISE FND_API.G_EXC_ERROR;
4516: END IF;
4517:
4518: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4519: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4520: END IF;
4521:
4522: -- set default value for line
4515: RAISE FND_API.G_EXC_ERROR;
4516: END IF;
4517:
4518: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4519: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4520: END IF;
4521:
4522: -- set default value for line
4523: --DBMS_OUTPUT.PUT_line('before setlinedefaultval ');
4521:
4522: -- set default value for line
4523: --DBMS_OUTPUT.PUT_line('before setlinedefaultval ');
4524:
4525: IF (p_combinesameitem = FND_API.G_MISS_CHAR) THEN
4526: l_combinesameitem := FND_Profile.Value('IBE_SC_MERGE_SHOPCART_LINES');
4527: Else
4528: l_combinesameitem := p_combinesameitem;
4529: END IF;
4536: */
4537: /*
4538: IF( l_combinesameitem = 'Y') THEN
4539: FOR i in 1..p_qte_line_tbl.count LOOP
4540: l_match_found := FND_API.G_FALSE;
4541: FOR j in 1..l_temp_qte_line_tbl.count LOOP
4542: IF((p_qte_line_tbl(i).inventory_item_id = l_temp_qte_line_tbl(j).inventory_item_id)
4543: and (p_qte_line_tbl(i).quantity <> FND_API.G_MISS_NUM)) THEN
4544: l_temp_qte_line_tbl(j).quantity := l_temp_qte_line_tbl(j).quantity + p_qte_line_tbl(i).quantity;
4539: FOR i in 1..p_qte_line_tbl.count LOOP
4540: l_match_found := FND_API.G_FALSE;
4541: FOR j in 1..l_temp_qte_line_tbl.count LOOP
4542: IF((p_qte_line_tbl(i).inventory_item_id = l_temp_qte_line_tbl(j).inventory_item_id)
4543: and (p_qte_line_tbl(i).quantity <> FND_API.G_MISS_NUM)) THEN
4544: l_temp_qte_line_tbl(j).quantity := l_temp_qte_line_tbl(j).quantity + p_qte_line_tbl(i).quantity;
4545: l_match_found := FND_API.G_TRUE;
4546: EXIT;
4547: END IF;
4541: FOR j in 1..l_temp_qte_line_tbl.count LOOP
4542: IF((p_qte_line_tbl(i).inventory_item_id = l_temp_qte_line_tbl(j).inventory_item_id)
4543: and (p_qte_line_tbl(i).quantity <> FND_API.G_MISS_NUM)) THEN
4544: l_temp_qte_line_tbl(j).quantity := l_temp_qte_line_tbl(j).quantity + p_qte_line_tbl(i).quantity;
4545: l_match_found := FND_API.G_TRUE;
4546: EXIT;
4547: END IF;
4548: END LOOP;
4549: IF( NOT FND_API.To_Boolean(l_match_found) ) THEN
4545: l_match_found := FND_API.G_TRUE;
4546: EXIT;
4547: END IF;
4548: END LOOP;
4549: IF( NOT FND_API.To_Boolean(l_match_found) ) THEN
4550: l_temp_qte_line_tbl(l_temp_qte_line_tbl.count + 1) := p_qte_line_tbl(i);
4551: END IF;
4552: END LOOP;
4553: ELSE
4568: /*This code validates the recipient's access level against the minimum required access level for a create/update
4569: operation which is "F"*/
4570:
4571: IF ( ( p_sharee_Number is not null)
4572: and ( p_sharee_Number <> FND_API.G_MISS_NUM)) THEN
4573:
4574: l_privilege_type_code := IBE_Quote_Misc_pvt.GetShareeprivilege(l_qte_header_rec.quote_header_id
4575: ,p_sharee_Number);
4576: IF ((l_privilege_type_code <> 'A')
4578: IF FND_Msg_Pub.Check_Msg_Level (FND_Msg_Pub.G_MSG_LVL_ERROR) THEN
4579: FND_Message.Set_Name('IBE', 'IBE_SC_ERR_PRIVILEGE');
4580: FND_Msg_Pub.Add;
4581: END IF;
4582: RAISE FND_API.G_EXC_ERROR; -- need error message
4583: END IF;
4584:
4585: IF ( l_privilege_type_code <> 'A'
4586: and FND_API.To_Boolean(p_changeowner) )THEN
4582: RAISE FND_API.G_EXC_ERROR; -- need error message
4583: END IF;
4584:
4585: IF ( l_privilege_type_code <> 'A'
4586: and FND_API.To_Boolean(p_changeowner) )THEN
4587: IF FND_Msg_Pub.Check_Msg_Level (FND_Msg_Pub.G_MSG_LVL_ERROR) THEN
4588: FND_Message.Set_Name('IBE', 'IBE_SC_ERR_PRIVILEGE');
4589: FND_Msg_Pub.Add;
4590: END IF;
4587: IF FND_Msg_Pub.Check_Msg_Level (FND_Msg_Pub.G_MSG_LVL_ERROR) THEN
4588: FND_Message.Set_Name('IBE', 'IBE_SC_ERR_PRIVILEGE');
4589: FND_Msg_Pub.Add;
4590: END IF;
4591: RAISE FND_API.G_EXC_ERROR; -- need error message
4592: END IF;
4593: END IF; -- p_sharee_number is not null
4594:
4595: IF(l_qte_header_rec.quote_expiration_date = fnd_api.g_miss_date) then
4591: RAISE FND_API.G_EXC_ERROR; -- need error message
4592: END IF;
4593: END IF; -- p_sharee_number is not null
4594:
4595: IF(l_qte_header_rec.quote_expiration_date = fnd_api.g_miss_date) then
4596: get_quote_expiration_date(
4597: p_api_version => 1.0 ,
4598: p_init_msg_list => FND_API.G_TRUE ,
4599: p_commit => FND_API.G_FALSE ,
4594:
4595: IF(l_qte_header_rec.quote_expiration_date = fnd_api.g_miss_date) then
4596: get_quote_expiration_date(
4597: p_api_version => 1.0 ,
4598: p_init_msg_list => FND_API.G_TRUE ,
4599: p_commit => FND_API.G_FALSE ,
4600: x_return_status => x_return_status ,
4601: x_msg_count => x_msg_count ,
4602: x_msg_data => x_msg_data ,
4595: IF(l_qte_header_rec.quote_expiration_date = fnd_api.g_miss_date) then
4596: get_quote_expiration_date(
4597: p_api_version => 1.0 ,
4598: p_init_msg_list => FND_API.G_TRUE ,
4599: p_commit => FND_API.G_FALSE ,
4600: x_return_status => x_return_status ,
4601: x_msg_count => x_msg_count ,
4602: x_msg_data => x_msg_data ,
4603: p_quote_header_rec => l_qte_header_rec ,
4603: p_quote_header_rec => l_qte_header_rec ,
4604: x_expiration_date => lx_quote_expiration_date);
4605: l_qte_header_rec.quote_expiration_date := lx_quote_expiration_date;
4606:
4607: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
4608: RAISE FND_API.G_EXC_ERROR;
4609: END IF;
4610: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4611: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4604: x_expiration_date => lx_quote_expiration_date);
4605: l_qte_header_rec.quote_expiration_date := lx_quote_expiration_date;
4606:
4607: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
4608: RAISE FND_API.G_EXC_ERROR;
4609: END IF;
4610: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4611: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4612: END IF;
4606:
4607: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
4608: RAISE FND_API.G_EXC_ERROR;
4609: END IF;
4610: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4611: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4612: END IF;
4613: END IF;
4614:
4607: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
4608: RAISE FND_API.G_EXC_ERROR;
4609: END IF;
4610: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4611: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4612: END IF;
4613: END IF;
4614:
4615: --DBMS_OUTPUT.PUT_line('after get_quote_exp_date ');
4624:
4625: log_Control_Rec_Values(p_control_rec); -- change line logic pricing Test
4626:
4627: IF l_qte_header_rec.quote_header_id IS NOT NULL
4628: OR l_qte_header_rec.quote_header_id <> FND_API.G_MISS_NUM THEN
4629: OPEN c_pricing_indicators(l_qte_header_rec.quote_header_id); -- change line logic pricing Test
4630: FETCH c_pricing_indicators INTO qte_id, prc_sts_ind, tax_sts_ind;
4631: CLOSE c_pricing_indicators;
4632:
4643: /* "Create quote" is invoked if there is no incoming quote_header_id and no quote header id found
4644: in the database for the operating user, otherwise "Update quote" is invoked*/
4645:
4646: IF l_qte_header_rec.quote_header_id IS NULL
4647: OR l_qte_header_rec.quote_header_id = FND_API.G_MISS_NUM THEN
4648:
4649: --Fix for bug 2512597
4650: -- Force the quote_status_id to be 'STORE DRAFT' if there is no input value
4651: IF l_qte_header_rec.quote_status_id is null OR
4648:
4649: --Fix for bug 2512597
4650: -- Force the quote_status_id to be 'STORE DRAFT' if there is no input value
4651: IF l_qte_header_rec.quote_status_id is null OR
4652: l_qte_header_rec.quote_status_id = fnd_api.g_miss_num then
4653: for rec_quote_sts_id in c_quote_sts_id('STORE DRAFT') loop
4654: l_qte_header_rec.quote_status_id := rec_quote_sts_id.quote_status_id;
4655: exit when c_quote_sts_id%notfound;
4656: end loop;
4693: END IF;
4694:
4695: ASO_Quote_Pub.Create_Quote(
4696: P_Api_Version_Number => P_Api_Version_Number ,
4697: P_Init_Msg_List => FND_API.G_FALSE ,
4698: P_Commit => FND_API.G_FALSE ,
4699: P_Control_Rec => p_control_rec ,
4700: P_qte_header_rec => l_Qte_Header_Rec ,
4701: P_Qte_Line_Tbl => l_Qte_Line_Tbl ,
4694:
4695: ASO_Quote_Pub.Create_Quote(
4696: P_Api_Version_Number => P_Api_Version_Number ,
4697: P_Init_Msg_List => FND_API.G_FALSE ,
4698: P_Commit => FND_API.G_FALSE ,
4699: P_Control_Rec => p_control_rec ,
4700: P_qte_header_rec => l_Qte_Header_Rec ,
4701: P_Qte_Line_Tbl => l_Qte_Line_Tbl ,
4702: p_Line_rltship_tbl => p_Line_rltship_tbl ,
4735: X_Return_Status => x_return_status ,
4736: X_Msg_Count => x_msg_count ,
4737: X_Msg_Data => x_msg_data );
4738:
4739: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4740: RAISE FND_API.G_EXC_ERROR;
4741: END IF;
4742:
4743: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4736: X_Msg_Count => x_msg_count ,
4737: X_Msg_Data => x_msg_data );
4738:
4739: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4740: RAISE FND_API.G_EXC_ERROR;
4741: END IF;
4742:
4743: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4744: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4739: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4740: RAISE FND_API.G_EXC_ERROR;
4741: END IF;
4742:
4743: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4744: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4745: END IF;
4746:
4747: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
4740: RAISE FND_API.G_EXC_ERROR;
4741: END IF;
4742:
4743: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4744: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4745: END IF;
4746:
4747: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
4748: IBE_Util.Debug('ASO_Quote_Pub.Create_Quote() finishes');
4764: BEGIN
4765: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
4766: IBE_Util.Debug('In Update Header MinisiteId Dynamic SQL');
4767: END IF;
4768: IF (p_minisite_id <> FND_API.G_MISS_NUM) THEN
4769: l_upd_stmnt := 'Update ASO_QUOTE_HEADERS_ALL set minisite_id = :1
4770: where quote_header_id = :2';
4771: EXECUTE IMMEDIATE l_upd_stmnt using p_minisite_id,x_Qte_header_rec.quote_header_id;
4772: IF SQL%ROWCOUNT <> 1 THEN
4769: l_upd_stmnt := 'Update ASO_QUOTE_HEADERS_ALL set minisite_id = :1
4770: where quote_header_id = :2';
4771: EXECUTE IMMEDIATE l_upd_stmnt using p_minisite_id,x_Qte_header_rec.quote_header_id;
4772: IF SQL%ROWCOUNT <> 1 THEN
4773: RAISE FND_API.G_EXC_ERROR;
4774: END IF;
4775: END IF;
4776: EXCEPTION
4777: When OTHERS THEN
4778: IF FND_Msg_Pub.Check_Msg_Level (FND_Msg_Pub.G_MSG_LVL_ERROR) THEN
4779: FND_MESSAGE.set_name('IBE', 'IBE_UPDATE_MSITE_HDR_ERR');
4780: FND_MSG_PUB.add;
4781: END IF;
4782: RAISE FND_API.G_EXC_ERROR;
4783: END;
4784:
4785: --- make sure there is not multiple active cart exist before commit
4786: /*IF ((p_qte_header_rec.quote_source_code = 'IStore Account')
4784:
4785: --- make sure there is not multiple active cart exist before commit
4786: /*IF ((p_qte_header_rec.quote_source_code = 'IStore Account')
4787: AND ( p_qte_header_rec.quote_name = 'IBEACTIVECART'
4788: OR p_qte_header_rec.quote_name = FND_API.G_MISS_CHAR )) then
4789: IF x_qte_header_rec.quote_header_id <>
4790: IBE_Quote_Misc_pvt.Get_Active_Quote_ID
4791: (p_party_id => x_qte_header_rec.party_id
4792: ,p_cust_account_id => x_qte_header_rec.cust_account_id
4794: IF FND_Msg_Pub.Check_Msg_Level (FND_Msg_Pub.G_MSG_LVL_ERROR) THEN
4795: FND_Message.Set_Name('IBE', 'IBE_SC_QUOTE_NEED_REFRESH');
4796: FND_Msg_Pub.Add;
4797: END IF;
4798: RAISE FND_API.G_EXC_ERROR; -- need error message
4799: END IF;
4800: END IF;*/
4801:
4802: --MANNAMRA:Changes for save/share project(09/16/02)
4814: P_Quote_header_rec => x_Qte_header_rec,
4815: P_Party_id => l_Qte_header_rec.party_id ,
4816: P_Cust_account_id => l_Qte_header_rec.cust_account_id,
4817: p_api_version => 1,
4818: p_init_msg_list => FND_API.G_TRUE,
4819: p_commit => FND_API.G_FALSE,
4820: x_return_status => x_return_status,
4821: x_msg_count => x_msg_count,
4822: x_msg_data => x_msg_data);
4815: P_Party_id => l_Qte_header_rec.party_id ,
4816: P_Cust_account_id => l_Qte_header_rec.cust_account_id,
4817: p_api_version => 1,
4818: p_init_msg_list => FND_API.G_TRUE,
4819: p_commit => FND_API.G_FALSE,
4820: x_return_status => x_return_status,
4821: x_msg_count => x_msg_count,
4822: x_msg_data => x_msg_data);
4823:
4820: x_return_status => x_return_status,
4821: x_msg_count => x_msg_count,
4822: x_msg_data => x_msg_data);
4823:
4824: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
4825: RAISE FND_API.G_EXC_ERROR;
4826: END IF;
4827:
4828: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4821: x_msg_count => x_msg_count,
4822: x_msg_data => x_msg_data);
4823:
4824: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
4825: RAISE FND_API.G_EXC_ERROR;
4826: END IF;
4827:
4828: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4829: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4824: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
4825: RAISE FND_API.G_EXC_ERROR;
4826: END IF;
4827:
4828: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4829: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4830: END IF;
4831: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
4832: IBE_UTIL.DEBUG('Finished calling ACTIVATE_QUOTE ');
4825: RAISE FND_API.G_EXC_ERROR;
4826: END IF;
4827:
4828: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4829: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4830: END IF;
4831: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
4832: IBE_UTIL.DEBUG('Finished calling ACTIVATE_QUOTE ');
4833: END IF;
4836: else
4837: -- update cart
4838: --Convert Quote Status code to Status id
4839: IF (l_qte_header_rec.quote_status_id is null OR
4840: l_qte_header_rec.quote_status_id = fnd_api.g_miss_num) and
4841: (l_qte_header_rec.quote_status_code is not null OR
4842: l_qte_header_rec.quote_status_id <> fnd_api.g_miss_num) then
4843: for rec_quote_sts_id in c_quote_sts_id(l_qte_header_rec.quote_status_code) loop
4844: l_qte_header_rec.quote_status_id := rec_quote_sts_id.quote_status_id;
4838: --Convert Quote Status code to Status id
4839: IF (l_qte_header_rec.quote_status_id is null OR
4840: l_qte_header_rec.quote_status_id = fnd_api.g_miss_num) and
4841: (l_qte_header_rec.quote_status_code is not null OR
4842: l_qte_header_rec.quote_status_id <> fnd_api.g_miss_num) then
4843: for rec_quote_sts_id in c_quote_sts_id(l_qte_header_rec.quote_status_code) loop
4844: l_qte_header_rec.quote_status_id := rec_quote_sts_id.quote_status_id;
4845: exit when c_quote_sts_id%notfound;
4846: end loop;
4862: IF FND_Msg_Pub.Check_Msg_Level (FND_Msg_Pub.G_MSG_LVL_ERROR) THEN
4863: FND_Message.Set_Name('IBE', 'IBE_QUOTE_HDR_PMT_RCRD_EXISTS');
4864: FND_Msg_Pub.Add;
4865: END IF;
4866: RAISE FND_API.G_EXC_ERROR;
4867: */
4868: END IF;
4869: END IF;
4870: END LOOP;
4873: IF FND_Msg_Pub.Check_Msg_Level (FND_Msg_Pub.G_MSG_LVL_ERROR) THEN
4874: FND_Message.Set_Name('IBE', 'IBE_QUOTE_HDR_PMT_RCRD_EXISTS');
4875: FND_Msg_Pub.Add;
4876: END IF;
4877: RAISE FND_API.G_EXC_ERROR;
4878: END IF;
4879: */
4880: /* Added by Sri 09/06 since the header last update date should be the value in the db */
4881: l_qte_header_rec.last_update_date :=
4950: Ibe_util.debug('l_ln_payment_tbl.operation_code: '||l_ln_payment_tbl(counter).operation_code);
4951: END IF;
4952: END LOOP;
4953: /*if (p_sharee_Number is not null
4954: and p_sharee_Number <> FND_API.G_MISS_NUM
4955: and (l_pricebasedonowner = 'N')) then
4956: -- get price based on owner profile
4957: UpdateQuoteForSharee(
4958: p_api_version_number => p_api_version_number
4955: and (l_pricebasedonowner = 'N')) then
4956: -- get price based on owner profile
4957: UpdateQuoteForSharee(
4958: p_api_version_number => p_api_version_number
4959: ,p_init_msg_list => FND_API.G_FALSE
4960: ,p_commit => FND_API.G_FALSE
4961: ,p_sharee_party_id => p_sharee_party_id
4962: ,p_sharee_cust_account_id => p_sharee_cust_account_id
4963: ,p_control_rec => p_control_rec
4956: -- get price based on owner profile
4957: UpdateQuoteForSharee(
4958: p_api_version_number => p_api_version_number
4959: ,p_init_msg_list => FND_API.G_FALSE
4960: ,p_commit => FND_API.G_FALSE
4961: ,p_sharee_party_id => p_sharee_party_id
4962: ,p_sharee_cust_account_id => p_sharee_cust_account_id
4963: ,p_control_rec => p_control_rec
4964: ,p_qte_header_rec => l_qte_header_rec
4984: ,X_Return_Status => X_Return_Status
4985: ,X_Msg_Count => X_Msg_Count
4986: ,X_Msg_Data => X_Msg_Data);
4987:
4988: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4989: RAISE FND_API.G_EXC_ERROR;
4990: END IF;
4991:
4992: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4985: ,X_Msg_Count => X_Msg_Count
4986: ,X_Msg_Data => X_Msg_Data);
4987:
4988: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4989: RAISE FND_API.G_EXC_ERROR;
4990: END IF;
4991:
4992: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4993: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4988: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4989: RAISE FND_API.G_EXC_ERROR;
4990: END IF;
4991:
4992: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4993: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4994: END IF;
4995: else -- no sharee*/
4996:
4989: RAISE FND_API.G_EXC_ERROR;
4990: END IF;
4991:
4992: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4993: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4994: END IF;
4995: else -- no sharee*/
4996:
4997: FOR counter in 1..p_Price_Adjustment_Tbl.count LOOP
5033: ASO_PRICING_INT.G_HEADER_REC := NULL;
5034:
5035: ASO_Quote_Pub.Update_quote(
5036: P_Api_Version_Number => P_Api_Version_Number
5037: ,P_Init_Msg_List => FND_API.G_FALSE
5038: ,P_Commit => FND_API.G_FALSE
5039: ,P_Control_Rec => p_control_rec
5040: ,P_qte_header_rec => l_Qte_Header_Rec
5041: ,P_Qte_Line_Tbl => l_Qte_Line_Tbl
5034:
5035: ASO_Quote_Pub.Update_quote(
5036: P_Api_Version_Number => P_Api_Version_Number
5037: ,P_Init_Msg_List => FND_API.G_FALSE
5038: ,P_Commit => FND_API.G_FALSE
5039: ,P_Control_Rec => p_control_rec
5040: ,P_qte_header_rec => l_Qte_Header_Rec
5041: ,P_Qte_Line_Tbl => l_Qte_Line_Tbl
5042: ,p_Line_rltship_tbl => p_Line_rltship_tbl
5077: ,X_Msg_Count => x_msg_count
5078: ,X_Msg_Data => x_msg_data);
5079:
5080: --DBMS_OUTPUT.PUT_line('FINISH IBE_Quote_Save_pvt.SAVE.UPDATE_QUOTE ');
5081: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5082: RAISE FND_API.G_EXC_ERROR;
5083: END IF;
5084:
5085: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5078: ,X_Msg_Data => x_msg_data);
5079:
5080: --DBMS_OUTPUT.PUT_line('FINISH IBE_Quote_Save_pvt.SAVE.UPDATE_QUOTE ');
5081: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5082: RAISE FND_API.G_EXC_ERROR;
5083: END IF;
5084:
5085: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5086: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5081: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5082: RAISE FND_API.G_EXC_ERROR;
5083: END IF;
5084:
5085: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5086: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5087: END IF;
5088: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5089: IBE_Util.Debug('ASO_Quote_Pub.Update_Quote() finishes : '|| x_return_status);
5082: RAISE FND_API.G_EXC_ERROR;
5083: END IF;
5084:
5085: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5086: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5087: END IF;
5088: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5089: IBE_Util.Debug('ASO_Quote_Pub.Update_Quote() finishes : '|| x_return_status);
5090: END IF;
5112: x_last_update_date := x_qte_header_rec.last_update_date;
5113:
5114: -- End of API body.
5115: -- Standard check of p_commit.
5116: IF FND_API.To_Boolean( p_commit ) THEN
5117: COMMIT WORK;
5118: END IF;
5119:
5120: -- Standard call to get message count and if count is 1, get message info.
5117: COMMIT WORK;
5118: END IF;
5119:
5120: -- Standard call to get message count and if count is 1, get message info.
5121: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
5122: p_count => x_msg_count ,
5123: p_data => x_msg_data);
5124: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5125: IBE_Util.Debug('Normal End IBE_Quote_Save_pvt.Save()');
5125: IBE_Util.Debug('Normal End IBE_Quote_Save_pvt.Save()');
5126: END IF;
5127: -- IBE_Util.Disable_Debug;
5128: EXCEPTION
5129: WHEN FND_API.G_EXC_ERROR THEN
5130: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5131: IBE_Util.Debug('Expected error IBE_Quote_Save_pvt.Save()');
5132: END IF;
5133: ROLLBACK TO SAVE_pvt;
5130: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5131: IBE_Util.Debug('Expected error IBE_Quote_Save_pvt.Save()');
5132: END IF;
5133: ROLLBACK TO SAVE_pvt;
5134: x_return_status := FND_API.G_RET_STS_ERROR;
5135: Set_Last_Update_Date(l_qte_header_rec.quote_header_id, x_last_update_date);
5136: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
5137: p_count => x_msg_count ,
5138: p_data => x_msg_data);
5132: END IF;
5133: ROLLBACK TO SAVE_pvt;
5134: x_return_status := FND_API.G_RET_STS_ERROR;
5135: Set_Last_Update_Date(l_qte_header_rec.quote_header_id, x_last_update_date);
5136: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
5137: p_count => x_msg_count ,
5138: p_data => x_msg_data);
5139: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5140: IBE_Util.Debug('Unexpected error IBE_Quote_Save_pvt.Save()');
5138: p_data => x_msg_data);
5139: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5140: IBE_Util.Debug('Unexpected error IBE_Quote_Save_pvt.Save()');
5141: END IF;
5142: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5143: ROLLBACK TO SAVE_pvt;
5144: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5145: Set_Last_Update_Date(l_qte_header_rec.quote_header_id, x_last_update_date);
5146: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
5140: IBE_Util.Debug('Unexpected error IBE_Quote_Save_pvt.Save()');
5141: END IF;
5142: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5143: ROLLBACK TO SAVE_pvt;
5144: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5145: Set_Last_Update_Date(l_qte_header_rec.quote_header_id, x_last_update_date);
5146: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
5147: p_count => x_msg_count ,
5148: p_data => x_msg_data);
5142: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5143: ROLLBACK TO SAVE_pvt;
5144: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5145: Set_Last_Update_Date(l_qte_header_rec.quote_header_id, x_last_update_date);
5146: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
5147: p_count => x_msg_count ,
5148: p_data => x_msg_data);
5149: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5150: IBE_Util.Debug('Unknown exception End IBE_Quote_Save_pvt.Save()');
5150: IBE_Util.Debug('Unknown exception End IBE_Quote_Save_pvt.Save()');
5151: END IF;
5152: WHEN OTHERS THEN
5153: ROLLBACK TO SAVE_pvt;
5154: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5155: Set_Last_Update_Date(l_qte_header_rec.quote_header_id, x_last_update_date);
5156: IF FND_Msg_Pub.Check_Msg_Level(FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
5157: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
5158: l_api_name);
5156: IF FND_Msg_Pub.Check_Msg_Level(FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
5157: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
5158: l_api_name);
5159: END IF;
5160: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
5161: p_count => x_msg_count ,
5162: p_data => x_msg_data);
5163: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5164: IBE_Util.Debug('End IBE_Quote_Save_pvt.Save()');
5168:
5169:
5170: PROCEDURE UpdateQuoteForSharee(
5171: p_api_version_number IN NUMBER
5172: ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
5173: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
5174:
5175: ,p_sharee_Party_Id IN NUMBER
5176: ,p_sharee_Cust_account_Id IN NUMBER
5169:
5170: PROCEDURE UpdateQuoteForSharee(
5171: p_api_version_number IN NUMBER
5172: ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
5173: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
5174:
5175: ,p_sharee_Party_Id IN NUMBER
5176: ,p_sharee_Cust_account_Id IN NUMBER
5177: ,p_changeowner IN VARCHAR2 := FND_API.G_FALSE
5173: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
5174:
5175: ,p_sharee_Party_Id IN NUMBER
5176: ,p_sharee_Cust_account_Id IN NUMBER
5177: ,p_changeowner IN VARCHAR2 := FND_API.G_FALSE
5178:
5179: ,P_Control_Rec IN ASO_Quote_Pub.Control_Rec_Type
5180: ,P_Qte_Header_Rec IN ASO_Quote_Pub.Qte_Header_Rec_Type
5181: := ASO_Quote_Pub.G_MISS_Qte_Header_Rec
5262:
5263: -- Standard Start of API savepoint
5264: SAVEPOINT UpdateQuoteForSharee_pvt;
5265: -- Standard call to check for call compatibility.
5266: IF NOT FND_API.Compatible_API_Call (l_api_version,
5267: P_Api_Version_Number,
5268: l_api_name,
5269: G_PKG_NAME )
5270: THEN
5267: P_Api_Version_Number,
5268: l_api_name,
5269: G_PKG_NAME )
5270: THEN
5271: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5272: END IF;
5273:
5274: -- Initialize message list if p_init_msg_list is set to TRUE.
5275:
5272: END IF;
5273:
5274: -- Initialize message list if p_init_msg_list is set to TRUE.
5275:
5276: IF FND_API.To_Boolean( p_init_msg_list ) THEN
5277: FND_Msg_Pub.initialize;
5278: END IF;
5279: -- Initialize API return status to success
5280: x_return_status := FND_API.G_RET_STS_SUCCESS;
5276: IF FND_API.To_Boolean( p_init_msg_list ) THEN
5277: FND_Msg_Pub.initialize;
5278: END IF;
5279: -- Initialize API return status to success
5280: x_return_status := FND_API.G_RET_STS_SUCCESS;
5281:
5282: -- API body
5283:
5284: IBE_Quote_Misc_pvt.getQuoteOwner(
5289: ,X_Return_Status => x_return_status
5290: ,X_Msg_Count => x_msg_count
5291: ,X_Msg_Data => x_msg_data);
5292:
5293: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5294: RAISE FND_API.G_EXC_ERROR;
5295: END IF;
5296:
5297: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5290: ,X_Msg_Count => x_msg_count
5291: ,X_Msg_Data => x_msg_data);
5292:
5293: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5294: RAISE FND_API.G_EXC_ERROR;
5295: END IF;
5296:
5297: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5298: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5293: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5294: RAISE FND_API.G_EXC_ERROR;
5295: END IF;
5296:
5297: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5298: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5299: END IF;
5300:
5301: l_qte_header_rec := p_qte_header_rec;
5294: RAISE FND_API.G_EXC_ERROR;
5295: END IF;
5296:
5297: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5298: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5299: END IF;
5300:
5301: l_qte_header_rec := p_qte_header_rec;
5302: l_qte_header_rec.party_id := p_sharee_Party_id;
5307: END IF;
5308:
5309: ASO_Quote_Pub.Update_Quote(
5310: P_Api_Version_Number => P_Api_Version_Number
5311: ,P_Init_Msg_List => FND_API.G_FALSE
5312: ,P_Commit => FND_API.G_FALSE
5313: ,P_Control_Rec => p_control_rec
5314: ,P_qte_header_rec => l_Qte_Header_Rec
5315: ,P_Qte_Line_Tbl => p_Qte_Line_Tbl
5308:
5309: ASO_Quote_Pub.Update_Quote(
5310: P_Api_Version_Number => P_Api_Version_Number
5311: ,P_Init_Msg_List => FND_API.G_FALSE
5312: ,P_Commit => FND_API.G_FALSE
5313: ,P_Control_Rec => p_control_rec
5314: ,P_qte_header_rec => l_Qte_Header_Rec
5315: ,P_Qte_Line_Tbl => p_Qte_Line_Tbl
5316: ,p_Line_rltship_tbl => p_Line_rltship_tbl
5355: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5356: IBE_Util.Debug('ASO_Quote_Pub.Update_Quote() finishes');
5357: END IF;
5358:
5359: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5360: RAISE FND_API.G_EXC_ERROR;
5361: END IF;
5362:
5363: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5356: IBE_Util.Debug('ASO_Quote_Pub.Update_Quote() finishes');
5357: END IF;
5358:
5359: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5360: RAISE FND_API.G_EXC_ERROR;
5361: END IF;
5362:
5363: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5364: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5359: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5360: RAISE FND_API.G_EXC_ERROR;
5361: END IF;
5362:
5363: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5364: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5365: END IF;
5366:
5367: -- #2: set control_rec to NOT recalculate the price
5360: RAISE FND_API.G_EXC_ERROR;
5361: END IF;
5362:
5363: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5364: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5365: END IF;
5366:
5367: -- #2: set control_rec to NOT recalculate the price
5368: -- and set the owner back
5366:
5367: -- #2: set control_rec to NOT recalculate the price
5368: -- and set the owner back
5369:
5370: if ( not fnd_api.To_Boolean(p_changeowner)) then
5371: l_qte_header_rec := p_qte_header_rec;
5372: l_qte_header_rec.last_update_date :=x_qte_header_rec.last_update_date;
5373:
5374: l_qte_header_rec.party_id := l_Quote_Party_id;
5381: END IF;
5382:
5383: ASO_Quote_Pub.Update_quote(
5384: P_Api_Version_Number => P_Api_Version_Number
5385: ,P_Init_Msg_List => FND_API.G_FALSE
5386: ,P_Commit => FND_API.G_FALSE
5387: ,P_qte_header_rec => l_Qte_Header_Rec
5388: ,x_qte_header_rec => x_Qte_Header_Rec
5389: ,X_Qte_Line_Tbl => x_Qte_Line_Tbl
5382:
5383: ASO_Quote_Pub.Update_quote(
5384: P_Api_Version_Number => P_Api_Version_Number
5385: ,P_Init_Msg_List => FND_API.G_FALSE
5386: ,P_Commit => FND_API.G_FALSE
5387: ,P_qte_header_rec => l_Qte_Header_Rec
5388: ,x_qte_header_rec => x_Qte_Header_Rec
5389: ,X_Qte_Line_Tbl => x_Qte_Line_Tbl
5390: ,X_Qte_Line_Dtl_Tbl => lx_Qte_Line_Dtl_Tbl
5409:
5410: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5411: IBE_Util.Debug('ASO_Quote_Pub.Update_Quote() finishes');
5412: END IF;
5413: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5414: RAISE FND_API.G_EXC_ERROR;
5415: END IF;
5416:
5417: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5410: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5411: IBE_Util.Debug('ASO_Quote_Pub.Update_Quote() finishes');
5412: END IF;
5413: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5414: RAISE FND_API.G_EXC_ERROR;
5415: END IF;
5416:
5417: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5418: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5413: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5414: RAISE FND_API.G_EXC_ERROR;
5415: END IF;
5416:
5417: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5418: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5419: END IF;
5420: END IF;
5421:
5414: RAISE FND_API.G_EXC_ERROR;
5415: END IF;
5416:
5417: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5418: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5419: END IF;
5420: END IF;
5421:
5422: -- End of API body.
5420: END IF;
5421:
5422: -- End of API body.
5423: -- Standard check of p_commit.
5424: IF FND_API.To_Boolean( p_commit ) THEN
5425: COMMIT WORK;
5426: END IF;
5427:
5428: -- Standard call to get message count and if count is 1, get message info.
5425: COMMIT WORK;
5426: END IF;
5427:
5428: -- Standard call to get message count and if count is 1, get message info.
5429: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
5430: p_count => x_msg_count ,
5431: p_data => x_msg_data);
5432: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5433: IBE_Util.Debug('End IBE_Quote_Save_pvt.UpdateQuoteForSharee()');
5433: IBE_Util.Debug('End IBE_Quote_Save_pvt.UpdateQuoteForSharee()');
5434: END IF;
5435: -- IBE_Util.Disable_Debug;
5436: EXCEPTION
5437: WHEN FND_API.G_EXC_ERROR THEN
5438: ROLLBACK TO UpdateQuoteForSharee_pvt;
5439: x_return_status := FND_API.G_RET_STS_ERROR;
5440: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
5441: p_count => x_msg_count ,
5435: -- IBE_Util.Disable_Debug;
5436: EXCEPTION
5437: WHEN FND_API.G_EXC_ERROR THEN
5438: ROLLBACK TO UpdateQuoteForSharee_pvt;
5439: x_return_status := FND_API.G_RET_STS_ERROR;
5440: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
5441: p_count => x_msg_count ,
5442: p_data => x_msg_data);
5443: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5436: EXCEPTION
5437: WHEN FND_API.G_EXC_ERROR THEN
5438: ROLLBACK TO UpdateQuoteForSharee_pvt;
5439: x_return_status := FND_API.G_RET_STS_ERROR;
5440: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
5441: p_count => x_msg_count ,
5442: p_data => x_msg_data);
5443: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5444: IBE_Util.Debug('End IBE_Quote_Save_pvt.UpdateQuoteForSharee()');
5443: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5444: IBE_Util.Debug('End IBE_Quote_Save_pvt.UpdateQuoteForSharee()');
5445: END IF;
5446: -- IBE_Util.Disable_Debug;
5447: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5448: ROLLBACK TO UpdateQuoteForSharee_pvt;
5449: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5450: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
5451: p_count => x_msg_count ,
5445: END IF;
5446: -- IBE_Util.Disable_Debug;
5447: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5448: ROLLBACK TO UpdateQuoteForSharee_pvt;
5449: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5450: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
5451: p_count => x_msg_count ,
5452: p_data => x_msg_data);
5453: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5446: -- IBE_Util.Disable_Debug;
5447: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5448: ROLLBACK TO UpdateQuoteForSharee_pvt;
5449: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5450: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
5451: p_count => x_msg_count ,
5452: p_data => x_msg_data);
5453: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5454: IBE_Util.Debug('End IBE_Quote_Save_pvt.UpdateQuoteForSharee()');
5455: END IF;
5456: -- IBE_Util.Disable_Debug;
5457: WHEN OTHERS THEN
5458: ROLLBACK TO UpdateQuoteForSharee_pvt;
5459: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5460:
5461: IF FND_Msg_Pub.Check_Msg_Level(FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
5462: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
5463: l_api_name);
5462: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
5463: l_api_name);
5464: END IF;
5465:
5466: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
5467: p_count => x_msg_count ,
5468: p_data => x_msg_data);
5469: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5470: IBE_Util.Debug('End IBE_Quote_Save_pvt.UpdateQuoteForSharee()');
5476: /* ------------------------------ Default API's: Start -----------------*/
5477:
5478: PROCEDURE getHdrDefaultValues(
5479: P_Api_Version_Number IN NUMBER
5480: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
5481: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
5482:
5483: ,p_minisite_id IN NUMBER
5484:
5477:
5478: PROCEDURE getHdrDefaultValues(
5479: P_Api_Version_Number IN NUMBER
5480: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
5481: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
5482:
5483: ,p_minisite_id IN NUMBER
5484:
5485: ,p_Qte_Header_Rec IN ASO_Quote_Pub.Qte_Header_Rec_Type
5543: -- Standard Start of API savepoint
5544: SAVEPOINT getHdrDefaultValues_PVT;
5545:
5546: -- Standard call to check for call compatibility.
5547: IF NOT FND_API.Compatible_API_Call(L_API_VERSION,
5548: P_Api_Version_Number,
5549: L_API_NAME ,
5550: G_PKG_NAME )
5551: THEN
5548: P_Api_Version_Number,
5549: L_API_NAME ,
5550: G_PKG_NAME )
5551: THEN
5552: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5553: END IF;
5554:
5555: -- Initialize message list if p_init_msg_list is set to TRUE.
5556: IF FND_API.To_Boolean(p_init_msg_list) THEN
5552: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5553: END IF;
5554:
5555: -- Initialize message list if p_init_msg_list is set to TRUE.
5556: IF FND_API.To_Boolean(p_init_msg_list) THEN
5557: FND_Msg_Pub.initialize;
5558: END IF;
5559:
5560: -- Initialize API return status to success
5557: FND_Msg_Pub.initialize;
5558: END IF;
5559:
5560: -- Initialize API return status to success
5561: x_return_status := FND_API.G_RET_STS_SUCCESS;
5562:
5563: -- API body
5564:
5565: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5599: );
5600: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5601: IBE_Util.Debug('getHdrDefaultAddress() -- SHIPTO finishes');
5602: END IF;
5603: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5604: RAISE FND_API.G_EXC_ERROR;
5605: END IF;
5606: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5607: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5600: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5601: IBE_Util.Debug('getHdrDefaultAddress() -- SHIPTO finishes');
5602: END IF;
5603: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5604: RAISE FND_API.G_EXC_ERROR;
5605: END IF;
5606: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5607: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5608: END IF;
5602: END IF;
5603: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5604: RAISE FND_API.G_EXC_ERROR;
5605: END IF;
5606: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5607: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5608: END IF;
5609:
5610: if (lx_hd_shipment_tbl.count <> 0) then
5603: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5604: RAISE FND_API.G_EXC_ERROR;
5605: END IF;
5606: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5607: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5608: END IF;
5609:
5610: if (lx_hd_shipment_tbl.count <> 0) then
5611: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5648: );
5649: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5650: IBE_Util.Debug('getHdrDefaultShipMethod() finishes');
5651: END IF;
5652: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5653: RAISE FND_API.G_EXC_ERROR;
5654: END IF;
5655: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5656: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5649: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5650: IBE_Util.Debug('getHdrDefaultShipMethod() finishes');
5651: END IF;
5652: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5653: RAISE FND_API.G_EXC_ERROR;
5654: END IF;
5655: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5656: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5657: END IF;
5651: END IF;
5652: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5653: RAISE FND_API.G_EXC_ERROR;
5654: END IF;
5655: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5656: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5657: END IF;
5658:
5659: if (lx_hd_Shipment_Tbl.count <> 0) then
5652: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5653: RAISE FND_API.G_EXC_ERROR;
5654: END IF;
5655: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5656: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5657: END IF;
5658:
5659: if (lx_hd_Shipment_Tbl.count <> 0) then
5660: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5699: );
5700: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5701: IBE_Util.Debug('getHdrDefaultAddress() -- BILLTO finishes');
5702: END IF;
5703: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5704: RAISE FND_API.G_EXC_ERROR;
5705: END IF;
5706: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5707: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5700: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5701: IBE_Util.Debug('getHdrDefaultAddress() -- BILLTO finishes');
5702: END IF;
5703: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5704: RAISE FND_API.G_EXC_ERROR;
5705: END IF;
5706: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5707: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5708: END IF;
5702: END IF;
5703: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5704: RAISE FND_API.G_EXC_ERROR;
5705: END IF;
5706: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5707: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5708: END IF;
5709:
5710: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5703: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5704: RAISE FND_API.G_EXC_ERROR;
5705: END IF;
5706: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5707: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5708: END IF;
5709:
5710: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5711: IBE_Util.Debug('lx_qte_header_rec.INVOICE_TO_PARTY_SITE_ID: '||to_char(lx_qte_header_rec.INVOICE_TO_PARTY_SITE_ID));
5717: --dbms_output.put_line('*******************************');
5718:
5719: IBE_PAYMENT_INT_PVT.check_Payment_channel_setups
5720: (p_api_version => 1.0
5721: ,p_init_msg_list => FND_API.G_FALSE
5722: ,p_commit => FND_API.G_FALSE
5723: ,x_cvv2_setup => l_cvv2_setup
5724: ,x_statement_address_setup => l_statement_address_setup
5725: ,x_return_status => X_Return_Status
5718:
5719: IBE_PAYMENT_INT_PVT.check_Payment_channel_setups
5720: (p_api_version => 1.0
5721: ,p_init_msg_list => FND_API.G_FALSE
5722: ,p_commit => FND_API.G_FALSE
5723: ,x_cvv2_setup => l_cvv2_setup
5724: ,x_statement_address_setup => l_statement_address_setup
5725: ,x_return_status => X_Return_Status
5726: ,x_msg_count => x_msg_count
5727: ,x_msg_data => x_msg_data );
5728: /*mannamra: Credit card consolidation: payment type defaulting should not kick in only when CVV2
5729: is mandatory so that user will be able to visit the
5730: billing page to provide the credit card cvv2 number*/
5731: IF(l_cvv2_setup <> FND_API.G_TRUE) THEN
5732:
5733:
5734: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5735: IBE_Util.Debug('getHdrDefaultPaymentMethod() starts');
5747: );
5748: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5749: IBE_Util.Debug('getHdrDefaultPaymentMethod() finishes');
5750: END IF;
5751: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5752: RAISE FND_API.G_EXC_ERROR;
5753: END IF;
5754: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5755: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5748: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5749: IBE_Util.Debug('getHdrDefaultPaymentMethod() finishes');
5750: END IF;
5751: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5752: RAISE FND_API.G_EXC_ERROR;
5753: END IF;
5754: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5755: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5756: END IF;
5750: END IF;
5751: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5752: RAISE FND_API.G_EXC_ERROR;
5753: END IF;
5754: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5755: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5756: END IF;
5757:
5758: if (lx_hd_Payment_Tbl.count <> 0) then
5751: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5752: RAISE FND_API.G_EXC_ERROR;
5753: END IF;
5754: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5755: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5756: END IF;
5757:
5758: if (lx_hd_Payment_Tbl.count <> 0) then
5759: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5794: end if;
5795: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5796: IBE_Util.Debug('*******************************');
5797: END IF;
5798: END IF; --l_cvv2_setup <> FND_API.G_TRUE
5799: --dbms_output.put_line('*******************************');
5800:
5801: 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
5802: -- 9/11/02: we only call this api if we were able to find the billTo address because if we can't find
5797: END IF;
5798: END IF; --l_cvv2_setup <> FND_API.G_TRUE
5799: --dbms_output.put_line('*******************************');
5800:
5801: 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
5802: -- 9/11/02: we only call this api if we were able to find the billTo address because if we can't find
5803: -- this info, we can't default the contact
5804: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5805: IBE_Util.Debug('getHdrDefaultTaxExemption() starts');
5816: );
5817: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5818: IBE_Util.Debug('getHdrDefaultTaxExemption() finishes');
5819: END IF;
5820: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5821: RAISE FND_API.G_EXC_ERROR;
5822: END IF;
5823: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5824: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5817: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5818: IBE_Util.Debug('getHdrDefaultTaxExemption() finishes');
5819: END IF;
5820: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5821: RAISE FND_API.G_EXC_ERROR;
5822: END IF;
5823: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5824: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5825: END IF;
5819: END IF;
5820: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5821: RAISE FND_API.G_EXC_ERROR;
5822: END IF;
5823: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5824: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5825: END IF;
5826:
5827: if (lx_hd_Tax_Detail_Tbl.count <> 0) then
5820: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5821: RAISE FND_API.G_EXC_ERROR;
5822: END IF;
5823: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5824: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5825: END IF;
5826:
5827: if (lx_hd_Tax_Detail_Tbl.count <> 0) then
5828: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5867: );
5868: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5869: IBE_Util.Debug('getHdrDefaultEndCustomer() finishes');
5870: END IF;
5871: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5872: RAISE FND_API.G_EXC_ERROR;
5873: END IF;
5874: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5875: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5868: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5869: IBE_Util.Debug('getHdrDefaultEndCustomer() finishes');
5870: END IF;
5871: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5872: RAISE FND_API.G_EXC_ERROR;
5873: END IF;
5874: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5875: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5876: END IF;
5870: END IF;
5871: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5872: RAISE FND_API.G_EXC_ERROR;
5873: END IF;
5874: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5875: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5876: END IF;
5877: end if;
5878:
5871: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5872: RAISE FND_API.G_EXC_ERROR;
5873: END IF;
5874: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5875: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5876: END IF;
5877: end if;
5878:
5879:
5885: --maithili added for R12, for creating header level offer codes
5886: x_hd_Price_Attributes_Tbl := p_hd_Price_Attributes_Tbl;
5887: -- End of API body.
5888: -- Standard check of p_commit.
5889: IF FND_API.To_Boolean( p_commit ) THEN
5890: COMMIT WORK;
5891: END IF;
5892:
5893: -- Standard call to get message count and if count is 1, get message info.
5890: COMMIT WORK;
5891: END IF;
5892:
5893: -- Standard call to get message count and if count is 1, get message info.
5894: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
5895: p_count => x_msg_count ,
5896: p_data => x_msg_data);
5897: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
5898: IBE_Util.Debug('End IBE_Quote_Save_pvt.getHdrDefaultValues()');
5899: END IF;
5900: --IBE_Util.Disable_Debug;
5901:
5902: EXCEPTION
5903: WHEN FND_API.G_EXC_ERROR THEN
5904: ROLLBACK TO getHdrDefaultValues_PVT;
5905: x_return_status := FND_API.G_RET_STS_ERROR;
5906: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
5907: p_count => x_msg_count ,
5901:
5902: EXCEPTION
5903: WHEN FND_API.G_EXC_ERROR THEN
5904: ROLLBACK TO getHdrDefaultValues_PVT;
5905: x_return_status := FND_API.G_RET_STS_ERROR;
5906: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
5907: p_count => x_msg_count ,
5908: p_data => x_msg_data);
5909: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5902: EXCEPTION
5903: WHEN FND_API.G_EXC_ERROR THEN
5904: ROLLBACK TO getHdrDefaultValues_PVT;
5905: x_return_status := FND_API.G_RET_STS_ERROR;
5906: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
5907: p_count => x_msg_count ,
5908: p_data => x_msg_data);
5909: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5910: ROLLBACK TO getHdrDefaultValues_PVT;
5905: x_return_status := FND_API.G_RET_STS_ERROR;
5906: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
5907: p_count => x_msg_count ,
5908: p_data => x_msg_data);
5909: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5910: ROLLBACK TO getHdrDefaultValues_PVT;
5911: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5912: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
5913: p_count => x_msg_count ,
5907: p_count => x_msg_count ,
5908: p_data => x_msg_data);
5909: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5910: ROLLBACK TO getHdrDefaultValues_PVT;
5911: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5912: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
5913: p_count => x_msg_count ,
5914: p_data => x_msg_data);
5915: WHEN OTHERS THEN
5908: p_data => x_msg_data);
5909: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5910: ROLLBACK TO getHdrDefaultValues_PVT;
5911: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5912: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
5913: p_count => x_msg_count ,
5914: p_data => x_msg_data);
5915: WHEN OTHERS THEN
5916: ROLLBACK TO getHdrDefaultValues_PVT;
5913: p_count => x_msg_count ,
5914: p_data => x_msg_data);
5915: WHEN OTHERS THEN
5916: ROLLBACK TO getHdrDefaultValues_PVT;
5917: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5918: IF FND_Msg_Pub.Check_Msg_Level(FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
5919: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
5920: l_api_name);
5921: END IF;
5918: IF FND_Msg_Pub.Check_Msg_Level(FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
5919: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
5920: l_api_name);
5921: END IF;
5922: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
5923: p_count => x_msg_count ,
5924: p_data => x_msg_data);
5925: END getHdrDefaultValues;
5926:
5926:
5927:
5928: PROCEDURE getHdrDefaultAddress(
5929: P_Api_Version_Number IN NUMBER
5930: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
5931: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
5932: ,px_hd_Shipment_TBL IN OUT NOCOPY ASO_Quote_Pub.Shipment_tbl_Type
5933: ,px_qte_header_rec IN OUT NOCOPY ASO_Quote_Pub.Qte_Header_Rec_Type
5934: ,p_party_site_use IN varchar2
5927:
5928: PROCEDURE getHdrDefaultAddress(
5929: P_Api_Version_Number IN NUMBER
5930: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
5931: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
5932: ,px_hd_Shipment_TBL IN OUT NOCOPY ASO_Quote_Pub.Shipment_tbl_Type
5933: ,px_qte_header_rec IN OUT NOCOPY ASO_Quote_Pub.Qte_Header_Rec_Type
5934: ,p_party_site_use IN varchar2
5935: ,X_Return_Status OUT NOCOPY VARCHAR2
5943:
5944: l_opCode varchar2(10) := 'CREATE';
5945: l_party_id number := px_qte_header_rec.party_id;
5946: lx_party_site_id number;
5947: l_shipment_id number := FND_API.G_MISS_NUM;
5948:
5949: l_isDone varchar2(1) := 'N';
5950:
5951: l_userType varchar2(30);
5992: -- Standard Start of API savepoint
5993: SAVEPOINT getHdrDefaultAddress_pvt;
5994:
5995: -- Standard call to check for call compatibility.
5996: IF NOT FND_API.Compatible_API_Call(L_API_VERSION,
5997: P_Api_Version_Number,
5998: L_API_NAME ,
5999: G_PKG_NAME )
6000: THEN
5997: P_Api_Version_Number,
5998: L_API_NAME ,
5999: G_PKG_NAME )
6000: THEN
6001: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6002: END IF;
6003:
6004: -- Initialize message list if p_init_msg_list is set to TRUE.
6005: IF FND_API.To_Boolean(p_init_msg_list) THEN
6001: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6002: END IF;
6003:
6004: -- Initialize message list if p_init_msg_list is set to TRUE.
6005: IF FND_API.To_Boolean(p_init_msg_list) THEN
6006: FND_Msg_Pub.initialize;
6007: END IF;
6008:
6009: -- Initialize API return status to success
6006: FND_Msg_Pub.initialize;
6007: END IF;
6008:
6009: -- Initialize API return status to success
6010: x_return_status := FND_API.G_RET_STS_SUCCESS;
6011:
6012: -- API body
6013:
6014: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
6034: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
6035: IBE_Util.Debug('getDefaultAddress: px_qte_header_rec.quote_header_id='||px_qte_header_rec.quote_header_id);
6036: END IF;
6037: --DBMS_OUTPUT.PUT_line('getDefaultAddress: px_qte_header_rec.quote_header_id='||px_qte_header_rec.quote_header_id);
6038: 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
6039: if (p_party_site_use = 'S') then
6040:
6041: -- check to see if there is already a shipTo partySiteId
6042: open c_check_shipTo_rec_exist (px_qte_header_rec.quote_header_id);
6056: END IF;
6057: --DBMS_OUTPUT.PUT_line('getDefaultAddress: rec_shipTo_rec_exist.shipment_id ='||rec_shipTo_rec_exist.shipment_id);
6058:
6059: -- if there is already a shipTo partySiteId, we are done
6060: 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
6061: l_isDone := 'Y';
6062:
6063: -- if there is no shipmentId
6064: elsif ((rec_shipTo_rec_exist.shipment_id = FND_API.G_MISS_NUM) or (rec_shipTo_rec_exist.shipment_id is null)) then
6060: 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
6061: l_isDone := 'Y';
6062:
6063: -- if there is no shipmentId
6064: elsif ((rec_shipTo_rec_exist.shipment_id = FND_API.G_MISS_NUM) or (rec_shipTo_rec_exist.shipment_id is null)) then
6065: l_party_id := px_qte_header_rec.party_id;
6066: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
6067: IBE_Util.Debug('getDefaultAddress: l_party_id-no shipId-='||l_party_id);
6068: END IF;
6076: fetch c_check_shipTo_partyId into rec_shipTo_partyId;
6077: close c_check_shipTo_partyId;
6078:
6079: -- if there is shipTo contact
6080: 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
6081: l_party_id := rec_shipTo_partyId.ship_to_party_id;
6082: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
6083: IBE_Util.Debug('getDefaultAddress: l_party_id-contact-='||l_party_id);
6084: END IF;
6100: fetch c_check_billTo_rec_exist into rec_billTo_rec_exist;
6101: close c_check_billTo_rec_exist;
6102:
6103: -- if there is already a billTo partySiteId, we are done
6104: 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
6105: l_isDone := 'Y';
6106:
6107: -- if there is no quote record (shouldn't happen; should also raise an error)
6108: elsif ((rec_billTo_rec_exist.quote_header_id = FND_API.G_MISS_NUM) or (rec_billTo_rec_exist.quote_header_id is null)) then
6104: 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
6105: l_isDone := 'Y';
6106:
6107: -- if there is no quote record (shouldn't happen; should also raise an error)
6108: elsif ((rec_billTo_rec_exist.quote_header_id = FND_API.G_MISS_NUM) or (rec_billTo_rec_exist.quote_header_id is null)) then
6109: l_party_id := px_qte_header_rec.party_id;
6110:
6111: else
6112: l_opCode := 'UPDATE';
6116: fetch c_check_billTo_partyId into rec_billTo_partyId;
6117: close c_check_billTo_partyId;
6118:
6119: -- if there is billTo contact
6120: 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
6121: l_party_id := rec_billTo_partyId.invoice_to_party_id;
6122: else
6123: l_party_id := px_qte_header_rec.party_id;
6124: end if;
6157: ,p_commit => p_Commit
6158: ,p_party_id => l_party_id
6159: ,p_site_use_type => p_party_site_use
6160: ,p_org_id => MO_Global.get_current_org_id()
6161: ,p_get_org_prim_addr => FND_API.G_TRUE
6162: ,x_return_status => x_return_status
6163: ,x_msg_count => x_msg_count
6164: ,x_msg_data => x_msg_data
6165: ,x_party_site_id => lx_party_site_id
6163: ,x_msg_count => x_msg_count
6164: ,x_msg_data => x_msg_data
6165: ,x_party_site_id => lx_party_site_id
6166: );
6167: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
6168: RAISE FND_API.G_EXC_ERROR;
6169: END IF;
6170: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
6171: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6164: ,x_msg_data => x_msg_data
6165: ,x_party_site_id => lx_party_site_id
6166: );
6167: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
6168: RAISE FND_API.G_EXC_ERROR;
6169: END IF;
6170: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
6171: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6172: END IF;
6166: );
6167: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
6168: RAISE FND_API.G_EXC_ERROR;
6169: END IF;
6170: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
6171: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6172: END IF;
6173: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
6174: IBE_Util.Debug('After calling IBE_ADDRESS_V2PVT.get_primary_address_id');
6167: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
6168: RAISE FND_API.G_EXC_ERROR;
6169: END IF;
6170: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
6171: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6172: END IF;
6173: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
6174: IBE_Util.Debug('After calling IBE_ADDRESS_V2PVT.get_primary_address_id');
6175: END IF;
6179: END IF;
6180: --DBMS_OUTPUT.PUT_line('lx_party_site_id ='||lx_party_site_id);
6181:
6182: -- 2.1 populate the shipment/quote hdr record:
6183: 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
6184: l_userType := IBE_Quote_Misc_pvt.getUserType(px_qte_header_rec.party_id);
6185: if (p_party_site_use = 'S') then
6186: px_hd_Shipment_TBL(1).shipment_id := l_shipment_id;
6187: px_hd_Shipment_TBL(1).quote_header_id := px_qte_header_rec.quote_header_id;
6186: px_hd_Shipment_TBL(1).shipment_id := l_shipment_id;
6187: px_hd_Shipment_TBL(1).quote_header_id := px_qte_header_rec.quote_header_id;
6188: px_hd_Shipment_TBL(1).operation_code := l_opCode;
6189: px_hd_Shipment_TBL(1).SHIP_TO_PARTY_site_ID := lx_party_site_id;
6190: 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
6191: px_hd_Shipment_TBL(1).SHIP_TO_PARTY_ID := px_qte_header_rec.party_id;
6192: end if;
6193: elsif (p_party_site_use = 'B') then
6194: px_qte_header_rec.INVOICE_TO_PARTY_SITE_ID := lx_party_site_id;
6191: px_hd_Shipment_TBL(1).SHIP_TO_PARTY_ID := px_qte_header_rec.party_id;
6192: end if;
6193: elsif (p_party_site_use = 'B') then
6194: px_qte_header_rec.INVOICE_TO_PARTY_SITE_ID := lx_party_site_id;
6195: 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
6196: px_qte_header_rec.INVOICE_TO_PARTY_ID := px_qte_header_rec.party_id;
6197: end if;
6198: end if;
6199: end if;
6201: end if; -- if (l_isDone <> 'Y')
6202:
6203: -- End of API body.
6204: -- Standard check of p_commit.
6205: IF FND_API.To_Boolean( p_commit ) THEN
6206: COMMIT WORK;
6207: END IF;
6208:
6209: -- Standard call to get message count and if count is 1, get message info.
6206: COMMIT WORK;
6207: END IF;
6208:
6209: -- Standard call to get message count and if count is 1, get message info.
6210: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6211: p_count => x_msg_count ,
6212: p_data => x_msg_data);
6213: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
6214: IBE_Util.Debug('End IBE_Quote_Save_pvt.getHdrDefaultAddress()');
6215: END IF;
6216: --IBE_Util.Disable_Debug;
6217:
6218: EXCEPTION
6219: WHEN FND_API.G_EXC_ERROR THEN
6220: ROLLBACK TO getHdrDefaultAddress_pvt;
6221: x_return_status := FND_API.G_RET_STS_ERROR;
6222: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6223: p_count => x_msg_count ,
6217:
6218: EXCEPTION
6219: WHEN FND_API.G_EXC_ERROR THEN
6220: ROLLBACK TO getHdrDefaultAddress_pvt;
6221: x_return_status := FND_API.G_RET_STS_ERROR;
6222: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6223: p_count => x_msg_count ,
6224: p_data => x_msg_data);
6225: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6218: EXCEPTION
6219: WHEN FND_API.G_EXC_ERROR THEN
6220: ROLLBACK TO getHdrDefaultAddress_pvt;
6221: x_return_status := FND_API.G_RET_STS_ERROR;
6222: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6223: p_count => x_msg_count ,
6224: p_data => x_msg_data);
6225: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6226: ROLLBACK TO getHdrDefaultAddress_pvt;
6221: x_return_status := FND_API.G_RET_STS_ERROR;
6222: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6223: p_count => x_msg_count ,
6224: p_data => x_msg_data);
6225: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6226: ROLLBACK TO getHdrDefaultAddress_pvt;
6227: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6228: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6229: p_count => x_msg_count ,
6223: p_count => x_msg_count ,
6224: p_data => x_msg_data);
6225: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6226: ROLLBACK TO getHdrDefaultAddress_pvt;
6227: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6228: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6229: p_count => x_msg_count ,
6230: p_data => x_msg_data);
6231: WHEN OTHERS THEN
6224: p_data => x_msg_data);
6225: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6226: ROLLBACK TO getHdrDefaultAddress_pvt;
6227: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6228: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6229: p_count => x_msg_count ,
6230: p_data => x_msg_data);
6231: WHEN OTHERS THEN
6232: ROLLBACK TO getHdrDefaultAddress_pvt;
6229: p_count => x_msg_count ,
6230: p_data => x_msg_data);
6231: WHEN OTHERS THEN
6232: ROLLBACK TO getHdrDefaultAddress_pvt;
6233: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6234: IF FND_Msg_Pub.Check_Msg_Level(FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
6235: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
6236: l_api_name);
6237: END IF;
6234: IF FND_Msg_Pub.Check_Msg_Level(FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
6235: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
6236: l_api_name);
6237: END IF;
6238: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6239: p_count => x_msg_count ,
6240: p_data => x_msg_data);
6241:
6242: end getHdrDefaultAddress;
6242: end getHdrDefaultAddress;
6243:
6244: PROCEDURE getHdrDefaultShipMethod(
6245: P_Api_Version_Number IN NUMBER
6246: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
6247: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
6248: ,px_hd_Shipment_TBL IN OUT NOCOPY ASO_Quote_Pub.Shipment_tbl_Type
6249: ,p_qte_header_rec IN ASO_Quote_Pub.Qte_Header_Rec_Type
6250: ,p_minisite_id IN Number
6243:
6244: PROCEDURE getHdrDefaultShipMethod(
6245: P_Api_Version_Number IN NUMBER
6246: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
6247: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
6248: ,px_hd_Shipment_TBL IN OUT NOCOPY ASO_Quote_Pub.Shipment_tbl_Type
6249: ,p_qte_header_rec IN ASO_Quote_Pub.Qte_Header_Rec_Type
6250: ,p_minisite_id IN Number
6251: ,X_Return_Status OUT NOCOPY VARCHAR2
6258: l_api_name CONSTANT VARCHAR2(30) := 'getHdrDefaultShipMethod';
6259: l_api_version CONSTANT NUMBER := 1.0;
6260: l_opCode varchar2(10) := 'CREATE';
6261:
6262: l_shipment_id number := FND_API.G_MISS_NUM;
6263: l_isDone varchar2(1) := 'N';
6264:
6265: l_ship_method_code varchar2(30) := null;
6266: l_ship_method_code_first varchar2(30) := null;
6296: -- Standard Start of API savepoint
6297: SAVEPOINT getHdrDefaultShipMethod_pvt;
6298:
6299: -- Standard call to check for call compatibility.
6300: IF NOT FND_API.Compatible_API_Call(L_API_VERSION,
6301: P_Api_Version_Number,
6302: L_API_NAME ,
6303: G_PKG_NAME )
6304: THEN
6301: P_Api_Version_Number,
6302: L_API_NAME ,
6303: G_PKG_NAME )
6304: THEN
6305: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6306: END IF;
6307:
6308: -- Initialize message list if p_init_msg_list is set to TRUE.
6309: IF FND_API.To_Boolean(p_init_msg_list) THEN
6305: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6306: END IF;
6307:
6308: -- Initialize message list if p_init_msg_list is set to TRUE.
6309: IF FND_API.To_Boolean(p_init_msg_list) THEN
6310: FND_Msg_Pub.initialize;
6311: END IF;
6312:
6313: -- Initialize API return status to success
6310: FND_Msg_Pub.initialize;
6311: END IF;
6312:
6313: -- Initialize API return status to success
6314: x_return_status := FND_API.G_RET_STS_SUCCESS;
6315:
6316: -- API body
6317:
6318: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
6319: IBE_Util.Debug('Start IBE_Quote_Save_pvt.getHdrDefaultShipMethod()');
6320: END IF;
6321:
6322: -- 1. for the merge cart cases, we have to check if there is shipment method in the shipment record associated w/ the cart:
6323: 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
6324:
6325: -- check to see if there is already a ship method
6326: open c_check_shipTo_rec_exist (p_qte_header_rec.quote_header_id);
6327: fetch c_check_shipTo_rec_exist into rec_shipTo_rec_exist;
6327: fetch c_check_shipTo_rec_exist into rec_shipTo_rec_exist;
6328: close c_check_shipTo_rec_exist;
6329:
6330: -- if there is already a ship method, we are done
6331: 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
6332: l_isDone := 'Y';
6333:
6334: -- if there is shipmentId
6335: elsif ((rec_shipTo_rec_exist.shipment_id <> FND_API.G_MISS_NUM) and (rec_shipTo_rec_exist.shipment_id is not null)) then
6331: 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
6332: l_isDone := 'Y';
6333:
6334: -- if there is shipmentId
6335: elsif ((rec_shipTo_rec_exist.shipment_id <> FND_API.G_MISS_NUM) and (rec_shipTo_rec_exist.shipment_id is not null)) then
6336: l_opCode := 'UPDATE';
6337: l_shipment_id := rec_shipTo_rec_exist.shipment_id;
6338: end if;
6339: end if; -- for merge cart cases
6371:
6372: for rec_MiniSiteOrg_ShipMethod in c_get_MiniSiteOrg_ShipMethod(p_minisite_id, l_org_id,'SHPMT_MTHD','Y','Y') loop
6373:
6374: -- case 2.2: no preferred ship method -> so, take the first row of the result set
6375: if ((l_ship_method_code = FND_API.G_MISS_char) or (l_ship_method_code is null)) then
6376:
6377: -- 11/14/02: we're changing the logic: if no preferred ship method, then don't default
6378: -- Now, as per ER#4663790, we need to default, so uncommenting the following line.
6379:
6432: IBE_Util.Debug('Finally: l_ship_method_code :'||l_ship_method_code);
6433: END IF;
6434: --DBMS_OUTPUT.PUT_line('Finally: l_ship_method_code :'||l_ship_method_code);
6435: -- 2.3 populate the shipment record:
6436: if ((l_ship_method_code <> FND_API.G_MISS_char) and (l_ship_method_code is not null)) then
6437: px_hd_Shipment_TBL(1).shipment_id := l_shipment_id;
6438: px_hd_Shipment_TBL(1).quote_header_id := p_qte_header_rec.quote_header_id;
6439: px_hd_Shipment_TBL(1).operation_code := l_opCode;
6440: px_hd_Shipment_TBL(1).SHIP_METHOD_CODE := l_ship_method_code;
6443: end if; -- if (l_isDone <> 'Y')
6444:
6445: -- End of API body.
6446: -- Standard check of p_commit.
6447: IF FND_API.To_Boolean( p_commit ) THEN
6448: COMMIT WORK;
6449: END IF;
6450:
6451: -- Standard call to get message count and if count is 1, get message info.
6448: COMMIT WORK;
6449: END IF;
6450:
6451: -- Standard call to get message count and if count is 1, get message info.
6452: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6453: p_count => x_msg_count ,
6454: p_data => x_msg_data);
6455: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
6456: IBE_Util.Debug('End IBE_Quote_Save_pvt.getHdrDefaultShipMethod()');
6458: --IBE_Util.Disable_Debug;
6459:
6460:
6461: EXCEPTION
6462: WHEN FND_API.G_EXC_ERROR THEN
6463: ROLLBACK TO getHdrDefaultShipMethod_pvt;
6464: x_return_status := FND_API.G_RET_STS_ERROR;
6465: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6466: p_count => x_msg_count ,
6460:
6461: EXCEPTION
6462: WHEN FND_API.G_EXC_ERROR THEN
6463: ROLLBACK TO getHdrDefaultShipMethod_pvt;
6464: x_return_status := FND_API.G_RET_STS_ERROR;
6465: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6466: p_count => x_msg_count ,
6467: p_data => x_msg_data);
6468: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6461: EXCEPTION
6462: WHEN FND_API.G_EXC_ERROR THEN
6463: ROLLBACK TO getHdrDefaultShipMethod_pvt;
6464: x_return_status := FND_API.G_RET_STS_ERROR;
6465: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6466: p_count => x_msg_count ,
6467: p_data => x_msg_data);
6468: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6469: ROLLBACK TO getHdrDefaultShipMethod_pvt;
6464: x_return_status := FND_API.G_RET_STS_ERROR;
6465: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6466: p_count => x_msg_count ,
6467: p_data => x_msg_data);
6468: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6469: ROLLBACK TO getHdrDefaultShipMethod_pvt;
6470: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6471: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6472: p_count => x_msg_count ,
6466: p_count => x_msg_count ,
6467: p_data => x_msg_data);
6468: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6469: ROLLBACK TO getHdrDefaultShipMethod_pvt;
6470: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6471: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6472: p_count => x_msg_count ,
6473: p_data => x_msg_data);
6474: WHEN OTHERS THEN
6467: p_data => x_msg_data);
6468: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6469: ROLLBACK TO getHdrDefaultShipMethod_pvt;
6470: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6471: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6472: p_count => x_msg_count ,
6473: p_data => x_msg_data);
6474: WHEN OTHERS THEN
6475: ROLLBACK TO getHdrDefaultShipMethod_pvt;
6472: p_count => x_msg_count ,
6473: p_data => x_msg_data);
6474: WHEN OTHERS THEN
6475: ROLLBACK TO getHdrDefaultShipMethod_pvt;
6476: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6477: IF FND_Msg_Pub.Check_Msg_Level(FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
6478: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
6479: l_api_name);
6480: END IF;
6477: IF FND_Msg_Pub.Check_Msg_Level(FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
6478: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
6479: l_api_name);
6480: END IF;
6481: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6482: p_count => x_msg_count ,
6483: p_data => x_msg_data);
6484: end getHdrDefaultShipMethod;
6485:
6484: end getHdrDefaultShipMethod;
6485:
6486: PROCEDURE getHdrDefaultPaymentMethod(
6487: P_Api_Version_Number IN NUMBER
6488: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
6489: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
6490: ,px_hd_Payment_Tbl IN OUT NOCOPY ASO_Quote_Pub.Payment_Tbl_Type
6491: ,p_qte_header_rec IN ASO_Quote_Pub.Qte_Header_Rec_Type
6492: ,p_minisite_id IN Number
6485:
6486: PROCEDURE getHdrDefaultPaymentMethod(
6487: P_Api_Version_Number IN NUMBER
6488: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
6489: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
6490: ,px_hd_Payment_Tbl IN OUT NOCOPY ASO_Quote_Pub.Payment_Tbl_Type
6491: ,p_qte_header_rec IN ASO_Quote_Pub.Qte_Header_Rec_Type
6492: ,p_minisite_id IN Number
6493: ,X_Return_Status OUT NOCOPY VARCHAR2
6502: l_opCode varchar2(10) := 'CREATE';
6503:
6504: l_isDone varchar2(1) := 'N';
6505:
6506: l_payment_id number := FND_API.G_MISS_NUM;
6507: l_payment_type_code varchar2(30) := null;
6508: lx_cc_assignment_id NUMBER;
6509:
6510: l_isInvoice varchar2(1) := 'N';
6551: -- Standard Start of API savepoint
6552: SAVEPOINT getHdrDefPmtMethod_pvt;
6553:
6554: -- Standard call to check for call compatibility.
6555: IF NOT FND_API.Compatible_API_Call(L_API_VERSION,
6556: P_Api_Version_Number,
6557: L_API_NAME ,
6558: G_PKG_NAME )
6559: THEN
6556: P_Api_Version_Number,
6557: L_API_NAME ,
6558: G_PKG_NAME )
6559: THEN
6560: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6561: END IF;
6562:
6563: -- Initialize message list if p_init_msg_list is set to TRUE.
6564: IF FND_API.To_Boolean(p_init_msg_list) THEN
6560: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6561: END IF;
6562:
6563: -- Initialize message list if p_init_msg_list is set to TRUE.
6564: IF FND_API.To_Boolean(p_init_msg_list) THEN
6565: FND_Msg_Pub.initialize;
6566: END IF;
6567:
6568: -- Initialize API return status to success
6565: FND_Msg_Pub.initialize;
6566: END IF;
6567:
6568: -- Initialize API return status to success
6569: x_return_status := FND_API.G_RET_STS_SUCCESS;
6570:
6571: -- API body
6572:
6573: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
6573: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
6574: IBE_Util.Debug('Start IBE_Quote_Save_pvt.getHdrDefaultPaymentMethod()');
6575: END IF;
6576: -- 1. for the merge cart cases, we have to check if there is a payment record associated w/ the cart:
6577: 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
6578:
6579: -- check to see if there is already a payment method
6580: open c_check_payment_rec_exist (p_qte_header_rec.quote_header_id);
6581: fetch c_check_payment_rec_exist into rec_payment_rec_exist;
6583:
6584: -- if there is already a payment method, we are done
6585: -- 2/6/03: per Bug 2780574, we will not update the payment record, we will only create
6586: /*
6587: 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
6588: l_isDone := 'Y';
6589:
6590: -- if there is paymentId
6591: elsif ((rec_payment_rec_exist.payment_id <> FND_API.G_MISS_NUM) and (rec_payment_rec_exist.payment_id is not null)) then
6587: 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
6588: l_isDone := 'Y';
6589:
6590: -- if there is paymentId
6591: elsif ((rec_payment_rec_exist.payment_id <> FND_API.G_MISS_NUM) and (rec_payment_rec_exist.payment_id is not null)) then
6592: l_opCode := 'UPDATE';
6593: l_payment_id := rec_payment_rec_exist.payment_id;
6594: end if;
6595: */
6593: l_payment_id := rec_payment_rec_exist.payment_id;
6594: end if;
6595: */
6596:
6597: if ((rec_payment_rec_exist.payment_id <> FND_API.G_MISS_NUM) and (rec_payment_rec_exist.payment_id is not null)) then
6598: l_isDone := 'Y';
6599: end if;
6600: end if; -- for merge cart cases
6601:
6619: fetch c_check_CC_enabled into rec_CC_enabled;
6620: close c_check_CC_enabled;
6621:
6622: -- 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
6623: if ((rec_CC_enabled.msite_information1 <> FND_API.G_MISS_char) and (rec_CC_enabled.msite_information1 is not null)) then
6624:
6625: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
6626: IBE_Util.Debug('Before calling IBE_CUSTOMER_pvt.get_default_credit_card_info');
6627: END IF;
6666: ,x_cc_assignment_id => lx_cc_assignment_id
6667: );
6668: end if;
6669:
6670: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
6671: RAISE FND_API.G_EXC_ERROR;
6672: END IF;
6673: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
6674: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6667: );
6668: end if;
6669:
6670: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
6671: RAISE FND_API.G_EXC_ERROR;
6672: END IF;
6673: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
6674: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6675: END IF;
6669:
6670: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
6671: RAISE FND_API.G_EXC_ERROR;
6672: END IF;
6673: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
6674: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6675: END IF;
6676:
6677: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
6670: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
6671: RAISE FND_API.G_EXC_ERROR;
6672: END IF;
6673: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
6674: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6675: END IF;
6676:
6677: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
6678: IBE_Util.Debug('After calling IBE_CUSTOMER_pvt.get_default_credit_card_info');
6681: end if;
6682:
6683: -- 2.3 if CC is not enabled or the call from 2.2 doesn't return a valid value,
6684: -- then we try to find the next enabled payment option in this order: invoice, cash, check
6685: --if ((lx_credit_card_num = FND_API.G_MISS_char) or (lx_credit_card_num is null)) then
6686: if ((lx_cc_assignment_id = FND_API.G_MISS_NUM) or (lx_cc_assignment_id is null)) then
6687: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
6688: IBE_Util.Debug('lx_credit_card_num is null');
6689: END IF;
6682:
6683: -- 2.3 if CC is not enabled or the call from 2.2 doesn't return a valid value,
6684: -- then we try to find the next enabled payment option in this order: invoice, cash, check
6685: --if ((lx_credit_card_num = FND_API.G_MISS_char) or (lx_credit_card_num is null)) then
6686: if ((lx_cc_assignment_id = FND_API.G_MISS_NUM) or (lx_cc_assignment_id is null)) then
6687: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
6688: IBE_Util.Debug('lx_credit_card_num is null');
6689: END IF;
6690: --DBMS_OUTPUT.PUT_line('lx_credit_card_num is null');
6732: --DBMS_OUTPUT.PUT_line('l_payment_type_code ='||l_payment_type_code);
6733:
6734: -- 2.4 populate the payment record:
6735: -- Bug 11810302, scnagara, included check on p_qte_header_rec.invoice_to_party_site_id in the below if condition
6736: if ((l_payment_type_code <> FND_API.G_MISS_char) and (l_payment_type_code is not null) and (p_qte_header_rec.invoice_to_party_site_id <> fnd_api.g_miss_num) and (p_qte_header_rec.invoice_to_party_site_id is not null)) then
6737: px_hd_Payment_Tbl(1).payment_id := l_payment_id;
6738: px_hd_Payment_Tbl(1).quote_header_id := p_qte_header_rec.quote_header_id;
6739: px_hd_Payment_Tbl(1).operation_code := l_opCode;
6740: -- px_hd_Payment_Tbl(1).quote_shipment_index := 1; // not needed
6745: px_hd_Payment_Tbl(1).PAYMENT_TYPE_CODE := l_payment_type_code;
6746: px_hd_Payment_Tbl(1).PAYMENT_TERM_ID := fnd_profile.value('IBE_DEFAULT_PAYMENT_TERM_ID');
6747:
6748: /*CC consolidation*/
6749: if ((lx_cc_assignment_id <> FND_API.G_MISS_NUM) and (lx_cc_assignment_id is not null)) then
6750: px_hd_Payment_Tbl(1).INSTR_ASSIGNMENT_ID := lx_cc_assignment_id;
6751: px_hd_Payment_Tbl(1).PAYMENT_REF_NUMBER := null;
6752: px_hd_Payment_Tbl(1).CREDIT_CARD_CODE := null;
6753: px_hd_Payment_Tbl(1).CREDIT_CARD_HOLDER_NAME := null;
6769: end if; -- if (l_isDone <> 'Y')
6770:
6771: -- End of API body.
6772: -- Standard check of p_commit.
6773: IF FND_API.To_Boolean( p_commit ) THEN
6774: COMMIT WORK;
6775: END IF;
6776:
6777: -- Standard call to get message count and if count is 1, get message info.
6774: COMMIT WORK;
6775: END IF;
6776:
6777: -- Standard call to get message count and if count is 1, get message info.
6778: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6779: p_count => x_msg_count ,
6780: p_data => x_msg_data);
6781: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
6782: IBE_Util.Debug('End IBE_Quote_Save_pvt.getHdrDefaultPaymentMethod()');
6783: END IF;
6784: --IBE_Util.Disable_Debug;
6785:
6786: EXCEPTION
6787: WHEN FND_API.G_EXC_ERROR THEN
6788: ROLLBACK TO getHdrDefPmtMethod_pvt;
6789: x_return_status := FND_API.G_RET_STS_ERROR;
6790: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6791: p_count => x_msg_count ,
6785:
6786: EXCEPTION
6787: WHEN FND_API.G_EXC_ERROR THEN
6788: ROLLBACK TO getHdrDefPmtMethod_pvt;
6789: x_return_status := FND_API.G_RET_STS_ERROR;
6790: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6791: p_count => x_msg_count ,
6792: p_data => x_msg_data);
6793: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6786: EXCEPTION
6787: WHEN FND_API.G_EXC_ERROR THEN
6788: ROLLBACK TO getHdrDefPmtMethod_pvt;
6789: x_return_status := FND_API.G_RET_STS_ERROR;
6790: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6791: p_count => x_msg_count ,
6792: p_data => x_msg_data);
6793: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6794: ROLLBACK TO getHdrDefPmtMethod_pvt;
6789: x_return_status := FND_API.G_RET_STS_ERROR;
6790: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6791: p_count => x_msg_count ,
6792: p_data => x_msg_data);
6793: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6794: ROLLBACK TO getHdrDefPmtMethod_pvt;
6795: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6796: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6797: p_count => x_msg_count ,
6791: p_count => x_msg_count ,
6792: p_data => x_msg_data);
6793: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6794: ROLLBACK TO getHdrDefPmtMethod_pvt;
6795: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6796: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6797: p_count => x_msg_count ,
6798: p_data => x_msg_data);
6799: WHEN OTHERS THEN
6792: p_data => x_msg_data);
6793: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6794: ROLLBACK TO getHdrDefPmtMethod_pvt;
6795: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6796: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6797: p_count => x_msg_count ,
6798: p_data => x_msg_data);
6799: WHEN OTHERS THEN
6800: ROLLBACK TO getHdrDefPmtMethod_pvt;
6797: p_count => x_msg_count ,
6798: p_data => x_msg_data);
6799: WHEN OTHERS THEN
6800: ROLLBACK TO getHdrDefPmtMethod_pvt;
6801: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6802: IF FND_Msg_Pub.Check_Msg_Level(FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
6803: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
6804: l_api_name);
6805: END IF;
6802: IF FND_Msg_Pub.Check_Msg_Level(FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
6803: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
6804: l_api_name);
6805: END IF;
6806: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6807: p_count => x_msg_count ,
6808: p_data => x_msg_data);
6809: end getHdrDefaultPaymentMethod;
6810:
6809: end getHdrDefaultPaymentMethod;
6810:
6811: PROCEDURE getHdrDefaultTaxExemption(
6812: P_Api_Version_Number IN NUMBER
6813: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
6814: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
6815: ,px_hd_Tax_Detail_Tbl IN OUT NOCOPY ASO_Quote_Pub.Tax_Detail_Tbl_Type
6816: ,p_qte_header_rec IN ASO_Quote_Pub.Qte_Header_Rec_Type
6817: ,X_Return_Status OUT NOCOPY VARCHAR2
6810:
6811: PROCEDURE getHdrDefaultTaxExemption(
6812: P_Api_Version_Number IN NUMBER
6813: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
6814: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
6815: ,px_hd_Tax_Detail_Tbl IN OUT NOCOPY ASO_Quote_Pub.Tax_Detail_Tbl_Type
6816: ,p_qte_header_rec IN ASO_Quote_Pub.Qte_Header_Rec_Type
6817: ,X_Return_Status OUT NOCOPY VARCHAR2
6818: ,X_Msg_Count OUT NOCOPY NUMBER
6826: l_opCode varchar2(10) := 'CREATE';
6827:
6828: l_isDone varchar2(1) := 'N';
6829:
6830: l_tax_detail_id number := FND_API.G_MISS_NUM;
6831: l_payment_type_code varchar2(30) := null;
6832:
6833: cursor c_check_tax_rec_exist(l_quote_header_id number)
6834: is
6843: -- Standard Start of API savepoint
6844: SAVEPOINT getHdrDefTaxExmpt_pvt;
6845:
6846: -- Standard call to check for call compatibility.
6847: IF NOT FND_API.Compatible_API_Call(L_API_VERSION,
6848: P_Api_Version_Number,
6849: L_API_NAME ,
6850: G_PKG_NAME )
6851: THEN
6848: P_Api_Version_Number,
6849: L_API_NAME ,
6850: G_PKG_NAME )
6851: THEN
6852: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6853: END IF;
6854:
6855: -- Initialize message list if p_init_msg_list is set to TRUE.
6856: IF FND_API.To_Boolean(p_init_msg_list) THEN
6852: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6853: END IF;
6854:
6855: -- Initialize message list if p_init_msg_list is set to TRUE.
6856: IF FND_API.To_Boolean(p_init_msg_list) THEN
6857: FND_Msg_Pub.initialize;
6858: END IF;
6859:
6860: -- Initialize API return status to success
6857: FND_Msg_Pub.initialize;
6858: END IF;
6859:
6860: -- Initialize API return status to success
6861: x_return_status := FND_API.G_RET_STS_SUCCESS;
6862:
6863: -- API body
6864:
6865: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
6866: IBE_Util.Debug('Start IBE_Quote_Save_pvt.getHdrDefaultTaxExemption()');
6867: END IF;
6868:
6869: -- 1. for the merge cart cases, we have to check if there is tax exemption flag in the tax record associated w/ the cart:
6870: 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
6871:
6872: -- check to see if there is already a tax exemption flag
6873: open c_check_tax_rec_exist (p_qte_header_rec.quote_header_id);
6874: fetch c_check_tax_rec_exist into rec_tax_rec_exist;
6874: fetch c_check_tax_rec_exist into rec_tax_rec_exist;
6875: close c_check_tax_rec_exist;
6876:
6877: -- if there is already a shipTo partySiteId, we are done
6878: 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
6879: l_isDone := 'Y';
6880:
6881: -- if there is tax_detail_id
6882: 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
6878: 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
6879: l_isDone := 'Y';
6880:
6881: -- if there is tax_detail_id
6882: 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
6883: l_opCode := 'UPDATE';
6884: l_tax_detail_id := rec_tax_rec_exist.tax_detail_id;
6885: end if;
6886: end if; -- for merge cart cases
6895: px_hd_Tax_Detail_Tbl(1).tax_exempt_flag := 'S';
6896: end if;
6897:
6898: -- Standard call to get message count and if count is 1, get message info.
6899: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6900: p_count => x_msg_count ,
6901: p_data => x_msg_data);
6902: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
6903: IBE_Util.Debug('End IBE_Quote_Save_pvt.getHdrDefaultTaxExemption()');
6904: END IF;
6905: --IBE_Util.Disable_Debug;
6906:
6907: EXCEPTION
6908: WHEN FND_API.G_EXC_ERROR THEN
6909: ROLLBACK TO getHdrDefTaxExmpt_pvt;
6910: x_return_status := FND_API.G_RET_STS_ERROR;
6911: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6912: p_count => x_msg_count ,
6906:
6907: EXCEPTION
6908: WHEN FND_API.G_EXC_ERROR THEN
6909: ROLLBACK TO getHdrDefTaxExmpt_pvt;
6910: x_return_status := FND_API.G_RET_STS_ERROR;
6911: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6912: p_count => x_msg_count ,
6913: p_data => x_msg_data);
6914: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6907: EXCEPTION
6908: WHEN FND_API.G_EXC_ERROR THEN
6909: ROLLBACK TO getHdrDefTaxExmpt_pvt;
6910: x_return_status := FND_API.G_RET_STS_ERROR;
6911: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6912: p_count => x_msg_count ,
6913: p_data => x_msg_data);
6914: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6915: ROLLBACK TO getHdrDefTaxExmpt_pvt;
6910: x_return_status := FND_API.G_RET_STS_ERROR;
6911: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6912: p_count => x_msg_count ,
6913: p_data => x_msg_data);
6914: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6915: ROLLBACK TO getHdrDefTaxExmpt_pvt;
6916: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6917: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6918: p_count => x_msg_count ,
6912: p_count => x_msg_count ,
6913: p_data => x_msg_data);
6914: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6915: ROLLBACK TO getHdrDefTaxExmpt_pvt;
6916: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6917: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6918: p_count => x_msg_count ,
6919: p_data => x_msg_data);
6920: WHEN OTHERS THEN
6913: p_data => x_msg_data);
6914: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6915: ROLLBACK TO getHdrDefTaxExmpt_pvt;
6916: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6917: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6918: p_count => x_msg_count ,
6919: p_data => x_msg_data);
6920: WHEN OTHERS THEN
6921: ROLLBACK TO getHdrDefTaxExmpt_pvt;
6918: p_count => x_msg_count ,
6919: p_data => x_msg_data);
6920: WHEN OTHERS THEN
6921: ROLLBACK TO getHdrDefTaxExmpt_pvt;
6922: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6923: IF FND_Msg_Pub.Check_Msg_Level(FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
6924: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
6925: l_api_name);
6926: END IF;
6923: IF FND_Msg_Pub.Check_Msg_Level(FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
6924: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
6925: l_api_name);
6926: END IF;
6927: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
6928: p_count => x_msg_count ,
6929: p_data => x_msg_data);
6930:
6931: end getHdrDefaultTaxExemption;
6931: end getHdrDefaultTaxExemption;
6932:
6933: PROCEDURE getHdrDefaultEndCustomer(
6934: P_Api_Version_Number IN NUMBER
6935: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
6936: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
6937: ,p_hd_Shipment_TBL IN ASO_Quote_Pub.Shipment_tbl_Type
6938: ,px_qte_header_rec IN OUT NOCOPY ASO_Quote_Pub.Qte_Header_Rec_Type
6939: ,X_Return_Status OUT NOCOPY VARCHAR2
6932:
6933: PROCEDURE getHdrDefaultEndCustomer(
6934: P_Api_Version_Number IN NUMBER
6935: ,p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE
6936: ,p_Commit IN VARCHAR2 := FND_API.G_FALSE
6937: ,p_hd_Shipment_TBL IN ASO_Quote_Pub.Shipment_tbl_Type
6938: ,px_qte_header_rec IN OUT NOCOPY ASO_Quote_Pub.Qte_Header_Rec_Type
6939: ,X_Return_Status OUT NOCOPY VARCHAR2
6940: ,X_Msg_Count OUT NOCOPY NUMBER
6966: -- Standard Start of API savepoint
6967: SAVEPOINT getHdrDefaultEndCustomer_pvt;
6968:
6969: -- Standard call to check for call compatibility.
6970: IF NOT FND_API.Compatible_API_Call(L_API_VERSION,
6971: P_Api_Version_Number,
6972: L_API_NAME ,
6973: G_PKG_NAME )
6974: THEN
6971: P_Api_Version_Number,
6972: L_API_NAME ,
6973: G_PKG_NAME )
6974: THEN
6975: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6976: END IF;
6977:
6978: -- Initialize message list if p_init_msg_list is set to TRUE.
6979: IF FND_API.To_Boolean(p_init_msg_list) THEN
6975: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6976: END IF;
6977:
6978: -- Initialize message list if p_init_msg_list is set to TRUE.
6979: IF FND_API.To_Boolean(p_init_msg_list) THEN
6980: FND_Msg_Pub.initialize;
6981: END IF;
6982:
6983: -- Initialize API return status to success
6980: FND_Msg_Pub.initialize;
6981: END IF;
6982:
6983: -- Initialize API return status to success
6984: x_return_status := FND_API.G_RET_STS_SUCCESS;
6985:
6986: -- API body
6987: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
6988: IBE_Util.Debug('Begin IBE_Quote_Save_pvt.getHdrDefaultEndCustomer()');
6991: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
6992: IBE_Util.Debug('getHdrDefaultEndCustomer: px_qte_header_rec.quote_header_id='||px_qte_header_rec.quote_header_id);
6993: END IF;
6994:
6995: 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
6996:
6997: -- check to see if there is already an endTo info
6998: open c_check_endTo_rec_exist (px_qte_header_rec.quote_header_id);
6999: fetch c_check_endTo_rec_exist into rec_endTo_rec_exist;
6999: fetch c_check_endTo_rec_exist into rec_endTo_rec_exist;
7000: close c_check_endTo_rec_exist;
7001:
7002: -- if there is no endTo info, then we shld try to default
7003: 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
7004: ((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
7005: ((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
7006: l_isDone := 'Y';
7007: end if; -- check to see if we shld try to default
7000: close c_check_endTo_rec_exist;
7001:
7002: -- if there is no endTo info, then we shld try to default
7003: 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
7004: ((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
7005: ((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
7006: l_isDone := 'Y';
7007: end if; -- check to see if we shld try to default
7008:
7001:
7002: -- if there is no endTo info, then we shld try to default
7003: 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
7004: ((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
7005: ((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
7006: l_isDone := 'Y';
7007: end if; -- check to see if we shld try to default
7008:
7009: end if; -- for merge cart cases
7037: END IF;
7038:
7039: -- End of API body.
7040: -- Standard check of p_commit.
7041: IF FND_API.To_Boolean( p_commit ) THEN
7042: COMMIT WORK;
7043: END IF;
7044:
7045: -- Standard call to get message count and if count is 1, get message info.
7042: COMMIT WORK;
7043: END IF;
7044:
7045: -- Standard call to get message count and if count is 1, get message info.
7046: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
7047: p_count => x_msg_count ,
7048: p_data => x_msg_data);
7049: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
7050: IBE_Util.Debug('End IBE_Quote_Save_pvt.getHdrDefaultEndCustomer()');
7051: END IF;
7052: --IBE_Util.Disable_Debug;
7053:
7054: EXCEPTION
7055: WHEN FND_API.G_EXC_ERROR THEN
7056: ROLLBACK TO getHdrDefaultEndCustomer_pvt;
7057: x_return_status := FND_API.G_RET_STS_ERROR;
7058: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
7059: p_count => x_msg_count ,
7053:
7054: EXCEPTION
7055: WHEN FND_API.G_EXC_ERROR THEN
7056: ROLLBACK TO getHdrDefaultEndCustomer_pvt;
7057: x_return_status := FND_API.G_RET_STS_ERROR;
7058: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
7059: p_count => x_msg_count ,
7060: p_data => x_msg_data);
7061: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7054: EXCEPTION
7055: WHEN FND_API.G_EXC_ERROR THEN
7056: ROLLBACK TO getHdrDefaultEndCustomer_pvt;
7057: x_return_status := FND_API.G_RET_STS_ERROR;
7058: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
7059: p_count => x_msg_count ,
7060: p_data => x_msg_data);
7061: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7062: ROLLBACK TO getHdrDefaultEndCustomer_pvt;
7057: x_return_status := FND_API.G_RET_STS_ERROR;
7058: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
7059: p_count => x_msg_count ,
7060: p_data => x_msg_data);
7061: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7062: ROLLBACK TO getHdrDefaultEndCustomer_pvt;
7063: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7064: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
7065: p_count => x_msg_count ,
7059: p_count => x_msg_count ,
7060: p_data => x_msg_data);
7061: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7062: ROLLBACK TO getHdrDefaultEndCustomer_pvt;
7063: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7064: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
7065: p_count => x_msg_count ,
7066: p_data => x_msg_data);
7067: WHEN OTHERS THEN
7060: p_data => x_msg_data);
7061: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7062: ROLLBACK TO getHdrDefaultEndCustomer_pvt;
7063: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7064: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
7065: p_count => x_msg_count ,
7066: p_data => x_msg_data);
7067: WHEN OTHERS THEN
7068: ROLLBACK TO getHdrDefaultEndCustomer_pvt;
7065: p_count => x_msg_count ,
7066: p_data => x_msg_data);
7067: WHEN OTHERS THEN
7068: ROLLBACK TO getHdrDefaultEndCustomer_pvt;
7069: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7070: IF FND_Msg_Pub.Check_Msg_Level(FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
7071: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
7072: l_api_name);
7073: END IF;
7070: IF FND_Msg_Pub.Check_Msg_Level(FND_Msg_Pub.G_MSG_LVL_UNEXP_ERROR) THEN
7071: FND_Msg_Pub.Add_Exc_Msg(G_PKG_NAME,
7072: l_api_name);
7073: END IF;
7074: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
7075: p_count => x_msg_count ,
7076: p_data => x_msg_data);
7077:
7078: end getHdrDefaultEndCustomer;
7084: ,p_quote_id IN OKX_QUOTE_HEADERS_V.ID1%TYPE
7085: ,p_rel_type IN OKC_K_REL_OBJS.RTY_CODE%TYPE := OKC_API.G_MISS_CHAR
7086: ,p_terms_agreed_flag IN VARCHAR2 := OKC_API.G_FALSE
7087: ,p_trace_mode IN VARCHAR2 := OKC_API.G_FALSE
7088: ,p_party_id IN NUMBER := FND_API.G_MISS_NUM
7089: ,p_cust_account_id IN NUMBER := FND_API.G_MISS_NUM
7090: ,p_quote_retrieval_number IN NUMBER := FND_API.G_MISS_NUM
7091: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
7092: ,p_validate_user IN VARCHAR2 := FND_API.G_FALSE
7085: ,p_rel_type IN OKC_K_REL_OBJS.RTY_CODE%TYPE := OKC_API.G_MISS_CHAR
7086: ,p_terms_agreed_flag IN VARCHAR2 := OKC_API.G_FALSE
7087: ,p_trace_mode IN VARCHAR2 := OKC_API.G_FALSE
7088: ,p_party_id IN NUMBER := FND_API.G_MISS_NUM
7089: ,p_cust_account_id IN NUMBER := FND_API.G_MISS_NUM
7090: ,p_quote_retrieval_number IN NUMBER := FND_API.G_MISS_NUM
7091: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
7092: ,p_validate_user IN VARCHAR2 := FND_API.G_FALSE
7093: ,p_url IN VARCHAR2 := FND_API.G_MISS_CHAR
7086: ,p_terms_agreed_flag IN VARCHAR2 := OKC_API.G_FALSE
7087: ,p_trace_mode IN VARCHAR2 := OKC_API.G_FALSE
7088: ,p_party_id IN NUMBER := FND_API.G_MISS_NUM
7089: ,p_cust_account_id IN NUMBER := FND_API.G_MISS_NUM
7090: ,p_quote_retrieval_number IN NUMBER := FND_API.G_MISS_NUM
7091: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
7092: ,p_validate_user IN VARCHAR2 := FND_API.G_FALSE
7093: ,p_url IN VARCHAR2 := FND_API.G_MISS_CHAR
7094: ,x_contract_id OUT NOCOPY OKC_K_HEADERS_B.ID%TYPE
7087: ,p_trace_mode IN VARCHAR2 := OKC_API.G_FALSE
7088: ,p_party_id IN NUMBER := FND_API.G_MISS_NUM
7089: ,p_cust_account_id IN NUMBER := FND_API.G_MISS_NUM
7090: ,p_quote_retrieval_number IN NUMBER := FND_API.G_MISS_NUM
7091: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
7092: ,p_validate_user IN VARCHAR2 := FND_API.G_FALSE
7093: ,p_url IN VARCHAR2 := FND_API.G_MISS_CHAR
7094: ,x_contract_id OUT NOCOPY OKC_K_HEADERS_B.ID%TYPE
7095: ,x_contract_number OUT NOCOPY OKC_K_HEADERS_B.CONTRACT_NUMBER%TYPE
7088: ,p_party_id IN NUMBER := FND_API.G_MISS_NUM
7089: ,p_cust_account_id IN NUMBER := FND_API.G_MISS_NUM
7090: ,p_quote_retrieval_number IN NUMBER := FND_API.G_MISS_NUM
7091: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
7092: ,p_validate_user IN VARCHAR2 := FND_API.G_FALSE
7093: ,p_url IN VARCHAR2 := FND_API.G_MISS_CHAR
7094: ,x_contract_id OUT NOCOPY OKC_K_HEADERS_B.ID%TYPE
7095: ,x_contract_number OUT NOCOPY OKC_K_HEADERS_B.CONTRACT_NUMBER%TYPE
7096: ,x_return_status OUT NOCOPY VARCHAR2
7089: ,p_cust_account_id IN NUMBER := FND_API.G_MISS_NUM
7090: ,p_quote_retrieval_number IN NUMBER := FND_API.G_MISS_NUM
7091: ,p_minisite_id IN NUMBER := FND_API.G_MISS_NUM
7092: ,p_validate_user IN VARCHAR2 := FND_API.G_FALSE
7093: ,p_url IN VARCHAR2 := FND_API.G_MISS_CHAR
7094: ,x_contract_id OUT NOCOPY OKC_K_HEADERS_B.ID%TYPE
7095: ,x_contract_number OUT NOCOPY OKC_K_HEADERS_B.CONTRACT_NUMBER%TYPE
7096: ,x_return_status OUT NOCOPY VARCHAR2
7097: ,x_msg_count OUT NOCOPY NUMBER
7112: END IF;
7113:
7114:
7115: -- Standard call to check for call compatibility.
7116: IF NOT FND_API.Compatible_API_Call(l_api_version,
7117: P_Api_Version_Number,
7118: l_api_name ,
7119: G_PKG_NAME )
7120: THEN
7117: P_Api_Version_Number,
7118: l_api_name ,
7119: G_PKG_NAME )
7120: THEN
7121: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7122: END IF;
7123:
7124: -- Initialize message list if p_init_msg_list is set to TRUE.
7125: IF FND_API.To_Boolean(p_Init_Msg_List) THEN
7121: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7122: END IF;
7123:
7124: -- Initialize message list if p_init_msg_list is set to TRUE.
7125: IF FND_API.To_Boolean(p_Init_Msg_List) THEN
7126: FND_Msg_Pub.initialize;
7127: END IF;
7128: -- Initialize API return status to success
7129: x_return_status := FND_API.G_RET_STS_SUCCESS;
7125: IF FND_API.To_Boolean(p_Init_Msg_List) THEN
7126: FND_Msg_Pub.initialize;
7127: END IF;
7128: -- Initialize API return status to success
7129: x_return_status := FND_API.G_RET_STS_SUCCESS;
7130:
7131: -- API body
7132:
7133: -- User Authentication
7141: ,x_return_status => x_return_status
7142: ,x_msg_count => x_msg_count
7143: ,x_msg_data => x_msg_data
7144: );
7145: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
7146: RAISE FND_API.G_EXC_ERROR;
7147: END IF;
7148:
7149: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
7142: ,x_msg_count => x_msg_count
7143: ,x_msg_data => x_msg_data
7144: );
7145: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
7146: RAISE FND_API.G_EXC_ERROR;
7147: END IF;
7148:
7149: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
7150: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7145: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
7146: RAISE FND_API.G_EXC_ERROR;
7147: END IF;
7148:
7149: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
7150: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7151: END IF;
7152:
7153: --commented by makulkar for the bug 2572588.
7146: RAISE FND_API.G_EXC_ERROR;
7147: END IF;
7148:
7149: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
7150: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7151: END IF;
7152:
7153: --commented by makulkar for the bug 2572588.
7154: /*
7184: ,p_rel_type => p_rel_type
7185: ,p_terms_agreed_flag => p_terms_agreed_flag
7186: );
7187:
7188: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
7189: RAISE FND_API.G_EXC_ERROR;
7190: END IF;
7191:
7192: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
7185: ,p_terms_agreed_flag => p_terms_agreed_flag
7186: );
7187:
7188: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
7189: RAISE FND_API.G_EXC_ERROR;
7190: END IF;
7191:
7192: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
7193: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7188: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
7189: RAISE FND_API.G_EXC_ERROR;
7190: END IF;
7191:
7192: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
7193: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7194: END IF;
7195:
7196: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
7189: RAISE FND_API.G_EXC_ERROR;
7190: END IF;
7191:
7192: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
7193: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7194: END IF;
7195:
7196: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
7197: IBE_Util.Debug('create contract, output contract_id ='||x_contract_id);
7206: p_quote_header_id => p_quote_id ,
7207: P_minisite_id => p_minisite_id ,
7208: p_api_version => P_Api_Version_Number,
7209: p_url => p_url ,
7210: p_init_msg_list => FND_API.G_FALSE ,
7211: p_commit => FND_API.G_FALSE ,
7212: x_return_status => x_return_status ,
7213: x_msg_count => x_msg_count ,
7214: x_msg_data => x_msg_data );
7207: P_minisite_id => p_minisite_id ,
7208: p_api_version => P_Api_Version_Number,
7209: p_url => p_url ,
7210: p_init_msg_list => FND_API.G_FALSE ,
7211: p_commit => FND_API.G_FALSE ,
7212: x_return_status => x_return_status ,
7213: x_msg_count => x_msg_count ,
7214: x_msg_data => x_msg_data );
7215:
7212: x_return_status => x_return_status ,
7213: x_msg_count => x_msg_count ,
7214: x_msg_data => x_msg_data );
7215:
7216: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7217: RAISE FND_API.G_EXC_ERROR;
7218: END IF;
7219: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7220: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7213: x_msg_count => x_msg_count ,
7214: x_msg_data => x_msg_data );
7215:
7216: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7217: RAISE FND_API.G_EXC_ERROR;
7218: END IF;
7219: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7220: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7221: END IF;
7215:
7216: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7217: RAISE FND_API.G_EXC_ERROR;
7218: END IF;
7219: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7220: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7221: END IF;
7222: IF(IBE_UTIL.G_DEBUGON = 'Y') THEN
7223: IBE_UTIL.DEBUG('Done calling share_readonly');
7216: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7217: RAISE FND_API.G_EXC_ERROR;
7218: END IF;
7219: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7220: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7221: END IF;
7222: IF(IBE_UTIL.G_DEBUGON = 'Y') THEN
7223: IBE_UTIL.DEBUG('Done calling share_readonly');
7224: IBE_UTIL.DEBUG('Create_contract:Calling deactivate API');
7228: P_Quote_header_id => p_quote_id ,
7229: P_Party_id => p_party_id ,
7230: P_Cust_account_id => p_cust_account_id ,
7231: p_api_version => P_Api_Version_Number,
7232: p_init_msg_list => fnd_api.g_false ,
7233: p_commit => fnd_api.g_false ,
7234: x_return_status => x_return_status ,
7235: x_msg_count => x_msg_count ,
7236: x_msg_data => x_msg_data );
7229: P_Party_id => p_party_id ,
7230: P_Cust_account_id => p_cust_account_id ,
7231: p_api_version => P_Api_Version_Number,
7232: p_init_msg_list => fnd_api.g_false ,
7233: p_commit => fnd_api.g_false ,
7234: x_return_status => x_return_status ,
7235: x_msg_count => x_msg_count ,
7236: x_msg_data => x_msg_data );
7237: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7233: p_commit => fnd_api.g_false ,
7234: x_return_status => x_return_status ,
7235: x_msg_count => x_msg_count ,
7236: x_msg_data => x_msg_data );
7237: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7238: RAISE FND_API.G_EXC_ERROR;
7239: END IF;
7240:
7241: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7234: x_return_status => x_return_status ,
7235: x_msg_count => x_msg_count ,
7236: x_msg_data => x_msg_data );
7237: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7238: RAISE FND_API.G_EXC_ERROR;
7239: END IF;
7240:
7241: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7242: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7237: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7238: RAISE FND_API.G_EXC_ERROR;
7239: END IF;
7240:
7241: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7242: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7243: END IF;
7244: IF(IBE_UTIL.G_DEBUGON = 'Y') THEN
7245: IBE_UTIL.DEBUG('Create_Contract:Deactivate owner cart after creating the contract:Done');
7238: RAISE FND_API.G_EXC_ERROR;
7239: END IF;
7240:
7241: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7242: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7243: END IF;
7244: IF(IBE_UTIL.G_DEBUGON = 'Y') THEN
7245: IBE_UTIL.DEBUG('Create_Contract:Deactivate owner cart after creating the contract:Done');
7246: END IF;
7247:
7248:
7249:
7250: -- Standard call to get message count and if count is 1, get message info.
7251: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
7252: p_count => x_msg_count ,
7253: p_data => x_msg_data);
7254: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
7255: IBE_Util.Debug('End IBE_Quote_Save_pvt.getHdrDefaultTaxExemption()');
7258:
7259:
7260: EXCEPTION
7261:
7262: WHEN FND_API.G_EXC_ERROR THEN
7263: ROLLBACK TO CREATECONTRACTFORQUOTE_pvt;
7264: x_return_status := FND_API.G_RET_STS_ERROR;
7265: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
7266: p_count => x_msg_count,
7260: EXCEPTION
7261:
7262: WHEN FND_API.G_EXC_ERROR THEN
7263: ROLLBACK TO CREATECONTRACTFORQUOTE_pvt;
7264: x_return_status := FND_API.G_RET_STS_ERROR;
7265: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
7266: p_count => x_msg_count,
7267: p_data => x_msg_data);
7268:
7261:
7262: WHEN FND_API.G_EXC_ERROR THEN
7263: ROLLBACK TO CREATECONTRACTFORQUOTE_pvt;
7264: x_return_status := FND_API.G_RET_STS_ERROR;
7265: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
7266: p_count => x_msg_count,
7267: p_data => x_msg_data);
7268:
7269: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7265: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
7266: p_count => x_msg_count,
7267: p_data => x_msg_data);
7268:
7269: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7270: ROLLBACK TO CREATECONTRACTFORQUOTE_pvt;
7271: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7272: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
7273: p_count => x_msg_count,
7267: p_data => x_msg_data);
7268:
7269: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7270: ROLLBACK TO CREATECONTRACTFORQUOTE_pvt;
7271: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7272: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
7273: p_count => x_msg_count,
7274: p_data => x_msg_data);
7275:
7268:
7269: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7270: ROLLBACK TO CREATECONTRACTFORQUOTE_pvt;
7271: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7272: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
7273: p_count => x_msg_count,
7274: p_data => x_msg_data);
7275:
7276: WHEN OTHERS THEN
7274: p_data => x_msg_data);
7275:
7276: WHEN OTHERS THEN
7277: ROLLBACK TO CREATECONTRACTFORQUOTE_pvt;
7278: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7279:
7280: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
7281: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME,
7282: l_api_name);
7281: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME,
7282: l_api_name);
7283: END IF;
7284:
7285: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
7286: p_count => x_msg_count,
7287: p_data => x_msg_data);
7288:
7289: END CREATE_CONTRACT_FOR_QUOTE;
7291: -- Duplicate Cart feature for 11.5.11 MaithiliK
7292:
7293: PROCEDURE DUPLICATE_CART (
7294: P_Api_Version IN NUMBER ,
7295: p_Init_Msg_List IN VARCHAR2:= FND_API.G_FALSE ,
7296: p_Commit IN VARCHAR2:= FND_API.G_FALSE ,
7297: x_return_status OUT NOCOPY VARCHAR2 ,
7298: x_msg_count OUT NOCOPY NUMBER ,
7299: x_msg_data OUT NOCOPY VARCHAR2 ,
7292:
7293: PROCEDURE DUPLICATE_CART (
7294: P_Api_Version IN NUMBER ,
7295: p_Init_Msg_List IN VARCHAR2:= FND_API.G_FALSE ,
7296: p_Commit IN VARCHAR2:= FND_API.G_FALSE ,
7297: x_return_status OUT NOCOPY VARCHAR2 ,
7298: x_msg_count OUT NOCOPY NUMBER ,
7299: x_msg_data OUT NOCOPY VARCHAR2 ,
7300: x_last_update_date OUT NOCOPY Date ,
7299: x_msg_data OUT NOCOPY VARCHAR2 ,
7300: x_last_update_date OUT NOCOPY Date ,
7301: x_quote_header_id OUT NOCOPY NUMBER ,
7302: p_last_update_date IN Date ,
7303: p_quote_header_id IN NUMBER:= FND_API.G_MISS_NUM,
7304: p_party_id IN NUMBER:= FND_API.G_MISS_NUM,
7305: p_cust_account_id IN NUMBER:= FND_API.G_MISS_NUM,
7306: p_validate_user IN VARCHAR2:= FND_API.G_FALSE ,
7307: P_new_quote_name IN VARCHAR2 ,
7300: x_last_update_date OUT NOCOPY Date ,
7301: x_quote_header_id OUT NOCOPY NUMBER ,
7302: p_last_update_date IN Date ,
7303: p_quote_header_id IN NUMBER:= FND_API.G_MISS_NUM,
7304: p_party_id IN NUMBER:= FND_API.G_MISS_NUM,
7305: p_cust_account_id IN NUMBER:= FND_API.G_MISS_NUM,
7306: p_validate_user IN VARCHAR2:= FND_API.G_FALSE ,
7307: P_new_quote_name IN VARCHAR2 ,
7308: p_retrieval_number IN NUMBER := FND_API.G_MISS_NUM,
7301: x_quote_header_id OUT NOCOPY NUMBER ,
7302: p_last_update_date IN Date ,
7303: p_quote_header_id IN NUMBER:= FND_API.G_MISS_NUM,
7304: p_party_id IN NUMBER:= FND_API.G_MISS_NUM,
7305: p_cust_account_id IN NUMBER:= FND_API.G_MISS_NUM,
7306: p_validate_user IN VARCHAR2:= FND_API.G_FALSE ,
7307: P_new_quote_name IN VARCHAR2 ,
7308: p_retrieval_number IN NUMBER := FND_API.G_MISS_NUM,
7309: p_minisite_id IN NUMBER ) is
7302: p_last_update_date IN Date ,
7303: p_quote_header_id IN NUMBER:= FND_API.G_MISS_NUM,
7304: p_party_id IN NUMBER:= FND_API.G_MISS_NUM,
7305: p_cust_account_id IN NUMBER:= FND_API.G_MISS_NUM,
7306: p_validate_user IN VARCHAR2:= FND_API.G_FALSE ,
7307: P_new_quote_name IN VARCHAR2 ,
7308: p_retrieval_number IN NUMBER := FND_API.G_MISS_NUM,
7309: p_minisite_id IN NUMBER ) is
7310:
7304: p_party_id IN NUMBER:= FND_API.G_MISS_NUM,
7305: p_cust_account_id IN NUMBER:= FND_API.G_MISS_NUM,
7306: p_validate_user IN VARCHAR2:= FND_API.G_FALSE ,
7307: P_new_quote_name IN VARCHAR2 ,
7308: p_retrieval_number IN NUMBER := FND_API.G_MISS_NUM,
7309: p_minisite_id IN NUMBER ) is
7310:
7311: CURSOR c_check_for_quote(c_quote_header_id NUMBER) IS
7312: SELECT count(*) is_published_quote
7358: lx_msg_count NUMBER;
7359: lx_msg_data VARCHAR2(2000);
7360: lx_last_update_date DATE;
7361:
7362: l_exp_date_profile_value NUMBER := FND_API.G_MISS_NUM;
7363: l_controlled_copy VARCHAR2(2) := FND_API.G_FALSE;
7364: l_copy_quote_header_rec ASO_Copy_Quote_Pub.Copy_Quote_Header_Rec_Type
7365: := ASO_Copy_Quote_Pub.G_MISS_Copy_Quote_Header_Rec;
7366: l_copy_quote_control_rec ASO_Copy_Quote_Pub.Copy_Quote_Control_Rec_Type
7359: lx_msg_data VARCHAR2(2000);
7360: lx_last_update_date DATE;
7361:
7362: l_exp_date_profile_value NUMBER := FND_API.G_MISS_NUM;
7363: l_controlled_copy VARCHAR2(2) := FND_API.G_FALSE;
7364: l_copy_quote_header_rec ASO_Copy_Quote_Pub.Copy_Quote_Header_Rec_Type
7365: := ASO_Copy_Quote_Pub.G_MISS_Copy_Quote_Header_Rec;
7366: l_copy_quote_control_rec ASO_Copy_Quote_Pub.Copy_Quote_Control_Rec_Type
7367: := ASO_Copy_Quote_Pub.G_MISS_Copy_Quote_Control_Rec;
7386: -- Standard Start of API savepoint
7387: SAVEPOINT Duplicate_Cart;
7388:
7389: -- Standard call to check for call compatibility.
7390: IF NOT FND_API.Compatible_API_Call(L_API_VERSION,
7391: p_api_version,
7392: L_API_NAME ,
7393: G_PKG_NAME )
7394: THEN
7391: p_api_version,
7392: L_API_NAME ,
7393: G_PKG_NAME )
7394: THEN
7395: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7396: END IF;
7397:
7398: -- Initialize message list if p_init_msg_list is set to TRUE.
7399: IF FND_API.To_Boolean(p_init_msg_list) THEN
7395: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7396: END IF;
7397:
7398: -- Initialize message list if p_init_msg_list is set to TRUE.
7399: IF FND_API.To_Boolean(p_init_msg_list) THEN
7400: FND_Msg_Pub.initialize;
7401: END IF;
7402: -- Initialize API return status to success
7403: x_return_status := FND_API.G_RET_STS_SUCCESS;
7399: IF FND_API.To_Boolean(p_init_msg_list) THEN
7400: FND_Msg_Pub.initialize;
7401: END IF;
7402: -- Initialize API return status to success
7403: x_return_status := FND_API.G_RET_STS_SUCCESS;
7404:
7405: --API Body
7406: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
7407: IBE_UTIL.DEBUG('DUPLICATE_CART: Before Calling log_environment_info');
7426: ,x_return_status => lx_return_status
7427: ,x_msg_count => lx_msg_count
7428: ,x_msg_data => lx_msg_data
7429: );
7430: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
7431: RAISE FND_API.G_EXC_ERROR;
7432: END IF;
7433: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7434: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7427: ,x_msg_count => lx_msg_count
7428: ,x_msg_data => lx_msg_data
7429: );
7430: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
7431: RAISE FND_API.G_EXC_ERROR;
7432: END IF;
7433: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7434: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7435: END IF;
7429: );
7430: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
7431: RAISE FND_API.G_EXC_ERROR;
7432: END IF;
7433: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7434: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7435: END IF;
7436:
7437: --Check for Shared Cart and Published Quote separately. If the cart is a Shared Cart (Even if end dated record)
7430: IF (lx_return_status = FND_API.G_RET_STS_ERROR) THEN
7431: RAISE FND_API.G_EXC_ERROR;
7432: END IF;
7433: IF (lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7434: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7435: END IF;
7436:
7437: --Check for Shared Cart and Published Quote separately. If the cart is a Shared Cart (Even if end dated record)
7438: --OR published quote then set the l_controlled_copy flag to TRUE.
7438: --OR published quote then set the l_controlled_copy flag to TRUE.
7439:
7440: FOR rec_is_shared_cart in c_is_shared_cart(p_quote_header_id) LOOP
7441: IF (nvl(rec_is_shared_cart.is_shared_cart,0) > 0) THEN
7442: l_controlled_copy := FND_API.G_TRUE;
7443: END IF;
7444: END LOOP;
7445:
7446: FOR rec_check_for_quote in c_check_for_quote(p_quote_header_id) LOOP
7444: END LOOP;
7445:
7446: FOR rec_check_for_quote in c_check_for_quote(p_quote_header_id) LOOP
7447: IF (nvl(rec_check_for_quote.is_published_quote,0) > 0) THEN
7448: l_controlled_copy := FND_API.G_TRUE;
7449: END IF;
7450: END LOOP;
7451:
7452: -- Get the expiration date from the Saved Cart expiration profile.
7462: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
7463: IBE_UTIL.DEBUG('DUPLICATE_CART: l_controlled_copy='||l_controlled_copy);
7464: END IF;
7465:
7466: IF (l_controlled_copy = FND_API.G_TRUE) THEN
7467: IBE_UTIL.DEBUG('l controlled copy is true, so calling istore apis for DUPLICATE');
7468: -- get order_type_id from the original quote header
7469: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
7470: IBE_Util.Debug('Getting order_type_id,currency code from original quote header ' || p_quote_header_id);
7498:
7499: -- get all line related information from original quote header id with p_mode = 'CONTROLLED_COPY'
7500: ibe_quote_saveshare_pvt.Copy_Lines
7501: ( p_api_version_number => 1.0
7502: ,p_init_msg_list => FND_API.G_FALSE
7503: ,p_commit => FND_API.G_FALSE
7504: ,x_Return_Status => x_Return_Status
7505: ,x_Msg_Count => x_Msg_Count
7506: ,x_Msg_Data => x_Msg_Data
7499: -- get all line related information from original quote header id with p_mode = 'CONTROLLED_COPY'
7500: ibe_quote_saveshare_pvt.Copy_Lines
7501: ( p_api_version_number => 1.0
7502: ,p_init_msg_list => FND_API.G_FALSE
7503: ,p_commit => FND_API.G_FALSE
7504: ,x_Return_Status => x_Return_Status
7505: ,x_Msg_Count => x_Msg_Count
7506: ,x_Msg_Data => x_Msg_Data
7507: ,p_from_quote_header_id => p_quote_header_id
7515: ,x_Price_Adjustment_tbl => l_Price_Adjustment_tbl
7516: ,x_Price_Adj_Rltship_tbl => l_Price_Adj_Rltship_tbl
7517: );
7518:
7519: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7520: RAISE FND_API.G_EXC_ERROR;
7521: END IF;
7522: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7523: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7516: ,x_Price_Adj_Rltship_tbl => l_Price_Adj_Rltship_tbl
7517: );
7518:
7519: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7520: RAISE FND_API.G_EXC_ERROR;
7521: END IF;
7522: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7523: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7524: END IF;
7518:
7519: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7520: RAISE FND_API.G_EXC_ERROR;
7521: END IF;
7522: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7523: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7524: END IF;
7525:
7526: l_to_hd_shipment_tbl(1).quote_header_id := l_to_qte_header_rec.quote_header_id;
7519: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7520: RAISE FND_API.G_EXC_ERROR;
7521: END IF;
7522: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7523: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7524: END IF;
7525:
7526: l_to_hd_shipment_tbl(1).quote_header_id := l_to_qte_header_rec.quote_header_id;
7527:
7527:
7528: -- Setup control record for pricing
7529: l_control_rec.pricing_request_type := 'ASO';
7530: l_control_rec.header_pricing_event := l_header_pricing_event;
7531: l_control_rec.line_pricing_event := FND_API.G_MISS_CHAR;
7532: l_control_rec.calculate_freight_charge_flag := 'Y';
7533: l_control_rec.calculate_tax_flag := 'Y';
7534:
7535: -- Call save api to create a quote.
7534:
7535: -- Call save api to create a quote.
7536: IBE_Quote_Save_pvt.save(
7537: p_api_version_number => 1.0
7538: ,p_init_msg_list => FND_API.G_FALSE
7539: ,p_commit => FND_API.G_FALSE
7540: ,p_qte_header_rec => l_to_qte_header_rec
7541: ,p_Qte_Line_Tbl => l_to_qte_line_tbl
7542: ,p_Qte_Line_Dtl_Tbl => l_to_Qte_Line_Dtl_Tbl
7535: -- Call save api to create a quote.
7536: IBE_Quote_Save_pvt.save(
7537: p_api_version_number => 1.0
7538: ,p_init_msg_list => FND_API.G_FALSE
7539: ,p_commit => FND_API.G_FALSE
7540: ,p_qte_header_rec => l_to_qte_header_rec
7541: ,p_Qte_Line_Tbl => l_to_qte_line_tbl
7542: ,p_Qte_Line_Dtl_Tbl => l_to_Qte_Line_Dtl_Tbl
7543: ,p_Line_rltship_tbl => l_to_Line_rltship_tbl
7549: ,x_return_status => x_return_status
7550: ,x_msg_count => x_msg_count
7551: ,x_msg_data => x_msg_data
7552: );
7553: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7554: RAISE FND_API.G_EXC_ERROR;
7555: END IF;
7556: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7557: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7550: ,x_msg_count => x_msg_count
7551: ,x_msg_data => x_msg_data
7552: );
7553: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7554: RAISE FND_API.G_EXC_ERROR;
7555: END IF;
7556: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7557: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7558: END IF;
7552: );
7553: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7554: RAISE FND_API.G_EXC_ERROR;
7555: END IF;
7556: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7557: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7558: END IF;
7559:
7560:
7553: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7554: RAISE FND_API.G_EXC_ERROR;
7555: END IF;
7556: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7557: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7558: END IF;
7559:
7560:
7561:
7580: END IF;
7581:
7582: ASO_Copy_Quote_Pub.Copy_Quote(
7583: p_api_Version_Number => 1.0,
7584: p_init_msg_list => FND_API.G_FALSE,
7585: p_commit => FND_API.G_FALSE,
7586: p_copy_quote_header_rec => l_copy_quote_header_rec,
7587: p_copy_quote_control_rec => l_copy_quote_control_rec,
7588: x_qte_header_id => lx_quote_header_id,
7581:
7582: ASO_Copy_Quote_Pub.Copy_Quote(
7583: p_api_Version_Number => 1.0,
7584: p_init_msg_list => FND_API.G_FALSE,
7585: p_commit => FND_API.G_FALSE,
7586: p_copy_quote_header_rec => l_copy_quote_header_rec,
7587: p_copy_quote_control_rec => l_copy_quote_control_rec,
7588: x_qte_header_id => lx_quote_header_id,
7589: x_qte_number => lx_quote_number,
7595: IBE_UTIL.DEBUG('DUPLICATE_CART: After ASO Copy Quote call, return status='||lx_return_status);
7596: IBE_UTIL.DEBUG('DUPLICATE_CART: After ASO Copy Quote call, new quote header id='||lx_quote_header_id);
7597: END IF;
7598:
7599: IF lx_return_status = FND_API.G_RET_STS_ERROR THEN
7600: RAISE FND_API.G_EXC_ERROR;
7601: END IF;
7602:
7603: IF lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
7596: IBE_UTIL.DEBUG('DUPLICATE_CART: After ASO Copy Quote call, new quote header id='||lx_quote_header_id);
7597: END IF;
7598:
7599: IF lx_return_status = FND_API.G_RET_STS_ERROR THEN
7600: RAISE FND_API.G_EXC_ERROR;
7601: END IF;
7602:
7603: IF lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
7604: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7599: IF lx_return_status = FND_API.G_RET_STS_ERROR THEN
7600: RAISE FND_API.G_EXC_ERROR;
7601: END IF;
7602:
7603: IF lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
7604: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7605: END IF;
7606:
7607:
7600: RAISE FND_API.G_EXC_ERROR;
7601: END IF;
7602:
7603: IF lx_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
7604: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7605: END IF;
7606:
7607:
7608:
7611: END IF;
7612: x_quote_header_id := lx_quote_header_id;
7613:
7614: -- Standard call to get message count and if count is 1, get message info.
7615: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
7616: p_count => x_msg_count ,
7617: p_data => x_msg_data);
7618: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
7619: IBE_Util.Debug('End IBE_Quote_Save_pvt.Duplicate_cart');
7622:
7623:
7624: EXCEPTION
7625:
7626: WHEN FND_API.G_EXC_ERROR THEN
7627: ROLLBACK TO Duplicate_Cart;
7628: x_return_status := FND_API.G_RET_STS_ERROR;
7629: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
7630: p_count => x_msg_count,
7624: EXCEPTION
7625:
7626: WHEN FND_API.G_EXC_ERROR THEN
7627: ROLLBACK TO Duplicate_Cart;
7628: x_return_status := FND_API.G_RET_STS_ERROR;
7629: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
7630: p_count => x_msg_count,
7631: p_data => x_msg_data);
7632:
7625:
7626: WHEN FND_API.G_EXC_ERROR THEN
7627: ROLLBACK TO Duplicate_Cart;
7628: x_return_status := FND_API.G_RET_STS_ERROR;
7629: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
7630: p_count => x_msg_count,
7631: p_data => x_msg_data);
7632:
7633: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7629: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
7630: p_count => x_msg_count,
7631: p_data => x_msg_data);
7632:
7633: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7634: ROLLBACK TO Duplicate_Cart;
7635: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7636: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
7637: p_count => x_msg_count,
7631: p_data => x_msg_data);
7632:
7633: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7634: ROLLBACK TO Duplicate_Cart;
7635: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7636: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
7637: p_count => x_msg_count,
7638: p_data => x_msg_data);
7639:
7632:
7633: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7634: ROLLBACK TO Duplicate_Cart;
7635: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7636: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
7637: p_count => x_msg_count,
7638: p_data => x_msg_data);
7639:
7640: WHEN OTHERS THEN
7638: p_data => x_msg_data);
7639:
7640: WHEN OTHERS THEN
7641: ROLLBACK TO Duplicate_Cart;
7642: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7643:
7644: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
7645: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME,
7646: l_api_name);
7645: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME,
7646: l_api_name);
7647: END IF;
7648:
7649: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
7650: p_count => x_msg_count,
7651: p_data => x_msg_data);
7652:
7653:
7655:
7656: -- API NAME: RECONFIGURE_FROM_IB
7657: PROCEDURE RECONFIGURE_FROM_IB(
7658: p_api_version_number IN NUMBER := 1
7659: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
7660: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
7661: ,p_Control_Rec IN ASO_QUOTE_PUB.Control_Rec_Type
7662: := ASO_QUOTE_PUB.G_Miss_Control_Rec
7663: ,p_Qte_Header_Rec IN ASO_QUOTE_PUB.Qte_Header_Rec_Type
7656: -- API NAME: RECONFIGURE_FROM_IB
7657: PROCEDURE RECONFIGURE_FROM_IB(
7658: p_api_version_number IN NUMBER := 1
7659: ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
7660: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
7661: ,p_Control_Rec IN ASO_QUOTE_PUB.Control_Rec_Type
7662: := ASO_QUOTE_PUB.G_Miss_Control_Rec
7663: ,p_Qte_Header_Rec IN ASO_QUOTE_PUB.Qte_Header_Rec_Type
7664: := ASO_QUOTE_PUB.G_MISS_Qte_Header_Rec
7717: IBE_UTIL.DEBUG('Begin Reconfigure_Form_IB');
7718: END IF;
7719:
7720: -- Standard call to check for call compatibility.
7721: IF NOT FND_API.Compatible_API_Call(L_API_VERSION,
7722: P_Api_Version_Number,
7723: L_API_NAME ,
7724: G_PKG_NAME )
7725: THEN
7722: P_Api_Version_Number,
7723: L_API_NAME ,
7724: G_PKG_NAME )
7725: THEN
7726: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7727: END IF;
7728:
7729: -- Initialize message list if p_init_msg_list is set to TRUE.
7730: IF FND_API.To_Boolean(p_init_msg_list) THEN
7726: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7727: END IF;
7728:
7729: -- Initialize message list if p_init_msg_list is set to TRUE.
7730: IF FND_API.To_Boolean(p_init_msg_list) THEN
7731: FND_Msg_Pub.initialize;
7732: END IF;
7733: -- Initialize API return status to success
7734: x_return_status := FND_API.G_RET_STS_SUCCESS;
7730: IF FND_API.To_Boolean(p_init_msg_list) THEN
7731: FND_Msg_Pub.initialize;
7732: END IF;
7733: -- Initialize API return status to success
7734: x_return_status := FND_API.G_RET_STS_SUCCESS;
7735:
7736: --Call Check Instance Lock API
7737: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
7738: IBE_UTIL.DEBUG('API CSI_CZ_INT.Check_Item_Instance_Lock() Starts');
7747: ,x_return_status => x_return_status
7748: ,X_Msg_Count => x_Msg_Count
7749: ,X_Msg_Data => x_Msg_Data
7750: );
7751: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
7752: IF(l_instance_locked = TRUE) THEN
7753: IBE_UTIL.debug('Instance Id '||p_instance_ids(i)||' islocked');
7754: ELSE
7755: IBE_UTIL.debug('Instance Id '||p_instance_ids(i)||' isNotlocked');
7754: ELSE
7755: IBE_UTIL.debug('Instance Id '||p_instance_ids(i)||' isNotlocked');
7756: END IF;
7757: END IF;
7758: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7759: RAISE FND_API.G_EXC_ERROR;
7760: END IF;
7761: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7762: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7755: IBE_UTIL.debug('Instance Id '||p_instance_ids(i)||' isNotlocked');
7756: END IF;
7757: END IF;
7758: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7759: RAISE FND_API.G_EXC_ERROR;
7760: END IF;
7761: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7762: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7763: END IF;
7757: END IF;
7758: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7759: RAISE FND_API.G_EXC_ERROR;
7760: END IF;
7761: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7762: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7763: END IF;
7764: IF (l_instance_locked = TRUE) THEN
7765: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
7758: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7759: RAISE FND_API.G_EXC_ERROR;
7760: END IF;
7761: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7762: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7763: END IF;
7764: IF (l_instance_locked = TRUE) THEN
7765: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
7766: IBE_UTIL.debug('Instance Id '||p_instance_ids(i)||' is locked');
7761: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7762: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7763: END IF;
7764: IF (l_instance_locked = TRUE) THEN
7765: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
7766: IBE_UTIL.debug('Instance Id '||p_instance_ids(i)||' is locked');
7767: END IF;
7768: x_return_status := FND_API.G_RET_STS_ERROR;
7769: FND_MESSAGE.Set_Name('FND', 'SQL_PLSQL_ERROR');
7764: IF (l_instance_locked = TRUE) THEN
7765: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
7766: IBE_UTIL.debug('Instance Id '||p_instance_ids(i)||' is locked');
7767: END IF;
7768: x_return_status := FND_API.G_RET_STS_ERROR;
7769: FND_MESSAGE.Set_Name('FND', 'SQL_PLSQL_ERROR');
7770: FND_MESSAGE.Set_Token('ROUTINE', l_api_name);
7771: FND_MESSAGE.Set_Token('ERRNO', 'IB_INSTANCE_LOCKED');
7772: FND_MESSAGE.Set_Token('REASON','This instance is locked cannot reconfigure');
7773: FND_MSG_PUB.Add;
7774: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
7775: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME,l_api_name);
7776: END IF;
7777: RAISE FND_API.G_EXC_ERROR;
7778: END IF;
7779: END LOOP;
7780:
7781: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
7826: ,X_Return_Status => x_Return_Status
7827: ,X_Msg_Count => x_Msg_Count
7828: ,X_Msg_Data => x_Msg_Data
7829: );
7830: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7831: RAISE FND_API.G_EXC_ERROR;
7832: END IF;
7833: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7834: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7827: ,X_Msg_Count => x_Msg_Count
7828: ,X_Msg_Data => x_Msg_Data
7829: );
7830: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7831: RAISE FND_API.G_EXC_ERROR;
7832: END IF;
7833: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7834: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7835: END IF;
7829: );
7830: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7831: RAISE FND_API.G_EXC_ERROR;
7832: END IF;
7833: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7834: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7835: END IF;
7836: --Instantiate Quote_Header_Rec and InstanceTable
7837: l_Qte_Header_Rec.quote_header_id := lx_quote_header_id;
7830: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7831: RAISE FND_API.G_EXC_ERROR;
7832: END IF;
7833: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7834: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7835: END IF;
7836: --Instantiate Quote_Header_Rec and InstanceTable
7837: l_Qte_Header_Rec.quote_header_id := lx_quote_header_id;
7838: l_Qte_Header_Rec.last_update_date := lx_last_update_date;
7864: );
7865: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
7866: IBE_UTIL.DEBUG('API CSI_CZ_INT.Check_Item_Instance_Lock() Ends::x_return_status'||x_return_status);
7867: END IF;
7868: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7869: RAISE FND_API.G_EXC_ERROR;
7870: END IF;
7871: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7872: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7865: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
7866: IBE_UTIL.DEBUG('API CSI_CZ_INT.Check_Item_Instance_Lock() Ends::x_return_status'||x_return_status);
7867: END IF;
7868: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7869: RAISE FND_API.G_EXC_ERROR;
7870: END IF;
7871: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7872: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7873: END IF;
7867: END IF;
7868: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7869: RAISE FND_API.G_EXC_ERROR;
7870: END IF;
7871: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7872: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7873: END IF;
7874:
7875: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
7868: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
7869: RAISE FND_API.G_EXC_ERROR;
7870: END IF;
7871: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
7872: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7873: END IF;
7874:
7875: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
7876: IBE_UTIL.DEBUG('Ref cursor x_config_line begin');
7877: END IF;
7878: open x_config_line for l_refcursor_query using l_Qte_Header_Rec.quote_header_id;
7879: -- End of API body.
7880: -- Standard check of p_commit.
7881: IF FND_API.To_Boolean( p_commit ) THEN
7882: COMMIT WORK;
7883: END IF;
7884:
7885: -- Standard call to get message count and if count is 1, get message info.
7882: COMMIT WORK;
7883: END IF;
7884:
7885: -- Standard call to get message count and if count is 1, get message info.
7886: FND_Msg_Pub.Count_And_Get(p_encoded => FND_API.G_FALSE,
7887: p_count => x_msg_count ,
7888: p_data => x_msg_data);
7889: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
7890: IBE_Util.Debug('End IBE_Quote_Save_pvt.Reconfigure_from_ib() end');
7889: IF (IBE_UTIL.G_DEBUGON = l_true) THEN
7890: IBE_Util.Debug('End IBE_Quote_Save_pvt.Reconfigure_from_ib() end');
7891: END IF;
7892: EXCEPTION
7893: WHEN FND_API.G_EXC_ERROR THEN
7894: ROLLBACK TO Reconfigure_From_Ib;
7895: x_return_status := FND_API.G_RET_STS_ERROR;
7896: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
7897: p_count => x_msg_count,
7891: END IF;
7892: EXCEPTION
7893: WHEN FND_API.G_EXC_ERROR THEN
7894: ROLLBACK TO Reconfigure_From_Ib;
7895: x_return_status := FND_API.G_RET_STS_ERROR;
7896: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
7897: p_count => x_msg_count,
7898: p_data => x_msg_data);
7899:
7892: EXCEPTION
7893: WHEN FND_API.G_EXC_ERROR THEN
7894: ROLLBACK TO Reconfigure_From_Ib;
7895: x_return_status := FND_API.G_RET_STS_ERROR;
7896: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
7897: p_count => x_msg_count,
7898: p_data => x_msg_data);
7899:
7900: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7896: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
7897: p_count => x_msg_count,
7898: p_data => x_msg_data);
7899:
7900: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7901: ROLLBACK TO Reconfigure_From_Ib;
7902: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7903: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
7904: p_count => x_msg_count,
7898: p_data => x_msg_data);
7899:
7900: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7901: ROLLBACK TO Reconfigure_From_Ib;
7902: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7903: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
7904: p_count => x_msg_count,
7905: p_data => x_msg_data);
7906:
7899:
7900: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7901: ROLLBACK TO Reconfigure_From_Ib;
7902: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7903: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
7904: p_count => x_msg_count,
7905: p_data => x_msg_data);
7906:
7907: WHEN OTHERS THEN
7905: p_data => x_msg_data);
7906:
7907: WHEN OTHERS THEN
7908: ROLLBACK TO Reconfigure_From_Ib;
7909: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7910:
7911: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
7912: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME,
7913: l_api_name);
7912: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME,
7913: l_api_name);
7914: END IF;
7915:
7916: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
7917: p_count => x_msg_count,
7918: p_data => x_msg_data);
7919:
7920: END RECONFIGURE_FROM_IB;
7921:
7922: PROCEDURE ADD_CART_LEVEL_SERVICES(
7923: p_quote_header_id IN NUMBER,
7924: p_organization_id IN NUMBER,
7925: -- p_minisite_id IN NUMBER := FND_API.G_MISS_NUM,
7926: p_sva_line_id IN NUMBER,
7927: p_sva_line_qty IN NUMBER,
7928: p_svc_item_id_tbl IN JTF_NUMBER_TABLE,
7929: px_svc_period_tbl IN OUT NOCOPY JTF_VARCHAR2_TABLE_100,
7947: WHERE inventory_item_id = p_svc_item_id and organization_id = p_org_id;
7948:
7949: BEGIN
7950:
7951: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
7952: IBE_UTIL.debug('enter ADD_CART_LEVEL_SERVICES');
7953: END IF;
7954:
7955: IF px_svc_period_tbl IS NULL THEN
7956: px_svc_period_tbl := JTF_VARCHAR2_TABLE_100();
7957: px_svc_duration_tbl := JTF_NUMBER_TABLE();
7958: px_svc_uom_tbl := JTF_VARCHAR2_TABLE_100();
7959: l_load_svc_detail := TRUE;
7960: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
7961: IBE_UTIL.debug('l_load_svc_detail is true');
7962: END IF;
7963: ELSE
7964: l_load_svc_detail := FALSE;
7961: IBE_UTIL.debug('l_load_svc_detail is true');
7962: END IF;
7963: ELSE
7964: l_load_svc_detail := FALSE;
7965: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
7966: IBE_UTIL.debug('l_load_svc_detail is false');
7967: END IF;
7968: END IF;
7969:
7966: IBE_UTIL.debug('l_load_svc_detail is false');
7967: END IF;
7968: END IF;
7969:
7970: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
7971: IBE_UTIL.debug('loop through new svc items...');
7972: END IF;
7973: FOR i IN p_svc_item_id_tbl.FIRST..p_svc_item_id_tbl.LAST LOOP
7974: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
7970: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
7971: IBE_UTIL.debug('loop through new svc items...');
7972: END IF;
7973: FOR i IN p_svc_item_id_tbl.FIRST..p_svc_item_id_tbl.LAST LOOP
7974: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
7975: IBE_UTIL.debug('i='||i||', l_idx='||l_idx);
7976: END IF;
7977: IF l_load_svc_detail THEN
7978: px_svc_period_tbl.EXTEND;
7977: IF l_load_svc_detail THEN
7978: px_svc_period_tbl.EXTEND;
7979: px_svc_duration_tbl.EXTEND;
7980: px_svc_uom_tbl.EXTEND;
7981: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
7982: IBE_UTIL.debug('fetch service duration, period, and uom...');
7983: IBE_UTIL.debug('p_svc_item_id_tbl('||i||')='||p_svc_item_id_tbl(i));
7984: IBE_UTIL.debug('p_organization_id='||p_organization_id);
7985: END IF;
7986: OPEN c_get_svc_detail(p_svc_item_id_tbl(i),p_organization_id);
7987: FETCH c_get_svc_detail into px_svc_uom_tbl(l_idx),
7988: px_svc_period_tbl(l_idx),px_svc_duration_tbl(l_idx);
7989: CLOSE c_get_svc_detail;
7990: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
7991: IBE_UTIL.debug('fetch is completed:');
7992: IBE_UTIL.debug('px_svc_uom_tbl('||l_idx||')='||px_svc_uom_tbl(l_idx));
7993: IBE_UTIL.debug('px_svc_period_tbl('||l_idx||')='||px_svc_period_tbl(l_idx));
7994: IBE_UTIL.debug('px_svc_duration_tbl('||l_idx||')='||px_svc_duration_tbl(l_idx));
7994: IBE_UTIL.debug('px_svc_duration_tbl('||l_idx||')='||px_svc_duration_tbl(l_idx));
7995: END IF;
7996: END IF;
7997:
7998: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
7999: IBE_UTIL.debug('populate line rec, px_line_rec_index='||px_line_rec_index);
8000: END IF;
8001: px_quote_line_tbl(px_line_rec_index).item_type_code := 'SRV';
8002: px_quote_line_tbl(px_line_rec_index).operation_code := 'CREATE';
8009: -- ASO will derive the correct service quantities from SVA line
8010: px_quote_line_tbl(px_line_rec_index).quantity := p_sva_line_qty;
8011: --px_quote_line_tbl(px_line_rec_index).minisite_id := p_minisite_id;
8012:
8013: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8014: IBE_UTIL.debug('populate line detail rec, px_dtl_rec_index='||px_dtl_rec_index);
8015: END IF;
8016: px_quote_line_dtl_tbl(px_dtl_rec_index).operation_code := 'CREATE';
8017: px_quote_line_dtl_tbl(px_dtl_rec_index).service_ref_line_id := p_sva_line_id;
8021: IF px_svc_duration_tbl(l_idx) IS NOT NULL THEN
8022: px_quote_line_dtl_tbl(px_dtl_rec_index).service_duration := px_svc_duration_tbl(l_idx);
8023: END IF;
8024:
8025: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8026: IBE_UTIL.debug('moving to next svc item ...');
8027: END IF;
8028: px_line_rec_index := px_line_rec_index + 1;
8029: px_dtl_rec_index := px_dtl_rec_index + 1;
8028: px_line_rec_index := px_line_rec_index + 1;
8029: px_dtl_rec_index := px_dtl_rec_index + 1;
8030: l_idx := l_idx + 1;
8031: END LOOP;
8032: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8033: IBE_UTIL.debug('exit ADD_CART_LEVEL_SERVICES with success');
8034: END IF;
8035: END ADD_CART_LEVEL_SERVICES;
8036:
8035: END ADD_CART_LEVEL_SERVICES;
8036:
8037: PROCEDURE UPDATE_SUPPORT_AND_QUANTITY(
8038: p_api_version IN NUMBER,
8039: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
8040: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
8041: x_return_status OUT NOCOPY VARCHAR2,
8042: x_msg_count OUT NOCOPY NUMBER,
8043: x_msg_data OUT NOCOPY VARCHAR2,
8036:
8037: PROCEDURE UPDATE_SUPPORT_AND_QUANTITY(
8038: p_api_version IN NUMBER,
8039: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
8040: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
8041: x_return_status OUT NOCOPY VARCHAR2,
8042: x_msg_count OUT NOCOPY NUMBER,
8043: x_msg_data OUT NOCOPY VARCHAR2,
8044:
8045: p_quote_header_id IN NUMBER,
8046: p_quote_line_id_tbl IN JTF_NUMBER_TABLE := NULL,
8047: p_line_quantity_tbl IN JTF_NUMBER_TABLE := NULL,
8048: p_new_service_id_tbl IN JTF_NUMBER_TABLE := NULL,
8049: p_organization_id IN NUMBER := FND_API.G_MISS_NUM,
8050:
8051: p_party_id IN NUMBER := FND_API.G_MISS_NUM,
8052: p_cust_account_id IN NUMBER := FND_API.G_MISS_NUM,
8053: p_sharee_number IN NUMBER := FND_API.G_MISS_NUM,
8047: p_line_quantity_tbl IN JTF_NUMBER_TABLE := NULL,
8048: p_new_service_id_tbl IN JTF_NUMBER_TABLE := NULL,
8049: p_organization_id IN NUMBER := FND_API.G_MISS_NUM,
8050:
8051: p_party_id IN NUMBER := FND_API.G_MISS_NUM,
8052: p_cust_account_id IN NUMBER := FND_API.G_MISS_NUM,
8053: p_sharee_number IN NUMBER := FND_API.G_MISS_NUM,
8054:
8055: p_minisite_id IN NUMBER := FND_API.G_MISS_NUM,
8048: p_new_service_id_tbl IN JTF_NUMBER_TABLE := NULL,
8049: p_organization_id IN NUMBER := FND_API.G_MISS_NUM,
8050:
8051: p_party_id IN NUMBER := FND_API.G_MISS_NUM,
8052: p_cust_account_id IN NUMBER := FND_API.G_MISS_NUM,
8053: p_sharee_number IN NUMBER := FND_API.G_MISS_NUM,
8054:
8055: p_minisite_id IN NUMBER := FND_API.G_MISS_NUM,
8056: p_price_list_id IN NUMBER := FND_API.G_MISS_NUM,
8049: p_organization_id IN NUMBER := FND_API.G_MISS_NUM,
8050:
8051: p_party_id IN NUMBER := FND_API.G_MISS_NUM,
8052: p_cust_account_id IN NUMBER := FND_API.G_MISS_NUM,
8053: p_sharee_number IN NUMBER := FND_API.G_MISS_NUM,
8054:
8055: p_minisite_id IN NUMBER := FND_API.G_MISS_NUM,
8056: p_price_list_id IN NUMBER := FND_API.G_MISS_NUM,
8057: p_currency_code IN VARCHAR2 := FND_API.G_MISS_CHAR,
8051: p_party_id IN NUMBER := FND_API.G_MISS_NUM,
8052: p_cust_account_id IN NUMBER := FND_API.G_MISS_NUM,
8053: p_sharee_number IN NUMBER := FND_API.G_MISS_NUM,
8054:
8055: p_minisite_id IN NUMBER := FND_API.G_MISS_NUM,
8056: p_price_list_id IN NUMBER := FND_API.G_MISS_NUM,
8057: p_currency_code IN VARCHAR2 := FND_API.G_MISS_CHAR,
8058: p_header_pricing_event IN VARCHAR2 := FND_API.G_MISS_CHAR,
8059: p_save_type IN NUMBER := FND_API.G_MISS_NUM,
8052: p_cust_account_id IN NUMBER := FND_API.G_MISS_NUM,
8053: p_sharee_number IN NUMBER := FND_API.G_MISS_NUM,
8054:
8055: p_minisite_id IN NUMBER := FND_API.G_MISS_NUM,
8056: p_price_list_id IN NUMBER := FND_API.G_MISS_NUM,
8057: p_currency_code IN VARCHAR2 := FND_API.G_MISS_CHAR,
8058: p_header_pricing_event IN VARCHAR2 := FND_API.G_MISS_CHAR,
8059: p_save_type IN NUMBER := FND_API.G_MISS_NUM,
8060: p_last_update_date IN DATE := FND_API.G_MISS_DATE,
8053: p_sharee_number IN NUMBER := FND_API.G_MISS_NUM,
8054:
8055: p_minisite_id IN NUMBER := FND_API.G_MISS_NUM,
8056: p_price_list_id IN NUMBER := FND_API.G_MISS_NUM,
8057: p_currency_code IN VARCHAR2 := FND_API.G_MISS_CHAR,
8058: p_header_pricing_event IN VARCHAR2 := FND_API.G_MISS_CHAR,
8059: p_save_type IN NUMBER := FND_API.G_MISS_NUM,
8060: p_last_update_date IN DATE := FND_API.G_MISS_DATE,
8061: x_last_update_date IN OUT NOCOPY DATE
8054:
8055: p_minisite_id IN NUMBER := FND_API.G_MISS_NUM,
8056: p_price_list_id IN NUMBER := FND_API.G_MISS_NUM,
8057: p_currency_code IN VARCHAR2 := FND_API.G_MISS_CHAR,
8058: p_header_pricing_event IN VARCHAR2 := FND_API.G_MISS_CHAR,
8059: p_save_type IN NUMBER := FND_API.G_MISS_NUM,
8060: p_last_update_date IN DATE := FND_API.G_MISS_DATE,
8061: x_last_update_date IN OUT NOCOPY DATE
8062: )
8055: p_minisite_id IN NUMBER := FND_API.G_MISS_NUM,
8056: p_price_list_id IN NUMBER := FND_API.G_MISS_NUM,
8057: p_currency_code IN VARCHAR2 := FND_API.G_MISS_CHAR,
8058: p_header_pricing_event IN VARCHAR2 := FND_API.G_MISS_CHAR,
8059: p_save_type IN NUMBER := FND_API.G_MISS_NUM,
8060: p_last_update_date IN DATE := FND_API.G_MISS_DATE,
8061: x_last_update_date IN OUT NOCOPY DATE
8062: )
8063: IS
8056: p_price_list_id IN NUMBER := FND_API.G_MISS_NUM,
8057: p_currency_code IN VARCHAR2 := FND_API.G_MISS_CHAR,
8058: p_header_pricing_event IN VARCHAR2 := FND_API.G_MISS_CHAR,
8059: p_save_type IN NUMBER := FND_API.G_MISS_NUM,
8060: p_last_update_date IN DATE := FND_API.G_MISS_DATE,
8061: x_last_update_date IN OUT NOCOPY DATE
8062: )
8063: IS
8064: l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_SUPPORT_AND_QUANTITY';
8063: IS
8064: l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_SUPPORT_AND_QUANTITY';
8065: l_api_version CONSTANT NUMBER := 1.0;
8066:
8067: l_sharee_party_id NUMBER := FND_API.G_MISS_NUM;
8068: l_sharee_cust_account_id NUMBER := FND_API.G_MISS_NUM;
8069:
8070: l_quote_line_id_tbl JTF_NUMBER_TABLE := p_quote_line_id_tbl;
8071: l_line_quantity_tbl JTF_NUMBER_TABLE := p_line_quantity_tbl;
8064: l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_SUPPORT_AND_QUANTITY';
8065: l_api_version CONSTANT NUMBER := 1.0;
8066:
8067: l_sharee_party_id NUMBER := FND_API.G_MISS_NUM;
8068: l_sharee_cust_account_id NUMBER := FND_API.G_MISS_NUM;
8069:
8070: l_quote_line_id_tbl JTF_NUMBER_TABLE := p_quote_line_id_tbl;
8071: l_line_quantity_tbl JTF_NUMBER_TABLE := p_line_quantity_tbl;
8072: l_new_service_id_tbl JTF_NUMBER_TABLE := p_new_service_id_tbl;
8114: SAVEPOINT UPDATE_SUPPORT_LEVEL_AND_QTY;
8115:
8116: -- Standard initialization tasks
8117: -- Standard call to check for call compatibility.
8118: IF NOT FND_API.Compatible_API_Call (l_api_version,p_api_version,l_api_name,G_PKG_NAME) THEN
8119: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8120: END IF;
8121:
8122: -- Initialize message list if p_init_msg_list is set to TRUE.
8115:
8116: -- Standard initialization tasks
8117: -- Standard call to check for call compatibility.
8118: IF NOT FND_API.Compatible_API_Call (l_api_version,p_api_version,l_api_name,G_PKG_NAME) THEN
8119: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8120: END IF;
8121:
8122: -- Initialize message list if p_init_msg_list is set to TRUE.
8123: IF FND_API.to_Boolean(p_init_msg_list) THEN
8119: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8120: END IF;
8121:
8122: -- Initialize message list if p_init_msg_list is set to TRUE.
8123: IF FND_API.to_Boolean(p_init_msg_list) THEN
8124: FND_MSG_PUB.initialize;
8125: END IF;
8126:
8127: -- Initialize API return status to success.
8124: FND_MSG_PUB.initialize;
8125: END IF;
8126:
8127: -- Initialize API return status to success.
8128: x_return_status := FND_API.G_RET_STS_SUCCESS;
8129:
8130: -- Print debugging info.
8131: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8132: IBE_UTIL.debug(G_PKG_NAME||'.'||l_api_name||' Begin');
8127: -- Initialize API return status to success.
8128: x_return_status := FND_API.G_RET_STS_SUCCESS;
8129:
8130: -- Print debugging info.
8131: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8132: IBE_UTIL.debug(G_PKG_NAME||'.'||l_api_name||' Begin');
8133: IBE_UTIL.debug('p_quote_header_id = ' || p_quote_header_id);
8134: END IF;
8135:
8134: END IF;
8135:
8136: IF p_quote_line_id_tbl IS NOT NULL THEN
8137: l_line_rec_size := p_quote_line_id_tbl.count;
8138: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8139: IBE_UTIL.debug('p_quote_line_id_tbl.count= ' ||l_line_rec_size);
8140: END IF;
8141: END IF;
8142:
8141: END IF;
8142:
8143: IF p_line_quantity_tbl IS NOT NULL THEN
8144: l_line_qty_size := p_line_quantity_tbl.count;
8145: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8146: IBE_UTIL.debug('p_line_quantity_tbl.count= ' || l_line_qty_size);
8147: END IF;
8148: END IF;
8149:
8148: END IF;
8149:
8150: IF p_new_service_id_tbl IS NOT NULL THEN
8151: l_new_service_size := p_new_service_id_tbl.count;
8152: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8153: IBE_UTIL.debug('p_new_service_id_tbl.count= ' || l_new_service_size);
8154: END IF;
8155: END IF;
8156:
8155: END IF;
8156:
8157: -- validating input parameters
8158: IF p_quote_header_id IS NULL THEN
8159: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8160: IBE_UTIL.debug('Invalid input parameters, quote header id is null');
8161: END IF;
8162: x_return_status := FND_API.G_RET_STS_ERROR;
8163: FND_MESSAGE.Set_Name('FND', 'SQL_PLSQL_ERROR');
8158: IF p_quote_header_id IS NULL THEN
8159: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8160: IBE_UTIL.debug('Invalid input parameters, quote header id is null');
8161: END IF;
8162: x_return_status := FND_API.G_RET_STS_ERROR;
8163: FND_MESSAGE.Set_Name('FND', 'SQL_PLSQL_ERROR');
8164: FND_MESSAGE.Set_Token('ROUTINE', l_api_name);
8165: FND_MESSAGE.Set_Token('ERRNO', 'IBE_ST_INVALID_OPERATION');
8166: FND_MESSAGE.Set_Token('REASON', 'quote header id is null');
8167: FND_MSG_PUB.Add;
8168: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
8169: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME,l_api_name);
8170: END IF;
8171: RAISE FND_API.G_EXC_ERROR;
8172: END IF;
8173:
8174: IF l_line_qty_size>0 AND l_line_qty_size = l_line_rec_size THEN
8175: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8171: RAISE FND_API.G_EXC_ERROR;
8172: END IF;
8173:
8174: IF l_line_qty_size>0 AND l_line_qty_size = l_line_rec_size THEN
8175: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8176: IBE_UTIL.debug('Need to update quantity');
8177: END IF;
8178: ELSIF l_line_qty_size=0 THEN
8179: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8175: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8176: IBE_UTIL.debug('Need to update quantity');
8177: END IF;
8178: ELSIF l_line_qty_size=0 THEN
8179: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8180: IBE_UTIL.debug('No need to update quantity');
8181: END IF;
8182: ELSE
8183: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8179: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8180: IBE_UTIL.debug('No need to update quantity');
8181: END IF;
8182: ELSE
8183: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8184: IBE_UTIL.debug('Invalid input parameters, size of line records does not match size of line quantities');
8185: END IF;
8186: x_return_status := FND_API.G_RET_STS_ERROR;
8187: FND_MESSAGE.Set_Name('FND', 'SQL_PLSQL_ERROR');
8182: ELSE
8183: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8184: IBE_UTIL.debug('Invalid input parameters, size of line records does not match size of line quantities');
8185: END IF;
8186: x_return_status := FND_API.G_RET_STS_ERROR;
8187: FND_MESSAGE.Set_Name('FND', 'SQL_PLSQL_ERROR');
8188: FND_MESSAGE.Set_Token('ROUTINE', l_api_name);
8189: FND_MESSAGE.Set_Token('ERRNO', 'IBE_ST_INVALID_OPERATION');
8190: FND_MESSAGE.Set_Token('REASON', 'size of line records does not match size of line quantities');
8191: FND_MSG_PUB.Add;
8192: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
8193: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME,l_api_name);
8194: END IF;
8195: RAISE FND_API.G_EXC_ERROR;
8196: END IF;
8197:
8198: -- update quantities
8199: IF l_line_qty_size>0 THEN
8196: END IF;
8197:
8198: -- update quantities
8199: IF l_line_qty_size>0 THEN
8200: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8201: IBE_UTIL.debug('updating quantities, l_line_rec_index='||l_line_rec_index);
8202: END IF;
8203: FOR l_line_rec_index IN 1..l_line_qty_size LOOP
8204: l_quote_line_tbl(l_line_rec_index).quote_header_id := p_quote_header_id;
8204: l_quote_line_tbl(l_line_rec_index).quote_header_id := p_quote_header_id;
8205: l_quote_line_tbl(l_line_rec_index).quote_line_id := p_quote_line_id_tbl(l_line_rec_index);
8206: l_quote_line_tbl(l_line_rec_index).quantity := p_line_quantity_tbl(l_line_rec_index);
8207: l_quote_line_tbl(l_line_rec_index).operation_code := 'UPDATE';
8208: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8209: IBE_UTIL.debug('l_line_rec_index='||l_line_rec_index);
8210: IBE_UTIL.debug('quote_line_id='||l_quote_line_tbl(l_line_rec_index).quote_line_id);
8211: IBE_UTIL.debug('quantity='||l_quote_line_tbl(l_line_rec_index).quantity);
8212: END IF;
8211: IBE_UTIL.debug('quantity='||l_quote_line_tbl(l_line_rec_index).quantity);
8212: END IF;
8213: END LOOP;
8214: l_line_rec_index := l_line_rec_index + 1;
8215: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8216: IBE_UTIL.debug('quantities updated, l_line_rec_index='||l_line_rec_index);
8217: END IF;
8218: ELSIF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8219: IBE_UTIL.debug('no quantity updated, l_line_rec_index='||l_line_rec_index);
8214: l_line_rec_index := l_line_rec_index + 1;
8215: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8216: IBE_UTIL.debug('quantities updated, l_line_rec_index='||l_line_rec_index);
8217: END IF;
8218: ELSIF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8219: IBE_UTIL.debug('no quantity updated, l_line_rec_index='||l_line_rec_index);
8220: END IF;
8221:
8222: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8218: ELSIF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8219: IBE_UTIL.debug('no quantity updated, l_line_rec_index='||l_line_rec_index);
8220: END IF;
8221:
8222: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8223: IBE_UTIL.debug('updating cart level support...');
8224: IBE_UTIL.debug('checking existing cart level services...');
8225: END IF;
8226:
8224: IBE_UTIL.debug('checking existing cart level services...');
8225: END IF;
8226:
8227: FOR rec_svc_line IN c_get_svc_lines(p_quote_header_id) LOOP
8228: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8229: IBE_UTIL.debug('found service line:');
8230: IBE_UTIL.debug('service_ref_line_id='||rec_svc_line.service_ref_line_id);
8231: IBE_UTIL.debug('quote_line_id='||rec_svc_line.quote_line_id);
8232: IBE_UTIL.debug('l_curr_sva_line_id='||l_curr_sva_line_id);
8232: IBE_UTIL.debug('l_curr_sva_line_id='||l_curr_sva_line_id);
8233: END IF;
8234: IF l_curr_sva_line_id IS NULL OR l_curr_sva_line_id <> rec_svc_line.service_ref_line_id THEN
8235: -- start a new sva line
8236: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8237: IBE_UTIL.debug('starts a new SVA line, l_curr_sva_line_id='||l_curr_sva_line_id);
8238: END IF;
8239:
8240: IF l_curr_sva_line_id IS NOT NULL AND l_new_service_id_tbl IS NOT NULL THEN
8239:
8240: IF l_curr_sva_line_id IS NOT NULL AND l_new_service_id_tbl IS NOT NULL THEN
8241: -- not the first sva line, add new services to previous SVA line first
8242: IF l_new_service_id_tbl.COUNT >0 THEN
8243: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8244: IBE_UTIL.debug('not the first sva line');
8245: IBE_UTIL.debug('adding new services to previous SVA line...:');
8246: IBE_UTIL.debug('l_line_rec_index='||l_line_rec_index);
8247: IBE_UTIL.debug('l_dtl_rec_index='||l_dtl_rec_index);
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:');
8265: IBE_UTIL.debug('l_line_rec_index='||l_line_rec_index);
8266: IBE_UTIL.debug('l_dtl_rec_index='||l_dtl_rec_index);
8267: END IF;
8264: IBE_UTIL.debug('new services added:');
8265: IBE_UTIL.debug('l_line_rec_index='||l_line_rec_index);
8266: IBE_UTIL.debug('l_dtl_rec_index='||l_dtl_rec_index);
8267: END IF;
8268: ELSIF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8269: IBE_UTIL.debug('no new service need to be added.');
8270: END IF;
8271: END IF;
8272:
8270: END IF;
8271: END IF;
8272:
8273: -- move to the new line
8274: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8275: IBE_UTIL.debug('initializing the new SVA line...');
8276: END IF;
8277: l_curr_sva_line_id := rec_svc_line.service_ref_line_id;
8278: l_sva_line_size := l_sva_line_size + 1;
8277: l_curr_sva_line_id := rec_svc_line.service_ref_line_id;
8278: l_sva_line_size := l_sva_line_size + 1;
8279: l_map_index := 1;
8280:
8281: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8282: IBE_UTIL.debug('l_sva_line_size='||l_sva_line_size);
8283: IBE_UTIL.debug('checking if need to update quantity...');
8284: END IF;
8285: l_curr_line_qty := NULL;
8289: IF l_quote_line_id_tbl(i) = l_curr_sva_line_id THEN
8290: l_curr_line_qty := p_line_quantity_tbl(i);
8291: l_quote_line_id_tbl.DELETE(i);
8292: l_line_quantity_tbl.DELETE(i);
8293: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8294: IBE_UTIL.debug('a new quantity is entered, l_curr_line_qty='||l_curr_line_qty);
8295: END IF;
8296: EXIT;
8297: ELSE
8299: END IF;
8300: END LOOP;
8301: END IF;
8302: IF l_curr_line_qty IS NULL THEN
8303: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8304: IBE_UTIL.debug('no quantity entered, loading from db...');
8305: END IF;
8306: OPEN c_get_line_qty(l_curr_sva_line_id);
8307: FETCH c_get_line_qty into l_curr_line_qty;
8305: END IF;
8306: OPEN c_get_line_qty(l_curr_sva_line_id);
8307: FETCH c_get_line_qty into l_curr_line_qty;
8308: CLOSE c_get_line_qty;
8309: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8310: IBE_UTIL.debug('quantity loaded, l_curr_line_qty='||l_curr_line_qty);
8311: END IF;
8312: END IF;
8313: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8309: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8310: IBE_UTIL.debug('quantity loaded, l_curr_line_qty='||l_curr_line_qty);
8311: END IF;
8312: END IF;
8313: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8314: IBE_UTIL.debug('new SVA line initialized, l_sva_line_size='||l_sva_line_size);
8315: END IF;
8316: ELSE
8317: l_map_index := l_map_index + 1;
8314: IBE_UTIL.debug('new SVA line initialized, l_sva_line_size='||l_sva_line_size);
8315: END IF;
8316: ELSE
8317: l_map_index := l_map_index + 1;
8318: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8319: IBE_UTIL.debug('remains in the same SVA line');
8320: END IF;
8321: END IF;
8322:
8319: IBE_UTIL.debug('remains in the same SVA line');
8320: END IF;
8321: END IF;
8322:
8323: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8324: IBE_UTIL.debug('ready to processe current svc line, l_line_rec_index='||l_line_rec_index);
8325: IBE_UTIL.debug('l_line_rec_index='||l_line_rec_index ||', l_dtl_rec_index='||l_dtl_rec_index);
8326: IBE_UTIL.debug('l_map_index='||l_map_index);
8327: END IF;
8326: IBE_UTIL.debug('l_map_index='||l_map_index);
8327: END IF;
8328:
8329: IF l_sva_line_size = 1 THEN
8330: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8331: IBE_UTIL.debug('The first SVA line detected');
8332: END IF;
8333: IF l_deleted_svc_map_tbl IS NULL THEN
8334: l_deleted_svc_map_tbl := JTF_VARCHAR2_TABLE_100();
8335: END IF;
8336: l_deleted_svc_map_tbl.EXTEND;
8337: l_deleted_svc_map_tbl(l_map_index) := 'DELETE';
8338: IF l_new_service_id_tbl IS NOT NULL AND l_new_service_id_tbl.count >0 THEN
8339: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8340: IBE_UTIL.debug('populating l_deleted_svc_map_tbl table,l_map_index='||l_map_index);
8341: END IF;
8342: i := l_new_service_id_tbl.FIRST;
8343: WHILE i <= l_new_service_id_tbl.LAST LOOP
8342: i := l_new_service_id_tbl.FIRST;
8343: WHILE i <= l_new_service_id_tbl.LAST LOOP
8344: IF rec_svc_line.inventory_item_id = l_new_service_id_tbl(i) THEN
8345: l_deleted_svc_map_tbl(l_map_index) := 'KEEP'; -- keep the svc item
8346: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8347: IBE_UTIL.debug('skipping svc line, inventory_item_id='||rec_svc_line.inventory_item_id);
8348: END IF;
8349: l_new_service_id_tbl.DELETE(i);
8350: EXIT;
8351: ELSE
8352: i := l_new_service_id_tbl.NEXT(i);
8353: END IF;
8354: END LOOP;
8355: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8356: IBE_UTIL.debug('l_deleted_svc_map_tbl('||l_map_index||')='||l_deleted_svc_map_tbl(l_map_index));
8357: END IF;
8358: END IF;
8359: END IF;
8357: END IF;
8358: END IF;
8359: END IF;
8360:
8361: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8362: IBE_UTIL.debug('applying l_deleted_svc_map_tbl table, service item='||rec_svc_line.inventory_item_id);
8363: IBE_UTIL.debug('l_map_index='||l_map_index||', opcode='||l_deleted_svc_map_tbl(l_map_index));
8364: END IF;
8365: IF l_deleted_svc_map_tbl(l_map_index) = 'DELETE' THEN
8362: IBE_UTIL.debug('applying l_deleted_svc_map_tbl table, service item='||rec_svc_line.inventory_item_id);
8363: IBE_UTIL.debug('l_map_index='||l_map_index||', opcode='||l_deleted_svc_map_tbl(l_map_index));
8364: END IF;
8365: IF l_deleted_svc_map_tbl(l_map_index) = 'DELETE' THEN
8366: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8367: IBE_UTIL.debug('deleting svc line, inventory_item_id='||rec_svc_line.inventory_item_id);
8368: END IF;
8369: l_quote_line_tbl(l_line_rec_index).operation_code := 'DELETE';
8370: l_quote_line_tbl(l_line_rec_index).quote_line_id := rec_svc_line.quote_line_id;
8369: l_quote_line_tbl(l_line_rec_index).operation_code := 'DELETE';
8370: l_quote_line_tbl(l_line_rec_index).quote_line_id := rec_svc_line.quote_line_id;
8371: l_quote_line_tbl(l_line_rec_index).quote_header_id := p_quote_header_id;
8372: l_line_rec_index := l_line_rec_index + 1;
8373: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8374: IBE_UTIL.debug('svc line deleted, l_line_rec_index='||l_line_rec_index);
8375: END IF;
8376: ELSIF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8377: IBE_UTIL.debug('svc line skipped (no change)');
8372: l_line_rec_index := l_line_rec_index + 1;
8373: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8374: IBE_UTIL.debug('svc line deleted, l_line_rec_index='||l_line_rec_index);
8375: END IF;
8376: ELSIF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8377: IBE_UTIL.debug('svc line skipped (no change)');
8378: END IF;
8379: EXIT WHEN c_get_svc_lines%NOTFOUND;
8380: END LOOP;
8380: END LOOP;
8381:
8382: IF l_sva_line_size > 0 AND l_new_service_id_tbl IS NOT NULL THEN
8383: -- add new services the last line if exist
8384: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8385: IBE_UTIL.debug('the last SVA line detected,l_sva_line_size='||l_sva_line_size);
8386: END IF;
8387: IF l_new_service_id_tbl.COUNT >0 THEN
8388: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8384: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8385: IBE_UTIL.debug('the last SVA line detected,l_sva_line_size='||l_sva_line_size);
8386: END IF;
8387: IF l_new_service_id_tbl.COUNT >0 THEN
8388: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8389: IBE_UTIL.debug('adding new services the last SVA line,l_new_service_id_tbl.COUNT='||l_new_service_id_tbl.COUNT);
8390: END IF;
8391: ADD_CART_LEVEL_SERVICES(
8392: p_quote_header_id =>p_quote_header_id,
8401: px_quote_line_tbl =>l_quote_line_tbl,
8402: px_line_rec_index =>l_line_rec_index,
8403: px_quote_line_dtl_tbl =>l_quote_line_dtl_tbl,
8404: px_dtl_rec_index =>l_dtl_rec_index);
8405: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8406: IBE_UTIL.debug('new services added to the last SVA line,l_line_rec_index='||l_line_rec_index);
8407: IBE_UTIL.debug('l_dtl_rec_index='||l_dtl_rec_index);
8408: END IF;
8409: ELSIF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8405: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8406: IBE_UTIL.debug('new services added to the last SVA line,l_line_rec_index='||l_line_rec_index);
8407: IBE_UTIL.debug('l_dtl_rec_index='||l_dtl_rec_index);
8408: END IF;
8409: ELSIF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8410: IBE_UTIL.debug('no new service need to be added to the last SVA line.');
8411: END IF;
8412: ELSIF l_new_service_id_tbl IS NOT NULL AND l_new_service_id_tbl.COUNT >0 THEN
8413: -- no previous cart level services found,retrieve sva lines
8410: IBE_UTIL.debug('no new service need to be added to the last SVA line.');
8411: END IF;
8412: ELSIF l_new_service_id_tbl IS NOT NULL AND l_new_service_id_tbl.COUNT >0 THEN
8413: -- no previous cart level services found,retrieve sva lines
8414: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8415: IBE_UTIL.debug('Current support level is NONE, directly adding new services...');
8416: IBE_UTIL.debug('Retrieving SVA lines, l_new_service_id_tbl.COUNT'||l_new_service_id_tbl.COUNT);
8417: END IF;
8418: FOR rec_sva_line IN c_get_sva_lines(p_quote_header_id) LOOP
8416: IBE_UTIL.debug('Retrieving SVA lines, l_new_service_id_tbl.COUNT'||l_new_service_id_tbl.COUNT);
8417: END IF;
8418: FOR rec_sva_line IN c_get_sva_lines(p_quote_header_id) LOOP
8419: l_curr_sva_line_id := rec_sva_line.quote_line_id;
8420: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8421: IBE_UTIL.debug('found SVA line, l_curr_sva_line_id='||l_curr_sva_line_id);
8422: IBE_UTIL.debug('checking quantity...');
8423: END IF;
8424: l_curr_line_qty := NULL;
8428: IF l_quote_line_id_tbl(i) = l_curr_sva_line_id THEN
8429: l_curr_line_qty := p_line_quantity_tbl(i);
8430: l_quote_line_id_tbl.DELETE(i);
8431: l_line_quantity_tbl.DELETE(i);
8432: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8433: IBE_UTIL.debug('a new quantity is entered, l_curr_line_qty='||l_curr_line_qty);
8434: END IF;
8435: EXIT;
8436: ELSE
8439: END LOOP;
8440: END IF;
8441: IF l_curr_line_qty IS NULL THEN
8442: l_curr_line_qty := rec_sva_line.quantity;
8443: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8444: IBE_UTIL.debug('no quantity entered, default from db: '||l_curr_line_qty);
8445: END IF;
8446: END IF;
8447:
8444: IBE_UTIL.debug('no quantity entered, default from db: '||l_curr_line_qty);
8445: END IF;
8446: END IF;
8447:
8448: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8449: IBE_UTIL.debug('before adding new services, l_curr_sva_line_id='||l_curr_sva_line_id);
8450: IBE_UTIL.debug('l_line_rec_index='||l_line_rec_index);
8451: IBE_UTIL.debug('l_dtl_rec_index='||l_dtl_rec_index);
8452: END IF;
8463: px_quote_line_tbl =>l_quote_line_tbl,
8464: px_line_rec_index =>l_line_rec_index,
8465: px_quote_line_dtl_tbl =>l_quote_line_dtl_tbl,
8466: px_dtl_rec_index =>l_dtl_rec_index);
8467: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8468: IBE_UTIL.debug('new services added:');
8469: IBE_UTIL.debug('l_line_rec_index='||l_line_rec_index);
8470: IBE_UTIL.debug('l_dtl_rec_index='||l_dtl_rec_index);
8471: END IF;
8473: END LOOP;
8474: END IF;
8475:
8476: IF l_quote_line_tbl IS NULL OR l_quote_line_tbl.count=0 THEN
8477: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8478: IBE_UTIL.debug('nothing to update, returning...');
8479: END IF;
8480: RETURN;
8481: END IF;
8479: END IF;
8480: RETURN;
8481: END IF;
8482:
8483: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8484: IBE_UTIL.debug('setup control record...');
8485: END IF;
8486: l_control_rec.pricing_request_type := 'ASO';
8487: l_control_rec.header_pricing_event := p_header_pricing_event;
8487: l_control_rec.header_pricing_event := p_header_pricing_event;
8488: l_control_rec.calculate_tax_flag := 'Y';
8489: l_control_rec.calculate_freight_charge_flag := 'Y';
8490:
8491: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8492: IBE_UTIL.debug('header_pricing_event='||p_header_pricing_event);
8493: IBE_UTIL.debug('setup header record...');
8494: END IF;
8495: l_quote_header_rec.pricing_status_indicator := 'C';
8516: l_sharee_cust_account_id := p_cust_account_id;
8517: END IF;
8518: l_quote_header_rec.last_update_date := p_last_update_date;
8519:
8520: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8521: IBE_UTIL.debug('quote_header_id='||p_quote_header_id);
8522: IBE_UTIL.debug('currency_code='||p_currency_code);
8523: IBE_UTIL.debug('price_list_id='||p_price_list_id);
8524: IBE_UTIL.debug('p_sharee_number='||p_sharee_number);
8531: IBE_UTIL.debug('p_minisite_id='||p_minisite_id);
8532: IBE_UTIL.debug('p_save_type='||p_save_type);
8533: END IF;
8534: SAVE(p_api_version_number => p_api_version
8535: ,p_init_msg_list => FND_API.G_FALSE
8536: ,p_commit => FND_API.G_FALSE
8537: ,p_auto_update_active_quote => FND_API.G_FALSE
8538: ,p_combinesameitem => 1
8539:
8532: IBE_UTIL.debug('p_save_type='||p_save_type);
8533: END IF;
8534: SAVE(p_api_version_number => p_api_version
8535: ,p_init_msg_list => FND_API.G_FALSE
8536: ,p_commit => FND_API.G_FALSE
8537: ,p_auto_update_active_quote => FND_API.G_FALSE
8538: ,p_combinesameitem => 1
8539:
8540: ,p_sharee_number => p_sharee_number
8533: END IF;
8534: SAVE(p_api_version_number => p_api_version
8535: ,p_init_msg_list => FND_API.G_FALSE
8536: ,p_commit => FND_API.G_FALSE
8537: ,p_auto_update_active_quote => FND_API.G_FALSE
8538: ,p_combinesameitem => 1
8539:
8540: ,p_sharee_number => p_sharee_number
8541: ,p_sharee_party_id => l_sharee_party_id
8551: ,x_last_update_date => x_last_update_date
8552: ,x_return_status => x_return_status
8553: ,x_msg_count => x_msg_count
8554: ,x_msg_data => x_msg_data);
8555: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
8556: IBE_UTIL.debug('returned from IBE_QUOTE_SAVE_PVT.SAVE');
8557: IBE_UTIL.debug('l_quote_header_id='||l_quote_header_id);
8558: IBE_UTIL.debug('x_last_update_date='||x_last_update_date);
8559: IBE_UTIL.debug('x_return_status='||x_return_status);
8561: IBE_UTIL.debug('x_msg_data='||x_msg_data);
8562: IBE_UTIL.debug(G_PKG_NAME||'.'||l_api_name||' End');
8563: END IF;
8564: EXCEPTION
8565: WHEN FND_API.G_EXC_ERROR THEN
8566: ROLLBACK TO UPDATE_SUPPORT_LEVEL_AND_QTY;
8567: x_return_status := FND_API.G_RET_STS_ERROR;
8568: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
8569: p_count => x_msg_count,
8563: END IF;
8564: EXCEPTION
8565: WHEN FND_API.G_EXC_ERROR THEN
8566: ROLLBACK TO UPDATE_SUPPORT_LEVEL_AND_QTY;
8567: x_return_status := FND_API.G_RET_STS_ERROR;
8568: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
8569: p_count => x_msg_count,
8570: p_data => x_msg_data);
8571:
8564: EXCEPTION
8565: WHEN FND_API.G_EXC_ERROR THEN
8566: ROLLBACK TO UPDATE_SUPPORT_LEVEL_AND_QTY;
8567: x_return_status := FND_API.G_RET_STS_ERROR;
8568: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
8569: p_count => x_msg_count,
8570: p_data => x_msg_data);
8571:
8572: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
8568: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
8569: p_count => x_msg_count,
8570: p_data => x_msg_data);
8571:
8572: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
8573: ROLLBACK TO UPDATE_SUPPORT_LEVEL_AND_QTY;
8574: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8575: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
8576: p_count => x_msg_count,
8570: p_data => x_msg_data);
8571:
8572: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
8573: ROLLBACK TO UPDATE_SUPPORT_LEVEL_AND_QTY;
8574: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8575: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
8576: p_count => x_msg_count,
8577: p_data => x_msg_data);
8578:
8571:
8572: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
8573: ROLLBACK TO UPDATE_SUPPORT_LEVEL_AND_QTY;
8574: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8575: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
8576: p_count => x_msg_count,
8577: p_data => x_msg_data);
8578:
8579: WHEN OTHERS THEN
8577: p_data => x_msg_data);
8578:
8579: WHEN OTHERS THEN
8580: ROLLBACK TO UPDATE_SUPPORT_LEVEL_AND_QTY;
8581: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8582: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
8583: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME,l_api_name);
8584: END IF;
8585: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
8581: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8582: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
8583: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME,l_api_name);
8584: END IF;
8585: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
8586: p_count => x_msg_count,
8587: p_data => x_msg_data);
8588: END UPDATE_SUPPORT_AND_QUANTITY;
8589: