Monday 7 October 2013

AP to Bank Details Query

SELECT party_supp.party_name supplier_name
, aps.segment1 supplier_number
, ass.vendor_site_code supplier_site
, ieb.bank_account_num
, ieb.bank_account_name
, party_bank.party_name bank_name
, branch_prof.bank_or_branch_number bank_number
, party_branch.party_name branch_name
, branch_prof.bank_or_branch_number branch_number
FROM hz_parties party_supp
, ap_suppliers aps
, hz_party_sites site_supp
, ap_supplier_sites_all ass
, iby_external_payees_all iep
, iby_pmt_instr_uses_all ipi
, iby_ext_bank_accounts ieb
, hz_parties party_bank
, hz_parties party_branch
, hz_organization_profiles bank_prof
, hz_organization_profiles branch_prof
WHERE party_supp.party_id = aps.party_id
AND party_supp.party_id = site_supp.party_id
AND site_supp.party_site_id = ass.party_site_id
AND ass.vendor_id = aps.vendor_id
AND iep.payee_party_id = party_supp.party_id
AND iep.party_site_id = site_supp.party_site_id
AND iep.supplier_site_id = ass.vendor_site_id
AND iep.ext_payee_id = ipi.ext_pmt_party_id
AND ipi.instrument_id = ieb.ext_bank_account_id
AND ieb.bank_id = party_bank.party_id
AND ieb.bank_id = party_branch.party_id
AND party_branch.party_id = branch_prof.party_id
AND party_bank.party_id = bank_prof.party_id
ORDER BY party_supp.party_name
, ass.vendor_site_code;

Sunday 6 October 2013

Yearly Calendar Query From JAN to DE

SELECT INITCAP(TRIM(TO_CHAR(dat, 'month'))) || ', ' || TO_CHAR(SYSDATE, 'yyyy') MONTH,
MAX(DECODE(TO_CHAR(dat, 'd'), 2, TO_CHAR(dat, 'dd'))) mon,
MAX(DECODE(TO_CHAR(dat, 'd'), 3, TO_CHAR(dat, 'dd'))) tue,
MAX(DECODE(TO_CHAR(dat, 'd'), 4, TO_CHAR(dat, 'dd'))) wed,
MAX(DECODE(TO_CHAR(dat, 'd'), 5, TO_CHAR(dat, 'dd'))) thu,
MAX(DECODE(TO_CHAR(dat, 'd'), 6, TO_CHAR(dat, 'dd'))) fri,
MAX(DECODE(TO_CHAR(dat, 'd'), 7, TO_CHAR(dat, 'dd'))) sat,
MAX(DECODE(TO_CHAR(dat, 'd'), 1, TO_CHAR(dat, 'dd'))) sun
FROM
(SELECT TRUNC(SYSDATE, 'y') + ROWNUM -1 dat,
TO_CHAR(TRUNC(SYSDATE, 'y') + ROWNUM -1, 'iw') woy
FROM user_objects
WHERE ROWNUM <=(ADD_MONTHS(TRUNC(SYSDATE, 'y'), 12) -TRUNC(SYSDATE, 'y')))
GROUP BY TO_CHAR(dat, 'month'),
woy,
TO_CHAR(dat, 'mm')
ORDER BY TO_CHAR(dat, 'mm'),8;