自定义查询示例

调节合规性示例

示例 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() 函数将返回列表中的第一个非 null 值;因此,如果 FREQUENCY 为 null,则将返回 pf.frequency_id,在此情况下,条件将始终为 true (pf.frequency_id = pf.frequency_id),从而导致返回全部记录。

示例 2

可以使用单个 TEXT 参数 (~INPUT_PARAMETER~) 将多个值(例如 Login1、Login2、Login3)传递给使用 Oracle 数据库 INSTR 函数的报表查询。

以下报表查询示例在传递了 TEXT 参数 Login1,Login2,Login3 后,返回 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() 函数将返回列表中的第一个非 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