398: x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2 ) IS
399: Cursor c_update_revision IS
400: SELECT quote_line_id,
401: quote_line_Detail_id
402: From aso_quote_line_details
403: Where config_header_id = p_config_hdr_id
404: AND config_revision_num = p_config_rev_nbr ;
405:
406: l_Api_Version_Number NUMBER := 1.0 ;
553: cfg_dtl.organization_id ,
554: cfg_dtl.component_code ,
555: cfg_dtl.quantity
556: FROM cz_config_details_v cfg_dtl ,
557: aso_quote_line_details qte_dtl
558: WHERE cfg_dtl.config_hdr_id = l_config_hdr_id
559: AND cfg_dtl.config_rev_nbr = l_config_rev_nbr
560: AND cfg_dtl.config_hdr_id = qte_dtl.config_header_id
561: AND cfg_dtl.config_rev_nbr = qte_dtl.config_revision_num
572: cfg_dtl.organization_id ,
573: cfg_dtl.component_code ,
574: cfg_dtl.quantity
575: FROM cz_config_details_v cfg_dtl ,
576: aso_quote_line_details qte_dtl
577: WHERE qte_dtl.quote_line_id = l_model_line_id
578: AND cfg_dtl.config_hdr_id = l_config_hdr_id
579: AND cfg_dtl.config_rev_nbr = l_config_rev_nbr
580: AND cfg_dtl.config_hdr_id = qte_dtl.config_header_id
669: FROM cz_config_details_v cfg_dtl
670: WHERE config_hdr_id = l_config_hdr_id
671: AND config_rev_nbr = l_config_rev_nbr
672: AND NOT EXISTS (SELECT NULL
673: FROM ASO_QUOTE_LINE_DETAILS qte_dtl
674: WHERE qte_dtl.config_header_id = cfg_dtl.config_hdr_id
675: AND qte_dtl.config_revision_num = cfg_dtl.config_rev_nbr
676: AND qte_dtl.config_item_id = cfg_dtl.config_item_id )
677: ORDER BY cfg_dtl.bom_sort_order;
692: cfg.config_delta,
693: cfg.line_type,
694: cfg.name,
695: qte.line_type_source_flag
696: FROM ASO_QUOTE_LINE_DETAILS dtl,
697: CZ_CONFIG_DETAILS_V cfg ,
698: ASO_QUOTE_LINES_ALL qte
699: WHERE dtl.config_header_id = l_config_hdr_id
700: AND cfg.config_rev_nbr = l_config_rev_nbr
713:
714: CURSOR C_config_details_del( l_config_hdr_id NUMBER ,
715: l_config_rev_nbr NUMBER ) IS
716: SELECT dtl.quote_line_id
717: FROM ASO_QUOTE_LINE_DETAILS dtl
718: WHERE dtl.config_header_id = l_config_hdr_id
719: AND dtl.config_revision_num = l_config_rev_nbr
720: AND NOT EXISTS ( SELECT NULL
721: FROM CZ_CONFIG_DETAILS_V cfg
724: AND cfg.config_rev_nbr = l_config_rev_nbr );
725:
726: CURSOR C_config_all(p_parent_config_item_id number) IS
727: SELECT quote_line_id
728: FROM aso_quote_line_details
729: WHERE config_header_id = p_config_hdr_id
730: AND config_revision_num = p_config_rev_nbr
731: AND config_item_id = p_parent_config_item_id;
732:
732:
733: CURSOR C_Config_Exists( l_config_hdr_id NUMBER ,
734: l_config_rev_nbr NUMBER ) IS
735: SELECT quote_line_id
736: FROM aso_quote_line_details
737: WHERE ref_type_code = 'CONFIG'
738: AND ref_line_id IS NULL
739: AND config_header_id = l_config_hdr_id
740: AND config_revision_num = l_config_rev_nbr;
757: AND config_rev_nbr = p_config_rev_nbr;
758:
759: CURSOR C_diff_Config_Exists IS
760: SELECT config_header_id
761: FROM aso_quote_line_details
762: WHERE ref_type_code = 'CONFIG'
763: AND ref_line_id IS NULL
764: AND quote_line_id = p_config_rec.quote_line_id;
765:
973:
974: --check if revision number has changed for this configuration.
975: --if yes update all the previous selected options to the current
976: --revision number.This is necessary as the current revision number
977: --will not be the same as in aso_quote_line_details.
978:
979: IF ((p_config_rec.config_header_id <> FND_API.G_Miss_num AND
980: p_config_rec.config_revision_num <> FND_API.G_Miss_Num) AND
981: (p_config_rec.config_header_id IS NOT NULL AND
986: IF aso_debug_pub.g_debug_flag = 'Y' THEN
987: aso_debug_pub.add( 'ASO_CFG_INT: Get_config_details: Revision number has changed so updating');
988: END IF;
989:
990: UPDATE aso_quote_line_details
991: SET config_revision_num = p_config_rev_nbr,
992: last_update_date = sysdate,
993: last_updated_by = FND_GLOBAL.USER_ID,
994: last_update_login = FND_GLOBAL.CONC_LOGIN_ID
1730: and a.quote_line_id = p_quote_line_id;
1731:
1732: Cursor c_config_header_id ( p_quote_line_id NUMBER ) is
1733: Select config_header_id
1734: from aso_quote_line_details
1735: where quote_line_id = p_quote_line_id;
1736:
1737: Cursor c_pricelist_id ( p_config_item_id NUMBER, p_config_header_id NUMBER ) is
1738: Select qtl.price_list_id, qtl.quote_line_id
1736:
1737: Cursor c_pricelist_id ( p_config_item_id NUMBER, p_config_header_id NUMBER ) is
1738: Select qtl.price_list_id, qtl.quote_line_id
1739: from aso_quote_lines_all qtl,
1740: aso_quote_line_details qtl_dtl
1741: where qtl.quote_line_id = qtl_dtl.quote_line_id
1742: and qtl_dtl.config_item_id = p_config_item_id
1743: and qtl_dtl.config_header_id = p_config_header_id
1744: and ref_line_id is not null;
1744: and ref_line_id is not null;
1745:
1746: Cursor c_config_line(p_quote_line_id NUMBER, p_config_header_id NUMBER) is
1747: Select quote_line_id
1748: from aso_quote_line_details
1749: where quote_line_id = p_quote_line_id
1750: and config_header_id = p_config_header_id
1751: and ref_line_id is not null;
1752:
2333: charge_periodicity_code
2334: from aso_quote_lines_all
2335: where quote_header_id = p_qte_header_id
2336: and quote_line_id not in ( select a.quote_line_id
2337: from aso_quote_line_details a
2338: where (a.config_header_id, a.config_revision_num)
2339: = ( select config_header_id, config_revision_num
2340: from aso_quote_line_details
2341: where quote_line_id = p_qte_line_id ))
2336: and quote_line_id not in ( select a.quote_line_id
2337: from aso_quote_line_details a
2338: where (a.config_header_id, a.config_revision_num)
2339: = ( select config_header_id, config_revision_num
2340: from aso_quote_line_details
2341: where quote_line_id = p_qte_line_id ))
2342: and quote_line_id <> p_qte_line_id;
2343:
2344:
3035: that are updated and deleted from the model.
3036: Parse_output_xml : parses the CZ output xml message to see if the configuration
3037: is valid and complete.
3038: Get_config_details : To save options along with the model line in ASO_QUOTE_LINES_ALL
3039: , ASO_QUOTE_LINE_DETAILS and ASO_LINE_RELATIONSHIPS
3040: -----------------------------------------------------------------------*/
3041:
3042: PROCEDURE Validate_Configuration
3043: (P_Api_Version_Number IN NUMBER := FND_API.G_MISS_NUM,