1685: RAISE;
1686: END qualifier_account_merge;
1687:
1688: PROCEDURE calculate_subscription_price (
1689: p_detail_rec IN oks_qp_pkg.input_details,
1690: x_price_details OUT NOCOPY oks_qp_pkg.price_details,
1691: x_modifier_details OUT NOCOPY qp_preq_grp.line_detail_tbl_type,
1692: x_price_break_details OUT NOCOPY oks_qp_pkg.g_price_break_tbl_type,
1693: x_return_status OUT NOCOPY VARCHAR2,
1686: END qualifier_account_merge;
1687:
1688: PROCEDURE calculate_subscription_price (
1689: p_detail_rec IN oks_qp_pkg.input_details,
1690: x_price_details OUT NOCOPY oks_qp_pkg.price_details,
1691: x_modifier_details OUT NOCOPY qp_preq_grp.line_detail_tbl_type,
1692: x_price_break_details OUT NOCOPY oks_qp_pkg.g_price_break_tbl_type,
1693: x_return_status OUT NOCOPY VARCHAR2,
1694: x_msg_count OUT NOCOPY NUMBER,
1688: PROCEDURE calculate_subscription_price (
1689: p_detail_rec IN oks_qp_pkg.input_details,
1690: x_price_details OUT NOCOPY oks_qp_pkg.price_details,
1691: x_modifier_details OUT NOCOPY qp_preq_grp.line_detail_tbl_type,
1692: x_price_break_details OUT NOCOPY oks_qp_pkg.g_price_break_tbl_type,
1693: x_return_status OUT NOCOPY VARCHAR2,
1694: x_msg_count OUT NOCOPY NUMBER,
1695: x_msg_data OUT NOCOPY VARCHAR2
1696: )
1751: FROM oks_subscr_elements
1752: WHERE dnz_cle_id = p_line_id;
1753:
1754: l_line_details_rec l_line_details_csr%ROWTYPE;
1755: l_input_detail_rec oks_qp_pkg.input_details
1756: := p_detail_rec;
1757: l_rail_rec oks_tax_util_pvt.ra_rec_type;
1758: l_k_det_rec k_details_rec;
1759: l_khdr_rec_in oks_contract_hdr_pub.khrv_rec_type;
1954: );
1955: END IF;
1956:
1957: --errorout('Asking price = '||l_input_detail_rec.asking_unit_price);
1958: oks_qp_pkg.calc_price
1959: (p_detail_rec => l_input_detail_rec,
1960: x_price_details => x_price_details,
1961: x_modifier_details => x_modifier_details,
1962: x_price_break_details => x_price_break_details,
2045: x_price_details.prod_priced_qty := NULL;
2046: x_price_details.prod_priced_uom := NULL;
2047: END IF;
2048: ELSE
2049: oks_qp_pkg.calc_price
2050: (p_detail_rec => l_input_detail_rec,
2051: x_price_details => x_price_details,
2052: x_modifier_details => x_modifier_details,
2053: x_price_break_details => x_price_break_details,
2638: );
2639: END calculate_subscription_price;
2640:
2641: PROCEDURE calculate_subline_price (
2642: p_detail_rec IN oks_qp_pkg.input_details,
2643: x_price_details OUT NOCOPY oks_qp_pkg.price_details,
2644: x_modifier_details OUT NOCOPY qp_preq_grp.line_detail_tbl_type,
2645: x_price_break_details OUT NOCOPY oks_qp_pkg.g_price_break_tbl_type,
2646: x_return_status OUT NOCOPY VARCHAR2,
2639: END calculate_subscription_price;
2640:
2641: PROCEDURE calculate_subline_price (
2642: p_detail_rec IN oks_qp_pkg.input_details,
2643: x_price_details OUT NOCOPY oks_qp_pkg.price_details,
2644: x_modifier_details OUT NOCOPY qp_preq_grp.line_detail_tbl_type,
2645: x_price_break_details OUT NOCOPY oks_qp_pkg.g_price_break_tbl_type,
2646: x_return_status OUT NOCOPY VARCHAR2,
2647: x_msg_count OUT NOCOPY NUMBER,
2641: PROCEDURE calculate_subline_price (
2642: p_detail_rec IN oks_qp_pkg.input_details,
2643: x_price_details OUT NOCOPY oks_qp_pkg.price_details,
2644: x_modifier_details OUT NOCOPY qp_preq_grp.line_detail_tbl_type,
2645: x_price_break_details OUT NOCOPY oks_qp_pkg.g_price_break_tbl_type,
2646: x_return_status OUT NOCOPY VARCHAR2,
2647: x_msg_count OUT NOCOPY NUMBER,
2648: x_msg_data OUT NOCOPY VARCHAR2
2649: )
2709: l_num_items NUMBER;
2710: l_duration_qty NUMBER;
2711: l_cpuom_code VARCHAR2 (200);
2712: l_line_details_rec l_line_details_csr%ROWTYPE;
2713: l_input_detail_rec oks_qp_pkg.input_details
2714: := p_detail_rec;
2715: l_rail_rec oks_tax_util_pvt.ra_rec_type;
2716: l_k_det_rec k_details_rec;
2717: l_khdr_rec_in oks_contract_hdr_pub.khrv_rec_type;
2860:
2861: IF NVL (fnd_profile.VALUE ('OKS_USE_QP_FOR_MANUAL_ADJ'), 'NO') =
2862: 'YES'
2863: THEN
2864: oks_qp_pkg.calc_price
2865: (p_detail_rec => l_input_detail_rec,
2866: x_price_details => x_price_details,
2867: x_modifier_details => x_modifier_details,
2868: x_price_break_details => x_price_break_details,
2908: );
2909: END IF;
2910:
2911: --errorout('Asking price : ' || l_input_detail_rec.asking_unit_price);
2912: oks_qp_pkg.calc_price
2913: (p_detail_rec => l_input_detail_rec,
2914: x_price_details => x_price_details,
2915: x_modifier_details => x_modifier_details,
2916: x_price_break_details => x_price_break_details,
3066: x_price_details.serv_qty := NULL;
3067: x_price_details.serv_priced_uom := NULL;
3068: END IF;
3069: ELSE
3070: oks_qp_pkg.calc_price
3071: (p_detail_rec => l_input_detail_rec,
3072: x_price_details => x_price_details,
3073: x_modifier_details => x_modifier_details,
3074: x_price_break_details => x_price_break_details,
3359: );
3360: END calculate_subline_price;
3361:
3362: PROCEDURE calculate_topline_price (
3363: p_detail_rec IN oks_qp_pkg.input_details,
3364: x_price_details OUT NOCOPY oks_qp_pkg.price_details,
3365: x_modifier_details OUT NOCOPY qp_preq_grp.line_detail_tbl_type,
3366: x_price_break_details OUT NOCOPY oks_qp_pkg.g_price_break_tbl_type,
3367: x_return_status OUT NOCOPY VARCHAR2,
3360: END calculate_subline_price;
3361:
3362: PROCEDURE calculate_topline_price (
3363: p_detail_rec IN oks_qp_pkg.input_details,
3364: x_price_details OUT NOCOPY oks_qp_pkg.price_details,
3365: x_modifier_details OUT NOCOPY qp_preq_grp.line_detail_tbl_type,
3366: x_price_break_details OUT NOCOPY oks_qp_pkg.g_price_break_tbl_type,
3367: x_return_status OUT NOCOPY VARCHAR2,
3368: x_msg_count OUT NOCOPY NUMBER,
3362: PROCEDURE calculate_topline_price (
3363: p_detail_rec IN oks_qp_pkg.input_details,
3364: x_price_details OUT NOCOPY oks_qp_pkg.price_details,
3365: x_modifier_details OUT NOCOPY qp_preq_grp.line_detail_tbl_type,
3366: x_price_break_details OUT NOCOPY oks_qp_pkg.g_price_break_tbl_type,
3367: x_return_status OUT NOCOPY VARCHAR2,
3368: x_msg_count OUT NOCOPY NUMBER,
3369: x_msg_data OUT NOCOPY VARCHAR2
3370: )
3386: AND date_cancelled IS NULL --[llc]
3387: AND date_terminated IS NULL -- bug 5504157
3388: ORDER BY line_number;
3389:
3390: l_input_detail_rec oks_qp_pkg.input_details;
3391: l_rail_rec oks_tax_util_pvt.ra_rec_type;
3392: l_k_det_rec k_details_rec;
3393: l_khdr_rec_in oks_contract_hdr_pub.khrv_rec_type;
3394: l_khdr_rec_out oks_contract_hdr_pub.khrv_rec_type;
3477: RAISE g_exc_cant_price;
3478: END IF;
3479:
3480: /** **/
3481: oks_qp_pkg.calc_price
3482: (p_detail_rec => l_input_detail_rec,
3483: x_price_details => x_price_details,
3484: x_modifier_details => x_modifier_details,
3485: x_price_break_details => x_price_break_details,
4324: END bulk_to_single_output;
4325:
4326: /*skuchima :Bug:7539977 --Copied the CALCULATE_TOPLINE_PRICE Procedure to make changes to call the QP in bulk mode*/
4327: PROCEDURE calculate_topline_price_bulk (
4328: p_detail_rec in oks_qp_pkg.input_details,
4329: x_price_details out nocopy oks_qp_pkg.price_details,
4330: x_modifier_details out nocopy qp_preq_grp.line_detail_tbl_type,
4331: x_price_break_details out nocopy oks_qp_pkg.g_price_break_tbl_type,
4332: x_return_status out nocopy varchar2,
4325:
4326: /*skuchima :Bug:7539977 --Copied the CALCULATE_TOPLINE_PRICE Procedure to make changes to call the QP in bulk mode*/
4327: PROCEDURE calculate_topline_price_bulk (
4328: p_detail_rec in oks_qp_pkg.input_details,
4329: x_price_details out nocopy oks_qp_pkg.price_details,
4330: x_modifier_details out nocopy qp_preq_grp.line_detail_tbl_type,
4331: x_price_break_details out nocopy oks_qp_pkg.g_price_break_tbl_type,
4332: x_return_status out nocopy varchar2,
4333: x_msg_count out nocopy number,
4327: PROCEDURE calculate_topline_price_bulk (
4328: p_detail_rec in oks_qp_pkg.input_details,
4329: x_price_details out nocopy oks_qp_pkg.price_details,
4330: x_modifier_details out nocopy qp_preq_grp.line_detail_tbl_type,
4331: x_price_break_details out nocopy oks_qp_pkg.g_price_break_tbl_type,
4332: x_return_status out nocopy varchar2,
4333: x_msg_count out nocopy number,
4334: x_msg_data out nocopy varchar2
4335: )
4351: and date_cancelled is null --[llc]
4352: and date_terminated is null -- bug 5504157
4353: order by line_number;
4354:
4355: l_input_detail_rec oks_qp_pkg.input_details;
4356: l_rail_rec oks_tax_util_pvt.ra_rec_type;
4357: l_k_det_rec k_details_rec;
4358: l_khdr_rec_in oks_contract_hdr_pub.khrv_rec_type;
4359: l_khdr_rec_out oks_contract_hdr_pub.khrv_rec_type;
4499: raise g_exc_cant_price;
4500: end if;
4501:
4502:
4503: ---call oks_qp_pkg.calc_price_pre to populate input bulk table
4504: oks_qp_pkg.calc_price_pre
4505: (p_detail_rec => l_input_detail_rec,
4506: l_control_rec => l_control_rec ,
4507: l_req_line_tbl => l_req_line_tbl ,
4500: end if;
4501:
4502:
4503: ---call oks_qp_pkg.calc_price_pre to populate input bulk table
4504: oks_qp_pkg.calc_price_pre
4505: (p_detail_rec => l_input_detail_rec,
4506: l_control_rec => l_control_rec ,
4507: l_req_line_tbl => l_req_line_tbl ,
4508: l_req_qual_tbl => l_req_qual_tbl ,
5644: lx_req_related_lines_tbl);
5645:
5646: --call the procedure calc_price_post for post processing
5647:
5648: oks_qp_pkg.calc_price_post
5649: (
5650: p_detail_rec => l_input_detail_rec,
5651: lx_req_line_tbl => lx_req_line_tbl,
5652: lx_req_qual_tbl => lx_req_qual_tbl,
6087: END calculate_topline_price_bulk;
6088:
6089:
6090: PROCEDURE calculate_hdr_price (
6091: p_detail_rec IN oks_qp_pkg.input_details,
6092: x_price_details OUT NOCOPY oks_qp_pkg.price_details,
6093: x_modifier_details OUT NOCOPY qp_preq_grp.line_detail_tbl_type,
6094: x_price_break_details OUT NOCOPY oks_qp_pkg.g_price_break_tbl_type,
6095: x_return_status OUT NOCOPY VARCHAR2,
6088:
6089:
6090: PROCEDURE calculate_hdr_price (
6091: p_detail_rec IN oks_qp_pkg.input_details,
6092: x_price_details OUT NOCOPY oks_qp_pkg.price_details,
6093: x_modifier_details OUT NOCOPY qp_preq_grp.line_detail_tbl_type,
6094: x_price_break_details OUT NOCOPY oks_qp_pkg.g_price_break_tbl_type,
6095: x_return_status OUT NOCOPY VARCHAR2,
6096: x_msg_count OUT NOCOPY NUMBER,
6090: PROCEDURE calculate_hdr_price (
6091: p_detail_rec IN oks_qp_pkg.input_details,
6092: x_price_details OUT NOCOPY oks_qp_pkg.price_details,
6093: x_modifier_details OUT NOCOPY qp_preq_grp.line_detail_tbl_type,
6094: x_price_break_details OUT NOCOPY oks_qp_pkg.g_price_break_tbl_type,
6095: x_return_status OUT NOCOPY VARCHAR2,
6096: x_msg_count OUT NOCOPY NUMBER,
6097: x_msg_data OUT NOCOPY VARCHAR2
6098: )
6114: AND date_cancelled IS NULL --[llc] bug 4653406
6115: AND date_terminated IS NULL -- bug 5504157
6116: ORDER BY line_number;
6117:
6118: l_input_details oks_qp_pkg.input_details;
6119: l_chrv_rec_in okc_contract_pub.chrv_rec_type;
6120: l_chrv_rec_out okc_contract_pub.chrv_rec_type;
6121: l_k_det_rec k_details_rec;
6122: BEGIN
6349:
6350: PROCEDURE compute_price (
6351: p_api_version IN NUMBER,
6352: p_init_msg_list IN VARCHAR2,
6353: p_detail_rec IN oks_qp_pkg.input_details,
6354: x_price_details OUT NOCOPY oks_qp_pkg.price_details,
6355: x_modifier_details OUT NOCOPY qp_preq_grp.line_detail_tbl_type,
6356: x_price_break_details OUT NOCOPY oks_qp_pkg.g_price_break_tbl_type,
6357: x_return_status OUT NOCOPY VARCHAR2,
6350: PROCEDURE compute_price (
6351: p_api_version IN NUMBER,
6352: p_init_msg_list IN VARCHAR2,
6353: p_detail_rec IN oks_qp_pkg.input_details,
6354: x_price_details OUT NOCOPY oks_qp_pkg.price_details,
6355: x_modifier_details OUT NOCOPY qp_preq_grp.line_detail_tbl_type,
6356: x_price_break_details OUT NOCOPY oks_qp_pkg.g_price_break_tbl_type,
6357: x_return_status OUT NOCOPY VARCHAR2,
6358: x_msg_count OUT NOCOPY NUMBER,
6352: p_init_msg_list IN VARCHAR2,
6353: p_detail_rec IN oks_qp_pkg.input_details,
6354: x_price_details OUT NOCOPY oks_qp_pkg.price_details,
6355: x_modifier_details OUT NOCOPY qp_preq_grp.line_detail_tbl_type,
6356: x_price_break_details OUT NOCOPY oks_qp_pkg.g_price_break_tbl_type,
6357: x_return_status OUT NOCOPY VARCHAR2,
6358: x_msg_count OUT NOCOPY NUMBER,
6359: x_msg_data OUT NOCOPY VARCHAR2
6360: )
6360: )
6361: IS
6362: l_api_name CONSTANT VARCHAR2 (30)
6363: := 'compute_price';
6364: l_input_detail_rec oks_qp_pkg.input_details
6365: := p_detail_rec;
6366: l_k_det_rec k_details_rec;
6367: l_chrv_rec_in okc_contract_pub.chrv_rec_type;
6368: l_chrv_rec_out okc_contract_pub.chrv_rec_type;
7150: p_cle_id IN NUMBER
7151:
7152: )
7153: IS
7154: l_input_details OKS_QP_PKG.INPUT_DETAILS;
7155: l_output_details OKS_QP_PKG.PRICE_DETAILS;
7156: l_modif_details QP_PREQ_GRP.LINE_DETAIL_TBL_TYPE;
7157: l_pb_details OKS_QP_PKG.G_PRICE_BREAK_TBL_TYPE;
7158: l_return_status VARCHAR2(20);
7151:
7152: )
7153: IS
7154: l_input_details OKS_QP_PKG.INPUT_DETAILS;
7155: l_output_details OKS_QP_PKG.PRICE_DETAILS;
7156: l_modif_details QP_PREQ_GRP.LINE_DETAIL_TBL_TYPE;
7157: l_pb_details OKS_QP_PKG.G_PRICE_BREAK_TBL_TYPE;
7158: l_return_status VARCHAR2(20);
7159: l_msg_count NUMBER;
7153: IS
7154: l_input_details OKS_QP_PKG.INPUT_DETAILS;
7155: l_output_details OKS_QP_PKG.PRICE_DETAILS;
7156: l_modif_details QP_PREQ_GRP.LINE_DETAIL_TBL_TYPE;
7157: l_pb_details OKS_QP_PKG.G_PRICE_BREAK_TBL_TYPE;
7158: l_return_status VARCHAR2(20);
7159: l_msg_count NUMBER;
7160: l_msg_data VARCHAR2(2000);
7161: l_post Boolean;