87: PROCEDURE retrieve_qp_output (
88: p_trip_rec IN FTE_TL_CACHE.TL_trip_data_input_rec_type,
89: p_stop_tab IN FTE_TL_CACHE.TL_trip_stop_input_tab_type,
90: p_carrier_pref IN FTE_TL_CACHE.TL_carrier_pref_rec_type,
91: p_qp_output_line_rows IN QP_PREQ_GRP.LINE_TBL_TYPE,
92: p_qp_output_detail_rows IN QP_PREQ_GRP.LINE_DETAIL_TBL_TYPE,
93: x_trip_charges_rec OUT NOCOPY FTE_TL_CACHE.TL_trip_output_rec_type,
94: x_stop_charges_tab OUT NOCOPY FTE_TL_CACHE.TL_trip_stop_output_tab_type,
95: x_return_status OUT NOCOPY VARCHAR2);
88: p_trip_rec IN FTE_TL_CACHE.TL_trip_data_input_rec_type,
89: p_stop_tab IN FTE_TL_CACHE.TL_trip_stop_input_tab_type,
90: p_carrier_pref IN FTE_TL_CACHE.TL_carrier_pref_rec_type,
91: p_qp_output_line_rows IN QP_PREQ_GRP.LINE_TBL_TYPE,
92: p_qp_output_detail_rows IN QP_PREQ_GRP.LINE_DETAIL_TBL_TYPE,
93: x_trip_charges_rec OUT NOCOPY FTE_TL_CACHE.TL_trip_output_rec_type,
94: x_stop_charges_tab OUT NOCOPY FTE_TL_CACHE.TL_trip_stop_output_tab_type,
95: x_return_status OUT NOCOPY VARCHAR2);
96:
102: -- This procedure throws a not on pricelist excpetion if
103: -- all the non-dummy(not dummy stop,trip charge lines) qp output lines have an IPL status
104: --
105:
106: PROCEDURE check_qp_ipl(p_qp_output_line_rows IN QP_PREQ_GRP.LINE_TBL_TYPE,
107: p_implicit_non_dummy_cnt IN NUMBER,
108: x_return_status OUT NOCOPY VARCHAR2)
109: IS
110: i NUMBER;
237: l_pricing_control_rec fte_freight_pricing.pricing_control_input_rec_type;
238: l_pricing_engine_input_rec fte_freight_pricing.pricing_engine_input_rec_type;
239: l_curr_line_idx NUMBER := 0;
240: l_req_line_info_rec req_line_info_rec_type;
241: l_qp_output_line_rows QP_PREQ_GRP.LINE_TBL_TYPE;
242: l_qp_output_detail_rows QP_PREQ_GRP.LINE_DETAIL_TBL_TYPE;
243: l_implicit_non_dummy_cnt NUMBER := 0;
244:
245:
238: l_pricing_engine_input_rec fte_freight_pricing.pricing_engine_input_rec_type;
239: l_curr_line_idx NUMBER := 0;
240: l_req_line_info_rec req_line_info_rec_type;
241: l_qp_output_line_rows QP_PREQ_GRP.LINE_TBL_TYPE;
242: l_qp_output_detail_rows QP_PREQ_GRP.LINE_DETAIL_TBL_TYPE;
243: l_implicit_non_dummy_cnt NUMBER := 0;
244:
245:
246: l_return_status VARCHAR2(1);
2213: PROCEDURE retrieve_qp_output (
2214: p_trip_rec IN FTE_TL_CACHE.TL_trip_data_input_rec_type,
2215: p_stop_tab IN FTE_TL_CACHE.TL_trip_stop_input_tab_type,
2216: p_carrier_pref IN FTE_TL_CACHE.TL_carrier_pref_rec_type,
2217: p_qp_output_line_rows IN QP_PREQ_GRP.LINE_TBL_TYPE,
2218: p_qp_output_detail_rows IN QP_PREQ_GRP.LINE_DETAIL_TBL_TYPE,
2219: x_trip_charges_rec OUT NOCOPY FTE_TL_CACHE.TL_trip_output_rec_type,
2220: x_stop_charges_tab OUT NOCOPY FTE_TL_CACHE.TL_trip_stop_output_tab_type,
2221: x_return_status OUT NOCOPY VARCHAR2)
2214: p_trip_rec IN FTE_TL_CACHE.TL_trip_data_input_rec_type,
2215: p_stop_tab IN FTE_TL_CACHE.TL_trip_stop_input_tab_type,
2216: p_carrier_pref IN FTE_TL_CACHE.TL_carrier_pref_rec_type,
2217: p_qp_output_line_rows IN QP_PREQ_GRP.LINE_TBL_TYPE,
2218: p_qp_output_detail_rows IN QP_PREQ_GRP.LINE_DETAIL_TBL_TYPE,
2219: x_trip_charges_rec OUT NOCOPY FTE_TL_CACHE.TL_trip_output_rec_type,
2220: x_stop_charges_tab OUT NOCOPY FTE_TL_CACHE.TL_trip_stop_output_tab_type,
2221: x_return_status OUT NOCOPY VARCHAR2)
2222: IS
2237: l_flat_price NUMBER := 0;
2238: l_num_of_weekend_layover NUMBER;
2239: l_stop_index NUMBER := 0;
2240:
2241: l_qp_out_det_rec QP_PREQ_GRP.LINE_DETAIL_REC_TYPE;
2242: l_stop_rec FTE_TL_CACHE.TL_trip_stop_output_rec_type;
2243: l_stop_id NUMBER;
2244: l_req_line_info_rec req_line_info_rec_type;
2245: l_log_level NUMBER := fte_freight_pricing_util.G_DBG;
3502: p_end_trip_index IN NUMBER,
3503: p_trip_tab IN FTE_TL_CACHE.TL_trip_data_input_tab_type,
3504: p_stop_tab IN FTE_TL_CACHE.TL_trip_stop_input_tab_type,
3505: p_carrier_pref_tab IN FTE_TL_CACHE.TL_CARRIER_PREF_TAB_TYPE,
3506: p_qp_output_line_rows IN QP_PREQ_GRP.LINE_TBL_TYPE,
3507: p_qp_output_detail_rows IN QP_PREQ_GRP.LINE_DETAIL_TBL_TYPE,
3508: x_trip_charges_tab OUT NOCOPY FTE_TL_CACHE.TL_TRIP_OUTPUT_TAB_TYPE,
3509: x_stop_charges_tab OUT NOCOPY FTE_TL_CACHE.TL_trip_stop_output_tab_type,
3510: x_return_status OUT NOCOPY VARCHAR2)
3503: p_trip_tab IN FTE_TL_CACHE.TL_trip_data_input_tab_type,
3504: p_stop_tab IN FTE_TL_CACHE.TL_trip_stop_input_tab_type,
3505: p_carrier_pref_tab IN FTE_TL_CACHE.TL_CARRIER_PREF_TAB_TYPE,
3506: p_qp_output_line_rows IN QP_PREQ_GRP.LINE_TBL_TYPE,
3507: p_qp_output_detail_rows IN QP_PREQ_GRP.LINE_DETAIL_TBL_TYPE,
3508: x_trip_charges_tab OUT NOCOPY FTE_TL_CACHE.TL_TRIP_OUTPUT_TAB_TYPE,
3509: x_stop_charges_tab OUT NOCOPY FTE_TL_CACHE.TL_trip_stop_output_tab_type,
3510: x_return_status OUT NOCOPY VARCHAR2)
3511:
3533:
3534:
3535: j NUMBER;
3536: l_trip_index NUMBER;
3537: l_qp_out_det_rec QP_PREQ_GRP.LINE_DETAIL_REC_TYPE;
3538: l_trip_rec FTE_TL_CACHE.TL_trip_output_rec_type;
3539: l_stop_rec FTE_TL_CACHE.TL_trip_stop_output_rec_type;
3540: l_stop_id NUMBER;
3541: l_req_line_info_rec req_line_info_rec_type;
4483:
4484: PROCEDURE check_qp_ipl_multiple(
4485: p_start_index IN NUMBER,
4486: p_end_index IN NUMBER,
4487: p_qp_output_line_rows IN QP_PREQ_GRP.LINE_TBL_TYPE,
4488: x_exceptions IN OUT NOCOPY FTE_TL_CORE.tl_exceptions_tab_type,
4489: x_return_status OUT NOCOPY VARCHAR2)
4490:
4491: IS
4658: l_line_cnt_tab(l_trip_index):=l_line_cnt_tab(l_trip_index)+1;
4659:
4660:
4661: IF (FTE_QP_ENGINE.g_O_line_tbl(i).status_code IN (
4662: QP_PREQ_GRP.G_STATUS_INVALID_PRICE_LIST ,
4663: QP_PREQ_GRP.G_STATUS_GSA_VIOLATION ,
4664: QP_PREQ_GRP.G_STS_LHS_NOT_FOUND ,
4665: QP_PREQ_GRP.G_STATUS_FORMULA_ERROR ,
4666: QP_PREQ_GRP.G_STATUS_OTHER_ERRORS ,
4659:
4660:
4661: IF (FTE_QP_ENGINE.g_O_line_tbl(i).status_code IN (
4662: QP_PREQ_GRP.G_STATUS_INVALID_PRICE_LIST ,
4663: QP_PREQ_GRP.G_STATUS_GSA_VIOLATION ,
4664: QP_PREQ_GRP.G_STS_LHS_NOT_FOUND ,
4665: QP_PREQ_GRP.G_STATUS_FORMULA_ERROR ,
4666: QP_PREQ_GRP.G_STATUS_OTHER_ERRORS ,
4667: QP_PREQ_GRP.G_STATUS_INCOMP_LOGIC ,
4660:
4661: IF (FTE_QP_ENGINE.g_O_line_tbl(i).status_code IN (
4662: QP_PREQ_GRP.G_STATUS_INVALID_PRICE_LIST ,
4663: QP_PREQ_GRP.G_STATUS_GSA_VIOLATION ,
4664: QP_PREQ_GRP.G_STS_LHS_NOT_FOUND ,
4665: QP_PREQ_GRP.G_STATUS_FORMULA_ERROR ,
4666: QP_PREQ_GRP.G_STATUS_OTHER_ERRORS ,
4667: QP_PREQ_GRP.G_STATUS_INCOMP_LOGIC ,
4668: QP_PREQ_GRP.G_STATUS_CALC_ERROR ,
4661: IF (FTE_QP_ENGINE.g_O_line_tbl(i).status_code IN (
4662: QP_PREQ_GRP.G_STATUS_INVALID_PRICE_LIST ,
4663: QP_PREQ_GRP.G_STATUS_GSA_VIOLATION ,
4664: QP_PREQ_GRP.G_STS_LHS_NOT_FOUND ,
4665: QP_PREQ_GRP.G_STATUS_FORMULA_ERROR ,
4666: QP_PREQ_GRP.G_STATUS_OTHER_ERRORS ,
4667: QP_PREQ_GRP.G_STATUS_INCOMP_LOGIC ,
4668: QP_PREQ_GRP.G_STATUS_CALC_ERROR ,
4669: QP_PREQ_GRP.G_STATUS_UOM_FAILURE ,
4662: QP_PREQ_GRP.G_STATUS_INVALID_PRICE_LIST ,
4663: QP_PREQ_GRP.G_STATUS_GSA_VIOLATION ,
4664: QP_PREQ_GRP.G_STS_LHS_NOT_FOUND ,
4665: QP_PREQ_GRP.G_STATUS_FORMULA_ERROR ,
4666: QP_PREQ_GRP.G_STATUS_OTHER_ERRORS ,
4667: QP_PREQ_GRP.G_STATUS_INCOMP_LOGIC ,
4668: QP_PREQ_GRP.G_STATUS_CALC_ERROR ,
4669: QP_PREQ_GRP.G_STATUS_UOM_FAILURE ,
4670: QP_PREQ_GRP.G_STATUS_INVALID_UOM ,
4663: QP_PREQ_GRP.G_STATUS_GSA_VIOLATION ,
4664: QP_PREQ_GRP.G_STS_LHS_NOT_FOUND ,
4665: QP_PREQ_GRP.G_STATUS_FORMULA_ERROR ,
4666: QP_PREQ_GRP.G_STATUS_OTHER_ERRORS ,
4667: QP_PREQ_GRP.G_STATUS_INCOMP_LOGIC ,
4668: QP_PREQ_GRP.G_STATUS_CALC_ERROR ,
4669: QP_PREQ_GRP.G_STATUS_UOM_FAILURE ,
4670: QP_PREQ_GRP.G_STATUS_INVALID_UOM ,
4671: QP_PREQ_GRP.G_STATUS_DUP_PRICE_LIST ,
4664: QP_PREQ_GRP.G_STS_LHS_NOT_FOUND ,
4665: QP_PREQ_GRP.G_STATUS_FORMULA_ERROR ,
4666: QP_PREQ_GRP.G_STATUS_OTHER_ERRORS ,
4667: QP_PREQ_GRP.G_STATUS_INCOMP_LOGIC ,
4668: QP_PREQ_GRP.G_STATUS_CALC_ERROR ,
4669: QP_PREQ_GRP.G_STATUS_UOM_FAILURE ,
4670: QP_PREQ_GRP.G_STATUS_INVALID_UOM ,
4671: QP_PREQ_GRP.G_STATUS_DUP_PRICE_LIST ,
4672: QP_PREQ_GRP.G_STATUS_INVALID_UOM_CONV ,
4665: QP_PREQ_GRP.G_STATUS_FORMULA_ERROR ,
4666: QP_PREQ_GRP.G_STATUS_OTHER_ERRORS ,
4667: QP_PREQ_GRP.G_STATUS_INCOMP_LOGIC ,
4668: QP_PREQ_GRP.G_STATUS_CALC_ERROR ,
4669: QP_PREQ_GRP.G_STATUS_UOM_FAILURE ,
4670: QP_PREQ_GRP.G_STATUS_INVALID_UOM ,
4671: QP_PREQ_GRP.G_STATUS_DUP_PRICE_LIST ,
4672: QP_PREQ_GRP.G_STATUS_INVALID_UOM_CONV ,
4673: QP_PREQ_GRP.G_STATUS_INVALID_INCOMP ,
4666: QP_PREQ_GRP.G_STATUS_OTHER_ERRORS ,
4667: QP_PREQ_GRP.G_STATUS_INCOMP_LOGIC ,
4668: QP_PREQ_GRP.G_STATUS_CALC_ERROR ,
4669: QP_PREQ_GRP.G_STATUS_UOM_FAILURE ,
4670: QP_PREQ_GRP.G_STATUS_INVALID_UOM ,
4671: QP_PREQ_GRP.G_STATUS_DUP_PRICE_LIST ,
4672: QP_PREQ_GRP.G_STATUS_INVALID_UOM_CONV ,
4673: QP_PREQ_GRP.G_STATUS_INVALID_INCOMP ,
4674: QP_PREQ_GRP.G_STATUS_BEST_PRICE_EVAL_ERROR )) THEN
4667: QP_PREQ_GRP.G_STATUS_INCOMP_LOGIC ,
4668: QP_PREQ_GRP.G_STATUS_CALC_ERROR ,
4669: QP_PREQ_GRP.G_STATUS_UOM_FAILURE ,
4670: QP_PREQ_GRP.G_STATUS_INVALID_UOM ,
4671: QP_PREQ_GRP.G_STATUS_DUP_PRICE_LIST ,
4672: QP_PREQ_GRP.G_STATUS_INVALID_UOM_CONV ,
4673: QP_PREQ_GRP.G_STATUS_INVALID_INCOMP ,
4674: QP_PREQ_GRP.G_STATUS_BEST_PRICE_EVAL_ERROR )) THEN
4675: fte_freight_pricing_util.print_msg(fte_freight_pricing_util.G_LOG,' LineIndex = '||i||' Status Code = '||FTE_QP_ENGINE.g_O_line_tbl(i).status_code||' Text = '||FTE_QP_ENGINE.g_O_line_tbl(i).status_text);
4668: QP_PREQ_GRP.G_STATUS_CALC_ERROR ,
4669: QP_PREQ_GRP.G_STATUS_UOM_FAILURE ,
4670: QP_PREQ_GRP.G_STATUS_INVALID_UOM ,
4671: QP_PREQ_GRP.G_STATUS_DUP_PRICE_LIST ,
4672: QP_PREQ_GRP.G_STATUS_INVALID_UOM_CONV ,
4673: QP_PREQ_GRP.G_STATUS_INVALID_INCOMP ,
4674: QP_PREQ_GRP.G_STATUS_BEST_PRICE_EVAL_ERROR )) THEN
4675: fte_freight_pricing_util.print_msg(fte_freight_pricing_util.G_LOG,' LineIndex = '||i||' Status Code = '||FTE_QP_ENGINE.g_O_line_tbl(i).status_code||' Text = '||FTE_QP_ENGINE.g_O_line_tbl(i).status_text);
4676: IF (FTE_QP_ENGINE.g_O_line_tbl(i).status_code = 'IPL') THEN
4669: QP_PREQ_GRP.G_STATUS_UOM_FAILURE ,
4670: QP_PREQ_GRP.G_STATUS_INVALID_UOM ,
4671: QP_PREQ_GRP.G_STATUS_DUP_PRICE_LIST ,
4672: QP_PREQ_GRP.G_STATUS_INVALID_UOM_CONV ,
4673: QP_PREQ_GRP.G_STATUS_INVALID_INCOMP ,
4674: QP_PREQ_GRP.G_STATUS_BEST_PRICE_EVAL_ERROR )) THEN
4675: fte_freight_pricing_util.print_msg(fte_freight_pricing_util.G_LOG,' LineIndex = '||i||' Status Code = '||FTE_QP_ENGINE.g_O_line_tbl(i).status_code||' Text = '||FTE_QP_ENGINE.g_O_line_tbl(i).status_text);
4676: IF (FTE_QP_ENGINE.g_O_line_tbl(i).status_code = 'IPL') THEN
4677:
4670: QP_PREQ_GRP.G_STATUS_INVALID_UOM ,
4671: QP_PREQ_GRP.G_STATUS_DUP_PRICE_LIST ,
4672: QP_PREQ_GRP.G_STATUS_INVALID_UOM_CONV ,
4673: QP_PREQ_GRP.G_STATUS_INVALID_INCOMP ,
4674: QP_PREQ_GRP.G_STATUS_BEST_PRICE_EVAL_ERROR )) THEN
4675: fte_freight_pricing_util.print_msg(fte_freight_pricing_util.G_LOG,' LineIndex = '||i||' Status Code = '||FTE_QP_ENGINE.g_O_line_tbl(i).status_code||' Text = '||FTE_QP_ENGINE.g_O_line_tbl(i).status_text);
4676: IF (FTE_QP_ENGINE.g_O_line_tbl(i).status_code = 'IPL') THEN
4677:
4678:
4932: l_pricing_control_rec fte_freight_pricing.pricing_control_input_rec_type;
4933: l_pricing_engine_input_rec fte_freight_pricing.pricing_engine_input_rec_type;
4934: l_curr_line_idx NUMBER := 0;
4935: l_req_line_info_rec req_line_info_rec_type;
4936: l_qp_output_line_rows QP_PREQ_GRP.LINE_TBL_TYPE;
4937: l_qp_output_detail_rows QP_PREQ_GRP.LINE_DETAIL_TBL_TYPE;
4938: l_implicit_non_dummy_cnt NUMBER := 0;
4939:
4940: l_same_rate_map DBMS_UTILITY.NUMBER_ARRAY;
4933: l_pricing_engine_input_rec fte_freight_pricing.pricing_engine_input_rec_type;
4934: l_curr_line_idx NUMBER := 0;
4935: l_req_line_info_rec req_line_info_rec_type;
4936: l_qp_output_line_rows QP_PREQ_GRP.LINE_TBL_TYPE;
4937: l_qp_output_detail_rows QP_PREQ_GRP.LINE_DETAIL_TBL_TYPE;
4938: l_implicit_non_dummy_cnt NUMBER := 0;
4939:
4940: l_same_rate_map DBMS_UTILITY.NUMBER_ARRAY;
4941: l_exception_rec tl_exceptions_type;