Advertisement

R12 - Query to locate Supplier, sites and contact information


R12 - Consulta para localizar Fornecedor, Sites e informações de contato

Em Oracle Fusion Financials R12, as informações de contato de fornecedores são armazenadas em duas tabelas:

  • AP_SUPPLIER_SITES_ALL: Contém informações sobre os sites de fornecedores, incluindo endereço, país, telefone e código postal.
  • HZ_PARTIES: Contém informações sobre pessoas, incluindo nome, endereço de e-mail e número de telefone.

Para localizar fornecedores, sites e informações de contato, podemos usar a seguinte consulta SQL:

SQL
SELECT
  asp.vendor_id,
  asp.segment1 AS "Fornecedor Num",
  asp.vendor_name AS "Nome do Fornecedor",
  ass.vendor_site_code AS "Nome do Site",
  hou.name AS "Nome da Unidade Operacional",
  ass.address_line1,
  ass.city,
  ass.state,
  ass.zip,
  ass.country,
  ass.phone,
  person.person_first_name,
  person.person_last_name,
  pty_rel.primary_phone_number,
  pty_rel.email_address
FROM
  ap_suppliers AS asp,
  ap_supplier_sites_all AS ass,
  ap_supplier_contacts AS APSC,
  hz_parties AS person,
  hz_parties AS pty_rel,
  hr_operating_units AS hou
WHERE
  ass.vendor_id = asp.vendor_id
AND apsc.per_party_id = person.party_id
AND apsc.rel_party_id = pty_rel.party_id
AND ass.org_id = hou.organization_id
AND apsc.org_party_site_id = ass.party_site_id
AND asp.vendor_name = 'LS Fornecedor';

Esta consulta retornará os seguintes resultados:

  • asp.vendor_id: O ID do fornecedor.
  • asp.segment1: O número do fornecedor.
  • asp.vendor_name: O nome do fornecedor.
  • ass.vendor_site_code: O código do site do fornecedor.
  • hou.name: O nome da unidade operacional do fornecedor.
  • ass.address_line1: O endereço do site do fornecedor.
  • ass.city: A cidade do site do fornecedor.
  • ass.state: O estado do site do fornecedor.
  • ass.zip: O código postal do site do fornecedor.
  • ass.country: O país do site do fornecedor.
  • ass.phone: O número de telefone do site do fornecedor.
  • person.person_first_name: O primeiro nome do contato do fornecedor.
  • person.person_last_name: O último nome do contato do fornecedor.
  • pty_rel.primary_phone_number: O número de telefone principal do contato do fornecedor.
  • pty_rel.email_address: O endereço de e-mail do contato do fornecedor.

Explicação da consulta

A consulta começa selecionando as colunas necessárias das tabelas relevantes. Em seguida, usa a cláusula WHERE para restringir os resultados a um fornecedor específico, neste caso, "LS Fornecedor".

A consulta usa as seguintes relações entre as tabelas:

  • ass.vendor_id está relacionado a asp.vendor_id.
  • apsc.per_party_id está relacionado a person.party_id.
  • apsc.rel_party_id está relacionado a pty_rel.party_id.
  • ass.org_id está relacionado a hou.organization_id.
  • apsc.org_party_site_id está relacionado a ass.party_site_id.

Estas relações permitem que a consulta combine as informações de fornecedores, sites e contatos.

Ajustes sugeridos

Os seguintes ajustes podem ser feitos para melhorar a consulta:

  • Adicionar uma cláusula ORDER BY para ordenar os resultados por nome do fornecedor ou código do site.
  • Adicionar uma cláusula LIMIT para limitar o número de resultados retornados.
  • Usar funções de agregação para calcular estatísticas sobre os resultados.

Exemplo de uso

O seguinte exemplo mostra como usar a consulta:

Continuação do artigo

Ajustes sugeridos

Os seguintes ajustes podem ser feitos para melhorar a consulta:

  • Adicionar uma cláusula ORDER BY para ordenar os resultados por nome do fornecedor ou código do site.

A cláusula ORDER BY pode ser usada para ordenar os resultados da consulta por um ou mais campos. Por exemplo, para ordenar os resultados por nome do fornecedor, podemos usar a seguinte cláusula:

SQL
ORDER BY asp.vendor_name

Para ordenar os resultados por código do site, podemos usar a seguinte cláusula:

SQL
ORDER BY ass.vendor_site_code
  • Adicionar uma cláusula LIMIT para limitar o número de resultados retornados.

A cláusula LIMIT pode ser usada para limitar o número de resultados retornados pela consulta. Por exemplo, para retornar apenas os cinco primeiros resultados, podemos usar a seguinte cláusula:

SQL
LIMIT 5
  • Usar funções de agregação para calcular estatísticas sobre os resultados.

Funções de agregação podem ser usadas para calcular estatísticas sobre os resultados da consulta. Por exemplo, para calcular o número total de fornecedores, podemos usar a seguinte função de agregação:

SQL
COUNT(*)

Para calcular o número total de sites de fornecedores, podemos usar a seguinte função de agregação:

SQL
COUNT(DISTINCT ass.vendor_site_code)

Exemplo de uso

O seguinte exemplo mostra como usar a consulta para ordenar os resultados por nome do fornecedor:

SQL
SELECT
  asp.vendor_id,
  asp.vendor_name,
  ass.vendor_site_code,
  hou.name,
  ass.address_line1,
  ass.city,
  ass.state,
  ass.zip,
  ass.country,
  ass.phone,
  person.person_first_name,
  person.person_last_name,
  pty_rel.primary_phone_number,
  pty_rel.email_address
FROM
  ap_suppliers AS asp,
  ap_supplier_sites_all AS ass,
  ap_supplier_contacts AS APSC,
  hz_parties AS person,
  hz_parties AS pty_rel,
  hr_operating_units AS hou
WHERE
  ass.vendor_id = asp.vendor_id
AND apsc.per_party_id = person.party_id
AND apsc.rel_party_id = pty_rel.party_id
AND ass.org_id = hou.organization_id
AND apsc.org_party_site_id = ass.party_site_id
AND asp.vendor_name = 'LS Fornecedor'
ORDER BY asp.vendor_name

Este exemplo retornará os mesmos resultados da consulta original, mas os resultados serão ordenados por nome do fornecedor.

Conclusão

Esta consulta pode ser usada para localizar fornecedores, sites e informações de contato. Os ajustes sugeridos podem ser usados para melhorar a consulta.

Postar um comentário

0 Comentários