20: G_LEVEL_PROCEDURE CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
21: G_LEVEL_STATEMENT CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
22: G_MODULE_NAME CONSTANT VARCHAR2(100) := 'AP.PLSQL.AP_RETAINAGE_RELEASE_PKG.';
23:
24: Cursor c_release_invoice_info (c_invoice_id IN ap_invoices_all.invoice_id%type) Is
25: Select ai.invoice_currency_code,
26: --Bug6893516 Exchange rate should be 1 for base currency invoices
27: nvl(ai.exchange_rate,1) exchange_rate,
28: ai.gl_date,
28: ai.gl_date,
29: ai.vendor_id,
30: ai.vendor_site_id,
31: ai.org_id
32: From ap_invoices_all ai
33: Where invoice_id = c_invoice_id;
34:
35: g_release_invoice_info c_release_invoice_info%rowtype;
36: g_period_name gl_period_statuses.period_name%TYPE;
46:
47: Procedure Unlock_Retained_Invoices (x_retained_lines_tab IN retainedLinesType,
48: x_lock_status OUT NOCOPY BOOLEAN);
49:
50: Procedure create_release_lines (x_invoice_id IN ap_invoices_all.invoice_id%TYPE,
51: x_release_amount IN number,
52: x_release_amount_remaining IN number,
53: x_retained_lines_tab IN retainedLinesType,
54: x_released_lines_tab OUT NOCOPY releaseLinesType);
69:
70: --
71: -- Main Procedure
72: --
73: PROCEDURE create_release (x_invoice_id IN ap_invoices_all.invoice_id%TYPE,
74: x_release_shipments_tab IN release_shipments_tab) As
75:
76: released_lines_tab releaseLinesType;
77: l_retained_lines_locked boolean;
211: APP_EXCEPTION.RAISE_EXCEPTION;
212:
213: END create_release;
214:
215: Procedure create_release_lines (x_invoice_id IN ap_invoices_all.invoice_id%TYPE,
216: x_release_amount IN number,
217: x_release_amount_remaining IN number,
218: x_retained_lines_tab IN retainedLinesType,
219: x_released_lines_tab OUT NOCOPY releaseLinesType) As
268: INTO l_max_inv_line_num
269: FROM ap_invoice_lines_all
270: WHERE invoice_id = X_invoice_id;
271:
272: -- l_max_inv_line_num := ap_invoices_pkg.get_max_line_number(x_invoice_id) + 1;
273:
274: FOR i in x_retained_lines_tab.first .. x_retained_lines_tab.last
275: LOOP
276:
837: Begin
838:
839: SELECT sum(ap_utilities_pkg.ap_round_currency(ail.retained_amount * ai.exchange_rate, ai.invoice_currency_code))
840: INTO l_sum_retained_base_amount
841: FROM ap_invoices ai,
842: ap_invoice_lines ail
843: WHERE ai.invoice_id = ail.invoice_id
844: AND ail.po_line_location_id = x_line_location_id
845: AND ail.line_type_lookup_code = 'ITEM'