Supplier Contact Detail Query

Supplier Contact

In this post, we will discuss on supplier contacts. Supplier contact includes persona name, contact like email, fax number, mobile number, address etc. which help organization to communicate with the supplier entity. I shared query which will provide you supplier details.

Detail Query




 SELECT psv.vendor_name,
       psv.vendor_id,
       pssv.vendor_site_id,
       pssv.party_site_name address_name,
       pssv.address_line1
       ||','
       ||pssv.city
       ||' '
       ||pssv.zip
       ||','
       ||fnd.territory_short_name  AS Address,
       hou.name bu,
       psav.party_site_name site,
       psav.status,
       psv.segment1 supplier_num,
       psv.vendor_type_lookup_code supplier_type,
       psv.vendor_name_alt alternate_name,
       zxr.registration_number vendor_trn,
       INITCAP(zxr.registration_status_code) tax_regi_status,
       gcc.segment1
       ||'.'||
   gcc.segment2
       ||'.'||
   gcc.segment3
       ||'.'||
   gcc.segment4
       ||'.'||
   gcc.segment5
       ||'.'||
   gcc.segment6 AS Liability_Account,
       gcc1.segment1
       ||'.'||
   gcc1.segment2
       ||'.'||
   gcc1.segment3
       ||'.'||
   gcc1.segment4
       ||'.'||
   gcc1.segment5
       ||'.'||
   gcc1.segment6 AS prepayment_account,
       site_reg.registration_number site_regi_number,
       INITCAP(site_reg.registration_status_code) site_status,
   fnd.territory_short_name country_name,
   (SELECT att.name
      FROM ap_terms_b apt, 
       ap_terms_tl att
WHERE apt.term_id = att.term_id
   AND att.language = 'US'
   AND apt.term_id = pssv.terms_id
   ) payment_term,
   sup_contact.first_name, 
       sup_contact.last_name, 
       sup_contact.email_address    
  FROM poz_suppliers_v psv,
       poz_supplier_sites_v pssv,
       poz_supplier_address_v psav,
       poz_site_assignments_all_m pssam,
       fnd_territories_vl fnd,
       gl_code_combinations gcc,
       gl_code_combinations gcc1,
       hr_operating_units hou,
       zx_party_tax_profile zptp,
       zx_registrations zxr,
       zx_party_tax_profile site_pro,
       zx_registrations site_reg,
       (SELECT poz_util.format_name(personparty.party_id)  AS full_name, 
               personparty.person_first_name AS first_name, 
               personparty.person_last_name AS last_name, 
               email.email_address,
           relationship.object_id
          FROM hz_parties personparty, 
               hz_relationships relationship,
               hz_party_usg_assignments partyusageassignment,
               hz_org_contacts orgcontact, 
               hz_org_contact_roles orgcontactrole, 
               hz_contact_points email,
               poz_lookup_codes  statuslookup,
               hz_lookups contacttitlelookup,
               per_users users,
               poz_supplier_contacts contactaddresses      
         WHERE personparty.status = 'A'
           AND relationship.subject_id = personparty.party_id 
           AND relationship.relationship_type = 'CONTACT' 
           AND relationship.relationship_code = 'CONTACT_OF' 
           AND relationship.subject_type = 'PERSON' 
           AND relationship.subject_table_name = 'HZ_PARTIES' 
           AND relationship.object_type = 'ORGANIZATION' 
           AND relationship.object_table_name = 'HZ_PARTIES' 
           AND relationship.status = 'A'
           AND orgcontact.party_relationship_id(+) = relationship.relationship_id 
           AND orgcontactrole.org_contact_id(+) = orgcontact.org_contact_id
           AND orgcontactrole.role_type(+) = 'ADMINISTRATIVE_CONTACT_FOR'
           AND orgcontactrole.status(+) = 'A'
           AND personparty.party_id = partyusageassignment.party_id 
           AND partyusageassignment.party_usage_code = 'SUPPLIER_CONTACT'
           AND partyusageassignment.status_flag = 'A' 
           AND partyusageassignment.owner_table_id = relationship.relationship_id 
           AND partyusageassignment.owner_table_name = 'HZ_RELATIONSHIPS' 
           AND email.owner_table_name(+) = 'HZ_PARTIES'  
           AND email.owner_table_id(+) =  relationship.subject_id 
           and email.relationship_id(+) = relationship.relationship_id 
           AND email.contact_point_type(+) = 'EMAIL' 
           AND email.primary_flag(+) = 'Y' 
           AND email.status(+) = 'A'    
           AND statuslookup.lookup_type(+) = 'POZ_STATUS' 
           AND statuslookup.lookup_code(+) = (CASE WHEN SYSDATE < NVL(partyusageassignment.effective_end_date, SYSDATE + 1) 
                                           THEN 'ACTIVE' 
   ELSE 'INACTIVE' 
   END
  ) 
           AND statuslookup.enabled_flag(+) = 'Y' 
           AND contacttitlelookup.lookup_type(+) = 'CONTACT_TITLE'
           AND contacttitlelookup.lookup_code(+) = personparty.person_pre_name_adjunct 
           AND contacttitlelookup.enabled_flag(+) = 'Y'
           AND personparty.party_id = users.party_id(+)
           AND contactaddresses.per_party_id = personparty.party_id
    ) sup_contact    
 WHERE 1 = 1
   AND psv.vendor_id = pssv.vendor_id(+) 
   AND hou.organization_id = pssv.prc_bu_id
   AND psav.party_site_id = pssv.party_site_id
   AND psav.vendor_id(+) = psv.vendor_id 
   AND pssam.vendor_site_id(+) = pssv.vendor_site_id 
   AND pssv.country(+) = fnd.territory_code 
   AND gcc.code_combination_id(+) = pssam.accts_pay_code_combination_id 
   AND gcc1.code_combination_id(+) = pssam.prepay_code_combination_id 
   AND zptp.party_id(+) = psv.party_id 
   AND zptp.party_tax_profile_id = zxr.party_tax_profile_id(+) 
   AND site_pro.party_id(+) = pssv.party_site_id 
   AND site_pro.party_tax_profile_id = site_reg.party_tax_profile_id(+) 
   AND psv.party_id = sup_contact.OBJECT_ID(+)
   AND NVL(hou.organization_id, -999) = NVL(:p_bu_name, NVL(hou.organization_id,-999))
   AND psv.vendor_id = NVL(:p_supp_number, psv.vendor_id)
ORDER BY psv.vendor_name,pssv.party_site_name