Académique Documents
Professionnel Documents
Culture Documents
(
CUSTOMER_ID
NUMBER,
INVOICE_NUMBER
VARCHAR2 (20),
INVOICE_DATE
GL_DATE
DATE,
DATE,
INVOICE_AMOUNT
NUMBER,
TAX_AMOUNT
NUMBER,
ACCTD_OUTSTANDING_AMOUNT NUMBER,
DUE_DATE
DATE,
DAYS_OUTSTANDING
NUMBER,
INSTALLMENT_NUMBER
DAYS_LATE_AS_OF
NUMBER,
NUMBER,
CURRENT_OS_AMT
NUMBER,
CASH_RECEIPT_AMT
NUMBER,
ADJ_AMT
NUMBER,
CREDIT_MEMO_AMT
NUMBER,
CREDIT_MEMO_AMT_1
NUMBER
);
NUMBER,
VARCHAR2 (20),
VARCHAR2 (100),
ACCTD_OUTSTANDING_AMOUNT NUMBER,
GL_DATE
DATE
);
DECLARE
v_cash_receipt
NUMBER;
v_adjustment
NUMBER;
v_credit_memo
NUMBER;
v_as_of_outstanding
NUMBER;
v_cash_receipt_acctd
NUMBER;
v_adjustment_acctd
NUMBER;
v_credit_memo_acctd
NUMBER;
v_credit_memo_acctd_1
NUMBER;
v_as_of_outstanding_acctd NUMBER;
p_as_of_date
DATE;
CURSOR cs_get_trx (
p_as_of_date1 IN DATE)
IS
SELECT ps.customer_id CUST_ACCOUNT_ID,
trx.creation_date INV_CREATION_DATE,
ps.trx_number INVOICE_NUMBER,
trx.trx_date INVOICE_DATE,
ps.gl_date GL_DATE,
NVL (ps.amount_due_original, 0) INVOICE_AMOUNT,
trx.customer_trx_id = ps.customer_trx_id
CURSOR cs_get_receipt (
p_as_of_date2 IN DATE)
IS
SELECT ps.customer_id CUST_ACCOUNT_ID,
ps.payment_schedule_id,
CEIL (p_as_of_date - ps.GL_DATE) days_late_as_of_r,
ps.gl_date,
cr.receipt_number,
app.cash_receipt_id,
SUM (app.acctd_amount_applied_from) ACCTD_AMOUNT_APPLIED
FROM apps.ar_receivable_applications app,
apps.ar_cash_receipts cr,
apps.ar_payment_schedules ps
WHERE
app.cash_receipt_id = cr.cash_receipt_id
DELETE zxc_aging_cust1;
SELECT NVL (
SUM (
NVL (acctd_amount_applied_to, 0.0)
+ NVL (acctd_earned_discount_taken, 0.0)
+ NVL (acctd_unearned_discount_taken, 0.0)),
0.0)
INTO v_cash_receipt_acctd
FROM apps.ar_receivable_applications
WHERE
applied_payment_schedule_id = invoice.payment_schedule_id
payment_schedule_id = invoice.payment_schedule_id
v_as_of_outstanding_acctd :=
invoice.acctd_outstanding_amount
+ v_cash_receipt_acctd
- v_adjustment_acctd
+ v_credit_memo_acctd
- v_credit_memo_acctd_1;
VALUES (invoice.cust_account_id,
invoice.invoice_number,
invoice.invoice_date,
invoice.gl_date,
invoice.invoice_amount,
invoice.tax_amount,
v_as_of_outstanding_acctd,
invoice.due_date,
invoice.days_outstanding,
invoice.installment_number,
invoice.days_late_as_of,
invoice.acctd_outstanding_amount,
v_cash_receipt_acctd,
v_adjustment_acctd,
v_credit_memo_acctd,
v_credit_memo_acctd_1);
END LOOP;
COMMIT;
gl_date)
VALUES (receipt.cust_account_id,
receipt.receipt_number,
'RECEIPT',
-1 * receipt.acctd_amount_applied,
receipt.gl_date);
END LOOP;
COMMIT;
END;