Thursday, 11 October 2018
How to get Active bank accounts for a customer, Supplier
-----
Case: You have account number
hz_cust_accounts (pass account_number = '<1234>') (get CUST_ACCOUNT_ID, PARTY_ID)
HZ_CUST_ACCT_SITES_ALL (cust_account_id=hz_cust_accounts.cust_account_id) (get cust_account_site_id)
HZ_CUST_SITE_USES_ALL (pass CUST_ACCT_SITE_ID) (get SITE_USE_ID -> which are active)
IBY_EXTERNAL_PAYERS_ALL (pass party_id= hz_cust_accounts.party_id, ACCT_SITE_USE_ID-> join with HZ_CUST_SITE_USES_ALL.SITE_USE_ID) (get EXT_PAYER_ID)
IBY_PMT_INSTR_USES_ALL (pass EXT_PMT_PARTY_ID = IBY_EXTERNAL_PAYERS_ALL.EXT_PAYER_ID)
IBY_EXT_BANK_ACCOUNTS (get EXT_BANK_ACCOUNT_ID)
---
HZ_ACCOUNT_OWNERS (pass account_owner_party_id= hz_cust_accounts.party_id) (get EXT_BANK_ACCOUNT_ID)
SELECT ca.account_number "Customer Account Number"
, null "Site address"
, piu.start_date "Bank Account Use Start Date"
, piu.end_date "Bank Account Use End Date"
, eba.bank_account_num "Bank Account Number"
, eba.bank_account_name "Bank Account Name"
, eba.start_date "Bank Account Start Date"
, eba.end_date "Bank Account End Date"
FROM hz_cust_accounts ca
, iby_external_payers_all epa
, iby_pmt_instr_uses_all piu
, iby_ext_bank_accounts eba
WHERE ca.cust_account_id = epa.cust_account_id
AND piu.ext_pmt_party_id = epa.ext_payer_id
AND piu.payment_function = 'CUSTOMER_PAYMENT'
AND eba.ext_bank_account_id = piu.instrument_id
AND ca.account_number = 'SKM-PERSON-01'
AND epa.acct_site_use_id is null
-----------------
(
SELECT DISTINCT
bank.party_name bank_name,
branch.party_name branch_name,
account.bank_account_num bank_account_num,
account.iban iban,
account.eft_swift_code swift_code,
acc_owner.account_owner_party_id account_owner_party_id,
account.ext_bank_account_id
FROM
hz_parties bank,
hz_relationships rel,
hz_parties branch,
iby_ext_bank_accounts account,
iby_account_owners acc_owner
WHERE
1 = 1
AND bank.party_id = rel.object_id
AND bank.party_type = rel.object_type
AND rel.object_table_name = 'HZ_PARTIES'
AND rel.relationship_code = 'BRANCH_OF'
AND rel.subject_id = branch.party_id
AND rel.subject_type = branch.party_type
AND rel.subject_table_name = 'HZ_PARTIES'
AND bank.party_id = account.bank_id
AND branch.party_id = account.branch_id (+)
AND account.ext_bank_account_id = acc_owner.ext_bank_account_id (+)
AND SYSDATE BETWEEN nvl(rel.start_date,SYSDATE - 1) AND nvl(rel.end_date,SYSDATE + 1)
AND bank.status = 'A'
AND branch.status = 'A'
) supplier_bank
Subscribe to:
Post Comments (Atom)
Oracle Apps R12 and Fusion Cloud Self Paced Training Videos by Industry Experts with Live Meeting Support. Please Check https://www.oracleappstechnical.com
ReplyDelete