|
-
This is my Query...
procedure pr_create_payment_invoice (
ip_batch_load_id in number,
ip_file_id in number
) is
c_unit_name varchar2(30):='pr_create_payment_invoice';
l_counter NUMBER := 0;
l_insert_count NUMBER := 0;
TYPE t_invoice_id IS TABLE OF pk_fin_data_source.t_invoice;
l_invoice_id t_invoice_id;
CURSOR cr_get_invoice_id(cp_batch_load_id in number) IS
SELECT /*+ use_hash(invoice) */
DISTINCT sfpi.invoice_id invoice_id
,invoice.customer_account_invoice_str invoice_no
,sfpi.payment_id
,NULL
BULK COLLECT INTO l_invoice_id
FROM stage_fin_payment sfp
,stage_fin_payment_invoice sfpi
,(SELECT /*+ no_merge */
invoice_id
,customer_account_invoice_str
FROM stage_fin_invoice sfi
WHERE batch_load_id = cp_batch_load_id
GROUP BY invoice_id
,customer_account_invoice_str) invoice
WHERE sfp.to_account_id = sfpi.account_id
AND sfp.payment_id = sfpi.payment_id
AND sfp.from_account_id IS NULL
AND sfp.batch_load_id = sfpi.batch_load_id
AND sfp.batch_load_id = cp_batch_load_id
AND EXISTS
(SELECT 1
FROM invoice_col ic
WHERE sfpi.invoice_id = ic.invoice_id)
AND sfpi.invoice_id = invoice.invoice_id(+);
begin
pk_globals.pr_add_call(GC_PACKAGE_NAME||'.'||c_unit_name);
OPEN cr_get_invoice_id(ip_batch_load_id);
LOOP
FETCH cr_get_invoice_id BULK COLLECT INTO l_invoice_id LIMIT GC_COMMIT_SIZE;
l_counter := l_invoice_id.COUNT;
l_insert_count := l_insert_count + l_counter;
--
FORALL l_invoiceid IN 1..l_counter
insert into tallyman_interface_line (
file_id,
line_type,
sequence_no,
batch_load_id,
interface_line_1,
interface_line_2,
record_created_timestamp
) select
ip_file_id,
2,
tallyman_line_no_seq.nextval,
ip_batch_load_id,
customer_account_invoice_str --CR 75539
||'|'||current_due
||'|'||case when (payment_date + grace_period_days > payment_extract_time)
then 0 else 1 end
||'|'||null
,
null,
sysdate
from stage_fin_invoice,
stage_control
where batch_load_id = ip_batch_load_id
and invoice_id = l_invoice_id.invoice_id(l_invoiceid);
COMMIT;
EXIT WHEN cr_get_invoice_id%NOTFOUND;
END LOOP;
CLOSE cr_get_invoice_id;
Cheers!
OraKid.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|