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_idestá relacionado aasp.vendor_id.apsc.per_party_idestá relacionado aperson.party_id.apsc.rel_party_idestá relacionado apty_rel.party_id.ass.org_idestá relacionado ahou.organization_id.apsc.org_party_site_idestá 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 BYpara ordenar os resultados por nome do fornecedor ou código do site. - Adicionar uma cláusula
LIMITpara 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 BYpara 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
LIMITpara 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