Sie sind auf Seite 1von 3

R12 Supplier/Site/Banking Drilldown

Supplier level
PO_VENDORS.party_id = HZ_PARTIES.party_id
PO_VENDORS.employee_id = PER_EMPLOYEES_CURRENT_X.employee_id(+)
PO_VENDORS.employee_id = PER_ALL_PEOPLE_F.person_id(+)

Site level
AP_SUPPLIER_SITES_ALL.vendor_id = PO_VENDORS.vendor_id
AP_SUPPLIER_SITES_ALL.location_id = HZ_LOCATIONS.location_id(+)
AP_SUPPLIER_SITES_ALL.ship_to_location_id = HR_LOCATIONS.location_id(+)
AP_SUPPLIER_SITES_ALL.org_id = AP_SYSTEM_PARAMETERS_ALL.org_id
AP_SUPPLIER_SITES_ALL.org_id = HR_OPERATING_UNITS.org_id
AP_SUPPLIER.SITES_ALL.party_site_id=HZ_PARTY_SITES.party_site_id

Bank level
IBY_EXT_BANK_ACCOUNTS.ext_bank_account_id = IBY_PMT_INSTR_USES_ALL.instrument_id
IBY_PMT_INSTR_USES_ALL.instrument_type = BANKACCOUNT
IBY_PMT_INSTR_USES_ALL.ext_pmt_party_id = IBY_EXTERNAL_PAYEES_ALL.ext_payee_id
IBY_EXTERNAL_PAYEES_ALL.payee_party_id = PO_VENDORS.party_id
IBY_EXTERNAL_PAYEES_ALL.party_site_id = AP_SUPPLIER_SITES_ALL.party_site_id
IBY_EXTERNAL_PAYEES_ALL.payment_function = PAYABLES_DISB
IBY_EXTERNAL_PAYEES.supplier_site_id = AP_SUPPLIER_SITES_ALL.vendor_site_id
--Bank as Party
IBY_EXT_BANK_ACCOUNTS.bank_id = HZ_PARTIES.party_id(+)
IBY_EXT_BANK_ACCOUNTS.bank_id = HZ_ORGANIZATION_PROFILES.party_id(+)
IBY_EXT_BANK_ACCOUNTS.branch_id = CE_BANK_BRANCHES_V.branch_party_id(+)

--------------------------------------------------------------------
Sample Vendor Name - 'XXABC Company Inc.'
Vendor Site Code 'DIGITAL INC

Steps to Drill down to Bank Account info in R12


--------------------------------------------------------------------

1. Get the Supplier Party Id


select * from ap_suppliers where vendor_name = 'XXABC Company Inc.';

party_id 3310541

2. Get the Supplier Site Info


select * from apps.ap_supplier_sites_all where vendor_id = 654980
and org_id = 484;

vendor_site_id 1342690
party_site_id 2339546
vendor_site_code 'DIGITAL INC
3. Get the External Payee Info

select * from apps.iby_external_payees_all where party_site_id = 2339546 and org_id = 484;

ext_payee_id 3005139
payee_party_id 3310541
supplier_site_id 1342690

4. Get the Payment Instrument Info

select * from apps.iby_pmt_instr_uses_all where ext_pmt_party_id = 3005139 and sysdate


between nvl(start_date, sysdate) and nvl(end_date, sysdate);

instrument_id 743177

5. Get the External Bank Account Info

select * from apps.iby_ext_bank_accounts where ext_bank_account_id = 743177;

-----------------------------------------------------------------------------------------------------------

Query used to get the active bank account info for a given Supplier Name, Org Id and Site Code.
R12

SELECT accts.ext_bank_account_id,
accts.bank_account_name,
accts.masked_iban AS iban,
accts.currency_code,
uses.order_of_preference,
uses.start_date,
uses.end_date,
fc.name AS currency_name,
bank.party_name AS bank_name,
accts.masked_bank_account_num AS bank_account_number,
branch.bank_branch_name,
branch.branch_number,
bankProfile.bank_or_branch_number AS bank_number,
branch.eft_swift_code,
accts.bank_account_type
FROM apps.IBY_PMT_INSTR_USES_ALL uses,
apps.IBY_EXTERNAL_PAYEES_ALL payee,
apps.IBY_EXT_BANK_ACCOUNTS accts,
apps.FND_CURRENCIES_VL fc,
apps.HZ_PARTIES bank,
apps.HZ_ORGANIZATION_PROFILES bankProfile,
apps.CE_BANK_BRANCHES_V branch,
apps.po_vendors pv,
apps.ap_supplier_sites_all sites
WHERE pv.vendor_name = 'XXABC Company Inc.'
and pv.vendor_id = sites.vendor_id
and sites.vendor_site_code = DIGITAL INC
and sites.org_id = 484
and uses.instrument_type = 'BANKACCOUNT'
AND payee.ext_payee_id = uses.ext_pmt_party_id
AND payee.payee_party_id = pv.party_id
AND payee.payment_function = 'PAYABLES_DISB'
AND payee.party_site_id = sites.party_site_id
AND payee.org_id = sites.org_id
AND payee.supplier_site_id = sites.vendor_site_id
AND uses.instrument_id = accts.ext_bank_account_id
AND fc.currency_code(+) = accts.currency_code
AND SYSDATE BETWEEN NVL (accts.start_date, SYSDATE)
AND NVL (accts.end_date, SYSDATE)
AND SYSDATE BETWEEN NVL (uses.start_date, SYSDATE)
AND NVL (uses.end_date, SYSDATE)
AND accts.bank_id = bank.party_id(+)
AND accts.bank_id = bankProfile.party_id(+)
AND accts.branch_id = branch.branch_party_id(+)
AND SYSDATE BETWEEN TRUNC(bankProfile.effective_start_date(+)) AND
NVL(TRUNC(bankProfile.effective_end_date(+)),SYSDATE + 1)
ORDER BY ORDER_OF_PREFERENCE ASC

Das könnte Ihnen auch gefallen