Esempi di query customizzate

Esempi di Conformità riconciliazione

Esempio 1

In questi esempi di Conformità riconciliazione si suppone di voler eseguire un report nel quale sia visualizzato un elenco di periodi contenenti la frequenza "Mensile".

Se il report che si sta progettando conterrà parametri, è possibile progettare il report in modo che visualizzi nessun record o tutti i record.

  • Query parametro: select frequency_id, frequency_name from arm_frequencies

  • Query report, Opzione 1 (non restituisce alcun periodo se l'utente non fornisce un valore di frequenza):

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

  • Query report, Opzione 2: (restituisce tutti i periodi se l'utente non fornisce un valore di frequenza):

    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:

    È possibile utilizzare qualsiasi nome per il parametro ma è necessario racchiuderlo tra tildi (~).

    Nella seconda opzione, la funzione coalesce() restituisce il primo valore non nullo dell'elenco. Pertanto, se FREQUENCY è nullo, verrà restituito pf.frequency_id e in tal caso la condizione sarà sempre vera (true) (pf.frequency_id = pf.frequency_id), ovvero verranno restituiti tutti i record.

Esempio 2

È possibile passare più valori, ad esempio Login1, Login2, Login3, utilizzando un unico parametro TEXT (~INPUT_PARAMETER~) a una query report che utilizza la funzione INSTR di Oracle Database.

La seguente query report di esempio restituisce righe dalla tabella FCM_USERS dopo aver passato un parametro TEXT Login1, Login2, Login3.

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

Esempio di Corrispondenza transazione

In questi esempi si suppone di voler visualizzare un elenco di riconciliazioni per un determinato tipo di riconciliazione.

  • Query parametro

    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
  • Query report, Opzione 1: non restituisce riconciliazioni se l'utente non ha selezionato un tipo di riconciliazione.

    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~')
  • Query report, Opzione 2: restituisce tutte le riconciliazioni se l'utente non ha selezionato un tipo di riconciliazione.

    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:

    È possibile utilizzare qualsiasi nome per il parametro ma è necessario racchiuderlo tra tildi (~).

    Nella seconda opzione, la funzione coalesce() restituisce il primo valore non nullo dell'elenco. Pertanto, se RECONCILIATION_TYPE_ID è nullo, verrà restituito TM_RECON_TYPE.TEXT_ID e in tal caso la condizione sarà sempre vera (true) (TM_RECON_TYPE.TEXT_ID = TM_RECON_TYPE.TEXT_ID), ovvero verranno restituiti tutti i record.

  • Query report, Opzione 3: restituisce tutte le riconciliazioni se l'utente dispone dell'accesso.

    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