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:
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 aasp.vendor_id
.apsc.per_party_id
está relacionado aperson.party_id
.apsc.rel_party_id
está relacionado apty_rel.party_id
.ass.org_id
está relacionado ahou.organization_id
.apsc.org_party_site_id
está relacionado aass.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:
ORDER BY asp.vendor_name
Para ordenar os resultados por código do site, podemos usar a seguinte cláusula:
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:
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:
COUNT(*)
Para calcular o número total de sites de fornecedores, podemos usar a seguinte função de agregação:
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:
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.
0 Comentários