Exemples de conformité de rapprochement
Exemple 1
Ces exemples de conformité de rapprochement partent du principe que vous voulez exécuter un rapport qui affiche la liste des périodes qui contiennent la fréquence "Mensuel".
Si le rapport que vous concevez doit contenir des paramètres, vous pouvez faire en sorte qu'il n'affiche aucun enregistrement ou qu'il les affiche tous.
Requête de paramètre : select frequency_id, frequency_name from arm_frequencies
Requête de rapport, option 1 : (aucune période n'est renvoyée si l'utilisateur n'indique pas la fréquence) :
select p.period_name from arm_periods p, arm_period_frequencies pf where p.period_id = pf.period_id and pf.frequency_id = ~FREQUENCY~
Requête de rapport, option 2 : (toutes les périodes sont renvoyées si l'utilisateur n'indique pas la fréquence) :
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:
Vous pouvez donner n'importe quel nom au paramètre, mais il doit être entre tildes (~).
Dans la deuxième option, la fonction coalesce()
renvoie la première valeur non NULL de la liste. Par conséquent, si la fréquence était NULL, elle renverrait pf.frequency_id
et, dans ce cas, cette condition serait toujours vérifiée (pf.frequency_id = pf.frequency_id
), entraînant ainsi l'affichage de tous les enregistrements.
Exemple 2
Vous pouvez transmettre plusieurs valeurs, telles que Login1, Login2 et Login3, à une requête de rapport qui emploie la fonction Oracle Database INSTR
en utilisant un seul paramètre TEXT (~INPUT_PARAMETER~)
.
L'exemple de requête de rapport suivant renvoie les lignes de la table FCM_USERS
après avoir reçu un paramètre TEXT dont la valeur est Login1,Login2,Login3.
SELECT first_name, last_name FROM fcm_users WHERE INSTR(','||'~INPUT_PARAMETER~'||',', ','||USER_LOGIN||',') > 0;
Exemples de correspondance de transactions
Ces exemples partent du principe que vous voulez afficher la liste des rapprochements pour tout type de rapprochement donné.
Requête de paramètre
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
Requête de rapport, option 1 : ne renvoie aucun rapprochement si l'utilisateur n'a pas sélectionné de type de rapprochement.
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~')
Requête de rapport, option 2 : renvoie tous les rapprochements si l'utilisateur n'a sélectionné aucun type de rapprochement.
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:
Vous pouvez donner n'importe quel nom au paramètre, mais il doit être entre tildes (~).
Dans la deuxième option, la fonction coalesce()
renvoie la première valeur non NULL de la liste. Par conséquent, si RECONCILIATION_TYPE_ID était NULL, elle renverrait TM_RECON_TYPE.TEXT_ID
et, dans ce cas, cette condition serait toujours vérifiée (TM_RECON_TYPE.TEXT_ID = TM_RECON_TYPE.TEXT_ID)
, entraînant ainsi l'affichage de tous les enregistrements.
Requête de rapport, option 3 : renvoie tous les rapprochements si l'utilisateur dispose d'un accès.
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