照合コンプライアンスの例
例1
これらの照合コンプライアンスの例では、「月次」の頻度を含む期間のリストを表示するレポートを実行することを想定しています。
設計中のレポートにパラメータが含まれる場合は、レコードを表示しない、またはすべてのレコードを表示するようにレポートを設計できます。
パラメータ問合せ: select frequency_id, frequency_name from arm_frequencies
レポート問合せ、オプション1: (ユーザーが頻度の値を指定しない場合、期間は返されません):
select p.period_name from arm_periods p, arm_period_frequencies pf where p.period_id = pf.period_id and pf.frequency_id = ~FREQUENCY~
レポート問合せ、オプション2: (ユーザーが頻度の値を指定しない場合、すべての期間が返されます):
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:
パラメータ名は任意の名前にできますが、ティルデ(~)で囲む必要があります。
2番目のオプションでは、coalesce()
関数はリストの最初のnull以外の値を返します; したがって、FREQUENCYがnullのときは、pf.frequency_id
を返すことになり、その場合、条件は必ずtrue(pf.frequency_id = pf.frequency_id
)なので、すべてのレコードが返されます。
例2
単一のTEXTパラメータ(~INPUT_PARAMETER~)
を使用して、Login1、Login2、Login3などの複数の値をOracle Database INSTR
関数を使用するレポート問合せに渡すことができます。
次のレポート問合せの例は、Login1、Login2、Login3のTEXTパラメータを渡された後にFCM_USERS
表の行を返します。
SELECT first_name, last_name FROM fcm_users WHERE INSTR(','||'~INPUT_PARAMETER~'||',', ','||USER_LOGIN||',') > 0;
トランザクション照合の例
これらの例では、特定の照合タイプの照合のリストを表示することを想定しています。
パラメータ問合せ
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
レポート問合せ、オプション1: ユーザーが照合タイプを選択していない場合は照合を返しません。
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~')
レポート問合せ、オプション2: ユーザーが照合タイプを選択していない場合はすべての照合を返します
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:
パラメータ名は任意の名前にできますが、ティルデ(~)で囲む必要があります。
2番目のオプションでは、coalesce()
関数はリストの最初のnull以外の値を返します。したがって、RECONCILIATION_TYPE_IDがnullの場合は、TM_RECON_TYPE.TEXT_ID
を返すことになり、その場合、条件は必ずtrue((TM_RECON_TYPE.TEXT_ID = TM_RECON_TYPE.TEXT_ID)
)なので、すべてのレコードが返されます。
レポート問合せ、オプション3: ユーザーにアクセス権がある場合はすべての照合を返します)。
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