Professional Documents
Culture Documents
Query To Get Bank Statement Details
Query To Get Bank Statement Details
0) */
(SELECT *
FROM (SELECT 'RECEIPT' trx_code, acra.receipt_number statement_number,
acra.receipt_date trx_date,
acra.misc_payment_source
|| (SELECT party_name
FROM hz_parties hp, hz_cust_accounts hca
WHERE hp.party_id = hca.party_id
AND hca.cust_account_id = acra.pay_from_customer)
-- acra.ATTRIBUTE4 || '/' || acra.ATTRIBUTE7
to_from,
DECODE
((SELECT status
FROM ce_statement_lines csl,
ce_statement_headers csh,
ce_bank_accounts ceba,
ce_banks_v cebb
WHERE csh.statement_header_id = csl.statement_header_id
AND csh.bank_account_id = ceba.bank_account_id
AND ceba.bank_account_id =
NVL (:p_account_id, ceba.bank_account_id)
AND ceba.bank_id = cebb.bank_party_id
AND cebb.bank_party_id =
NVL (:p_bank_id, cebb.bank_party_id)
-- :P_ACCOUNT_ID
AND TRUNC (statement_date)
BETWEEN TO_DATE (SUBSTR (:p_from_date, 1, 10),
'YYYY/MM/DD'
)
AND TO_DATE (SUBSTR (:p_to_date, 1, 10),
'YYYY/MM/DD'
)
AND csl.bank_trx_number = receipt_number
AND ROWNUM = 1),
'RECONCILED', 'Yes',
'No'
) reconcilied,
acrh.status status, comments description,
CASE
WHEN acra.amount > 0
AND acrh.status <> 'REVERSED'
THEN acra.amount
ELSE 0
END accdebit,
CASE
WHEN acra.amount < 0 OR acrh.status = 'REVERSED'
THEN acra.amount
ELSE 0
END acccredit,
0 opening_balance,
CASE
WHEN acra.amount > 0 AND acrh.status <> 'REVERSED'
THEN acra.amount
ELSE 0
END debit,
CASE
WHEN acra.amount < 0 OR acrh.status = 'REVERSED'
THEN acra.amount
ELSE 0
END credit,
0 balance, arm.NAME payment_method_code,
-- (CASE
-- WHEN ACRA.type = 'MISC' THEN
-- 'Miscellaneous'
-- WHEN ACRA.type = 'CASH' THEN
-- 'Standard'
-- else ACRA.type
-- END) PAYMENT_METHOD_CODE,
NULL check_voucher_num, NULL NAME
FROM ar_cash_receipts_all acra,
ar_cash_receipt_history_all acrh,
ce_bank_accounts ceba,
ce_banks_v cebb,
ce_bank_acct_uses_all cebau,
ar_receipt_methods arm
WHERE acra.cash_receipt_id = acrh.cash_receipt_id
AND TRUNC (receipt_date) BETWEEN TO_DATE (SUBSTR (:p_from_date,
1,
10
),
'YYYY/MM/DD'
)
AND TO_DATE (SUBSTR (:p_to_date,
1,
10
),
'YYYY/MM/DD'
)
AND acra.remit_bank_acct_use_id = cebau.bank_acct_use_id
AND cebau.bank_account_id = ceba.bank_account_id
AND ceba.bank_account_id =
NVL (:p_account_id, ceba.bank_account_id)
AND ceba.bank_id = cebb.bank_party_id
AND acra.receipt_method_id = arm.receipt_method_id
AND cebb.bank_party_id = NVL (:p_bank_id, cebb.bank_party_id)
-- AND REMIT_BANK_ACCT_USE_ID = (SELECT BANK_ACCT_USE_ID
-- FROM CE_BANK_ACCT_USES_ALL
-- WHERE BANK_ACCOUNT_ID = :P_ACCOUNT_ID)
AND confirmed_flag = 'Y')
WHERE status <> 'REVERSED'
-----------------------------------------------------------------------------------
------------------------
UNION ALL
-----------------------------------------------------------------------------------
------------------------
SELECT *
FROM (SELECT *
FROM (SELECT 'PAYMENT' trx_code,
TO_CHAR (aca.check_number) statement_number,
aca.check_date trx_date,
NVL ((SELECT party_name
FROM hz_parties
WHERE party_id = aca.party_id), '')
|| '/'
|| '' to_from,
DECODE
((SELECT status
FROM ce_statement_lines csl,
ce_statement_headers csh,
ce_bank_accounts ceba,
ce_banks_v cebb
WHERE csh.statement_header_id =
csl.statement_header_id
AND csh.bank_account_id = ceba.bank_account_id
AND ceba.bank_account_id =
NVL (:p_account_id,
ceba.bank_account_id
)
AND ceba.bank_id = cebb.bank_party_id
AND cebb.bank_party_id =
NVL (:p_bank_id, cebb.bank_party_id)
-- :P_ACCOUNT_ID
AND TRUNC (statement_date)
BETWEEN TO_DATE (SUBSTR (:p_from_date,
1,
10
),
'YYYY/MM/DD'
)
AND TO_DATE (SUBSTR (:p_to_date,
1,
10
),
'YYYY/MM/DD'
)
AND csl.bank_trx_number =
TO_CHAR (aca.check_number)
AND ROWNUM = 1),
'RECONCILED', 'Yes',
'No'
) reconcilied,
CASE
WHEN status_lookup_code = 'VOIDED'
AND TRUNC (aca.void_date) NOT
BETWEEN TO_DATE (SUBSTR (:p_from_date, 1,
10),
'YYYY/MM/DD'
)
AND TO_DATE (SUBSTR (:p_to_date, 1, 10),
'YYYY/MM/DD'
)
THEN 'NEGOTIABLE'
ELSE status_lookup_code
END status,
(SELECT ai.description
FROM ap_invoices_all ai,
ap_invoice_payments_all aipa
WHERE ai.invoice_id = aipa.invoice_id
AND aipa.check_id = aca.check_id
AND ROWNUM = 1) description,
CASE
WHEN status_lookup_code = 'VOIDED'
AND TRUNC (aca.void_date)
BETWEEN TO_DATE (SUBSTR (:p_from_date, 1,
10),
'YYYY/MM/DD'
)
AND TO_DATE (SUBSTR (:p_to_date, 1, 10),
'YYYY/MM/DD'
)
THEN aca.amount * NVL (aca.exchange_rate, 1)
ELSE 0
END accdebit,
0 acccredit, 0 opening_balance,
CASE
WHEN status_lookup_code = 'VOIDED'
AND TRUNC (aca.void_date)
BETWEEN TO_DATE (SUBSTR (:p_from_date, 1,
10),
'YYYY/MM/DD'
)
AND TO_DATE (SUBSTR (:p_to_date, 1, 10),
'YYYY/MM/DD'
)
THEN aca.amount * NVL (aca.exchange_rate, 1)
ELSE 0
END debit,
0 credit, 0 balance, aca.payment_method_code,
aca.check_voucher_num, NULL NAME
FROM ap_checks_all aca,
ce_bank_accounts ceba,
ce_banks_v cebb
WHERE TRUNC (aca.check_date)
BETWEEN TO_DATE (SUBSTR (:p_from_date, 1, 10),
'YYYY/MM/DD'
)
AND TO_DATE (SUBSTR (:p_to_date, 1, 10),
'YYYY/MM/DD'
)
AND aca.bank_account_name = ceba.bank_account_name
AND ceba.bank_account_id =
NVL (:p_account_id, ceba.bank_account_id)
AND ceba.bank_id = cebb.bank_party_id
AND cebb.bank_party_id =
NVL (:p_bank_id, cebb.bank_party_id))
WHERE status <> 'VOIDED'
-- (SELECT bank_account_name FROM ce_bank_accounts WHERE bank_account_id =
:P_ACCOUNT_ID)
UNION
SELECT *
FROM (SELECT 'PAYMENT' trx_code,
TO_CHAR (aca.check_number) statement_number,
aca.check_date trx_date,
NVL ((SELECT party_name
FROM hz_parties
WHERE party_id = aca.party_id), '')
|| '/'
|| '' to_from,
DECODE
((SELECT status
FROM ce_statement_lines csl,
ce_statement_headers csh,
ce_bank_accounts ceba,
ce_banks_v cebb
WHERE csh.statement_header_id =
csl.statement_header_id
AND csh.bank_account_id = ceba.bank_account_id
AND ceba.bank_account_id =
NVL (:p_account_id,
ceba.bank_account_id
)
AND ceba.bank_id = cebb.bank_party_id
AND cebb.bank_party_id =
NVL (:p_bank_id, cebb.bank_party_id)
-- :P_ACCOUNT_ID
AND TRUNC (statement_date)
BETWEEN TO_DATE (SUBSTR (:p_from_date,
1,
10
),
'YYYY/MM/DD'
)
AND TO_DATE (SUBSTR (:p_to_date,
1,
10
),
'YYYY/MM/DD'
)
AND csl.bank_trx_number =
TO_CHAR (aca.check_number)
AND ROWNUM = 1),
'RECONCILED', 'Yes',
'No'
) reconcilied,
CASE
WHEN status_lookup_code = 'VOIDED'
AND TRUNC (aca.void_date) NOT
BETWEEN TO_DATE (SUBSTR (:p_from_date, 1,
10),
'YYYY/MM/DD'
)
AND TO_DATE (SUBSTR (:p_to_date, 1, 10),
'YYYY/MM/DD'
)
THEN 'NEGOTIABLE'
ELSE status_lookup_code
END status,
(SELECT ai.description
FROM ap_invoices_all ai,
ap_invoice_payments_all aipa
WHERE ai.invoice_id = aipa.invoice_id
AND aipa.check_id = aca.check_id
AND ROWNUM = 1) description,
0 accdebit,
aca.amount * NVL (aca.exchange_rate, 1) acccredit,
0 opening_balance, 0 debit,
aca.amount * NVL (aca.exchange_rate, 1) credit,
0 balance, aca.payment_method_code,
aca.check_voucher_num, NULL NAME
FROM ap_checks_all aca,
ce_bank_accounts ceba,
ce_banks_v cebb
WHERE TRUNC (aca.check_date)
BETWEEN TO_DATE (SUBSTR (:p_from_date, 1, 10),
'YYYY/MM/DD'
)
AND TO_DATE (SUBSTR (:p_to_date, 1, 10),
'YYYY/MM/DD'
)
AND aca.bank_account_name = ceba.bank_account_name
AND ceba.bank_account_id =
NVL (:p_account_id, ceba.bank_account_id)
AND ceba.bank_id = cebb.bank_party_id
AND cebb.bank_party_id =
NVL (:p_bank_id, cebb.bank_party_id))
WHERE status <> 'VOIDED'
-- (SELECT bank_account_name FROM ce_bank_accounts WHERE bank_account_id =
:P_ACCOUNT_ID)
)
WHERE (debit > 0 OR credit > 0)
-----------------------------------------------------------------------------------
------------------------
UNION ALL
-----------------------------------------------------------------------------------
------------------------
/* removed on 23-08-2020 as cashflow is not included in the report.
SELECT 'CASHFLOW' TRX_CODE,
TO_CHAR (ccs.TRXN_REFERENCE_NUMBER) STATEMENT_NUMBER,
ccs.CASHFLOW_DATE TRX_DATE,
(SELECT CASE
WHEN ccs.CASHFLOW_DIRECTION = 'RECEIPT'
THEN
'From '
|| (SELECT cba.BANK_ACCOUNT_NUM
FROM cE_BANK_ACCOUNTS cba, CE_BANK_BRANCHES_V cbb
WHERE BRANCH_PARTY_ID = BANK_BRANCH_ID
AND BANK_ID = BANK_PARTY_ID
AND cba.BANK_ACCOUNT_ID =
cc1.CASHFLOW_BANK_ACCOUNT_ID)
WHEN ccs.CASHFLOW_DIRECTION = 'PAYMENT'
THEN
'To '
|| (SELECT cba.BANK_ACCOUNT_NUM
FROM cE_BANK_ACCOUNTS cba, CE_BANK_BRANCHES_V cbb
WHERE BRANCH_PARTY_ID = BANK_BRANCH_ID
AND BANK_ID = BANK_PARTY_ID
AND cba.BANK_ACCOUNT_ID =
cc1.CASHFLOW_BANK_ACCOUNT_ID)
END
FROM CE_CASHFLOWS CC, CE_CASHFLOWS CC1
WHERE CC.CASHFLOW_ID = ccs.CASHFLOW_ID
AND cc1.CASHFLOW_ID != ccs.CASHFLOW_ID
AND CC.TRXN_REFERENCE_NUMBER = CC1.TRXN_REFERENCE_NUMBER)
To_from,
DECODE (ccs.CASHFLOW_STATUS_CODE, 'RECONCILED', 'Yes', 'No')
Reconcilied,
CASE WHEN DECODE (ccs.CASHFLOW_STATUS_CODE, 'RECONCILED', 'Yes', 'No')
='YES'THEN
'RECONCILED' ELSE
case when EVENT_TYPE = 'CE_BAT_CANCELED' then 'Canceled' else 'CLEARED'
end END status,
ccs.Description Description,
CASE
WHEN EVENT_TYPE = 'CE_BAT_CANCELED'
THEN
CASE
WHEN ccs.CASHFLOW_DIRECTION = 'PAYMENT'
THEN
ccs.CASHFLOW_AMOUNT
ELSE
0
END
ELSE
CASE
WHEN ccs.CASHFLOW_DIRECTION = 'PAYMENT' THEN 0
ELSE ccs.CASHFLOW_AMOUNT
END
END
ACCDEBIT,
CASE
WHEN EVENT_TYPE = 'CE_BAT_CANCELED'
THEN
CASE
WHEN ccs.CASHFLOW_DIRECTION = 'RECEIPT'
THEN
ccs.CASHFLOW_AMOUNT
ELSE
0
END
ELSE
CASE
WHEN ccs.CASHFLOW_DIRECTION = 'RECEIPT' THEN 0
ELSE ccs.CASHFLOW_AMOUNT
END
END
ACCCREDIT,
0 OPENING_BALANCE,
CASE
WHEN EVENT_TYPE = 'CE_BAT_CANCELED'
THEN
CASE
WHEN ccs.CASHFLOW_DIRECTION = 'PAYMENT'
THEN
ccs.CASHFLOW_AMOUNT
ELSE
0
END
ELSE
CASE
WHEN ccs.CASHFLOW_DIRECTION = 'PAYMENT' THEN 0
ELSE ccs.CASHFLOW_AMOUNT
END
END
DEBIT,
CASE
WHEN EVENT_TYPE = 'CE_BAT_CANCELED'
THEN
CASE
WHEN ccs.CASHFLOW_DIRECTION = 'RECEIPT'
THEN
ccs.CASHFLOW_AMOUNT
ELSE
0
END
ELSE
CASE
WHEN ccs.CASHFLOW_DIRECTION = 'RECEIPT' THEN 0
ELSE ccs.CASHFLOW_AMOUNT
END
END
CREDIT,
0 balance,
null PAYMENT_METHOD_CODE,
null check_voucher_num,
null name
FROM CE_CASHFLOWS ccs, CE_CASHFLOW_ACCT_H ccah,ce_bank_accounts ceba,ce_banks_v
cebb
WHERE CCS.CASHFLOW_ID = CCAH.CASHFLOW_ID
AND TRUNC(ccs.CASHFLOW_DATE) BETWEEN
TO_DATE(substr(:p_from_date,1,10),'YYYY/MM/DD') and
TO_DATE(substr(:p_to_date,1,10),'YYYY/MM/DD')
AND ccs.CASHFLOW_BANK_ACCOUNT_ID = ceba.bank_account_id
and ceba.bank_account_id=nvl(:P_ACCOUNT_ID,ceba.bank_account_id)
and ceba.bank_id=cebb.bank_party_id
and cebb.bank_party_id=nvl(:p_bank_id,cebb.bank_party_id)
-- :P_ACCOUNT_ID
AND EVENT_TYPE IN ('CE_BAT_CANCELED', 'CE_BAT_CREATED')
-----------------------------------------------------------------------------------
------------------------
UNION ALL
-----------------------------------------------------------------------------------
------------------------
*/
SELECT 'Journal' trx_code, TO_CHAR (gjh.doc_sequence_value) statement_number,