自訂查詢範例

調節相容性範例

範例 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:

    參數名稱可以是任何名稱,但必須以波狀符號 (~) 括住。

    在第二個選項中,coalesce() 函式會傳回清單中的第一個非空值;因此,如果 FREQUENCY 為空值,則會傳回 pf.frequency_id,在該情況下,該條件將一律為 true (pf.frequency_id = pf.frequency_id),因而導致傳回所有記錄。

範例 2

您可以使用 TEXT 參數 (~INPUT_PARAMETER~) 將多個值 (例如 Login1、Login2、Login3) 傳送至使用 Oracle 資料庫 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:

    參數名稱可以是任何名稱,但必須以波狀符號 (~) 括住。

    在第二個選項中,coalesce() 函式傳回清單中的第一個非空值;因此,如果 RECONCILIATION_TYPE_ID 為空值,則會傳回 TM_RECON_TYPE.TEXT_ID,而且如果是那樣,條件將一律為真 ((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