Exemplos de Consultas Personalizadas

Exemplos de Conformidade da Reconciliação

Exemplo 1

Esses exemplos de Conformidade da Reconciliação supõem que você queira executar um relatório que exiba a lista de períodos que contenham a frequência "Mensalmente".

Se o relatório que você está criando contiver parâmetros, será possível criar o relatório para exibir nenhum registro ou todos os registros.

  • Consulta de Parâmetro: select frequency_id, frequency_name from arm_frequencies

  • Consulta de Relatório, Opção 1: (Não retornará períodos se o usuário não fornecer um valor de frequência):

    select p.period_name from arm_periods p, arm_period_frequencies pf where p.period_id = pf.period_id and pf.frequency_id = ~FREQUENCY~

  • Consulta de Relatório Opção 2: (Retornará todos os períodos se o usuário não fornecer um valor de frequência):

    select p.period_name from arm_periods p, arm_period_frequencies pf where p.period_id = pf.period_id and pf.frequency_id = coalesce(~FREQUENCY~,pf.frequency_id)

    Note:

    O nome do parâmetro pode ser qualquer nome delimitado por sinais de til (~).

    Na segunda opção, a função coalesce() retorna o primeiro valor não nulo na lista; portanto, se FREQUENCY fosse nula ela retornaria pf.frequency_id e, nesse caso, essa condição também seria verdadeira (pf.frequency_id = pf.frequency_id), fazendo com que todos os registros fossem retornados.

Exemplo 2

Você pode especificar diversos valores, como Login1, Login2 e Login3 usando um único parâmetro TEXT (~INPUT_PARAMETER~) em um a consulta de relatório que usa a função INSTR do Oracle Database.

O exemplo a seguir de consulta de relatório retorna linhas da tabela FCM_USERS depois que um parâmetro TEXT de Login1,Login2,Login3 é especificado.

SELECT first_name, last_name FROM fcm_users 
       WHERE INSTR(','||'~INPUT_PARAMETER~'||',', ','||USER_LOGIN||',') > 0;

Exemplos de Correspondência de Transações

Esses exemplos supõem que você queira ver a lista de reconciliações para qualquer tipo determinado de reconciliação.

  • Consulta de Parâmetro

    SELECT TM_RECON_TYPE.TEXT_ID AS RECONCILIATION_TYPE_ID, (TM_RECON_TYPE.NAME || ' (' || TM_RECON_TYPE.TEXT_ID || ')') AS RECONCILIATION_TYPE_NAME FROM TM_RECON_TYPE TM_RECON_TYPE
  • Consulta de Relatório, Opção 1: não retornará reconciliações se o usuário não tiver selecionado um tipo de reconciliação.

    SELECT TM_RECON.TEXT_ID AS RECONCILIATION_ID,TM_RECON.NAME AS RECONCILIATION_NAME, TM_RECON_TYPE.TEXT_ID AS RECONCILIATION_TYPE_ID, TM_RECON_TYPE.NAME AS RECONCILIATION_TYPE_NAME, NVL ((SELECT P_FCM_USERS.USER_NAME FROM FCM_USERS_V P_FCM_USERS WHERE TM_RECON.PREPARER = P_FCM_USERS.USER_ID ), TM_RECON.PREPARER ) AS PREPARER, TM_RECON.DESCRIPTION DESCRIPTION FROM TM_RECON TM_RECON, TM_RECON_TYPE TM_RECON_TYPE WHERE TM_RECON.RECON_TYPE_ID = TM_RECON_TYPE.RECON_TYPE_ID AND (TM_RECON_TYPE.TEXT_ID = '~RECONCILIATION_TYPE_ID~')
  • Consulta de Relatório, Opção 2: retornará todas as reconciliações se o usuário não tiver selecionado algum tipo de reconciliação.

    SELECT TM_RECON.TEXT_ID AS RECONCILIATION_ID,TM_RECON.NAME AS RECONCILIATION_NAME, TM_RECON_TYPE.TEXT_ID AS RECONCILIATION_TYPE_ID, TM_RECON_TYPE.NAME AS RECONCILIATION_TYPE_NAME, NVL ((SELECT P_FCM_USERS.USER_NAME FROM FCM_USERS_V P_FCM_USERS WHERE TM_RECON.PREPARER = P_FCM_USERS.USER_ID ), TM_RECON.PREPARER ) AS PREPARER, TM_RECON.DESCRIPTION DESCRIPTION FROM TM_RECON TM_RECON, TM_RECON_TYPE TM_RECON_TYPE WHERE TM_RECON.RECON_TYPE_ID = TM_RECON_TYPE.RECON_TYPE_ID AND COALESCE('~RECONCILIATION_TYPE_ID~',TM_RECON_TYPE.TEXT_ID)

    Note:

    O nome do parâmetro pode ser qualquer nome delimitado por sinais de til (~).

    Na segunda opção, a função coalesce() retorna o primeiro valor não nulo na lista; portanto, se RECONCILIATION_TYPE_ID fosse nula, ela retornaria TM_RECON_TYPE.TEXT_ID e, nesse caso, essa condição sempre seria verdadeira ((TM_RECON_TYPE.TEXT_ID = TM_RECON_TYPE.TEXT_ID), fazendo com que todos os registros fossem retornados.

  • Consulta de Relatório, Opção 3: retornará todas as reconciliações se o usuário tiver acesso.

    SELECT TM_RECON.TEXT_ID AS RECONCILIATION_ID, TM_RECON.NAME AS RECONCILIATION_NAME, TM_RECON_TYPE.TEXT_ID AS RECONCILIATION_TYPE_ID, TM_RECON_TYPE.NAME AS RECONCILIATION_TYPE_NAME, TM_RECON.DESCRIPTION DESCRIPTION FROM TM_RECON TM_RECON, TM_RECON_TYPE TM_RECON_TYPE, ARM_RECONCILIATIONS ProfileEO WHERE TM_RECON.RECON_TYPE_ID = TM_RECON_TYPE.RECON_TYPE_ID AND TM_RECON.TEXT_ID = ProfileEO.RECONCILIATION_ACCOUNT_ID AND $ARM_SECURITY_CLAUSE$ AND ProfileEO.PERIOD_ID = -2