7: * Requisition Line Id
8: * Requisition Distribution Id
9: * Modifies: None.
10: * Effects: Return updated distribution qty X new price
11: from po_change_requests if any changes were made
12: * Else return req_line_quantity X unit price
13: * from po_req_distributions and po_requisition_lines
14: * If line was cancelled return 0
15: * Returns:
21: p_distribution_id IN NUMBER)
22: RETURN NUMBER
23: IS
24: l_matching_basis po_requisition_lines_all.matching_basis%type;
25: l_action_type po_change_requests.action_type%type;
26: l_dist_total NUMBER := 0;
27: l_change_request_group_id po_change_requests.change_request_group_id%type;
28: BEGIN
29:
23: IS
24: l_matching_basis po_requisition_lines_all.matching_basis%type;
25: l_action_type po_change_requests.action_type%type;
26: l_dist_total NUMBER := 0;
27: l_change_request_group_id po_change_requests.change_request_group_id%type;
28: BEGIN
29:
30: SELECT prl.matching_basis, pcr.action_type,
31: decode (prl.matching_basis, 'AMOUNT' , prd.req_line_amount,
35: INTO l_matching_basis, l_action_type, l_dist_total,
36: l_change_request_group_id
37: FROM po_requisition_lines_all prl,
38: po_req_distributions_all prd,
39: po_change_requests pcr
40: WHERE prl.requisition_line_id = p_line_id
41: AND prl.requisition_line_id = prd.requisition_line_id
42: AND prd.distribution_id = p_distribution_id
43: AND nvl(prl.cancel_flag,'N') = 'N'
95: SELECT prd.req_line_amount,
96: nvl(pcr.new_amount, prd.req_line_amount),
97: prd.nonrecoverable_tax
98: INTO l_old_dist_total, l_new_dist_total, l_nonrec_tax
99: FROM po_change_requests pcr,
100: po_req_distributions_all prd
101: WHERE prd.distribution_id = p_distribution_id
102: AND pcr.document_line_id(+) = prd.requisition_line_id
103: AND pcr.document_distribution_id(+) = prd.distribution_id
109: SELECT prd.req_line_quantity*prl.unit_price,
110: nvl(pcr1.new_quantity, prd.req_line_quantity)*nvl(pcr.new_price, prl.unit_price),
111: prd.nonrecoverable_tax
112: INTO l_old_dist_total, l_new_dist_total, l_nonrec_tax
113: FROM po_change_requests pcr,
114: po_change_requests pcr1,
115: po_requisition_lines_all prl,
116: po_req_distributions_all prd
117: WHERE prd.distribution_id = p_distribution_id
110: nvl(pcr1.new_quantity, prd.req_line_quantity)*nvl(pcr.new_price, prl.unit_price),
111: prd.nonrecoverable_tax
112: INTO l_old_dist_total, l_new_dist_total, l_nonrec_tax
113: FROM po_change_requests pcr,
114: po_change_requests pcr1,
115: po_requisition_lines_all prl,
116: po_req_distributions_all prd
117: WHERE prd.distribution_id = p_distribution_id
118: AND pcr1.document_distribution_id(+) = prd.distribution_id